bip151: use plaintext packet size as aad (openssh conformance).

This commit is contained in:
Christopher Jeffrey 2016-07-26 21:49:49 -07:00
parent b6dbc5f709
commit 08bc5ba0a8
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -110,7 +110,6 @@ BIP151Stream.prototype.init = function init(publicKey) {
this.chacha.init(this.k1, this.iv());
this.aead.init(this.k2, this.iv());
this.aead.aad(this.sid);
this.lastRekey = utils.now();
};
@ -150,7 +149,6 @@ BIP151Stream.prototype.rekey = function rekey() {
this.chacha.init(this.k1, this.iv());
this.aead.init(this.k2, this.iv());
this.aead.aad(this.sid);
};
/**
@ -171,7 +169,6 @@ BIP151Stream.prototype.sequence = function sequence() {
// unaltered aside from the iv.
this.chacha.init(null, this.iv());
this.aead.init(null, this.iv());
this.aead.aad(this.sid);
};
/**
@ -205,6 +202,7 @@ BIP151Stream.prototype.getPublicKey = function getPublicKey() {
BIP151Stream.prototype.encryptSize = function encryptSize(size) {
var data = new Buffer(4);
data.writeUInt32LE(size, 0, true);
this.aead.aad(data);
return this.chacha.encrypt(data);
};
@ -217,6 +215,7 @@ BIP151Stream.prototype.encryptSize = function encryptSize(size) {
BIP151Stream.prototype.decryptSize = function decryptSize(data) {
data = data.slice(0, 4);
this.chacha.encrypt(data);
this.aead.aad(data);
return data.readUInt32LE(0, true);
};