lib/noise/functions/hash.rb in noise-ruby-0.9.4 vs lib/noise/functions/hash.rb in noise-ruby-0.10.0
- old
+ new
@@ -5,17 +5,20 @@
module Hash
autoload :Blake2b, 'noise/functions/hash/blake2b'
autoload :Blake2s, 'noise/functions/hash/blake2s'
autoload :Sha256, 'noise/functions/hash/sha256'
autoload :Sha512, 'noise/functions/hash/sha512'
+ autoload :Blake3, 'noise/functions/hash/blake3'
def self.hmac_hash(key, data, digest)
if digest.include?('SHA')
OpenSSL::HMAC.digest(OpenSSL::Digest.new(digest), key, data)
elsif digest.include?('BLAKE2b')
Noise::Functions::Hash::Blake2bHMAC.new(key).update(data).digest
elsif digest.include?('BLAKE2s')
Noise::Functions::Hash::Blake2sHMAC.new(key).update(data).digest
+ elsif digest.include?('BLAKE3')
+ Noise::Functions::Hash::Blake3HMAC.new(key).update(data).digest
end
end
def self.create_hkdf_fn(digest)
lambda do |chaining_key, input_key_material, num_output|