class Net::SSH::Transport::Kex::Abstract5656

Implement key-exchange algorithm from Elliptic Curve Algorithm Integration in the Secure Shell Transport Layer (RFC 5656)

Public Instance Methods

curve_name() click to toggle source
# File lib/net/ssh/transport/kex/abstract5656.rb, line 12
def curve_name
  raise NotImplementedError, 'abstract class: curve_name not implemented'
end

Private Instance Methods

build_signature_buffer(result) click to toggle source
# File lib/net/ssh/transport/kex/abstract5656.rb, line 22
def build_signature_buffer(result)
  response = Net::SSH::Buffer.new
  response.write_string data[:client_version_string],
                        data[:server_version_string],
                        data[:client_algorithm_packet],
                        data[:server_algorithm_packet],
                        result[:key_blob],
                        ecdh_public_key_bytes,
                        result[:server_ecdh_pubkey]
  response.write_bignum result[:shared_secret]
  response
end
get_message_types() click to toggle source
# File lib/net/ssh/transport/kex/abstract5656.rb, line 18
def get_message_types
  [KEXECDH_INIT, KEXECDH_REPLY]
end