summaryrefslogtreecommitdiff
path: root/python/helpers.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/helpers.py')
-rw-r--r--python/helpers.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/python/helpers.py b/python/helpers.py
index 45c48c9..b02bea4 100644
--- a/python/helpers.py
+++ b/python/helpers.py
@@ -2,20 +2,20 @@ from constants import BLOCK_BITS, BLOCK_BYTES
from lilliput_tbc import LilliputTBCEnc
-def ArrayToBlockbytesMatrix(array) :
+def ArrayToBlockbytesMatrix(array):
length = len(array)
pad = 0
- if(length % BLOCK_BYTES == 0) :
+ if length % BLOCK_BYTES == 0:
number_blocks = int(length / BLOCK_BYTES)
- else :
+ else:
number_blocks = int((length + (BLOCK_BYTES - (length % BLOCK_BYTES))) / BLOCK_BYTES)
pad = 1
matrix = [[0] * BLOCK_BYTES for block in range(0, number_blocks - pad)]
- if(pad == 1) :
+ if pad == 1:
matrix.append([0] * (length % BLOCK_BYTES))
- for byte in range(0, length) :
+ for byte in range(0, length):
matrix[int(byte / BLOCK_BYTES)][byte % BLOCK_BYTES] = array[byte]
return matrix
@@ -85,3 +85,16 @@ def BuildAuth(t, A, key):
Auth = XorState(Auth, enc)
return Auth
+
+
+class TagValidationError(Exception):
+ def __init__(self, announced, computed):
+ msg = '\n'.join((
+ 'Invalid tag:',
+ announced.hex().upper()+' (announced)',
+ computed.hex().upper()+' (computed)'
+ ))
+
+ super().__init__(msg)
+ self._announced = announced
+ self._computed = computed