rename keybuf -> cipherkeybuf

...since this use of "key" is very different than the public/private key pair
that is key.js
This commit is contained in:
Ryan X. Charles 2014-08-25 16:38:53 -07:00
parent a09cac4ba6
commit 97e40f9ac6
2 changed files with 25 additions and 25 deletions

View File

@ -1,12 +1,12 @@
var Random = require('../random'); var Random = require('../random');
// http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29 // http://en.wikipedia.org/wiki/Block_cipher_mode_of_operation#Cipher-block_chaining_.28CBC.29
var CBC = function CBC(blockcipher, keybuf, ivbuf) { var CBC = function CBC(blockcipher, cipherkeybuf, ivbuf) {
if (!(this instanceof CBC)) if (!(this instanceof CBC))
return new CBC(blockcipher, keybuf, ivbuf); return new CBC(blockcipher, cipherkeybuf, ivbuf);
this.blockcipher = blockcipher; this.blockcipher = blockcipher;
this.keybuf = keybuf; this.cipherkeybuf = cipherkeybuf;
this.ivbuf = ivbuf; this.ivbuf = ivbuf;
}; };
@ -26,26 +26,26 @@ CBC.buf2blockbufs = function(buf, blocksize) {
return blockbufs; return blockbufs;
}; };
CBC.encrypt = function(messagebuf, ivbuf, blockcipher, keybuf) { CBC.encrypt = function(messagebuf, ivbuf, blockcipher, cipherkeybuf) {
var blocksize = ivbuf.length * 8; var blocksize = ivbuf.length * 8;
var blockbufs = CBC.buf2blockbufs(messagebuf, blocksize); var blockbufs = CBC.buf2blockbufs(messagebuf, blocksize);
var encbufs = CBC.encryptblocks(blockbufs, ivbuf, blockcipher, keybuf); var encbufs = CBC.encryptblocks(blockbufs, ivbuf, blockcipher, cipherkeybuf);
var enc = Buffer.concat(encbufs); var enc = Buffer.concat(encbufs);
return enc; return enc;
}; };
CBC.encryptblock = function(blockbuf, ivbuf, blockcipher, keybuf) { CBC.encryptblock = function(blockbuf, ivbuf, blockcipher, cipherkeybuf) {
var xorbuf = CBC.xorbufs(blockbuf, ivbuf); var xorbuf = CBC.xorbufs(blockbuf, ivbuf);
var encbuf = blockcipher.encrypt(xorbuf, keybuf); var encbuf = blockcipher.encrypt(xorbuf, cipherkeybuf);
return encbuf; return encbuf;
}; };
CBC.encryptblocks = function(blockbufs, ivbuf, blockcipher, keybuf) { CBC.encryptblocks = function(blockbufs, ivbuf, blockcipher, cipherkeybuf) {
var encbufs = []; var encbufs = [];
for (var i = 0; i < blockbufs.length; i++) { for (var i = 0; i < blockbufs.length; i++) {
var blockbuf = blockbufs[i]; var blockbuf = blockbufs[i];
var encbuf = CBC.encryptblock(blockbuf, ivbuf, blockcipher, keybuf); var encbuf = CBC.encryptblock(blockbuf, ivbuf, blockcipher, cipherkeybuf);
encbufs.push(encbuf); encbufs.push(encbuf);

View File

@ -44,13 +44,13 @@ describe('CBC', function() {
var messagebuf = Buffer.concat([messagebuf1, messagebuf2]); var messagebuf = Buffer.concat([messagebuf1, messagebuf2]);
var ivbuf = new Buffer(128 / 8); var ivbuf = new Buffer(128 / 8);
ivbuf.fill(0x10); ivbuf.fill(0x10);
var keybuf = new Buffer(128 / 8); var cipherkeybuf = new Buffer(128 / 8);
keybuf.fill(0); cipherkeybuf.fill(0);
var blockcipher = {}; var blockcipher = {};
blockcipher.encrypt = function(messagebuf, keybuf) { blockcipher.encrypt = function(messagebuf, cipherkeybuf) {
return messagebuf; return messagebuf;
}; };
var encbuf = CBC.encrypt(messagebuf, ivbuf, blockcipher, keybuf); var encbuf = CBC.encrypt(messagebuf, ivbuf, blockcipher, cipherkeybuf);
encbuf.toString('hex').should.equal('101010101010101010101010101010100000000000000000000000000000000010101010101010101010101010101010'); encbuf.toString('hex').should.equal('101010101010101010101010101010100000000000000000000000000000000010101010101010101010101010101010');
}); });
@ -63,13 +63,13 @@ describe('CBC', function() {
messagebuf.fill(0); messagebuf.fill(0);
var ivbuf = new Buffer(128 / 8); var ivbuf = new Buffer(128 / 8);
ivbuf.fill(0x10); ivbuf.fill(0x10);
var keybuf = new Buffer(128 / 8); var cipherkeybuf = new Buffer(128 / 8);
keybuf.fill(0); cipherkeybuf.fill(0);
var blockcipher = {}; var blockcipher = {};
blockcipher.encrypt = function(messagebuf, keybuf) { blockcipher.encrypt = function(messagebuf, cipherkeybuf) {
return messagebuf; return messagebuf;
}; };
var enc = CBC.encryptblock(messagebuf, ivbuf, blockcipher, keybuf); var enc = CBC.encryptblock(messagebuf, ivbuf, blockcipher, cipherkeybuf);
enc.toString('hex').should.equal(ivbuf.toString('hex')); enc.toString('hex').should.equal(ivbuf.toString('hex'));
}); });
@ -78,13 +78,13 @@ describe('CBC', function() {
messagebuf.fill(0x10); messagebuf.fill(0x10);
var ivbuf = new Buffer(128 / 8); var ivbuf = new Buffer(128 / 8);
ivbuf.fill(0x10); ivbuf.fill(0x10);
var keybuf = new Buffer(128 / 8); var cipherkeybuf = new Buffer(128 / 8);
keybuf.fill(0); cipherkeybuf.fill(0);
var blockcipher = {}; var blockcipher = {};
blockcipher.encrypt = function(messagebuf, keybuf) { blockcipher.encrypt = function(messagebuf, cipherkeybuf) {
return messagebuf; return messagebuf;
}; };
var enc = CBC.encryptblock(messagebuf, ivbuf, blockcipher, keybuf); var enc = CBC.encryptblock(messagebuf, ivbuf, blockcipher, cipherkeybuf);
enc.toString('hex').should.equal('00000000000000000000000000000000'); enc.toString('hex').should.equal('00000000000000000000000000000000');
}); });
@ -99,13 +99,13 @@ describe('CBC', function() {
messagebuf2.fill(0x10); messagebuf2.fill(0x10);
var ivbuf = new Buffer(128 / 8); var ivbuf = new Buffer(128 / 8);
ivbuf.fill(0x10); ivbuf.fill(0x10);
var keybuf = new Buffer(128 / 8); var cipherkeybuf = new Buffer(128 / 8);
keybuf.fill(0); cipherkeybuf.fill(0);
var blockcipher = {} var blockcipher = {}
blockcipher.encrypt = function(messagebuf, keybuf) { blockcipher.encrypt = function(messagebuf, cipherkeybuf) {
return messagebuf; return messagebuf;
}; };
var encbufs = CBC.encryptblocks([messagebuf1, messagebuf2], ivbuf, blockcipher, keybuf); var encbufs = CBC.encryptblocks([messagebuf1, messagebuf2], ivbuf, blockcipher, cipherkeybuf);
encbufs[0].toString('hex').should.equal('10101010101010101010101010101010'); encbufs[0].toString('hex').should.equal('10101010101010101010101010101010');
encbufs[1].toString('hex').should.equal('00000000000000000000000000000000'); encbufs[1].toString('hex').should.equal('00000000000000000000000000000000');
}); });