Documentation ¶
Overview ¶
Package ntor implements the ntor handshake.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ClientHandshake ¶
func (ClientHandshake) SecretInput ¶
func (c ClientHandshake) SecretInput() []byte
type Handshake ¶
type Handshake interface { SecretInput() []byte }
Handshake is a common interface for either side of the handshake.
type ServerHandshake ¶
ServerHandshake assists with computing values in the server-side of circuit creation.
The server generates a keypair of y,Y = KEYGEN(), and uses its ntor private key 'b' to compute: secret_input = EXP(X,y) | EXP(X,b) | ID | B | X | Y | PROTOID KEY_SEED = H(secret_input, t_key) verify = H(secret_input, t_verify) auth_input = verify | ID | B | Y | X | PROTOID | "Server"
func (ServerHandshake) SecretInput ¶
func (s ServerHandshake) SecretInput() []byte
Notes ¶
Bugs ¶
SecretInput may be computed multiple times
Click to show internal directories.
Click to hide internal directories.