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