mirror of
https://github.com/fluencelabs/js-libp2p-noise
synced 2025-04-25 14:02:19 +00:00
Merge remote-tracking branch 'remotes/origin/master' into morrigan/encrypt-stream
This commit is contained in:
commit
b1a848cd47
12
.travis.yml
Normal file
12
.travis.yml
Normal file
@ -0,0 +1,12 @@
|
||||
language: node_js
|
||||
|
||||
cache: false
|
||||
|
||||
install:
|
||||
- yarn install --frozen-lockfile --network-timeout 1000000
|
||||
|
||||
script:
|
||||
set -e;
|
||||
yarn run lint;
|
||||
yarn run check-types;
|
||||
yarn run build;
|
52
src/xx.ts
52
src/xx.ts
@ -8,38 +8,38 @@ import { generateKeypair } from './utils';
|
||||
|
||||
|
||||
export 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;
|
||||
}
|
||||
|
||||
export 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];
|
||||
|
||||
@ -164,7 +164,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 {
|
||||
@ -225,11 +225,9 @@ export class XXHandshake {
|
||||
}
|
||||
|
||||
private async writeMessageA(hs: HandshakeState, payload: bytes): Promise<MessageBuffer> {
|
||||
let ns = Buffer.alloc(0);
|
||||
const ns = Buffer.alloc(0);
|
||||
hs.e = generateKeypair();
|
||||
if (!hs.e) {
|
||||
throw new Error("Handshake state has keypair missing.");
|
||||
}
|
||||
|
||||
const ne = hs.e.publicKey;
|
||||
|
||||
this.mixHash(hs.ss, ne);
|
||||
@ -240,9 +238,6 @@ export class XXHandshake {
|
||||
|
||||
private async writeMessageB(hs: HandshakeState, payload: bytes): Promise<MessageBuffer> {
|
||||
hs.e = generateKeypair();
|
||||
if (!hs.e) {
|
||||
throw new Error("Handshake state has keypair missing.");
|
||||
}
|
||||
const ne = hs.e.publicKey;
|
||||
this.mixHash(hs.ss, ne);
|
||||
|
||||
@ -277,7 +272,6 @@ export class XXHandshake {
|
||||
}
|
||||
|
||||
private async readMessageA(hs: HandshakeState, message: MessageBuffer): Promise<bytes> {
|
||||
console.log("publci key: ", message.ne)
|
||||
if (x25519.publicKeyVerify(message.ne)) {
|
||||
hs.re = message.ne;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user