Hola, estado tiempo fuera haciendo otras cosas, y quiero retomar un viejo proyecto, y tengo unas dudas que pueden resultar hasta basicas, pero es lo que tiene abandonar las cosas y luego querer retomarlas. Voy al grano.
Tengo una duda con la funcion de multiplicacion de GCM, mas bien con su sintaxis, aqui pongo una captura del pdf gcm.
Es una funcion simple, la variable Z pasa a ser un bloque de 128 bits de ceros, la variable X obtiene el valo de la variable V
A partir de hay empieza un for de 128 ciclos, depende del valor de los bit de V, en caso de ser 1, se hace un XOR entre las variables Z y V y el valor es reescrito a la variable Z. El ciclo sigue se comprueba el ultimo bit de la variable V, en caso de ser 0 se elimina un bit a la derecha y el valor es reescrito a la variable V, en caso de ser 1 se elimina un bit a la derecha y se hace un XOR al bloque V con la variable R, escrita mas arriba de la funcion lo siento no se puede observar en la captura, (( Se supone que el shift tiene preferencia sobre el XOR y se ejecuta antes, supongo.)) al finalizar se reescribe la variable V, se completaria el ciclo for y tendriamos el resultado final en la variable Z.
Parece que lo entiendo todo bien, esta funcion la he sacado de este paper:
https://luca-giuzzi.unibs.it/corsi/Support/papers-cryptography/gcm-spec.pdf
Bien el problema lo tengo cuando leo la misma funcion pero en el paper del NIST, aqui la captura:
Bien aqui el problema que le veo es la sintaxis, no entiendo por que en las variables Z, V, tienen la variable i que esta hace de contador para los bits, se hace las operaciones a nivel de bits? En el paper de gcm se hacen a nivel de bloque, no se si me explico. A lo mejor es igual, solo que me esta liando la sintaxis., por otra parte sobre la duda del shift y el xor a la variable R, queda resuelta ya que se puede observar que tiene preferencia el shift.
Bueno esa es mi duda, la maldita variable i, simplemente sintaxis? Aqui documento:
https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
Un saludo.
P.D: Las capturas me han quedado algo grandes y no he ajustado el tamaño, lo siento.