kubernetes/vendor/golang.org/x/crypto/ssh/kex.go

const kexAlgoDH1SHA1

const kexAlgoDH14SHA1

const kexAlgoDH14SHA256

const kexAlgoDH16SHA512

const kexAlgoECDH256

const kexAlgoECDH384

const kexAlgoECDH521

const kexAlgoCurve25519SHA256LibSSH

const kexAlgoCurve25519SHA256

const kexAlgoDHGEXSHA1

const kexAlgoDHGEXSHA256

type kexResult

type handshakeMagics

func (m *handshakeMagics) write(w io.Writer) {}

type kexAlgorithm

type dhGroup

func (group *dhGroup) diffieHellman(theirPublic, myPrivate *big.Int) (*big.Int, error) {}

func (group *dhGroup) Client(c packetConn, randSource io.Reader, magics *handshakeMagics) (*kexResult, error) {}

func (group *dhGroup) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) {}

type ecdh

func (kex *ecdh) Client(c packetConn, rand io.Reader, magics *handshakeMagics) (*kexResult, error) {}

// unmarshalECKey parses and checks an EC key.
func unmarshalECKey(curve elliptic.Curve, pubkey []byte) (x, y *big.Int, err error) {}

// validateECPublicKey checks that the point is a valid public key for
// the given curve. See [SEC1], 3.2.2
func validateECPublicKey(curve elliptic.Curve, x, y *big.Int) bool {}

func (kex *ecdh) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) {}

// ecHash returns the hash to match the given elliptic curve, see RFC
// 5656, section 6.2.1
func ecHash(curve elliptic.Curve) crypto.Hash {}

var kexAlgoMap

func init() {}

type curve25519sha256

type curve25519KeyPair

func (kp *curve25519KeyPair) generate(rand io.Reader) error {}

var curve25519Zeros

func (kex *curve25519sha256) Client(c packetConn, rand io.Reader, magics *handshakeMagics) (*kexResult, error) {}

func (kex *curve25519sha256) Server(c packetConn, rand io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) {}

type dhGEXSHA

const dhGroupExchangeMinimumBits

const dhGroupExchangePreferredBits

const dhGroupExchangeMaximumBits

func (gex *dhGEXSHA) Client(c packetConn, randSource io.Reader, magics *handshakeMagics) (*kexResult, error) {}

// Server half implementation of the Diffie Hellman Key Exchange with SHA1 and SHA256.
//
// This is a minimal implementation to satisfy the automated tests.
func (gex dhGEXSHA) Server(c packetConn, randSource io.Reader, magics *handshakeMagics, priv AlgorithmSigner, algo string) (result *kexResult, err error) {}