Initialize Tizen 2.3
[external/nettle.git] / testsuite / blowfish-test.c
1 #include "testutils.h"
2 #include "nettle-internal.h"
3 #include "blowfish.h"
4
5 int
6 test_main(void)
7 {
8   /* 208 bit key. Test from GNUPG. */
9   test_cipher(&nettle_blowfish128,
10               26, "abcdefghijklmnopqrstuvwxyz",
11               BLOWFISH_BLOCK_SIZE, "BLOWFISH",
12               H("32 4E D0 FE F4 13 A2 03"));
13
14   SUCCESS();
15 }
16 /* FIXME: All values below are bogus. */
17 #if 0
18
19 /* 128 bit keys */
20 H(msg, "506812A45F08C889 B97F5980038B8359");
21
22 blowfish_set_key(&ctx, 16,  H("0001020305060708 0A0B0C0D0F101112"));
23 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
24 if (!MEMEQ(16, cipher, H("D8F532538289EF7D 06B506A4FD5BE9C9")))
25   FAIL;
26
27 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
28 if (!MEMEQ(16, msg, clear))
29   FAIL;
30
31 H(msg, "5C6D71CA30DE8B8B 00549984D2EC7D4B");
32
33 blowfish_set_key(&ctx, 16,  H("14151617191A1B1C 1E1F202123242526"));
34 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
35 if (!MEMEQ(16, cipher, H("59AB30F4D4EE6E4F F9907EF65B1FB68C")))
36   FAIL;
37
38 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
39 if (!MEMEQ(16, msg, clear))
40   FAIL;
41
42 H(msg, "53F3F4C64F8616E4 E7C56199F48F21F6");
43
44 blowfish_set_key(&ctx, 16,  H("28292A2B2D2E2F30 323334353738393A"));
45 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
46 if (!MEMEQ(16, cipher, H("BF1ED2FCB2AF3FD4 1443B56D85025CB1")))
47   FAIL;
48
49 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
50 if (!MEMEQ(16, msg, clear))
51   FAIL;
52
53 H(msg, "F5F4F7F684878689 A6A7A0A1D2CDCCCF");
54
55 blowfish_set_key(&ctx, 16,  H("A0A1A2A3A5A6A7A8 AAABACADAFB0B1B2"));
56 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
57 if (!MEMEQ(16, cipher, H("CE52AF650D088CA5 59425223F4D32694")))
58   FAIL;
59
60 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
61 if (!MEMEQ(16, msg, clear))
62   FAIL;
63
64 /* 192 bit keys */
65 H(msg, "2D33EEF2C0430A8A 9EBF45E809C40BB6");
66
67 blowfish_set_key(&ctx, 24,  H("0001020305060708 0A0B0C0D0F101112"
68                          "14151617191A1B1C"));
69 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
70 if (!MEMEQ(16, cipher, H("DFF4945E0336DF4C 1C56BC700EFF837F")))
71   FAIL;
72
73 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
74 if (!MEMEQ(16, msg, clear))
75   FAIL;
76
77 /* 256 bit keys */
78 H(msg, "834EADFCCAC7E1B30664B1ABA44815AB");
79
80 blowfish_set_key(&ctx, 32,  H("0001020305060708 0A0B0C0D0F101112"
81                          "14151617191A1B1C 1E1F202123242526"));
82 blowfish_encrypt(&ctx, BLOWFISH_BLOCK_SIZE, cipher, msg);
83 if (!MEMEQ(16, cipher, H("1946DABF6A03A2A2 C3D0B05080AED6FC")))
84   FAIL;
85
86 blowfish_decrypt(&ctx, BLOWFISH_BLOCK_SIZE, clear, cipher);
87 if (!MEMEQ(16, msg, clear))
88   FAIL;
89 #endif