class CryptoconditionsRuby::Crypto::Ed25519SigningKey

Constants

CryptoKeypair

Attributes

encoder[RW]
encoding[RW]
key[RW]

Public Class Methods

generate() click to toggle source
# File lib/cryptoconditions_ruby/crypto.rb, line 114
def self.generate
  encoder = Base58Encoder.new
  new(encoder.encode(::RbNaCl::Random.random_bytes(RbNaCl::Signatures::Ed25519::SEEDBYTES)))
end
new(key = nil, encoding = nil) click to toggle source
Calls superclass method
# File lib/cryptoconditions_ruby/crypto.rb, line 107
def initialize(key = nil, encoding = nil)
  @key = key
  @encoding = encoding || 'base58'
  @encoder = Crypto.get_encoder(@encoding)
  super(@encoder.new.decode(@key))
end

Public Instance Methods

encode(encoding = 'base58') click to toggle source
# File lib/cryptoconditions_ruby/crypto.rb, line 128
def encode(encoding = 'base58')
  encoder = Crypto.get_encoder(encoding).new
  encoder.encode(self.to_s)
end
get_verifying_key() click to toggle source
# File lib/cryptoconditions_ruby/crypto.rb, line 119
def get_verifying_key
  Ed25519VerifyingKey.new(encoder.new.encode(verify_key.to_s), encoding)
end
sign(data, encoding = nil) click to toggle source
Calls superclass method
# File lib/cryptoconditions_ruby/crypto.rb, line 123
def sign(data, encoding = nil)
  encoder = Crypto.get_encoder(encoding || 'base58')
  encoder.new.encode(super(data))
end

Private Instance Methods

generate_signing_key() click to toggle source
# File lib/cryptoconditions_ruby/crypto.rb, line 135
def generate_signing_key
  if key
    ::RbNaCl::SigningKey.new(key)
  else
    ::RbNaCl::SigningKey.generate
  end
end