class Ed25519::VerifyKey
Public key for verifying digital signatures
Public Class Methods
new(key)
click to toggle source
Create a Ed25519::VerifyKey
from its serialized Twisted Edwards representation
@param key [String] 32-byte string representing a serialized public key
# File lib/ed25519/verify_key.rb, line 9 def initialize(key) Ed25519.validate_key_bytes(key) @key_bytes = key end
Public Instance Methods
inspect()
click to toggle source
Show hex representation of serialized coordinate in string inspection
# File lib/ed25519/verify_key.rb, line 41 def inspect "#<#{self.class}:#{@key_bytes.unpack1('H*')}>" end
to_bytes()
click to toggle source
Return a compressed twisted Edwards coordinate representing the public key
@return [String] bytestring serialization of this public key
# File lib/ed25519/verify_key.rb, line 35 def to_bytes @key_bytes end
Also aliased as: to_str
verify(signature, message)
click to toggle source
Verify an Ed25519
signature against the message
@param signature [String] 64-byte string containing an Ed25519
signature @param message [String] string containing message to be verified
@raise Ed25519::VerifyError signature verification failed
@return [true] message verified successfully
# File lib/ed25519/verify_key.rb, line 22 def verify(signature, message) if signature.length != SIGNATURE_SIZE raise ArgumentError, "expected #{SIGNATURE_SIZE} byte signature, got #{signature.length}" end return true if Ed25519.provider.verify(@key_bytes, signature, message) raise VerifyError, "signature verification failed!" end