class Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1
A key-exchange service implementing the “diffie-hellman-group1-sha1” key-exchange algorithm.
Constants
- G
The group constant
- P_r
The radix in which
P_s
represents the value of P- P_s
The value of ‘P’, as a string, in hexadecimal
Public Instance Methods
digester()
click to toggle source
# File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 26 def digester OpenSSL::Digest::SHA1 end
Private Instance Methods
build_signature_buffer(result)
click to toggle source
Build the signature buffer to use when verifying a signature from the server.
# File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 47 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] response.write_bignum dh.pub_key, result[:server_dh_pubkey], result[:shared_secret] response end
get_message_types()
click to toggle source
Returns the INIT/REPLY constants used by this algorithm.
# File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 41 def get_message_types [KEXDH_INIT, KEXDH_REPLY] end
get_parameters()
click to toggle source
Returns the DH key parameters for the current connection. [p, q]
# File lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, line 33 def get_parameters [ OpenSSL::BN.new(self.class::P_s, self.class::P_r), self.class::G ] end