www.usr.com/support/gpl/USR9107_release.1.4.tar.gz
[bcm963xx.git] / userapps / opensource / sshd / libtomcrypt / demos / encrypt.c
index 3d90330..d8eb293 100755 (executable)
@@ -7,23 +7,15 @@
 /* ie: ./encrypt blowfish story.txt story.ct */
 /* ./encrypt -d blowfish story.ct story.pt */
 
-#include <mycrypt.h>
+#include <tomcrypt.h>
 
 int errno;
 
-static const struct _cipher_descriptor *ciphers[] = {
-   &blowfish_desc,   &xtea_desc,        &rc5_desc,        &rc6_desc,
-   &saferp_desc,     &rijndael_desc,
-   &twofish_desc,    &safer_k64_desc,   &safer_sk64_desc,
-   &safer_k128_desc, &safer_sk128_desc, &rc2_desc,
-   &des_desc,        &des3_desc,        &cast5_desc, NULL
-};
-
-int usage(void) 
+int usage(char *name) 
 {
    int x;
 
-   printf("Usage: ./crypt [-d](ecrypt) cipher infile outfile\nCiphers:\n");
+   printf("Usage: %s [-d](ecrypt) cipher infile outfile\nCiphers:\n", name);
    for (x = 0; cipher_descriptor[x].name != NULL; x++) {
       printf("%s\n",cipher_descriptor[x].name);
    }
@@ -34,12 +26,55 @@ void register_algs(void)
 {
    int x;
    
-   for (x = 0; ciphers[x] != NULL; x++) {
-       if (register_cipher(ciphers[x]) == -1) {
-          printf("Error registering cipher\n");
-          exit(-1);
-       }
-   }
+#ifdef RIJNDAEL
+  register_cipher (&aes_desc);
+#endif
+#ifdef BLOWFISH
+  register_cipher (&blowfish_desc);
+#endif
+#ifdef XTEA
+  register_cipher (&xtea_desc);
+#endif
+#ifdef RC5
+  register_cipher (&rc5_desc);
+#endif
+#ifdef RC6
+  register_cipher (&rc6_desc);
+#endif
+#ifdef SAFERP
+  register_cipher (&saferp_desc);
+#endif
+#ifdef TWOFISH
+  register_cipher (&twofish_desc);
+#endif
+#ifdef SAFER
+  register_cipher (&safer_k64_desc);
+  register_cipher (&safer_sk64_desc);
+  register_cipher (&safer_k128_desc);
+  register_cipher (&safer_sk128_desc);
+#endif
+#ifdef RC2
+  register_cipher (&rc2_desc);
+#endif
+#ifdef DES
+  register_cipher (&des_desc);
+  register_cipher (&des3_desc);
+#endif
+#ifdef CAST5
+  register_cipher (&cast5_desc);
+#endif
+#ifdef NOEKEON
+  register_cipher (&noekeon_desc);
+#endif
+#ifdef SKIPJACK
+  register_cipher (&skipjack_desc);
+#endif
+#ifdef KHAZAD
+  register_cipher (&khazad_desc);
+#endif
+#ifdef ANUBIS
+  register_cipher (&anubis_desc);
+#endif
 
    if (register_hash(&sha256_desc) == -1) {
       printf("Error registering SHA256\n");
@@ -73,7 +108,7 @@ int main(int argc, char *argv[])
    register_algs();
 
    if (argc < 4) {
-      return usage();
+      return usage(argv[0]);
    }
 
    if (!strcmp(argv[1], "-d")) {
@@ -121,9 +156,9 @@ int main(int argc, char *argv[])
    }
 
    printf("\nEnter key: ");
-   fgets(tmpkey,sizeof(tmpkey), stdin);
+   fgets((char *)tmpkey,sizeof(tmpkey), stdin);
    outlen = sizeof(key);
-   if ((errno = hash_memory(hash_idx,tmpkey,strlen(tmpkey),key,&outlen)) != CRYPT_OK) {
+   if ((errno = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) {
       printf("Error hashing key: %s\n", error_to_string(errno));
       exit(-1);
    }
@@ -200,3 +235,7 @@ int main(int argc, char *argv[])
    }
    return 0;
 }
+
+/* $Source: /cvs/libtom/libtomcrypt/demos/encrypt.c,v $ */
+/* $Revision: 1.2 $ */
+/* $Date: 2005/05/05 14:35:56 $ */