Skip to content

Commit f9c0425

Browse files
committed
up
1 parent 85a8e34 commit f9c0425

File tree

5 files changed

+38
-34
lines changed

5 files changed

+38
-34
lines changed

crypto-lite/Manifest.txt

+18-18
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
CHANGELOG.md
2-
Manifest.txt
3-
README.md
4-
Rakefile
5-
lib/crypto-lite.rb
6-
lib/crypto-lite/config.rb
7-
lib/crypto-lite/helper.rb
8-
lib/crypto-lite/metal.rb
9-
lib/crypto-lite/sign_rsa.rb
10-
lib/crypto-lite/version.rb
11-
lib/crypto.rb
12-
lib/crypto/lite.rb
13-
test/helper.rb
14-
test/test_base58.rb
15-
test/test_bitcoin_addr.rb
16-
test/test_hash.rb
17-
test/test_hash_sha.rb
18-
test/test_version.rb
1+
CHANGELOG.md
2+
Manifest.txt
3+
README.md
4+
Rakefile
5+
lib/crypto-lite.rb
6+
lib/crypto-lite/config.rb
7+
lib/crypto-lite/helper.rb
8+
lib/crypto-lite/metal.rb
9+
lib/crypto-lite/sign_rsa.rb
10+
lib/crypto-lite/version.rb
11+
lib/crypto.rb
12+
lib/crypto/lite.rb
13+
test/helper.rb
14+
test/test_base58.rb
15+
test/test_bitcoin_addr.rb
16+
test/test_hash.rb
17+
test/test_hash_sha.rb
18+
test/test_version.rb

crypto-lite/Rakefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Hoe.spec 'crypto-lite' do
1919
self.history_file = 'CHANGELOG.md'
2020

2121
self.extra_deps = [
22-
['digest-sha3-patched'],
22+
['digest-lite'],
2323
['base32-alphabets'],
2424
['base58-alphabets'],
2525
['elliptic'],

crypto-lite/lib/crypto-lite.rb

+6-9
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,19 @@
33
require 'base64'
44
require 'openssl'
55

6-
## 3rd party gems
7-
require 'digest/sha3' # e.g. keccak (original submission/proposal NOT official sha3)
8-
## see https://rubygems.org/gems/digest-sha3-patched
9-
## https://github.com/teamhedge/digest-sha3-ruby
106

117
## our own 3rd party (2nd party?)
8+
require 'digest-lite' # e.g. keccak (original submission/proposal NOT official sha3)
129
require 'base32-alphabets'
1310
require 'base58-alphabets'
1411
require 'elliptic'
1512

1613

1714

1815
## our own code
19-
require 'crypto-lite/version' # note: let version always go first
20-
require 'crypto-lite/config'
21-
require 'crypto-lite/metal'
16+
require_relative 'crypto-lite/version' # note: let version always go first
17+
require_relative 'crypto-lite/config'
18+
require_relative 'crypto-lite/metal'
2219

2320

2421

@@ -135,11 +132,11 @@ def self.strip0x( str ) ## todo/check: add alias e.g. strip_hex_prefix or suc
135132

136133

137134

138-
require 'crypto-lite/helper'
135+
require_relative 'crypto-lite/helper'
139136
include CryptoHelper # add convenience "top-level" / global helpers
140137

141138

142-
require 'crypto-lite/sign_rsa'
139+
require_relative 'crypto-lite/sign_rsa'
143140
RSA = Crypto::RSA
144141

145142

crypto-lite/lib/crypto-lite/metal.rb

+12-5
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def self.base58bin_check( input )
2828

2929
def self.keccak256bin( input )
3030
message = message( input ) ## "normalize" / convert to (binary) string
31-
Digest::SHA3.digest( message, 256 )
31+
Digest::KeccakLite.digest( message, 256 )
3232
end
3333

3434
def self.rmd160bin( input )
@@ -56,14 +56,21 @@ def self.sha256bin( input, engine=nil ) ## todo/check: add alias sha256b or su
5656
end
5757
end
5858

59-
def self.sha3_256bin( input )
59+
60+
def self.sha3_256bin( input, engine=nil )
6061
message = message( input ) ## "normalize" / convert to (binary) string
6162

62-
digest = OpenSSL::Digest.new( 'SHA3-256' )
63-
digest.update( message )
64-
digest.digest
63+
if engine && ['openssl'].include?( engine.to_s.downcase )
64+
puts " engine: #{engine}" if debug?
65+
digest = OpenSSL::Digest.new( 'SHA3-256' )
66+
digest.update( message )
67+
digest.digest
68+
else ## use "built-in" hash function from digest module
69+
Digest::SHA3Lite.digest( message, 256 )
70+
end
6571
end
6672

73+
6774
####
6875
## helper
6976
# def hash160( pubkey )

crypto-lite/lib/crypto-lite/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module CryptoLite
33

44
MAJOR = 0
55
MINOR = 3
6-
PATCH = 0
6+
PATCH = 1
77
VERSION = [MAJOR,MINOR,PATCH].join('.')
88

99
def self.version

0 commit comments

Comments
 (0)