From 3241b8d896f00be5cefc42651e48add9bfd79c51 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 7 Mar 2013 14:43:40 +0100
Subject: [PATCH] Prepare data generation programs for compilation with the
 build system compiler.

---
 ChangeLog     | 14 +++++++++++
 aesdata.c     | 44 +++++++++++++++-------------------
 desdata.c     | 21 ++++++++--------
 gcmdata.c     |  5 +---
 shadata.c     |  6 +----
 twofishdata.c | 66 +++++++++++++++++++++++++--------------------------
 6 files changed, 77 insertions(+), 79 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 92c2179c..6cf092a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2013-03-07  Niels Möller  <nisse@lysator.liu.se>
 
+	* aesdata.c: Deleted includes of config.h and nettle-types.h. Use
+	unsigned char and unsigned long instead of stdint.h types.
+
+	* desdata.c: Deleted includes of config.h and desCode.h.
+	(main): Return 1 on invalid argument. Don't use ROR macro. Use
+	unsigned long instead of uint32_t, and make it work if unsigned
+	long is larger than 32 bits.
+
+	* gcmdata.c: Deleted include of config.h and use UNUSED macro.
+	* shadata.c: Likewise.
+
+	* twofishdata.c: Deleted include of nettle-types.h. Use unsigned
+	char instead of stdint.h types.
+
 	* x86_64/ecc-521-modp.asm: New file. 2.4 time speedup.
 
 2013-03-06  Niels Möller  <nisse@lysator.liu.se>
diff --git a/aesdata.c b/aesdata.c
index a62ab5ac..9202d0f3 100644
--- a/aesdata.c
+++ b/aesdata.c
@@ -1,14 +1,8 @@
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
 #include <assert.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 
-#include "nettle-types.h"
-
 #if 1
 # define BYTE_FORMAT "0x%02x"
 # define BYTE_COLUMNS 8
@@ -17,18 +11,18 @@
 # define BYTE_COLUMNS 0x10
 #endif
 
-#define WORD_FORMAT "0x%08x"
+#define WORD_FORMAT "0x%08lx"
 #define WORD_COLUMNS 4
 
-uint8_t sbox[0x100];
-uint8_t isbox[0x100];
+unsigned char sbox[0x100];
+unsigned char isbox[0x100];
 
-uint8_t gf2_log[0x100];
-uint8_t gf2_exp[0x100];
+unsigned char gf2_log[0x100];
+unsigned char gf2_exp[0x100];
 
-uint32_t dtable[4][0x100];
-uint32_t itable[4][0x100];
-uint32_t mtable[4][0x100];
+unsigned long dtable[4][0x100];
+unsigned long itable[4][0x100];
+unsigned long mtable[4][0x100];
 
 static unsigned
 xtime(unsigned x)
@@ -109,7 +103,7 @@ compute_dtable(void)
     {
       unsigned s = sbox[i];
       unsigned j;
-      uint32_t t  =( ( (s ^ xtime(s)) << 24)
+      unsigned long t  =( ( (s ^ xtime(s)) << 24)
 		     | (s << 16) | (s << 8)
 		     | xtime(s) );
 
@@ -128,10 +122,10 @@ compute_itable(void)
     {
       unsigned s = isbox[i];
       unsigned j;
-      uint32_t t = ( (mult(s, 0xb) << 24)
-		   | (mult(s, 0xd) << 16)
-		   | (mult(s, 0x9) << 8)
-		   | (mult(s, 0xe) ));
+      unsigned long t = ( (mult(s, 0xb) << 24)
+			| (mult(s, 0xd) << 16)
+			| (mult(s, 0x9) << 8)
+			| (mult(s, 0xe) ));
       
       for (j = 0; j<4; j++, t = (t << 8) | (t >> 24))
 	itable[j][i] = t;
@@ -146,10 +140,10 @@ compute_mtable(void)
   for (i = 0; i<0x100; i++)
     {
       unsigned j;
-      uint32_t t = ( (mult(i, 0xb) << 24)
-		   | (mult(i, 0xd) << 16)
-		   | (mult(i, 0x9) << 8)
-		   | (mult(i, 0xe) ));
+      unsigned long t = ( (mult(i, 0xb) << 24)
+			| (mult(i, 0xd) << 16)
+			| (mult(i, 0x9) << 8)
+			| (mult(i, 0xe) ));
       
       for (j = 0; j<4; j++, t = (t << 8) | (t >> 24))
 	mtable[j][i] = t;
@@ -157,7 +151,7 @@ compute_mtable(void)
 }
 
 static void
-display_byte_table(const char *name, uint8_t *table)
+display_byte_table(const char *name, unsigned char *table)
 {
   unsigned i, j;
 
@@ -174,7 +168,7 @@ display_byte_table(const char *name, uint8_t *table)
 }
 
 static void
-display_table(const char *name, uint32_t table[][0x100])
+display_table(const char *name, unsigned long table[][0x100])
 {
   unsigned i, j, k;
   
diff --git a/desdata.c b/desdata.c
index 2d46b955..f1c65043 100644
--- a/desdata.c
+++ b/desdata.c
@@ -11,16 +11,10 @@
  *
  */
 
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
 #include <stdio.h>
 
 #include	"desinfo.h"
 
-#include	"desCode.h"
-
 
 /* list of weak and semi-weak keys
 
@@ -65,13 +59,18 @@ int sorder[] = {
 };
 
 int
-main(int argc UNUSED, char **argv UNUSED)
+main(int argc, char **argv)
 {
-	uint32_t d, i, j, k, l, m, n, s;
+	unsigned long d, i, j, k, l, m, n, s; /* Always at least 32 bits */
 	char b[256], ksr[56];
 
+	if (argc <= 1)
+		return 1;
+
 	switch ( argv[1][0] ) {
 
+default: 
+	return 1;
 	/*
 	 * <<< make the key parity table >>>
 	 */
@@ -179,11 +178,11 @@ case 'k':
 			/* perform p permutation */
 			for ( m = j = 0; j < 32; j++ )
 				if ( n & (1 << (SP[j] - 1)) )
-					m |= (1 << j);
+					m |= (1UL << j);
 			/* rotate right (alg keeps everything rotated by 1) */
-			ROR(m, 1, 31);
+			m = (m >> 1) | ((m & 1) << 31);
 			/* print it out */
-			printf(" 0x%08lx,", (long) m);
+			printf(" 0x%08lx,", m);
 			if ( ( d & 3 ) == 3 )
 				printf("\n");
 		}
diff --git a/gcmdata.c b/gcmdata.c
index 60b41d94..d431e03a 100644
--- a/gcmdata.c
+++ b/gcmdata.c
@@ -26,9 +26,6 @@
  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA 02111-1301, USA.
  */
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -50,7 +47,7 @@ reduce(unsigned x)
 }
 
 int
-main(int argc UNUSED, char **argv UNUSED)
+main(int argc, char **argv)
 {
   unsigned i;
   printf("4-bit table:\n");
diff --git a/shadata.c b/shadata.c
index 3275f0ce..cba87269 100644
--- a/shadata.c
+++ b/shadata.c
@@ -1,7 +1,3 @@
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
 #include <math.h>
 #include <stdio.h>
 
@@ -16,7 +12,7 @@ static const unsigned primes[64] =
   283, 293, 307, 311
 };
 
-int main(int argc UNUSED, char **argv UNUSED)
+int main(int argc, char **argv)
 {
   int i;
   static const double third = 1.0/3;
diff --git a/twofishdata.c b/twofishdata.c
index 81090d50..53ac1715 100644
--- a/twofishdata.c
+++ b/twofishdata.c
@@ -19,84 +19,82 @@
 
 #include <stdio.h>
 
-#include "nettle-stdint.h"
-
 #define ror4(x) (((x) >> 1) | (((x) & 1) << 3))
 
-static uint8_t q0(uint8_t x)
+static unsigned char q0(unsigned char x)
 {
-    static const uint8_t t0[16] = {
+    static const unsigned char t0[16] = {
       0x8, 0x1, 0x7, 0xD, 0x6, 0xF, 0x3, 0x2,
       0x0, 0xB, 0x5, 0x9, 0xE, 0xC, 0xA, 0x4
     };
-    static const uint8_t t1[16] = {
+    static const unsigned char t1[16] = {
       0xE, 0xC, 0xB, 0x8, 0x1, 0x2, 0x3, 0x5,
       0xF, 0x4, 0xA, 0x6, 0x7, 0x0, 0x9, 0xD
     };
-    static const uint8_t t2[16] = {
+    static const unsigned char t2[16] = {
       0xB, 0xA, 0x5, 0xE, 0x6, 0xD, 0x9, 0x0,
       0xC, 0x8, 0xF, 0x3, 0x2, 0x4, 0x7, 0x1
     };
-    static const uint8_t t3[16] = {
+    static const unsigned char t3[16] = {
       0xD, 0x7, 0xF, 0x4, 0x1, 0x2, 0x6, 0xE,
       0x9, 0xB, 0x3, 0x0, 0x8, 0x5, 0xC, 0xA
     };
 
-    uint8_t a0 = x / 16;
-    uint8_t b0 = x % 16;
+    unsigned char a0 = x / 16;
+    unsigned char b0 = x % 16;
 
-    uint8_t a1 = a0 ^ b0;
-    uint8_t b1 = a0 ^ ror4(b0) ^ ((8*a0) % 16);
+    unsigned char a1 = a0 ^ b0;
+    unsigned char b1 = a0 ^ ror4(b0) ^ ((8*a0) % 16);
 
-    uint8_t a2 = t0[a1];
-    uint8_t b2 = t1[b1];
+    unsigned char a2 = t0[a1];
+    unsigned char b2 = t1[b1];
 
-    uint8_t a3 = a2 ^ b2;
-    uint8_t b3 = a2 ^ ror4(b2) ^ ((8*a2) % 16);
+    unsigned char a3 = a2 ^ b2;
+    unsigned char b3 = a2 ^ ror4(b2) ^ ((8*a2) % 16);
 
-    uint8_t a4 = t2[a3];
-    uint8_t b4 = t3[b3];
+    unsigned char a4 = t2[a3];
+    unsigned char b4 = t3[b3];
 
-    uint8_t y = 16*b4 + a4;
+    unsigned char y = 16*b4 + a4;
 
     return y;
 }
 
-static uint8_t q1(uint8_t x)
+static unsigned char q1(unsigned char x)
 {
-  static const uint8_t t0[16] = {
+  static const unsigned char t0[16] = {
     0x2, 0x8, 0xB, 0xD, 0xF, 0x7, 0x6, 0xE,
     0x3, 0x1, 0x9, 0x4, 0x0, 0xA, 0xC, 0x5
   };
-  static const uint8_t t1[16] = {
+  static const unsigned char t1[16] = {
     0x1, 0xE, 0x2, 0xB, 0x4, 0xC, 0x3, 0x7,
     0x6, 0xD, 0xA, 0x5, 0xF, 0x9, 0x0, 0x8
   };
-  static const uint8_t t2[16] = {
+  static const unsigned char t2[16] = {
     0x4, 0xC, 0x7, 0x5, 0x1, 0x6, 0x9, 0xA,
     0x0, 0xE, 0xD, 0x8, 0x2, 0xB, 0x3, 0xF
   };
-  static const uint8_t t3[16] = {
+  static const unsigned char t3[16] = {
     0xB, 0x9, 0x5, 0x1, 0xC, 0x3, 0xD, 0xE,
     0x6, 0x4, 0x7, 0xF, 0x2, 0x0, 0x8, 0xA
   };
 
-  uint8_t a0 = x / 16;
-  uint8_t b0 = x % 16;
+  unsigned char a0 = x / 16;
+  unsigned char b0 = x % 16;
 
-  uint8_t a1 = a0 ^ b0;
-  uint8_t b1 = a0 ^ ror4(b0) ^ ((8*a0) % 16);
+  unsigned char a1 = a0 ^ b0;
+  unsigned char b1 = a0 ^ ror4(b0) ^ ((8*a0) % 16);
 
-  uint8_t a2 = t0[a1];
-  uint8_t b2 = t1[b1];
+  unsigned char a2 = t0[a1];
+  unsigned char b2 = t1[b1];
 
-  uint8_t a3 = a2 ^ b2;
-  uint8_t b3 = a2 ^ ror4(b2) ^ ((8*a2) % 16);
+  unsigned char a3 = a2 ^ b2;
+  unsigned char b3 = a2 ^ ror4(b2) ^ ((8*a2) % 16);
 
-  uint8_t a4 = t2[a3];
-  uint8_t b4 = t3[b3];
+  unsigned char a4 = t2[a3];
+  unsigned char b4 = t3[b3];
 
-  uint8_t y = 16*b4 + a4;
+  unsigned char y = 16*b4 + a4;
 
   return y;
 }
-- 
GitLab