@@ -27,7 +27,29 @@ public override string Name
27
27
new BlockCipherVectorTest ( 4 , new BlowfishEngine ( ) , new KeyParameter ( Hex . Decode ( "0123456789ABCDEF" ) ) , "1111111111111111" , "61F9C3802281B096" ) ,
28
28
new BlockCipherVectorTest ( 5 , new BlowfishEngine ( ) , new KeyParameter ( Hex . Decode ( "FEDCBA9876543210" ) ) , "0123456789ABCDEF" , "0ACEAB0FC6A0A28D" ) ,
29
29
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" ) ,
31
53
} ;
32
54
33
55
public BlowfishTest ( )
@@ -63,6 +85,27 @@ public void TestFunction()
63
85
Assert . AreEqual ( "key length must be in range 32 to 448 bits" , e . Message ) ;
64
86
}
65
87
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
+
66
109
Assert . AreEqual ( Name + ": Okay" , resultText ) ;
67
110
}
68
111
}
0 commit comments