http://hg.viff.dk/viff/rev/af545b802fd8
changeset: 1093:af545b802fd8
user: Marcel Keller <[email protected]>
date: Tue Jan 27 14:26:49 2009 +0100
summary: Small optimization: Use lin_comb() in byte_sub().
diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
viff/aes.py | 10 +++++++---
diffs (27 lines):
diff -r d20cb1435966 -r af545b802fd8 viff/aes.py
--- a/viff/aes.py Mon Jan 26 10:58:27 2009 +0100
+++ b/viff/aes.py Tue Jan 27 14:26:49 2009 +0100
@@ -86,7 +86,7 @@
[0,0,1,1,1,1,1,0],
[0,0,0,1,1,1,1,1]])
- def byte_sub(self, state):
+ def byte_sub(self, state, use_lin_comb=True):
"""ByteSub operation of Rijndael.
The first argument should be a matrix consisting of elements
@@ -150,8 +150,12 @@
vector = AES.A * Matrix(zip(bits)) +
Matrix(zip([1,1,0,0,0,1,1,0]))
bits = zip(*vector.rows)[0]
- row[i] = reduce(lambda x,y: x + y,
- [bits[j] * 2**j for j in range(len(bits))])
+ if (use_lin_comb):
+ row[i] = self.runtime.lin_comb(
+ [2**j for j in range(len(bits))], bits)
+ else:
+ row[i] = reduce(lambda x,y: x + y,
+ [bits[j] * 2**j for j in range(len(bits))])
def shift_row(self, state):
"""AES ShiftRow.
_______________________________________________
viff-commits mailing list
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-commits-viff.dk