@@ -27,7 +27,29 @@ public override string Name
2727            new  BlockCipherVectorTest ( 4 ,  new  BlowfishEngine ( ) ,  new  KeyParameter ( Hex . Decode ( "0123456789ABCDEF" ) ) ,  "1111111111111111" ,  "61F9C3802281B096" ) , 
2828            new  BlockCipherVectorTest ( 5 ,  new  BlowfishEngine ( ) ,  new  KeyParameter ( Hex . Decode ( "FEDCBA9876543210" ) ) ,  "0123456789ABCDEF" ,  "0ACEAB0FC6A0A28D" ) , 
2929            new  BlockCipherVectorTest ( 6 ,  new  BlowfishEngine ( ) ,  new  KeyParameter ( Hex . Decode ( "7CA110454A1A6E57" ) ) ,  "01A1D6D039776742" ,  "59C68245EB05282B" ) , 
30-             new  BlockCipherVectorTest ( 7 ,  new  BlowfishEngine ( ) ,  new  KeyParameter ( Hex . Decode ( "0131D9619DC1376E" ) ) ,  "5CD54CA83DEF57DA" ,  "B1B8CC0B250F09A0" ) 
30+             new  BlockCipherVectorTest ( 7 ,  new  BlowfishEngine ( ) ,  new  KeyParameter ( Hex . Decode ( "0131D9619DC1376E" ) ) ,  "5CD54CA83DEF57DA" ,  "B1B8CC0B250F09A0" ) , 
31+ 
32+             // with BlowfishParameters 
33+             new  BlockCipherVectorTest ( 10 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "0000000000000000" ) ) ,  "0000000000000000" ,  "4EF997456198DD78" ) , 
34+             new  BlockCipherVectorTest ( 11 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "FFFFFFFFFFFFFFFF" ) ) ,  "FFFFFFFFFFFFFFFF" ,  "51866FD5B85ECB8A" ) , 
35+             new  BlockCipherVectorTest ( 12 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "3000000000000000" ) ) ,  "1000000000000001" ,  "7D856F9A613063F2" ) , 
36+             new  BlockCipherVectorTest ( 13 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "1111111111111111" ) ) ,  "1111111111111111" ,  "2466DD878B963C9D" ) , 
37+             new  BlockCipherVectorTest ( 14 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "0123456789ABCDEF" ) ) ,  "1111111111111111" ,  "61F9C3802281B096" ) , 
38+             new  BlockCipherVectorTest ( 15 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "FEDCBA9876543210" ) ) ,  "0123456789ABCDEF" ,  "0ACEAB0FC6A0A28D" ) , 
39+             new  BlockCipherVectorTest ( 16 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "7CA110454A1A6E57" ) ) ,  "01A1D6D039776742" ,  "59C68245EB05282B" ) , 
40+             new  BlockCipherVectorTest ( 17 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "0131D9619DC1376E" ) ) ,  "5CD54CA83DEF57DA" ,  "B1B8CC0B250F09A0" ) , 
41+ 
42+             // with BlowfishParameters and extended keys 
43+             new  BlockCipherVectorTest ( 20 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ) ,  extendedKey :  true ) ,  "0000000000000000" ,  "4ef997456198dd78" ) , 
44+             new  BlockCipherVectorTest ( 21 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ) ,  extendedKey :  true ) ,  "0000000000000000" ,  "4ef997456198dd78" ) , 
45+             new  BlockCipherVectorTest ( 22 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ) ,  extendedKey :  true ) ,  "ffffffffffffffff" ,  "51866fd5b85ecb8a" ) , 
46+             new  BlockCipherVectorTest ( 23 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" ) ,  extendedKey :  true ) ,  "ffffffffffffffff" ,  "51866fd5b85ecb8a" ) , 
47+             new  BlockCipherVectorTest ( 24 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" ) ,  extendedKey :  true ) ,  "1111111111111111" ,  "2466dd878b963c9d" ) , 
48+             new  BlockCipherVectorTest ( 25 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" ) ,  extendedKey :  true ) ,  "1111111111111111" ,  "2466dd878b963c9d" ) , 
49+             new  BlockCipherVectorTest ( 26 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ) ,  extendedKey :  true ) ,  "1000000000000001" ,  "6252d3fc90256722" ) , 
50+             new  BlockCipherVectorTest ( 27 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ) ,  extendedKey :  true ) ,  "1000000000000001" ,  "6252d3fc90256722" ) , 
51+             new  BlockCipherVectorTest ( 28 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "4f8afc23a1daac522510982b41c9186081b2a00537e193d85d004013ce520cc77aeb3c7822668c425adf7a9af977ad0c380f471229dcc73478d6a560ce3bc730df05e975a6d06d4e" ) ,  extendedKey :  true ) ,  "63038f81aff43d3e" ,  "88ccd0c218b35b0b" ) , 
52+             new  BlockCipherVectorTest ( 29 ,  new  BlowfishEngine ( ) ,  new  BlowfishParameters ( Hex . Decode ( "4f8afc23a1daac522510982b41c9186081b2a00537e193d85d004013ce520cc77aeb3c7822668c425adf7a9af977ad0c380f471229dcc73478d6a560ce3bc730df05e975a6d06d4e9be8ca0e" ) ,  extendedKey :  true ) ,  "63038f81aff43d3e" ,  "88ccd0c218b35b0b" ) , 
3153        } ; 
3254
3355        public  BlowfishTest ( ) 
@@ -63,6 +85,27 @@ public void TestFunction()
6385                Assert . AreEqual ( "key length must be in range 32 to 448 bits" ,  e . Message ) ; 
6486            } 
6587
88+             // key range check -- new BlowfishParameters 
89+             try 
90+             { 
91+                 blowfish . Init ( true ,  new  BlowfishParameters ( new  byte [ 1 ] ) ) ; 
92+                 Fail ( "no exception" ) ; 
93+             } 
94+             catch  ( ArgumentException  e ) 
95+             { 
96+                 Assert . AreEqual ( "key length must be in range 32 to 448 bits" ,  e . Message ) ; 
97+             } 
98+ 
99+             try 
100+             { 
101+                 blowfish . Init ( true ,  new  BlowfishParameters ( new  byte [ 59 ] ) ) ; 
102+                 Fail ( "no exception" ) ; 
103+             } 
104+             catch  ( ArgumentException  e ) 
105+             { 
106+                 Assert . AreEqual ( "key length must be in range 32 to 448 bits" ,  e . Message ) ; 
107+             } 
108+ 
66109            Assert . AreEqual ( Name  +  ": Okay" ,  resultText ) ; 
67110        } 
68111    } 
0 commit comments