1 # Test vectors for Blowfish
5 # --- Main block cipher ---
7 # Taken from Bruce Schneier's web pages, I think...
9 0000000000000000 0000000000000000 4ef997456198dd78;
10 ffffffffffffffff ffffffffffffffff 51866fd5b85ecb8a;
11 3000000000000000 1000000000000001 7d856f9a613063f2;
12 1111111111111111 1111111111111111 2466dd878b963c9d;
13 0123456789abcdef 1111111111111111 61f9c3802281b096;
14 1111111111111111 0123456789abcdef 7d0cc630afda1ec7;
15 0000000000000000 0000000000000000 4ef997456198dd78;
16 fedcba9876543210 0123456789abcdef 0aceab0fc6a0a28d;
17 7ca110454a1a6e57 01a1d6d039776742 59c68245eb05282b;
18 0131d9619dc1376e 5cd54ca83def57da b1b8cc0b250f09a0;
19 07a1133e4a0b2686 0248d43806f67172 1730e5778bea1da4;
20 3849674c2602319e 51454b582ddf440a a25e7856cf2651eb;
21 04b915ba43feb5b6 42fd443059577fa2 353882b109ce8f1a;
22 0113b970fd34f2ce 059b5e0851cf143a 48f4d0884c379918;
23 0170f175468fb5e6 0756d8e0774761d2 432193b78951fc98;
24 43297fad38e373fe 762514b829bf486a 13f04154d69d1ae5;
25 07a7137045da2a16 3bdd119049372802 2eedda93ffd39c79;
26 04689104c2fd3b2f 26955f6835af609a d887e0393c2da6e3;
27 37d06bb516cb7546 164d5e404f275232 5f99d04f5b163969;
28 1f08260d1ac2465e 6b056e18759f5cca 4a057a3b24d3977b;
29 584023641aba6176 004bd6ef09176062 452031c1e4fada8e;
30 025816164629b007 480d39006ee762f2 7555ae39f59b87bd;
31 49793ebc79b3258f 437540c8698f3cfa 53c55f9cb49fc019;
32 4fb05e1515ab73a7 072d43a077075292 7a8e7bfa937e89a3;
33 49e95d6d4ca229bf 02fe55778117f12a cf9c5d7a4986adb5;
34 018310dc409b26d6 1d9d5c5018f728c2 d1abb290658bc778;
35 1c587f1c13924fef 305532286d6f295a 55cb3774d13ef201;
36 0101010101010101 0123456789abcdef fa34ec4847b268b2;
37 1f1f1f1f0e0e0e0e 0123456789abcdef a790795108ea3cae;
38 e0fee0fef1fef1fe 0123456789abcdef c39e072d9fac631d;
39 0000000000000000 ffffffffffffffff 014933e0cdaff6e4;
40 ffffffffffffffff 0000000000000000 f21e9a77b71c49bc;
41 0123456789abcdef 0000000000000000 245946885754369a;
42 fedcba9876543210 ffffffffffffffff 6b5c5a9c5d9e0a5a;
44 # --- Key schedule test ---
46 # From wherever the previous tests came from.
49 fedcba9876543210 f9ad597c49db005e;
52 fedcba9876543210 e91d21c1d961a6d6;
55 fedcba9876543210 e9c2b70a1bc65cf3;
58 fedcba9876543210 be1e639408640f05;
61 fedcba9876543210 b39e44481bdb1e6e;
64 fedcba9876543210 9457aa83b1928c0d;
67 fedcba9876543210 8bb77032f960629d;
70 fedcba9876543210 e87a244e2cc85e82;
73 fedcba9876543210 15750e7a4f4ec577;
76 fedcba9876543210 122ba70b3ab64ae0;
78 f0e1d2c3b4a5968778695a
79 fedcba9876543210 3a833c9affc537f6;
81 f0e1d2c3b4a5968778695a4b
82 fedcba9876543210 9409da87a90f6bf2;
84 f0e1d2c3b4a5968778695a4b3c
85 fedcba9876543210 884f80625060b8b4;
87 f0e1d2c3b4a5968778695a4b3c2d
88 fedcba9876543210 1f85031c19e11968;
90 f0e1d2c3b4a5968778695a4b3c2d1e
91 fedcba9876543210 79d9373a714ca34f;
93 f0e1d2c3b4a5968778695a4b3c2d1e0f
94 fedcba9876543210 93142887ee3be15c;
96 f0e1d2c3b4a5968778695a4b3c2d1e0f00
97 fedcba9876543210 03429e838ce2d14b;
99 f0e1d2c3b4a5968778695a4b3c2d1e0f0011
100 fedcba9876543210 a4299e27469ff67b;
102 f0e1d2c3b4a5968778695a4b3c2d1e0f001122
103 fedcba9876543210 afd5aed1c1bc96a8;
105 f0e1d2c3b4a5968778695a4b3c2d1e0f00112233
106 fedcba9876543210 10851c0e3858da9f;
108 f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344
109 fedcba9876543210 e6f51ed79b9db21f;
111 f0e1d2c3b4a5968778695a4b3c2d1e0f001122334455
112 fedcba9876543210 64a6e14afd36b46f;
114 f0e1d2c3b4a5968778695a4b3c2d1e0f00112233445566
115 fedcba9876543210 80c7d7d45a5479ad;
117 f0e1d2c3b4a5968778695a4b3c2d1e0f0011223344556677
118 fedcba9876543210 05044b62fa52d080;
122 60d7bcda163547d348b7551195e77022907dd1dff7dac5c9941d26d0c6eb14ad568f86edd1dc9268eeee533285a6ed810c9b689daaa906
125 0d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77bf79192a5b50ade5d9cd739a3d
128 337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e
129 6057acc87638f508046733d9ff61cdbda3b3e9878731ebfe
131 dd4705e505da1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb9529533966f27043eb621b7f65b000961040ef2f9b2fc5fa450
132 727a9b542cde52ebfda19d0ccc520f215eb57b
134 b3a4f3ebbbb18ac6c95a97
137 a48030370c33d090c54215
140 d6b3ad54efc9a38378c5b9
141 3bf4f2aad2605faee2b03fb648e27fff63102758fe2b69ac
143 26afa3349829b94586306f
144 ed54154f8f28523c03d4de1600157846b710ee
153 1563259f9eb53b571ea629c54d57dd2d42f70800df9fcbac
156 89196d1ebba10b0467cb9fc2712a199e533fa9
158 156308cdec3f768281e040a9b9a222bd689aef66f5306c
161 eb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5cfb
164 ad7d95214ade49cb3b6f5fe8368131115c037ba323fe1d
165 c8151784873f0eb5b647da6794c18b5337685a96ed65b9ac
167 a338527ef19b09c063c46f88de9fd41e72d7b97e23e6ea
168 bdff3bcd211499268878dbf30f1dad89d4b9b1
173 60d7bcda163547d348b7551195e77022907dd1dff7dac5c9941d26d0c6eb14ad568f86edd1dc9268eeee533285a6ed810c9b689daaa906
179 0d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77bf79192a5b50ade5d9cd739a3d
185 337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e
191 57acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505da1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb95295
197 966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6c95a97a48030
199 abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb6
200 48e27fff63102758fe2b69ac26afa3349829b94586306fed
201 783ab2ee6ea73b63906caf73ceb4376b2e9ebee34fc490c5
203 54154f8f28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d42f70800df
205 a189196d1ebba10b0467cb9fc2712a199e533f
206 a9156308cdec3f768281e040a9b9a222bd689aef66f5306ceb0c6b08ac
207 43bfef92d8c8ba5641fb2523e92ef24d60a41da2e8bb3112aee7b80ce3
209 8b0a22260c571b4a42bb8f
215 db233bfa6a5cfb0bad7d95
221 4ade49cb3b6f5fe8368131
227 5c037ba323fe1dc8151784
233 3f0eb5b647da6794c18b53
235 a338527ef19b09c063c46f88de9fd41e72d7b97e23e6eabd
236 ff3bcd211499268878dbf30f1dad89d4b9b12012e4713df4
237 aebee82a01e138a7229636ee0eb746f6ce13584936f56bb4
239 6795630e7952d22bb02d71
241 a8f083455b663e4ee1315f3c8f2aebfa921451
242 dcd1af5813b70d30ce2f1fef6ef315d0798391805da08da3aefc5f8584
243 8a298eafedf8c1e183dfa50569cda59c9f93e56fde173e750e2fa185c7
271 08be3c31e6bc58c0b7cadcb658b970e47479a684b5aefa69
272 a4cd52147ed12ca986981a874498ad0abef8bc4fcb70e27e
273 773aeb0f1ffbc8b9f0a642275761a79598ab37c4a531e157
277 00f06dc188d472a784e0c6f21195a3b9f4ae98
278 5511265febd11c164720eef9eb1c8dd0b00951f284649016ed00456331
279 08d772c882d1d700f980b349e40c3cb563743f62b966fe38ce39831c37
281 854bc78bf43966eb0cfa9138ddc39908445608fe95e81c
287 2533e31c9c1a9851bc2810d858cbbc8424d126b807e6da
293 89c3f9099c5ffb824173d7634c04226f30cbb7f0e4a973
299 cd190107314717a77456f3ff669c732b58db8f48af65f7
305 9e3fb90e1721b730374ffc9bc597f56ccbb2f294b38766
307 fd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b
308 9b8f0911e32d65cc1770a18cbfe6effd1ff6778554acf127
309 c9d09215bfda6368733b83186710d656bd900f072a02173d
311 0485b203a3c1c4c967c0a458cb948bdd409b687fa3a682
313 ef64f6c9b53bf8f957f4b03cf43e89957f9a3e
314 8128f8743d16687b7bb8deb9bd205b70e04c091d205cdad9e9a79b1abf
315 1b485cb8f21d2744e6fdb19989d90693a8d2b935d0eae05facba546e91
320 60d7bcda163547d348b7551195e77022907dd1dff7dac5c9941d26d0c6eb14ad568f86edd1dc9268eeee533285a6ed810c9b689daaa906
326 0d2d4b6003062365b0a54364c76c160f11896c4794846ecfa14a7130c9f137120634c9519848a877ff77bf79192a5b50ade5d9cd739a3d
332 337f29549e6b0d27a4ba234085406a6136512061f7080cc07df0591d8fa21f2dd88374d8cde8e160ad10997a21635c6d62c9269029df3e
338 57acc87638f508046733d9ff61cdbda3b3e9878731ebfedd4705e505da1435dceaa7b1cc49ae1d50c38201a894476b3f102b752eb95295
344 966f27043eb621b7f65b000961040ef2f9b2fc5fa450727a9b542cde52ebfda19d0ccc520f215eb57bb3a4f3ebbbb18ac6c95a97a48030
346 abd6b3ad54efc9a38378c5b93bf4f2aad2605faee2b03fb6
347 48e27fff63102758fe2b69ac26afa3349829b94586306fed
348 e506b433f4b8d79455ba85c9495a93fbdfd6d9b8905ff540
350 54154f8f28523c03d4de1600157846b710ee72807a2219bfb474fd71d891f24bb65d1563259f9eb53b571ea629c54d57dd2d42f70800df
352 8b77dba189196d1ebba10b
353 0467cb9fc2712a199e533fa9156308cdec3f768281e040a9b9a222bd689aef66f5
354 300fa70b6ef7bfd848bb6686af20bd3fdd3c24870e4b3e27ebe638a6574f74666b
356 306ceb0c6b08ac8b0a22260c571b4a42bb8fdb233bfa6a5cfb0bad7d95214ade49cb3b6f5fe8368131115c037ba323fe1dc8151784873f
358 c18b5337685a96ed65b9aca338527ef19b09c0
359 63c46f88de9fd41e72d7b97e23e6eabdff3bcd211499268878dbf30f1d
360 5a4f347d4d422000d0df51f4cb24b0be321466d6730f7a811e36dc030c
362 ad89d4b9b12012e4713df4
368 6795630e7952d22bb02d71
374 b8b649377d20a8f083455b
380 3e4ee1315f3c8f2aebfa92
386 51dcd1af5813b70d30ce2f
388 91805da08da3aefc5f8584b7c5e617669c0f16e39815d4e9
389 cfce3ed1ecdf3d264a7f16cb16c2e815f422cdf0c8e30308
390 2f5da54ea8b3beafd0f3dd6ac4e10650dd2ed421f8ce5ec1
392 be3c31e6bc58c0b7cadcb6
394 7479a684b5aefa69a4cd52
395 147ed12ca986981a874498ad0abef8bc4fcb70e27e98ef1f0446b42fb144d44b6d
396 e1b7effaaf9fd5e129cfc598bc26a0100ea9bac25c51aeabb75a7127e05c1bc9bc
398 00f06dc188d472a784e0c6
400 985511265febd11c164720eef9eb1c8dd0b009
401 51f284649016ed00456331854bc78bf43966eb0cfa9138ddc399084456
402 6bc0e656e9939d5fe58ad77acbcec603f5111cbe660d6b62d1c241ba6c
430 824173d7634c04226f30cbb7f0e4a973a8cd190107314717
431 a77456f3ff669c732b58db8f48af65f7cc9e3fb90e1721b7
432 f9e5d38f1d9ce21dc3b940af936de5b80b4ac4b034adb539
436 cbb2f294b38766fc69f6a9
437 f2c0945ffd505003cc0cae9ce021a5f1fa4ffa91544485f1a1258b2b9b8f0911e3
438 9895b89d611def800949f45f4e61129a3722df9b15f37afca829d4fc08266acf57
442 f6778554acf1270485b203a3c1c4c967c0a458
443 cb948bdd409b687fa3a6827b480aa3a4c84cef64f6c9b53bf8f957f4b0
444 bb5e83aa69b5356dceec0fe74656f2e4399e12c85e09dd2f8fb609c72a
446 3cf43e89957f9a3e8128f8743d16687b7bb8deb9bd205b
452 70e04c091d205cdad9e9a79b1abf91b0851e5ca605ac84
458 399587011677508a15dde524af3e2bee0646541a42c2ec
464 b44d65bad397abfaf529ee41cf9a05c7efedef3401539c
470 d2a90bbf7f1bfc338ab0ef5746ea8fdcccd213e33f7e8a
472 e7d715a92add9589d1f5c054b2d983514605ec590294a319
473 b9802068a9f891bc5ba5afabf8c3122d12d7ff3c41122d70
474 4c86b78d99617ef3a0e2ba3306379b71221b44b4f53f5526
476 d17d4569eaff59a332ba58d5d5589bfe079753ee1a957e
478 6b7ea2725cb2dac07ecde9
479 5759ac46fee6dda7abc8ad68daac90cfe22d2f1f2968cc42fa8b669ed3bb3542a9
480 9001bbc3c0a5c6447968b8eec61f2e49ca7129b0560ea49201d997d682bc36984f
482 cf44bbc8c6254d980398bd94e66eb4563d405e51881e99
484 f860b0009740763d96836c5f87b95460938de1
485 288c69d80ea12ff4bb5f069b8a2e86041c1b9fc214e9ca2186ddf1f6a7
486 3bf9da6973a8dc56cebcb99962a74dc8638d11f4cb1d932162cd63136e