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

Reply via email to