module Crypto::ScalarMult
Constants
- BYTES
- PRIMITIVE
- SCALARBYTES
Public Instance Methods
base(secret_key)
click to toggle source
# File lib/crypto/scalar_mult.rb, line 25 def base(secret_key) check_length(secret_key, SCALARBYTES, :SecretKey) public_key = zeros(BYTES) secret_key.readonly if secret_key.is_a?(Sodium::SecretBuffer) crypto_scalarmult_base(public_key, secret_key) public_key ensure secret_key.noaccess if secret_key.is_a?(Sodium::SecretBuffer) end
scalarmut(secret_key, public_key)
click to toggle source
# File lib/crypto/scalar_mult.rb, line 37 def scalarmut(secret_key, public_key) check_length(secret_key, SCALARBYTES, :SecretKey) check_length(public_key, BYTES, :PublicKey) shared_secret = Sodium::SecretBuffer.new(BYTES) secret_key.readonly if secret_key.is_a?(Sodium::SecretBuffer) crypto_scalarmult(shared_secret, secret_key, public_key) shared_secret.noaccess shared_secret ensure secret_key.noaccess if secret_key.is_a?(Sodium::SecretBuffer) end