class Schnorr::Signature
Instances of this class represents Schnorr
signatures, which are simply a pair of integers named `r` and `s`.
Attributes
r[R]
s[R]
Public Class Methods
decode(string)
click to toggle source
Parse a string to a {Signature}. @param string (String
) signature string with binary format. @return (Signature
) signature instance.
# File lib/schnorr/signature.rb, line 22 def self.decode(string) raise InvalidSignatureError, 'Invalid schnorr signature length.' unless string.bytesize == 64 r = string[0...32].unpack('H*').first.to_i(16) s = string[32..-1].unpack('H*').first.to_i(16) new(r, s) end
new(r, s)
click to toggle source
Public Instance Methods
encode()
click to toggle source
Encode signature to string. @return (String
) encoded signature.
# File lib/schnorr/signature.rb, line 31 def encode ECDSA::Format::IntegerOctetString.encode(r, 32) + ECDSA::Format::IntegerOctetString.encode(s, 32) end