From f9c04259eb0299e918b9d941531a948665ad604f Mon Sep 17 00:00:00 2001 From: Gerald Bauer Date: Fri, 9 Dec 2022 15:15:27 +0100 Subject: [PATCH] up --- crypto-lite/Manifest.txt | 36 +++++++++++++------------- crypto-lite/Rakefile | 2 +- crypto-lite/lib/crypto-lite.rb | 15 +++++------ crypto-lite/lib/crypto-lite/metal.rb | 17 ++++++++---- crypto-lite/lib/crypto-lite/version.rb | 2 +- 5 files changed, 38 insertions(+), 34 deletions(-) diff --git a/crypto-lite/Manifest.txt b/crypto-lite/Manifest.txt index daaf537..7caea48 100644 --- a/crypto-lite/Manifest.txt +++ b/crypto-lite/Manifest.txt @@ -1,18 +1,18 @@ -CHANGELOG.md -Manifest.txt -README.md -Rakefile -lib/crypto-lite.rb -lib/crypto-lite/config.rb -lib/crypto-lite/helper.rb -lib/crypto-lite/metal.rb -lib/crypto-lite/sign_rsa.rb -lib/crypto-lite/version.rb -lib/crypto.rb -lib/crypto/lite.rb -test/helper.rb -test/test_base58.rb -test/test_bitcoin_addr.rb -test/test_hash.rb -test/test_hash_sha.rb -test/test_version.rb +CHANGELOG.md +Manifest.txt +README.md +Rakefile +lib/crypto-lite.rb +lib/crypto-lite/config.rb +lib/crypto-lite/helper.rb +lib/crypto-lite/metal.rb +lib/crypto-lite/sign_rsa.rb +lib/crypto-lite/version.rb +lib/crypto.rb +lib/crypto/lite.rb +test/helper.rb +test/test_base58.rb +test/test_bitcoin_addr.rb +test/test_hash.rb +test/test_hash_sha.rb +test/test_version.rb diff --git a/crypto-lite/Rakefile b/crypto-lite/Rakefile index 24b026c..5a283ef 100644 --- a/crypto-lite/Rakefile +++ b/crypto-lite/Rakefile @@ -19,7 +19,7 @@ Hoe.spec 'crypto-lite' do self.history_file = 'CHANGELOG.md' self.extra_deps = [ - ['digest-sha3-patched'], + ['digest-lite'], ['base32-alphabets'], ['base58-alphabets'], ['elliptic'], diff --git a/crypto-lite/lib/crypto-lite.rb b/crypto-lite/lib/crypto-lite.rb index 7dde1c6..06e6a66 100644 --- a/crypto-lite/lib/crypto-lite.rb +++ b/crypto-lite/lib/crypto-lite.rb @@ -3,12 +3,9 @@ require 'base64' require 'openssl' -## 3rd party gems -require 'digest/sha3' # e.g. keccak (original submission/proposal NOT official sha3) -## see https://rubygems.org/gems/digest-sha3-patched -## https://github.com/teamhedge/digest-sha3-ruby ## our own 3rd party (2nd party?) +require 'digest-lite' # e.g. keccak (original submission/proposal NOT official sha3) require 'base32-alphabets' require 'base58-alphabets' require 'elliptic' @@ -16,9 +13,9 @@ ## our own code -require 'crypto-lite/version' # note: let version always go first -require 'crypto-lite/config' -require 'crypto-lite/metal' +require_relative 'crypto-lite/version' # note: let version always go first +require_relative 'crypto-lite/config' +require_relative 'crypto-lite/metal' @@ -135,11 +132,11 @@ def self.strip0x( str ) ## todo/check: add alias e.g. strip_hex_prefix or suc -require 'crypto-lite/helper' +require_relative 'crypto-lite/helper' include CryptoHelper # add convenience "top-level" / global helpers -require 'crypto-lite/sign_rsa' +require_relative 'crypto-lite/sign_rsa' RSA = Crypto::RSA diff --git a/crypto-lite/lib/crypto-lite/metal.rb b/crypto-lite/lib/crypto-lite/metal.rb index 631f9a9..8631277 100644 --- a/crypto-lite/lib/crypto-lite/metal.rb +++ b/crypto-lite/lib/crypto-lite/metal.rb @@ -28,7 +28,7 @@ def self.base58bin_check( input ) def self.keccak256bin( input ) message = message( input ) ## "normalize" / convert to (binary) string - Digest::SHA3.digest( message, 256 ) + Digest::KeccakLite.digest( message, 256 ) end def self.rmd160bin( input ) @@ -56,14 +56,21 @@ def self.sha256bin( input, engine=nil ) ## todo/check: add alias sha256b or su end end - def self.sha3_256bin( input ) + + def self.sha3_256bin( input, engine=nil ) message = message( input ) ## "normalize" / convert to (binary) string - digest = OpenSSL::Digest.new( 'SHA3-256' ) - digest.update( message ) - digest.digest + if engine && ['openssl'].include?( engine.to_s.downcase ) + puts " engine: #{engine}" if debug? + digest = OpenSSL::Digest.new( 'SHA3-256' ) + digest.update( message ) + digest.digest + else ## use "built-in" hash function from digest module + Digest::SHA3Lite.digest( message, 256 ) + end end + #### ## helper # def hash160( pubkey ) diff --git a/crypto-lite/lib/crypto-lite/version.rb b/crypto-lite/lib/crypto-lite/version.rb index 926f9b2..81054da 100644 --- a/crypto-lite/lib/crypto-lite/version.rb +++ b/crypto-lite/lib/crypto-lite/version.rb @@ -3,7 +3,7 @@ module CryptoLite MAJOR = 0 MINOR = 3 - PATCH = 0 + PATCH = 1 VERSION = [MAJOR,MINOR,PATCH].join('.') def self.version