// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Package ssh implements the SSH KDF as specified in RFC 4253, // Section 7.2 and allowed by SP 800-135 Revision 1.
package ssh import ( _ ) type Direction struct { ivTag []byte keyTag []byte macKeyTag []byte } var ServerKeys, ClientKeys Direction func init() { ServerKeys = Direction{[]byte{'B'}, []byte{'D'}, []byte{'F'}} ClientKeys = Direction{[]byte{'A'}, []byte{'C'}, []byte{'E'}} } func [ fips140.Hash]( func() , Direction, , , []byte, , , int, ) (, , []byte) { := () := func( []byte, int) []byte { var []byte for len() < { .Reset() .Write() .Write() if len() == 0 { .Write() .Write() } else { .Write() } = .Sum() } return [:] } = (.ivTag, ) = (.keyTag, ) = (.macKeyTag, ) return }