summaryrefslogtreecommitdiff
path: root/src/add_python/lilliput/ae_mode_2.py
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2019-03-24 15:19:15 +0100
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2019-03-24 16:10:51 +0100
commit33c615feaaf148c099ee4299ad2c8a6f7e1778cf (patch)
tree4db814ee709a9ab2800e56bdac9b12cbc0cf2f26 /src/add_python/lilliput/ae_mode_2.py
parent1b6e1eb38927633292e934ac314b10e7acc28e3d (diff)
downloadlilliput-ae-implem-33c615feaaf148c099ee4299ad2c8a6f7e1778cf.tar.xz
[implem-python] Réécriture de certains range() dans tbc.py
IME, itérer sur un range() est rarement la façon la plus expressive de faire les choses ; les alternatives imposent une structure qui rendent l'intention plus claire. E.g. quand on voit une compréhension, on comprend que l'auteur cherche à filtrer et/ou transformer ce sur quoi il itère. Réutilisation de xor_state(), renommé xor() puisqu'il sert dans plusieurs situations. Séparation de ce xor() et des fonctions communes aux modes authentifiés pour éviter un import circulaire.
Diffstat (limited to 'src/add_python/lilliput/ae_mode_2.py')
-rw-r--r--src/add_python/lilliput/ae_mode_2.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/add_python/lilliput/ae_mode_2.py b/src/add_python/lilliput/ae_mode_2.py
index 4d5e499..91c53f3 100644
--- a/src/add_python/lilliput/ae_mode_2.py
+++ b/src/add_python/lilliput/ae_mode_2.py
@@ -19,13 +19,13 @@ using Lilliput-AE's nonce-misuse-resistant mode based on SCT-2.
"""
from .constants import BLOCK_BYTES
-from .helpers import (
+from .ae_common import (
bytes_to_block_matrix,
block_matrix_to_bytes,
build_auth,
pad10,
TagValidationError,
- xor_state
+ xor
)
from . import tbc
@@ -62,7 +62,7 @@ def _add_tag_j(tag, j):
for byte in range(0, TWEAK_BYTES):
array_j[byte] = (j >> (byte * 8))
- xorr = xor_state(tag, array_j)
+ xorr = xor(tag, array_j)
xorr[TWEAK_BYTES - 1] |= 0x80
@@ -79,13 +79,13 @@ def _message_auth_tag(M, N, Auth, key):
for j in range(0, l):
tweak = _tweak_tag(j, False)
encryption = tbc.encrypt(tweak, key, M[j])
- tag = xor_state(tag, encryption)
+ tag = xor(tag, encryption)
if need_padding:
tweak = _tweak_tag(l, True)
m_padded = pad10(M[l])
encryption = tbc.encrypt(tweak, key, m_padded)
- tag = xor_state(tag, encryption)
+ tag = xor(tag, encryption)
tweak = _tweak_tag_end(N)
encryption = tbc.encrypt(tweak, key, tag)
@@ -105,13 +105,13 @@ def _message_encryption(M, N, tag, key):
tweak = _add_tag_j(tag, j)
padded_nonce = list(N) + [0x00]
encryption = tbc.encrypt(tweak, key, padded_nonce)
- C.append(xor_state(M[j], encryption))
+ C.append(xor(M[j], encryption))
if need_padding:
tweak = _add_tag_j(tag, l)
padded_nonce = list(N) + [0x00]
encryption = tbc.encrypt(tweak, key, padded_nonce)
- C.append(xor_state(M[l], encryption))
+ C.append(xor(M[l], encryption))
return C