sha3-ruby 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +29 -0
  5. data/Rakefile +7 -0
  6. data/ext/sha3/KeccakReferenceAndOptimized/KeccakCompact.vcproj +207 -0
  7. data/ext/sha3/KeccakReferenceAndOptimized/KeccakCompact8.vcproj +207 -0
  8. data/ext/sha3/KeccakReferenceAndOptimized/KeccakInplace.vcproj +203 -0
  9. data/ext/sha3/KeccakReferenceAndOptimized/KeccakInplace32BI.vcproj +201 -0
  10. data/ext/sha3/KeccakReferenceAndOptimized/KeccakOptimized32.vcproj +267 -0
  11. data/ext/sha3/KeccakReferenceAndOptimized/KeccakOptimized64.vcproj +267 -0
  12. data/ext/sha3/KeccakReferenceAndOptimized/KeccakReference.vcproj +243 -0
  13. data/ext/sha3/KeccakReferenceAndOptimized/KeccakReference32BI.vcproj +243 -0
  14. data/ext/sha3/KeccakReferenceAndOptimized/KeccakReferenceAndOptimized.sln +62 -0
  15. data/ext/sha3/KeccakReferenceAndOptimized/KeccakSimple.vcproj +203 -0
  16. data/ext/sha3/KeccakReferenceAndOptimized/KeccakSimple32BI.vcproj +201 -0
  17. data/ext/sha3/KeccakReferenceAndOptimized/Sources/AVR8-rotate64.h +27 -0
  18. data/ext/sha3/KeccakReferenceAndOptimized/Sources/AVR8-rotate64.s +285 -0
  19. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-settings.h +2 -0
  20. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-test.c +142 -0
  21. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-util.h +15 -0
  22. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-util.s +119 -0
  23. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8.c +184 -0
  24. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8.h +25 -0
  25. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact-settings.h +3 -0
  26. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact-test.c +317 -0
  27. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact.c +341 -0
  28. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact.h +50 -0
  29. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8-settings.h +2 -0
  30. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8-test.c +192 -0
  31. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8.c +375 -0
  32. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8.h +47 -0
  33. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-crypto_hash-inplace-armgcc-ARMv7A-NEON.s +406 -0
  34. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-minimal-test.c +231 -0
  35. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-settings.h +3 -0
  36. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-test.c +221 -0
  37. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace.c +445 -0
  38. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv6M.s +844 -0
  39. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv7A.s +687 -0
  40. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv7M.s +687 -0
  41. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI.c +849 -0
  42. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple-settings.h +3 -0
  43. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple-test.c +221 -0
  44. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple.c +403 -0
  45. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple32BI.c +673 -0
  46. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakDuplex.c +68 -0
  47. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakDuplex.h +59 -0
  48. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-rvk.macros +555 -0
  49. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-s1.macros +1187 -0
  50. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-s2.macros +1187 -0
  51. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32.macros +26 -0
  52. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-64.macros +728 -0
  53. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-arm.c +123 -0
  54. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-armcc.s +653 -0
  55. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-armgcc.s +686 -0
  56. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8.c +163 -0
  57. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8asm-compact.s +647 -0
  58. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8asm-fast.s +934 -0
  59. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-inplace-armgcc-ARMv7A-NEON.s +446 -0
  60. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-int-set.h +6 -0
  61. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-interface.h +46 -0
  62. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt32-settings.h +4 -0
  63. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt32.c +524 -0
  64. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt64-settings.h +7 -0
  65. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt64.c +504 -0
  66. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.c +300 -0
  67. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.h +20 -0
  68. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.o +0 -0
  69. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference32BI.c +371 -0
  70. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-simd128.macros +651 -0
  71. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-simd64.macros +517 -0
  72. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-unrolling.macros +124 -0
  73. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-asm.c +62 -0
  74. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-gas.s +766 -0
  75. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-shld-gas.s +766 -0
  76. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-xop.macros +573 -0
  77. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.c +81 -0
  78. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h +70 -0
  79. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.o +0 -0
  80. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.c +266 -0
  81. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.h +76 -0
  82. data/ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.o +0 -0
  83. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccakc1024-crypto_hash-inplace-armgcc-ARMv7A-NEON.s +296 -0
  84. data/ext/sha3/KeccakReferenceAndOptimized/Sources/Keccakc512-crypto_hash-inplace-armgcc-ARMv7A-NEON.s +429 -0
  85. data/ext/sha3/KeccakReferenceAndOptimized/Sources/brg_endian.h +142 -0
  86. data/ext/sha3/KeccakReferenceAndOptimized/Sources/crypto_hash.h +0 -0
  87. data/ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.c +117 -0
  88. data/ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.h +29 -0
  89. data/ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.o +0 -0
  90. data/ext/sha3/KeccakReferenceAndOptimized/Sources/genKAT.c +692 -0
  91. data/ext/sha3/KeccakReferenceAndOptimized/Sources/mainARM.c +88 -0
  92. data/ext/sha3/KeccakReferenceAndOptimized/Sources/mainOptimized.c +23 -0
  93. data/ext/sha3/KeccakReferenceAndOptimized/Sources/mainReference.c +381 -0
  94. data/ext/sha3/KeccakReferenceAndOptimized/Sources/timing.c +436 -0
  95. data/ext/sha3/KeccakReferenceAndOptimized/Sources/timing.h +13 -0
  96. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation-config.h +2 -0
  97. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation.c +572 -0
  98. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation.h +38 -0
  99. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/KeccakF-1600-unrolling.macros +124 -0
  100. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc256TreeD2.c +81 -0
  101. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc256TreeD2.h +18 -0
  102. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc512TreeD2.c +81 -0
  103. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc512TreeD2.h +18 -0
  104. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/crypto_hash.h +0 -0
  105. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/mainOptimized.c +112 -0
  106. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/timing-Double.c +225 -0
  107. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/timing-Double.h +20 -0
  108. data/ext/sha3/KeccakReferenceAndOptimized/TreeHashing/makefile +68 -0
  109. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakCompact +0 -0
  110. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakOptimized32 +0 -0
  111. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakOptimized64 +0 -0
  112. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakReference +0 -0
  113. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakReference32BI +0 -0
  114. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakSimple +0 -0
  115. data/ext/sha3/KeccakReferenceAndOptimized/bin/KeccakSimple32BI +0 -0
  116. data/ext/sha3/KeccakReferenceAndOptimized/bin/compact/Keccak-compact-test.o +0 -0
  117. data/ext/sha3/KeccakReferenceAndOptimized/bin/compact/Keccak-compact.o +0 -0
  118. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakDuplex.o +0 -0
  119. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakF-1600-opt32.o +0 -0
  120. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakNISTInterface.o +0 -0
  121. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakSponge.o +0 -0
  122. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/genKAT.o +0 -0
  123. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/mainOptimized.o +0 -0
  124. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/timing.o +0 -0
  125. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakDuplex.o +0 -0
  126. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakF-1600-opt64.o +0 -0
  127. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakNISTInterface.o +0 -0
  128. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakSponge.o +0 -0
  129. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/genKAT.o +0 -0
  130. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/mainOptimized.o +0 -0
  131. data/ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/timing.o +0 -0
  132. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakDuplex.o +0 -0
  133. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakF-1600-reference.o +0 -0
  134. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakNISTInterface.o +0 -0
  135. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakSponge.o +0 -0
  136. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/displayIntermediateValues.o +0 -0
  137. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/genKAT.o +0 -0
  138. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference/mainReference.o +0 -0
  139. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakDuplex.o +0 -0
  140. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakF-1600-reference32BI.o +0 -0
  141. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakNISTInterface.o +0 -0
  142. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakSponge.o +0 -0
  143. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/displayIntermediateValues.o +0 -0
  144. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/genKAT.o +0 -0
  145. data/ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/mainReference.o +0 -0
  146. data/ext/sha3/KeccakReferenceAndOptimized/bin/simple/Keccak-simple-test.o +0 -0
  147. data/ext/sha3/KeccakReferenceAndOptimized/bin/simple/Keccak-simple.o +0 -0
  148. data/ext/sha3/KeccakReferenceAndOptimized/bin/simple32BI/Keccak-simple-test.o +0 -0
  149. data/ext/sha3/KeccakReferenceAndOptimized/bin/simple32BI/Keccak-simple32BI.o +0 -0
  150. data/ext/sha3/KeccakReferenceAndOptimized/compile64.bat +1 -0
  151. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccak +1 -0
  152. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc1024 +1 -0
  153. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc256 +1 -0
  154. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc256treed2 +1 -0
  155. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc448 +1 -0
  156. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc512 +1 -0
  157. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc512treed2 +1 -0
  158. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc768 +1 -0
  159. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccak.c +11 -0
  160. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc1024.c +11 -0
  161. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc256.c +11 -0
  162. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc448.c +11 -0
  163. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc512.c +11 -0
  164. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc768.c +11 -0
  165. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccak.h +1 -0
  166. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc1024.h +1 -0
  167. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc256.h +1 -0
  168. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc448.h +1 -0
  169. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc512.h +1 -0
  170. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc768.h +1 -0
  171. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/populate.py +506 -0
  172. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccak.h +2 -0
  173. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc1024.h +2 -0
  174. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc256.h +2 -0
  175. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc448.h +2 -0
  176. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc512.h +2 -0
  177. data/ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc768.h +2 -0
  178. data/ext/sha3/KeccakReferenceAndOptimized/makefile +327 -0
  179. data/ext/sha3/Makefile +240 -0
  180. data/ext/sha3/depend +28 -0
  181. data/ext/sha3/extconf.rb +21 -0
  182. data/ext/sha3/sha3.c +95 -0
  183. data/lib/sha3-ruby.rb +27 -0
  184. data/lib/sha3-ruby/version.rb +5 -0
  185. data/sha3-ruby.gemspec +21 -0
  186. metadata +233 -0
data/ext/sha3/depend ADDED
@@ -0,0 +1,28 @@
1
+ sha3.o: sha3.c \
2
+ KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.c \
3
+ KeccakReferenceAndOptimized/Sources/KeccakSponge.c \
4
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.c \
5
+ KeccakReferenceAndOptimized/Sources/displayIntermediateValues.c
6
+ KeccakNISTInterface.o: \
7
+ KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.c \
8
+ KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h \
9
+ KeccakReferenceAndOptimized/Sources/KeccakSponge.h \
10
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-interface.h \
11
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-int-set.h
12
+ KeccakSponge.o: KeccakReferenceAndOptimized/Sources/KeccakSponge.c \
13
+ KeccakReferenceAndOptimized/Sources/KeccakSponge.h \
14
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-interface.h \
15
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-int-set.h
16
+ KeccakF-1600-reference.o: \
17
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.c \
18
+ KeccakReferenceAndOptimized/Sources/brg_endian.h \
19
+ KeccakReferenceAndOptimized/Sources/displayIntermediateValues.h \
20
+ KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h \
21
+ KeccakReferenceAndOptimized/Sources/KeccakSponge.h \
22
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-interface.h \
23
+ KeccakReferenceAndOptimized/Sources/KeccakF-1600-int-set.h
24
+ displayIntermediateValues.o: \
25
+ KeccakReferenceAndOptimized/Sources/displayIntermediateValues.c \
26
+ KeccakReferenceAndOptimized/Sources/displayIntermediateValues.h \
27
+ KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h \
28
+ KeccakReferenceAndOptimized/Sources/KeccakSponge.h
@@ -0,0 +1,21 @@
1
+ require "mkmf"
2
+
3
+ find_header "KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h"
4
+
5
+ $srcs = ['sha3.c',
6
+ 'KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.c',
7
+ 'KeccakReferenceAndOptimized/Sources/KeccakSponge.c',
8
+ 'KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.c',
9
+ 'KeccakReferenceAndOptimized/Sources/displayIntermediateValues.c']
10
+
11
+ $objs = ['sha3.o',
12
+ 'KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.o',
13
+ 'KeccakReferenceAndOptimized/Sources/KeccakSponge.o',
14
+ 'KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.o',
15
+ 'KeccakReferenceAndOptimized/Sources/displayIntermediateValues.o']
16
+
17
+ create_header
18
+ create_makefile "sha3"
19
+
20
+ # This is stupid, but it works
21
+ FileUtils.mkdir_p('KeccakReferenceAndOptimized/Sources/')
data/ext/sha3/sha3.c ADDED
@@ -0,0 +1,95 @@
1
+ #include "ruby.h"
2
+ #include <KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h>
3
+
4
+ static VALUE mSha3;
5
+ static VALUE cSha3Engine;
6
+
7
+ typedef struct {
8
+ unsigned int hashbits;
9
+ hashState state;
10
+ } SHAobject;
11
+
12
+ static VALUE sha3_init(VALUE class, VALUE bitlength) {
13
+
14
+ SHAobject *o;
15
+ VALUE state;
16
+
17
+ o = malloc(sizeof(SHAobject));
18
+ o->hashbits = FIX2INT(bitlength);
19
+
20
+ Init(&o->state, o->hashbits);
21
+
22
+ state = Data_Wrap_Struct(cSha3Engine, 0, free, o);
23
+ rb_obj_call_init(state, 0, NULL);
24
+ return state;
25
+ }
26
+
27
+ static VALUE sha3_update(VALUE self, VALUE str) {
28
+
29
+ SHAobject *o;
30
+ BitSequence *data;
31
+ unsigned int data_length = RSTRING_LEN(str);
32
+
33
+ data = StringValuePtr(str);
34
+
35
+ Data_Get_Struct(self, SHAobject, o);
36
+
37
+ Update(&o->state, data, data_length*8);
38
+
39
+ return self;
40
+ }
41
+
42
+ static VALUE sha3_final(VALUE self) {
43
+
44
+ SHAobject *o;
45
+ VALUE out;
46
+ hashState *hs;
47
+ BitSequence *hash_val;
48
+ unsigned int hash_len;
49
+
50
+ Data_Get_Struct(self, SHAobject, o);
51
+
52
+ hash_len = o->hashbits;
53
+ hash_val = malloc(hash_len*sizeof(BitSequence)/8);
54
+ hs = malloc(sizeof(hashState));
55
+
56
+ memcpy(hs, &o->state, sizeof(hashState));
57
+
58
+ Final(hs, hash_val);
59
+
60
+ out = rb_str_new(hash_val, hash_len/8);
61
+
62
+ free(hash_val);
63
+ free(hs);
64
+
65
+ return out;
66
+
67
+ }
68
+
69
+ static VALUE sha3_hash(VALUE self, VALUE str, VALUE hashbits) {
70
+
71
+ VALUE out;
72
+ BitSequence *hash_val, *data;
73
+ unsigned int data_length = RSTRING_LEN(str), hash_len = FIX2INT(hashbits);
74
+
75
+ data = StringValuePtr(str);
76
+
77
+ hash_val = malloc(hash_len*sizeof(BitSequence)/8);
78
+ Hash(hash_len, data, data_length*8, hash_val);
79
+
80
+ out = rb_str_new(hash_val, hash_len/8);
81
+
82
+ free(hash_val);
83
+
84
+ return out;
85
+ }
86
+
87
+ void Init_sha3(){
88
+ mSha3 = rb_define_module("Sha3");
89
+ cSha3Engine = rb_define_class_under(mSha3, "Instance", rb_cObject);
90
+ rb_define_singleton_method(mSha3, "__hash", sha3_hash, 2);
91
+
92
+ rb_define_singleton_method(cSha3Engine, "__init", sha3_init, 1);
93
+ rb_define_method(cSha3Engine, "__update", sha3_update, 1);
94
+ rb_define_method(cSha3Engine, "__final", sha3_final, 0);
95
+ }
data/lib/sha3-ruby.rb ADDED
@@ -0,0 +1,27 @@
1
+ require "sha3"
2
+ require "sha3-ruby/version"
3
+
4
+ module Sha3
5
+ class Instance
6
+
7
+ def update str
8
+ __update str
9
+ end
10
+
11
+ def digest
12
+ __final
13
+ end
14
+
15
+ alias :'<<' :update
16
+
17
+ end
18
+
19
+ def self.new bits=224
20
+ Instance.__init(bits)
21
+ end
22
+
23
+ def self.digest str, bits=224
24
+ __hash(str, bits)
25
+ end
26
+
27
+ end
@@ -0,0 +1,5 @@
1
+ module Sha3
2
+ module Ruby
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
data/sha3-ruby.gemspec ADDED
@@ -0,0 +1,21 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sha3-ruby/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "sha3-ruby"
8
+ gem.version = Sha3::Ruby::VERSION
9
+ gem.authors = ["Mike MacDonald (crazymykl)"]
10
+ gem.email = ["crazymykl@gmail.com"]
11
+ gem.description = %q{Ruby bindings for the (C) reference implementation of SHA-3 cryptographic hash function.}
12
+ gem.summary = %q{SHA-3, now in Ruby flavor!}
13
+ gem.homepage = ""
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.extensions = ['ext/sha3/extconf.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,233 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sha3-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Mike MacDonald (crazymykl)
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-10-08 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: Ruby bindings for the (C) reference implementation of SHA-3 cryptographic
15
+ hash function.
16
+ email:
17
+ - crazymykl@gmail.com
18
+ executables: []
19
+ extensions:
20
+ - ext/sha3/extconf.rb
21
+ extra_rdoc_files: []
22
+ files:
23
+ - .gitignore
24
+ - Gemfile
25
+ - LICENSE.txt
26
+ - README.md
27
+ - Rakefile
28
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakCompact.vcproj
29
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakCompact8.vcproj
30
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakInplace.vcproj
31
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakInplace32BI.vcproj
32
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakOptimized32.vcproj
33
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakOptimized64.vcproj
34
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakReference.vcproj
35
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakReference32BI.vcproj
36
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakReferenceAndOptimized.sln
37
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakSimple.vcproj
38
+ - ext/sha3/KeccakReferenceAndOptimized/KeccakSimple32BI.vcproj
39
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/AVR8-rotate64.h
40
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/AVR8-rotate64.s
41
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-settings.h
42
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-test.c
43
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-util.h
44
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8-util.s
45
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8.c
46
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-avr8.h
47
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact-settings.h
48
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact-test.c
49
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact.c
50
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact.h
51
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8-settings.h
52
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8-test.c
53
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8.c
54
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-compact8.h
55
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-crypto_hash-inplace-armgcc-ARMv7A-NEON.s
56
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-minimal-test.c
57
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-settings.h
58
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace-test.c
59
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace.c
60
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv6M.s
61
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv7A.s
62
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI-armgcc-ARMv7M.s
63
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-inplace32BI.c
64
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple-settings.h
65
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple-test.c
66
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple.c
67
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccak-simple32BI.c
68
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakDuplex.c
69
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakDuplex.h
70
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-rvk.macros
71
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-s1.macros
72
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32-s2.macros
73
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-32.macros
74
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-64.macros
75
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-arm.c
76
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-armcc.s
77
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-armgcc.s
78
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8.c
79
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8asm-compact.s
80
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-avr8asm-fast.s
81
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-inplace-armgcc-ARMv7A-NEON.s
82
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-int-set.h
83
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-interface.h
84
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt32-settings.h
85
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt32.c
86
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt64-settings.h
87
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-opt64.c
88
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.c
89
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.h
90
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference.o
91
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-reference32BI.c
92
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-simd128.macros
93
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-simd64.macros
94
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-unrolling.macros
95
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-asm.c
96
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-gas.s
97
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-x86-64-shld-gas.s
98
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakF-1600-xop.macros
99
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.c
100
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.h
101
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakNISTInterface.o
102
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.c
103
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.h
104
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/KeccakSponge.o
105
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccakc1024-crypto_hash-inplace-armgcc-ARMv7A-NEON.s
106
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/Keccakc512-crypto_hash-inplace-armgcc-ARMv7A-NEON.s
107
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/brg_endian.h
108
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/crypto_hash.h
109
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.c
110
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.h
111
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/displayIntermediateValues.o
112
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/genKAT.c
113
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/mainARM.c
114
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/mainOptimized.c
115
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/mainReference.c
116
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/timing.c
117
+ - ext/sha3/KeccakReferenceAndOptimized/Sources/timing.h
118
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation-config.h
119
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation.c
120
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/DoublePermutation.h
121
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/KeccakF-1600-unrolling.macros
122
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc256TreeD2.c
123
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc256TreeD2.h
124
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc512TreeD2.c
125
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/Keccakc512TreeD2.h
126
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/crypto_hash.h
127
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/mainOptimized.c
128
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/timing-Double.c
129
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/Sources/timing-Double.h
130
+ - ext/sha3/KeccakReferenceAndOptimized/TreeHashing/makefile
131
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakCompact
132
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakOptimized32
133
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakOptimized64
134
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakReference
135
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakReference32BI
136
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakSimple
137
+ - ext/sha3/KeccakReferenceAndOptimized/bin/KeccakSimple32BI
138
+ - ext/sha3/KeccakReferenceAndOptimized/bin/compact/Keccak-compact-test.o
139
+ - ext/sha3/KeccakReferenceAndOptimized/bin/compact/Keccak-compact.o
140
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakDuplex.o
141
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakF-1600-opt32.o
142
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakNISTInterface.o
143
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/KeccakSponge.o
144
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/genKAT.o
145
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/mainOptimized.o
146
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized32/timing.o
147
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakDuplex.o
148
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakF-1600-opt64.o
149
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakNISTInterface.o
150
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/KeccakSponge.o
151
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/genKAT.o
152
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/mainOptimized.o
153
+ - ext/sha3/KeccakReferenceAndOptimized/bin/optimized64/timing.o
154
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakDuplex.o
155
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakF-1600-reference.o
156
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakNISTInterface.o
157
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/KeccakSponge.o
158
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/displayIntermediateValues.o
159
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/genKAT.o
160
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference/mainReference.o
161
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakDuplex.o
162
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakF-1600-reference32BI.o
163
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakNISTInterface.o
164
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/KeccakSponge.o
165
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/displayIntermediateValues.o
166
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/genKAT.o
167
+ - ext/sha3/KeccakReferenceAndOptimized/bin/reference32bi/mainReference.o
168
+ - ext/sha3/KeccakReferenceAndOptimized/bin/simple/Keccak-simple-test.o
169
+ - ext/sha3/KeccakReferenceAndOptimized/bin/simple/Keccak-simple.o
170
+ - ext/sha3/KeccakReferenceAndOptimized/bin/simple32BI/Keccak-simple-test.o
171
+ - ext/sha3/KeccakReferenceAndOptimized/bin/simple32BI/Keccak-simple32BI.o
172
+ - ext/sha3/KeccakReferenceAndOptimized/compile64.bat
173
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccak
174
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc1024
175
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc256
176
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc256treed2
177
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc448
178
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc512
179
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc512treed2
180
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/checksum-keccakc768
181
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccak.c
182
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc1024.c
183
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc256.c
184
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc448.c
185
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc512.c
186
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/hash-keccakc768.c
187
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccak.h
188
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc1024.h
189
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc256.h
190
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc448.h
191
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc512.h
192
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/int-set-keccakc768.h
193
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/populate.py
194
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccak.h
195
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc1024.h
196
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc256.h
197
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc448.h
198
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc512.h
199
+ - ext/sha3/KeccakReferenceAndOptimized/eBASH/simple-keccakc768.h
200
+ - ext/sha3/KeccakReferenceAndOptimized/makefile
201
+ - ext/sha3/Makefile
202
+ - ext/sha3/depend
203
+ - ext/sha3/extconf.rb
204
+ - ext/sha3/sha3.c
205
+ - lib/sha3-ruby.rb
206
+ - lib/sha3-ruby/version.rb
207
+ - sha3-ruby.gemspec
208
+ homepage: ''
209
+ licenses: []
210
+ post_install_message:
211
+ rdoc_options: []
212
+ require_paths:
213
+ - lib
214
+ required_ruby_version: !ruby/object:Gem::Requirement
215
+ none: false
216
+ requirements:
217
+ - - ! '>='
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ required_rubygems_version: !ruby/object:Gem::Requirement
221
+ none: false
222
+ requirements:
223
+ - - ! '>='
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ requirements: []
227
+ rubyforge_project:
228
+ rubygems_version: 1.8.24
229
+ signing_key:
230
+ specification_version: 3
231
+ summary: SHA-3, now in Ruby flavor!
232
+ test_files: []
233
+ has_rdoc: