cryptopp 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +14 -0
  4. data/Guardfile +17 -0
  5. data/MIT-LICENSE +1 -1
  6. data/Rakefile +20 -27
  7. data/VERSION +1 -0
  8. data/cryptopp.gemspec +7 -182
  9. data/ext/Rakefile +2 -2
  10. data/ext/ciphers.cpp +619 -619
  11. data/ext/cryptopp.cpp +220 -217
  12. data/ext/cryptopp_ruby_api.h +7 -7
  13. data/ext/defs/hashes.def +16 -0
  14. data/ext/defs/hmacs.def +16 -0
  15. data/ext/digests.cpp +635 -601
  16. data/ext/extconf.rb +61 -19
  17. data/ext/j3way.cpp +5 -5
  18. data/ext/j3way.h +6 -6
  19. data/ext/jadler32.h +6 -6
  20. data/ext/jaes.cpp +5 -5
  21. data/ext/jaes.h +6 -6
  22. data/ext/jarc4.cpp +5 -5
  23. data/ext/jarc4.h +6 -6
  24. data/ext/jbase.cpp +94 -94
  25. data/ext/jbase.h +49 -55
  26. data/ext/jbasiccipherinfo.h +23 -23
  27. data/ext/jblowfish.cpp +5 -5
  28. data/ext/jblowfish.h +6 -6
  29. data/ext/jcamellia.cpp +5 -7
  30. data/ext/jcamellia.h +6 -8
  31. data/ext/jcast128.cpp +5 -5
  32. data/ext/jcast128.h +6 -6
  33. data/ext/jcast256.cpp +5 -5
  34. data/ext/jcast256.h +6 -6
  35. data/ext/jcipher.cpp +62 -62
  36. data/ext/jcipher.h +24 -24
  37. data/ext/jcipher_t.h +383 -383
  38. data/ext/jconfig.h +29 -46
  39. data/ext/jconstants.h +120 -122
  40. data/ext/jcrc32.h +6 -6
  41. data/ext/jdes.cpp +5 -5
  42. data/ext/jdes.h +6 -6
  43. data/ext/jdes_ede2.cpp +5 -5
  44. data/ext/jdes_ede2.h +6 -6
  45. data/ext/jdes_ede3.cpp +5 -5
  46. data/ext/jdes_ede3.h +6 -6
  47. data/ext/jdes_xex3.cpp +5 -5
  48. data/ext/jdes_xex3.h +6 -6
  49. data/ext/jdiamond2.cpp +5 -5
  50. data/ext/jdiamond2.h +6 -6
  51. data/ext/jdiamond2lite.cpp +5 -5
  52. data/ext/jdiamond2lite.h +6 -6
  53. data/ext/jexception.h +5 -5
  54. data/ext/jgost.cpp +5 -5
  55. data/ext/jgost.h +6 -6
  56. data/ext/jhash.cpp +51 -51
  57. data/ext/jhash.h +22 -27
  58. data/ext/jhash_t.h +59 -59
  59. data/ext/jhaval.h +15 -15
  60. data/ext/jhelpers.cpp +54 -54
  61. data/ext/jhelpers.h +3 -3
  62. data/ext/jhmac.cpp +20 -20
  63. data/ext/jhmac.h +15 -15
  64. data/ext/jhmac_t.h +40 -72
  65. data/ext/jidea.cpp +5 -5
  66. data/ext/jidea.h +6 -6
  67. data/ext/jmarc4.cpp +5 -5
  68. data/ext/jmarc4.h +6 -6
  69. data/ext/jmars.cpp +5 -5
  70. data/ext/jmars.h +6 -6
  71. data/ext/jmd2.h +9 -9
  72. data/ext/jmd4.h +9 -9
  73. data/ext/jmd5.h +9 -9
  74. data/ext/jpanamacipher.cpp +7 -7
  75. data/ext/jpanamacipher.h +9 -9
  76. data/ext/jpanamahash.h +9 -9
  77. data/ext/jrc2.cpp +15 -15
  78. data/ext/jrc2.h +11 -11
  79. data/ext/jrc5.cpp +5 -5
  80. data/ext/jrc5.h +6 -6
  81. data/ext/jrc6.cpp +5 -5
  82. data/ext/jrc6.h +6 -6
  83. data/ext/jripemd160.h +28 -28
  84. data/ext/jsafer.cpp +7 -7
  85. data/ext/jsafer.h +9 -9
  86. data/ext/jseal.cpp +7 -7
  87. data/ext/jseal.h +9 -9
  88. data/ext/jserpent.cpp +5 -5
  89. data/ext/jserpent.h +6 -6
  90. data/ext/jsha.h +38 -37
  91. data/ext/jsha3.h +130 -0
  92. data/ext/jsha3_blocksizes.h +73 -0
  93. data/ext/jshacal2.cpp +5 -5
  94. data/ext/jshacal2.h +6 -6
  95. data/ext/jshark.cpp +5 -7
  96. data/ext/jshark.h +6 -8
  97. data/ext/jsink.cpp +57 -57
  98. data/ext/jsink.h +127 -123
  99. data/ext/jskipjack.cpp +5 -5
  100. data/ext/jskipjack.h +6 -6
  101. data/ext/jsquare.cpp +5 -5
  102. data/ext/jsquare.h +6 -6
  103. data/ext/jstream.cpp +3 -3
  104. data/ext/jstream.h +3 -3
  105. data/ext/jstream_t.h +74 -126
  106. data/ext/jtea.cpp +5 -5
  107. data/ext/jtea.h +6 -6
  108. data/ext/jtiger.h +9 -11
  109. data/ext/jtwofish.cpp +5 -5
  110. data/ext/jtwofish.h +6 -6
  111. data/ext/jwhirlpool.h +9 -11
  112. data/ext/utils.cpp +3 -3
  113. data/extras/parser_c.rb +102 -102
  114. data/test/ciphers_test.rb +24 -30
  115. data/test/data/ciphers/3desval.yml +13 -0
  116. data/test/data/ciphers/3wayval.yml +17 -0
  117. data/test/data/ciphers/arc4.yml +22 -0
  118. data/test/data/ciphers/blowfish.yml +9 -0
  119. data/test/data/ciphers/camellia.yml +21 -0
  120. data/test/data/ciphers/cast128v.yml +13 -0
  121. data/test/data/ciphers/cast256v.yml +13 -0
  122. data/test/data/ciphers/descert.yml +723 -0
  123. data/test/data/ciphers/diamond.yml +31 -0
  124. data/test/data/ciphers/gostval.yml +33 -0
  125. data/test/data/ciphers/ideaval.yml +45 -0
  126. data/test/data/ciphers/marsval.yml +37 -0
  127. data/test/data/ciphers/panamac.yml +11 -0
  128. data/test/data/ciphers/rc2val.yml +49 -0
  129. data/test/data/ciphers/rc5val.yml +26 -0
  130. data/test/data/ciphers/rc6val.yml +25 -0
  131. data/test/data/ciphers/rijndael.yml +37 -0
  132. data/test/data/ciphers/saferval.yml +77 -0
  133. data/test/data/ciphers/seal.yml +6 -0
  134. data/test/data/ciphers/serpentv.yml +37 -0
  135. data/test/data/ciphers/shacal2.yml +21 -0
  136. data/test/data/ciphers/sharkval.yml +29 -0
  137. data/test/data/ciphers/skipjack.yml +5 -0
  138. data/test/data/ciphers/squareva.yml +33 -0
  139. data/test/data/ciphers/twofishv.yml +37 -0
  140. data/test/data/digests/adler32.yml +19 -0
  141. data/test/data/digests/crc32.yml +25 -0
  142. data/test/data/digests/haval.yml +7 -0
  143. data/test/data/digests/havalcer.yml +1 -0
  144. data/test/data/digests/md2.yml +22 -0
  145. data/test/data/digests/md4.yml +22 -0
  146. data/test/data/digests/md5.yml +22 -0
  147. data/test/data/digests/panamah.yml +13 -0
  148. data/test/data/digests/ripemd.yml +97 -0
  149. data/test/data/digests/sha.yml +25 -0
  150. data/test/data/digests/sha3.yml +23 -0
  151. data/test/data/digests/tiger.yml +30 -0
  152. data/test/data/digests/whirlpool.yml +25 -0
  153. data/test/data/hmacs/hmac.yml +14 -0
  154. data/test/digests_test.rb +17 -23
  155. data/test/hmacs_test.rb +25 -31
  156. data/test/test_helper.rb +31 -37
  157. metadata +70 -82
  158. data/test/data/ciphers/3desval.dat +0 -7
  159. data/test/data/ciphers/3wayval.dat +0 -6
  160. data/test/data/ciphers/arc4.dat +0 -8
  161. data/test/data/ciphers/blowfish.dat +0 -5
  162. data/test/data/ciphers/camellia.dat +0 -7
  163. data/test/data/ciphers/cast128v.dat +0 -5
  164. data/test/data/ciphers/cast256v.dat +0 -5
  165. data/test/data/ciphers/descert.dat +0 -198
  166. data/test/data/ciphers/diamond.dat +0 -9
  167. data/test/data/ciphers/gostval.dat +0 -10
  168. data/test/data/ciphers/ideaval.dat +0 -13
  169. data/test/data/ciphers/marsval.dat +0 -11
  170. data/test/data/ciphers/panamac.dat +0 -7
  171. data/test/data/ciphers/rc2val.dat +0 -10
  172. data/test/data/ciphers/rc5val.dat +0 -7
  173. data/test/data/ciphers/rc6val.dat +0 -8
  174. data/test/data/ciphers/rijndael.dat +0 -11
  175. data/test/data/ciphers/saferval.dat +0 -27
  176. data/test/data/ciphers/seal.dat +0 -3
  177. data/test/data/ciphers/serpentv.dat +0 -11
  178. data/test/data/ciphers/shacal2.dat +0 -7
  179. data/test/data/ciphers/sharkval.dat +0 -9
  180. data/test/data/ciphers/skipjack.dat +0 -3
  181. data/test/data/ciphers/squareva.dat +0 -10
  182. data/test/data/ciphers/twofishv.dat +0 -11
  183. data/test/data/digests/adler32.dat +0 -8
  184. data/test/data/digests/crc32.dat +0 -10
  185. data/test/data/digests/haval.dat +0 -4
  186. data/test/data/digests/havalcer.dat +0 -23
  187. data/test/data/digests/md2.dat +0 -9
  188. data/test/data/digests/md4.dat +0 -9
  189. data/test/data/digests/md5.dat +0 -9
  190. data/test/data/digests/panamah.dat +0 -8
  191. data/test/data/digests/ripemd.dat +0 -43
  192. data/test/data/digests/sha.dat +0 -19
  193. data/test/data/digests/tiger.dat +0 -11
  194. data/test/data/digests/whirlpool.dat +0 -13
  195. data/test/data/hmacs/hmac.dat +0 -6
@@ -1,23 +1,14 @@
1
1
 
2
2
  /*
3
- * Copyright (c) 2002-2010 J Smith <dark.panda@gmail.com>
4
- * Crypto++ copyright (c) 1995-2010 Wei Dai
5
- * See COPYING for the extact license
3
+ * Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
4
+ * Crypto++ copyright (c) 1995-2013 Wei Dai
5
+ * See MIT-LICENSE for the extact license
6
6
  */
7
7
 
8
8
  #ifndef __JCONFIG_H__
9
9
  #define __JCONFIG_H__
10
10
 
11
- // to enable or disable specific cipher algorithms,
12
- // set these to either 1 or 0 -- 1 for enabled, 0 for
13
- // disabled, obviously.
14
- //
15
- // if we have config.h, rely on that, otherwise, below
16
- // are the defaults...
17
-
18
- #ifdef HAVE_CONFIG_H
19
- #include "config.h"
20
- #else
11
+ #include "cryptlib.h"
21
12
 
22
13
  #define ENABLED_THREEWAY_CIPHER 1
23
14
  #define ENABLED_AES_CIPHER 1
@@ -71,6 +62,19 @@
71
62
  #define ENABLED_SHA256_HASH 1
72
63
  #define ENABLED_SHA384_HASH 1
73
64
  #define ENABLED_SHA512_HASH 1
65
+ #if CRYPTOPP_VERSION >= 562
66
+ #define ENABLED_SHA3_HASH 1
67
+ #define ENABLED_SHA3_224_HASH 1
68
+ #define ENABLED_SHA3_256_HASH 1
69
+ #define ENABLED_SHA3_384_HASH 1
70
+ #define ENABLED_SHA3_512_HASH 1
71
+ #else
72
+ #define ENABLED_SHA3_HASH 0
73
+ #define ENABLED_SHA3_224_HASH 0
74
+ #define ENABLED_SHA3_256_HASH 0
75
+ #define ENABLED_SHA3_384_HASH 0
76
+ #define ENABLED_SHA3_512_HASH 0
77
+ #endif
74
78
  #define ENABLED_TIGER_HASH 1
75
79
  #define ENABLED_WHIRLPOOL_HASH 1
76
80
 
@@ -85,6 +89,18 @@
85
89
  #define ENABLED_SHA256_HMAC 1
86
90
  #define ENABLED_SHA384_HMAC 1
87
91
  #define ENABLED_SHA512_HMAC 1
92
+ #if CRYPTOPP_VERSION >= 562
93
+ #define ENABLED_SHA3_224_HMAC 1
94
+ #define ENABLED_SHA3_256_HMAC 1
95
+ #define ENABLED_SHA3_384_HMAC 1
96
+ #define ENABLED_SHA3_512_HMAC 1
97
+ #else
98
+ #warning CRYPTOPP_VERSION
99
+ #define ENABLED_SHA3_224_HMAC 0
100
+ #define ENABLED_SHA3_256_HMAC 0
101
+ #define ENABLED_SHA3_384_HMAC 0
102
+ #define ENABLED_SHA3_512_HMAC 0
103
+ #endif
88
104
  #define ENABLED_TIGER_HMAC 1
89
105
  #define ENABLED_WHIRLPOOL_HMAC 1
90
106
 
@@ -92,36 +108,3 @@
92
108
  #define ENABLED_CRC32_CHECKSUM 1
93
109
 
94
110
  #endif
95
-
96
- // just to make sure SHARK and such are disabled if we don't
97
- // have WORD64 or some version thereof...
98
-
99
- // test if word64 is available for SHARK, SHA-384, SHA-512 and Tiger.
100
-
101
- #if defined(__GNUC__) || defined(__MWERKS__) || defined(_MSC_VER) || defined(__BCPLUSPLUS__)
102
- #define WORD64_AVAILABLE
103
- #else
104
- #undef ENABLED_CAMELLIA_CIPHER
105
- #undef ENABLED_SHARK_CIPHER
106
- #undef ENABLED_SHA384_HASH
107
- #undef ENABLED_SHA512_HASH
108
- #undef ENABLED_SHA384_HMAC
109
- #undef ENABLED_SHA512_HMAC
110
- #undef ENABLED_TIGER_HASH
111
- #undef ENABLED_TIGER_HMAC
112
- #undef ENABLED_WHIRLPOOL_HASH
113
- #undef ENABLED_WHIRLPOOL_HMAC
114
-
115
- #define ENABLED_CAMELLIA_CIPHER 0
116
- #define ENABLED_SHARK_CIPHER 0
117
- #define ENABLED_SHA384_HASH 0
118
- #define ENABLED_SHA512_HASH 0
119
- #define ENABLED_SHA384_HMAC 0
120
- #define ENABLED_SHA512_HMAC 0
121
- #define ENABLED_TIGER_HASH 0
122
- #define ENABLED_TIGER_HMAC 0
123
- #define ENABLED_WHIRLPOOL_HASH 0
124
- #define ENABLED_WHIRLPOOL_HMAC 0
125
- #endif
126
-
127
- #endif
@@ -1,8 +1,8 @@
1
1
 
2
2
  /*
3
- * Copyright (c) 2002-2010 J Smith <dark.panda@gmail.com>
4
- * Crypto++ copyright (c) 1995-2010 Wei Dai
5
- * See COPYING for the extact license
3
+ * Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
4
+ * Crypto++ copyright (c) 1995-2013 Wei Dai
5
+ * See MIT-LICENSE for the extact license
6
6
  */
7
7
 
8
8
  #ifndef __JCONSTANTS_H__
@@ -10,59 +10,52 @@
10
10
 
11
11
  using namespace CryptoPP;
12
12
 
13
- // test if word64 is available for SHARK, SHA-384, SHA-512 and Tiger.
14
-
15
- #if defined(__GNUC__) || defined(__MWERKS__) || defined(_MSC_VER) || defined(__BCPLUSPLUS__)
16
- #define WORD64_AVAILABLE
17
- #endif
18
-
19
-
20
13
  // Cipher types used in JCipher and JStream...
21
14
 
22
15
  enum CipherEnum {
23
- UNKNOWN_CIPHER = -1,
24
-
25
- // Stream ciphers...
26
-
27
- ARC4_CIPHER,
28
- PANAMA_LITTLE_ENDIAN_CIPHER,
29
- PANAMA_BIG_ENDIAN_CIPHER,
30
- MARC4_CIPHER,
31
- SEAL_LITTLE_ENDIAN_CIPHER,
32
- SEAL_BIG_ENDIAN_CIPHER,
33
-
34
- // Block Ciphers...
35
-
36
- THREEWAY_CIPHER,
37
- AES_CIPHER,
38
- BLOWFISH_CIPHER,
39
- CAST128_CIPHER,
40
- CAST256_CIPHER,
41
- DES_CIPHER,
42
- DES_EDE2_CIPHER,
43
- DES_EDE3_CIPHER,
44
- DES_XEX3_CIPHER,
45
- DIAMOND2_CIPHER,
46
- DIAMOND2_LITE_CIPHER,
47
- GOST_CIPHER,
48
- IDEA_CIPHER,
49
- MARS_CIPHER,
50
- RC2_CIPHER,
51
- RC5_CIPHER,
52
- RC6_CIPHER,
53
- SAFER_K_CIPHER,
54
- SAFER_SK_CIPHER,
55
- SERPENT_CIPHER,
56
- SKIPJACK_CIPHER,
57
- SQUARE_CIPHER,
58
- TEA_CIPHER,
59
- TWOFISH_CIPHER,
60
- SHARK_CIPHER,
61
-
62
- // Ciphers from Crypto++ 5.2.1...
63
-
64
- CAMELLIA_CIPHER,
65
- SHACAL2_CIPHER
16
+ UNKNOWN_CIPHER = -1,
17
+
18
+ // Stream ciphers...
19
+
20
+ ARC4_CIPHER,
21
+ PANAMA_LITTLE_ENDIAN_CIPHER,
22
+ PANAMA_BIG_ENDIAN_CIPHER,
23
+ MARC4_CIPHER,
24
+ SEAL_LITTLE_ENDIAN_CIPHER,
25
+ SEAL_BIG_ENDIAN_CIPHER,
26
+
27
+ // Block Ciphers...
28
+
29
+ THREEWAY_CIPHER,
30
+ AES_CIPHER,
31
+ BLOWFISH_CIPHER,
32
+ CAST128_CIPHER,
33
+ CAST256_CIPHER,
34
+ DES_CIPHER,
35
+ DES_EDE2_CIPHER,
36
+ DES_EDE3_CIPHER,
37
+ DES_XEX3_CIPHER,
38
+ DIAMOND2_CIPHER,
39
+ DIAMOND2_LITE_CIPHER,
40
+ GOST_CIPHER,
41
+ IDEA_CIPHER,
42
+ MARS_CIPHER,
43
+ RC2_CIPHER,
44
+ RC5_CIPHER,
45
+ RC6_CIPHER,
46
+ SAFER_K_CIPHER,
47
+ SAFER_SK_CIPHER,
48
+ SERPENT_CIPHER,
49
+ SKIPJACK_CIPHER,
50
+ SQUARE_CIPHER,
51
+ TEA_CIPHER,
52
+ TWOFISH_CIPHER,
53
+ SHARK_CIPHER,
54
+
55
+ // Ciphers from Crypto++ 5.2.1...
56
+
57
+ CAMELLIA_CIPHER,
58
+ SHACAL2_CIPHER
66
59
  };
67
60
 
68
61
  #define PANAMA_CIPHER PANAMA_LITTLE_ENDIAN_CIPHER
@@ -81,10 +74,10 @@ enum CipherEnum {
81
74
  // Block cipher modes used in JCipher...
82
75
 
83
76
  enum ModeEnum {
84
- UNKNOWN_MODE = -1,
85
- # define BLOCK_MODE_X(c, s) \
86
- c ## _MODE,
87
- # include "defs/block_modes.def"
77
+ UNKNOWN_MODE = -1,
78
+ # define BLOCK_MODE_X(c, s) \
79
+ c ## _MODE,
80
+ # include "defs/block_modes.def"
88
81
  };
89
82
 
90
83
  #define VALID_MODE(x) (x > UNKNOWN_MODE && x <= OFB_MODE)
@@ -93,10 +86,10 @@ enum ModeEnum {
93
86
  // Block cipher padding used in JCipher...
94
87
 
95
88
  enum PaddingEnum {
96
- UNKNOWN_PADDING = -1,
97
- # define PADDING_X(c, s) \
98
- c ## _PADDING = StreamTransformationFilter::c ## _PADDING,
99
- # include "defs/paddings.def"
89
+ UNKNOWN_PADDING = -1,
90
+ # define PADDING_X(c, s) \
91
+ c ## _PADDING = StreamTransformationFilter::c ## _PADDING,
92
+ # include "defs/paddings.def"
100
93
  };
101
94
 
102
95
  #define VALID_PADDING(x) (x > UNKNOWN_PADDING && x <= DEFAULT_PADDING)
@@ -105,54 +98,65 @@ enum PaddingEnum {
105
98
  // Hashes... and HMAC stuff, too...
106
99
 
107
100
  enum HashEnum {
108
- UNKNOWN_HASH = -1,
109
-
110
- // These are checksums, not cryptographic hashes...
111
-
112
- ADLER32_CHECKSUM,
113
- CRC32_CHECKSUM,
114
-
115
- // These are hashes. And message digests. ...
116
-
117
- HAVAL_HASH,
118
- HAVAL3_HASH,
119
- HAVAL4_HASH,
120
- HAVAL5_HASH,
121
- MD2_HASH,
122
- MD4_HASH,
123
- MD5_HASH,
124
- PANAMA_LITTLE_ENDIAN_HASH,
125
- PANAMA_BIG_ENDIAN_HASH,
126
- RIPEMD160_HASH,
127
- SHA1_HASH,
128
- SHA256_HASH,
129
- SHA384_HASH,
130
- SHA512_HASH,
131
- TIGER_HASH,
132
-
133
- // These are for HMAC hashes...
134
-
135
- MD2_HMAC,
136
- MD4_HMAC,
137
- MD5_HMAC,
138
- RIPEMD160_HMAC,
139
- SHA1_HMAC,
140
- SHA256_HMAC,
141
- SHA384_HMAC,
142
- SHA512_HMAC,
143
- TIGER_HMAC,
144
-
145
- // Newer hashes and HMACs from Crypto++ 5.2.1...
146
-
147
- RIPEMD128_HASH,
148
- RIPEMD256_HASH,
149
- RIPEMD320_HASH,
150
- WHIRLPOOL_HASH,
151
-
152
- RIPEMD128_HMAC,
153
- RIPEMD256_HMAC,
154
- RIPEMD320_HMAC,
155
- WHIRLPOOL_HMAC
101
+ UNKNOWN_HASH = -1,
102
+
103
+ // These are checksums, not cryptographic hashes...
104
+
105
+ ADLER32_CHECKSUM,
106
+ CRC32_CHECKSUM,
107
+
108
+ // These are hashes. And message digests. ...
109
+
110
+ HAVAL_HASH,
111
+ HAVAL3_HASH,
112
+ HAVAL4_HASH,
113
+ HAVAL5_HASH,
114
+ MD2_HASH,
115
+ MD4_HASH,
116
+ MD5_HASH,
117
+ PANAMA_LITTLE_ENDIAN_HASH,
118
+ PANAMA_BIG_ENDIAN_HASH,
119
+ RIPEMD160_HASH,
120
+ SHA1_HASH,
121
+ SHA256_HASH,
122
+ SHA384_HASH,
123
+ SHA512_HASH,
124
+ TIGER_HASH,
125
+
126
+ // These are for HMAC hashes...
127
+
128
+ MD2_HMAC,
129
+ MD4_HMAC,
130
+ MD5_HMAC,
131
+ RIPEMD160_HMAC,
132
+ SHA1_HMAC,
133
+ SHA256_HMAC,
134
+ SHA384_HMAC,
135
+ SHA512_HMAC,
136
+ TIGER_HMAC,
137
+
138
+ // Newer hashes and HMACs from Crypto++ 5.2.1...
139
+
140
+ RIPEMD128_HASH,
141
+ RIPEMD256_HASH,
142
+ RIPEMD320_HASH,
143
+ WHIRLPOOL_HASH,
144
+
145
+ RIPEMD128_HMAC,
146
+ RIPEMD256_HMAC,
147
+ RIPEMD320_HMAC,
148
+ WHIRLPOOL_HMAC,
149
+
150
+ // SHA3 from Crypto++ 5.6.2...
151
+ SHA3_224_HASH,
152
+ SHA3_256_HASH,
153
+ SHA3_384_HASH,
154
+ SHA3_512_HASH,
155
+
156
+ SHA3_224_HMAC,
157
+ SHA3_256_HMAC,
158
+ SHA3_384_HMAC,
159
+ SHA3_512_HMAC
156
160
  };
157
161
 
158
162
  #define PANAMA_HASH PANAMA_LITTLE_ENDIAN_HASH
@@ -161,29 +165,23 @@ enum HashEnum {
161
165
  // this is to figure out if we're dealing
162
166
  // with a HMAC or a regular hash...
163
167
 
164
- #define IS_HMAC(x) \
165
- (((x > TIGER_HASH && x < RIPEMD128_HASH) || x >= RIPEMD128_HMAC))
166
- #define IS_NON_HMAC(x) \
167
- ((x <= TIGER_HASH || (x >= RIPEMD128_HASH && x <= WHIRLPOOL_HASH)))
168
-
169
-
170
168
  // random number generators...
171
169
 
172
170
  enum RNGEnum {
173
- UNKNOWN_RNG = -1,
174
- # define RNG_X(c, s) \
175
- c ## _RNG,
176
- # include "defs/rngs.def"
171
+ UNKNOWN_RNG = -1,
172
+ # define RNG_X(c, s) \
173
+ c ## _RNG,
174
+ # include "defs/rngs.def"
177
175
  };
178
176
 
179
177
  #define VALID_RNG(x) (x > UNKNOWN_RNG && x <= RAND_RNG)
180
178
 
181
179
  #ifdef NONBLOCKING_RNG_AVAILABLE
182
- #define DEFAULT_RNG NON_BLOCKING_RNG
180
+ #define DEFAULT_RNG NON_BLOCKING_RNG
183
181
  #elif defined(BLOCKING_RNG_AVAILABLE)
184
- #define DEFAULT_RNG BLOCKING_RNG
182
+ #define DEFAULT_RNG BLOCKING_RNG
185
183
  #else
186
- #define DEFAULT_RNG RAND_RNG
184
+ #define DEFAULT_RNG RAND_RNG
187
185
  #endif
188
186
 
189
187
  #endif
@@ -1,8 +1,8 @@
1
1
 
2
2
  /*
3
- * Copyright (c) 2002-2010 J Smith <dark.panda@gmail.com>
4
- * Crypto++ copyright (c) 1995-2010 Wei Dai
5
- * See COPYING for the extact license
3
+ * Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
4
+ * Crypto++ copyright (c) 1995-2013 Wei Dai
5
+ * See MIT-LICENSE for the extact license
6
6
  */
7
7
 
8
8
  #ifndef __JCRC32_H__
@@ -22,10 +22,10 @@ using namespace CryptoPP;
22
22
 
23
23
  class JCRC32 : public JHash_Template<CRC32, CRC32_CHECKSUM>
24
24
  {
25
- public:
26
- JCRC32(string plaintext = "") : JHash_Template<CRC32, CRC32_CHECKSUM>(plaintext) { }
25
+ public:
26
+ JCRC32(string plaintext = "") : JHash_Template<CRC32, CRC32_CHECKSUM>(plaintext) { }
27
27
 
28
- static string getHashName() { return "CRC32"; }
28
+ static string getHashName() { return "CRC32"; }
29
29
  };
30
30
 
31
31
  #endif
@@ -1,8 +1,8 @@
1
1
 
2
2
  /*
3
- * Copyright (c) 2002-2010 J Smith <dark.panda@gmail.com>
4
- * Crypto++ copyright (c) 1995-2010 Wei Dai
5
- * See COPYING for the extact license
3
+ * Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
4
+ * Crypto++ copyright (c) 1995-2013 Wei Dai
5
+ * See MIT-LICENSE for the extact license
6
6
  */
7
7
 
8
8
  #include "jdes.h"
@@ -11,12 +11,12 @@
11
11
 
12
12
  BlockCipher* JDES::getEncryptionObject()
13
13
  {
14
- return new DESEncryption((byte*) itsKey.data(), itsKeylength);
14
+ return new DESEncryption((byte*) itsKey.data(), itsKeylength);
15
15
  }
16
16
 
17
17
  BlockCipher* JDES::getDecryptionObject()
18
18
  {
19
- return new DESDecryption((byte*) itsKey.data(), itsKeylength);
19
+ return new DESDecryption((byte*) itsKey.data(), itsKeylength);
20
20
  }
21
21
 
22
22
  #endif
data/ext/jdes.h CHANGED
@@ -1,8 +1,8 @@
1
1
 
2
2
  /*
3
- * Copyright (c) 2002-2010 J Smith <dark.panda@gmail.com>
4
- * Crypto++ copyright (c) 1995-2010 Wei Dai
5
- * See COPYING for the extact license
3
+ * Copyright (c) 2002-2014 J Smith <dark.panda@gmail.com>
4
+ * Crypto++ copyright (c) 1995-2013 Wei Dai
5
+ * See MIT-LICENSE for the extact license
6
6
  */
7
7
 
8
8
  #ifndef __JDES_H__
@@ -22,9 +22,9 @@ using namespace CryptoPP;
22
22
 
23
23
  class JDES : public JCipher_Template<DES_Info, DES_CIPHER>
24
24
  {
25
- protected:
26
- BlockCipher* getEncryptionObject();
27
- BlockCipher* getDecryptionObject();
25
+ protected:
26
+ BlockCipher* getEncryptionObject();
27
+ BlockCipher* getDecryptionObject();
28
28
  };
29
29
 
30
30
  #endif