From 2be282051a89cd69eba40aca79bb17daebb72dab Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Thu, 14 Mar 2019 09:02:07 +0100 Subject: Correction de la génération du tweak pour ΘCB3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit L'implémentation de référence se basait sur les indices figurant dans le papier de Deoxys. Deux questions à résoudre, que d'autres se sont sans doute déjà posées : - Est-ce que ce l-1 est normal dans le papier de Deoxys ? - Est-ce que nos changements d'indices sont bien tous corrects ? En tout cas, les implémentations Python et C sont maintenant d'accord. --- src/ref/lilliput-i.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/ref/lilliput-i.c') diff --git a/src/ref/lilliput-i.c b/src/ref/lilliput-i.c index 74248a9..97c2117 100644 --- a/src/ref/lilliput-i.c +++ b/src/ref/lilliput-i.c @@ -93,7 +93,7 @@ static void _encrypt_message( if (rest == 0) { - _fill_msg_tweak(0x1, N, l-1, tweak); + _fill_msg_tweak(0x1, N, l, tweak); encrypt(key, tweak, checksum, Final); } else @@ -108,7 +108,7 @@ static void _encrypt_message( encrypt(key, tweak, _0n, Pad); xor_arrays(rest, &C[l*BLOCK_BYTES], &M[l*BLOCK_BYTES], Pad); - _fill_msg_tweak(0x5, N, l, tweak); + _fill_msg_tweak(0x5, N, l+1, tweak); encrypt(key, tweak, checksum, Final); } } @@ -140,7 +140,7 @@ static void _decrypt_message( if (rest == 0) { - _fill_msg_tweak(0x1, N, l-1, tweak); + _fill_msg_tweak(0x1, N, l, tweak); encrypt(key, tweak, checksum, Final); } else @@ -155,7 +155,7 @@ static void _decrypt_message( pad10(rest, &M[l*BLOCK_BYTES], M_rest); xor_into(checksum, M_rest); - _fill_msg_tweak(0x5, N, l, tweak); + _fill_msg_tweak(0x5, N, l+1, tweak); encrypt(key, tweak, checksum, Final); } } -- cgit v1.2.3