Estoy trabajando con un cifrado nacional ucraniano llamado Kalyna . Para cada tamaño de clave, el cifrado puede tener dos tamaños de bloque (algunos renunciando a la mano). Por ejemplo, Kalyna con una clave de 128 bits puede tener tamaños de bloque de 128 bits o 256 bits. Otros tamaños de clave incluyen 256 bits y 512 bits.
Tengo problemas para determinar cómo nombrar el cifrado y expresar el tamaño del bloque. Kalyna-128 denota la clave, pero no estoy seguro de cómo agregar el tamaño de bloque de manera estándar.
No he podido encontrar un ejemplo en Nombre del algoritmo criptográfico estándar (SCAN) . SCAN es un poco viejo, así que no es sorprendente. El Java JCA dice que el tamaño de la clave aparece entre paréntesis, pero no discute el tamaño del bloque (u otros parámetros, como rondas):
Cifrado
Los algoritmos se especifican como transformaciones. Las implementaciones deben admitir los tamaños de clave entre paréntesis.
¿Cómo se denota el tamaño de bloque en el nombre de un cifrado de bloque?
El problema subyacente es crear una instancia de un cifrado en el software y ejecutar vectores de prueba:
# Kayna, 128-bit key, 128-bit blocksize
Name: Kalyna-128
Key: ...
IV: ...
Plaintext: ...
Ciphertext: ...
# Kalyna, 128-bit key, 256-bit blocksize
Name: Kalyna-128
Key: ...
IV: ...
Plaintext: ...
Ciphertext: ...