Sha256: a2713d8ef997778cf22f9bb2fef4347e87ea798c100e283aee832c480052383b

Contents?: true

Size: 679 Bytes

Versions: 15

Compression:

Stored size: 679 Bytes

Contents

module Net; module SSH; module Transport
  module KeyExpander

  # Generate a key value in accordance with the SSH2 specification.
  # (RFC4253 7.2. "Output from Key Exchange")
  def self.expand_key(bytes, start, options={})
    if bytes == 0
      return ""
    end

    k = start[0, bytes]

    digester = options[:digester] or raise 'No digester supplied'
    shared   = options[:shared] or raise 'No shared secret supplied'
    hash     = options[:hash] or raise 'No hash supplied'

    while k.length < bytes
      step = digester.digest(shared + hash + k)
      bytes_needed = bytes - k.length
      k << step[0, bytes_needed]
    end

    return k
  end
end
end; end; end

Version data entries

15 entries across 15 versions & 7 rubygems

Version Path
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/net-ssh-2.4.0/lib/net/ssh/transport/key_expander.rb
minmb-net-ssh-2.5.1 lib/net/ssh/transport/key_expander.rb
net-ssh-2.6.2 lib/net/ssh/transport/key_expander.rb
abiquo-installer-tests-20121026.1 vendor/net-ssh-2.5.2/lib/net/ssh/transport/key_expander.rb
abiquo-installer-tests-20121023.3 vendor/net-ssh-2.5.2/lib/net/ssh/transport/key_expander.rb
net-ssh-2.6.1 lib/net/ssh/transport/key_expander.rb
sonixlabs-net-ssh-2.3.0 lib/net/ssh/transport/key_expander.rb
k-yamada-net-ssh-2.3.0 lib/net/ssh/transport/key_expander.rb
net-ssh-2.6.0 lib/net/ssh/transport/key_expander.rb
net-ssh-2.5.2 lib/net/ssh/transport/key_expander.rb
net-ssh-2.5.1 lib/net/ssh/transport/key_expander.rb
net-ssh-2.5.0 lib/net/ssh/transport/key_expander.rb
net-ssh-2.4.0 lib/net/ssh/transport/key_expander.rb
ftl-0.2.0 vendor/bundle/gems/net-ssh-2.3.0/lib/net/ssh/transport/key_expander.rb
net-ssh-2.3.0 lib/net/ssh/transport/key_expander.rb