This commit is contained in:
Marin Petrunić 2019-11-09 15:46:13 +01:00
parent 94a990a479
commit 6d7be49f55
No known key found for this signature in database
GPG Key ID: 834D07135E110DA5

View File

@ -4,43 +4,43 @@ import { AEAD, x25519, HKDF, SHA256 } from 'bcrypto';
import { BN } from 'bn.js';
export interface KeyPair {
publicKey: bytes32,
privateKey: bytes32,
publicKey: bytes32;
privateKey: bytes32;
}
interface MessageBuffer {
ne: bytes32,
ns: bytes,
ciphertext: bytes
ne: bytes32;
ns: bytes;
ciphertext: bytes;
}
type CipherState = {
k: bytes32,
n: uint32,
k: bytes32;
n: uint32;
}
type SymmetricState = {
cs: CipherState,
ck: bytes32, // chaining key
h: bytes32, // handshake hash
cs: CipherState;
ck: bytes32; // chaining key
h: bytes32; // handshake hash
}
type HandshakeState = {
ss: SymmetricState,
s: KeyPair,
e?: KeyPair,
rs: bytes32,
re: bytes32,
psk: bytes32,
ss: SymmetricState;
s: KeyPair;
e?: KeyPair;
rs: bytes32;
re: bytes32;
psk: bytes32;
}
type NoiseSession = {
hs: HandshakeState,
h?: bytes32,
cs1?: CipherState,
cs2?: CipherState,
mc: uint64,
i: boolean,
hs: HandshakeState;
h?: bytes32;
cs1?: CipherState;
cs2?: CipherState;
mc: uint64;
i: boolean;
}
export type Hkdf = [bytes, bytes, bytes];
@ -165,7 +165,7 @@ export class XXHandshake {
private async hashProtocolName(protocolName: bytes): Promise<bytes32> {
if (protocolName.length <= 32) {
let h = Buffer.alloc(32);
const h = Buffer.alloc(32);
protocolName.copy(h);
return h;
} else {
@ -226,7 +226,7 @@ export class XXHandshake {
}
private async writeMessageA(hs: HandshakeState, payload: bytes): Promise<MessageBuffer> {
let ns = Buffer.alloc(0);
const ns = Buffer.alloc(0);
hs.e = await this.generateKeypair();
const ne = hs.e.publicKey;