summaryrefslogtreecommitdiffhomepage
path: root/libtomcrypt/testprof/modes_test.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2007-02-06 16:00:18 +0000
committerMatt Johnston <matt@ucc.asn.au>2007-02-06 16:00:18 +0000
commitcda7af7ca2fe9fb8d848e7891a528e63531a4e8d (patch)
tree936cdb192e15a456a67d52ab439841b4610404c2 /libtomcrypt/testprof/modes_test.c
parentd199e0b1196f39509a92e31d6843193d828bcfab (diff)
parentb1217873364b9c6aa974462b466a795f224249f3 (diff)
merge of '73fe066c5d9e2395354ba74756124d45c978a04d'
and 'f5014cc84558f1e8eba42dbecf9f72f94bfe6134' --HG-- branch : channel-fix extra : convert_revision : cc6095ce978e5f9e51ece6f1717499bc73594bcc
Diffstat (limited to 'libtomcrypt/testprof/modes_test.c')
-rw-r--r--libtomcrypt/testprof/modes_test.c47
1 files changed, 21 insertions, 26 deletions
diff --git a/libtomcrypt/testprof/modes_test.c b/libtomcrypt/testprof/modes_test.c
index d394267..8999c0d 100644
--- a/libtomcrypt/testprof/modes_test.c
+++ b/libtomcrypt/testprof/modes_test.c
@@ -5,10 +5,15 @@ int modes_test(void)
{
unsigned char pt[64], ct[64], tmp[64], key[16], iv[16], iv2[16];
int cipher_idx;
+#ifdef LTC_CBC_MODE
symmetric_CBC cbc;
+#endif
+#ifdef LTC_CFB_MODE
symmetric_CFB cfb;
+#endif
+#ifdef LTC_OFB_MODE
symmetric_OFB ofb;
- symmetric_CTR ctr;
+#endif
unsigned long l;
/* make a random pt, key and iv */
@@ -23,7 +28,15 @@ int modes_test(void)
return 1;
}
-#ifdef CBC
+#ifdef LTC_F8_MODE
+ DO(f8_test_mode());
+#endif
+
+#ifdef LTC_LRW_MODE
+ DO(lrw_test());
+#endif
+
+#ifdef LTC_CBC_MODE
/* test CBC mode */
/* encode the block */
DO(cbc_start(cipher_idx, iv, key, 16, 0, &cbc));
@@ -45,7 +58,7 @@ int modes_test(void)
}
#endif
-#ifdef CFB
+#ifdef LTC_CFB_MODE
/* test CFB mode */
/* encode the block */
DO(cfb_start(cipher_idx, iv, key, 16, 0, &cfb));
@@ -68,7 +81,7 @@ int modes_test(void)
}
#endif
-#ifdef OFB
+#ifdef LTC_OFB_MODE
/* test OFB mode */
/* encode the block */
DO(ofb_start(cipher_idx, iv, key, 16, 0, &ofb));
@@ -90,31 +103,13 @@ int modes_test(void)
}
#endif
-#ifdef CTR
- /* test CTR mode */
- /* encode the block */
- DO(ctr_start(cipher_idx, iv, key, 16, 0, CTR_COUNTER_LITTLE_ENDIAN, &ctr));
- l = sizeof(iv2);
- DO(ctr_getiv(iv2, &l, &ctr));
- if (l != 16 || memcmp(iv2, iv, 16)) {
- fprintf(stderr, "ctr_getiv failed");
- return 1;
- }
- DO(ctr_encrypt(pt, ct, 57, &ctr));
-
- /* decode the block */
- DO(ctr_setiv(iv2, l, &ctr));
- zeromem(tmp, sizeof(tmp));
- DO(ctr_decrypt(ct, tmp, 57, &ctr));
- if (memcmp(tmp, pt, 57) != 0) {
- fprintf(stderr, "CTR failed");
- return 1;
- }
+#ifdef LTC_CTR_MODE
+ DO(ctr_test());
#endif
return 0;
}
/* $Source: /cvs/libtom/libtomcrypt/testprof/modes_test.c,v $ */
-/* $Revision: 1.6 $ */
-/* $Date: 2005/05/21 12:51:25 $ */
+/* $Revision: 1.14 $ */
+/* $Date: 2006/11/13 11:55:25 $ */