From d9a172fdb42a02d740d2c18fe535c512c9aa8cc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Mon, 20 Jun 2011 14:17:16 +0200 Subject: [PATCH] Comment fix, and (invariant) argument reorder in SBOX1. Rev: nettle/serpent-encrypt.c:1.12 --- serpent-encrypt.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/serpent-encrypt.c b/serpent-encrypt.c index a64a2ef6..03ba0de0 100644 --- a/serpent-encrypt.c +++ b/serpent-encrypt.c @@ -96,7 +96,28 @@ /* FIXME: Arrange for some overlap between inputs and outputs? */ /* S1: 15 12 2 7 9 0 5 10 1 11 14 8 6 13 3 4 */ -#define SBOX1(x0, x1, x2, x3, y0, y1, y2, y3) \ +/* Original single-assignment form: + + t01 = x0 | x3; 0 + t02 = x2 ^ x3; 0 + t03 = ~ x1; 0 + t04 = x0 ^ x2; 0 + t05 = x0 | t03; 0 + t06 = x3 & t04; 0 + t07 = t01 & t02; 0 + t08 = x1 | t06; 0 + y2 = t02 ^ t05; 0 + t10 = t07 ^ t08; 0 + t11 = t01 ^ t10; 0 + t12 = y2 ^ t11; 0 + t13 = x1 & x3; 0 + y3 = ~ t10; + y1 = t13 ^ t12; 0 + t16 = t10 | y1; 0 + t17 = t05 & t16; 0 + y0 = x2 ^ t17; 0 +*/ +#define SBOX1(x0, x1, x2, x3, y0, y1, y2, y3) \ do { \ y1 = x0 | x3; \ y2 = x2 ^ x3; \ @@ -112,7 +133,7 @@ x0 ^= y2; \ y1 = x1 & x3; \ y1 ^= x0; \ - x3 = y3 | y1; \ + x3 = y1 | y3; \ y3 = ~ y3; \ y0 &= x3; \ y0 ^= x2; \ -- GitLab