sdfsdfs
This commit is contained in:
73
node_modules/des.js/test/cbc-test.js
generated
vendored
Normal file
73
node_modules/des.js/test/cbc-test.js
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
'use strict';
|
||||
|
||||
var assert = require('assert');
|
||||
var crypto = require('crypto');
|
||||
var Buffer = require('buffer').Buffer;
|
||||
|
||||
var des = require('../');
|
||||
|
||||
var fixtures = require('./fixtures');
|
||||
var bin = fixtures.bin;
|
||||
|
||||
describe('DES-CBC', function() {
|
||||
var CBC = des.CBC.instantiate(des.DES);
|
||||
|
||||
describe('encryption/decryption', function() {
|
||||
var vectors = [
|
||||
{
|
||||
key: '133457799bbcdff1',
|
||||
iv: '0102030405060708',
|
||||
input: '0123456789abcdef'
|
||||
},
|
||||
{
|
||||
key: '0000000000000000',
|
||||
iv: 'ffffffffffffffff',
|
||||
input: '0000000000000000'
|
||||
},
|
||||
{
|
||||
key: 'a3a3a3a3b3b3b3b3',
|
||||
iv: 'cdcdcdcdcdcdcdcd',
|
||||
input: 'cccccccccccccccc'
|
||||
},
|
||||
{
|
||||
key: 'deadbeefabbadead',
|
||||
iv: 'a0da0da0da0da0da',
|
||||
input: '0102030405060708090a'
|
||||
},
|
||||
{
|
||||
key: 'aabbccddeeff0011',
|
||||
iv: 'fefefefefefefefe',
|
||||
input: '0102030405060708090a0102030405060708090a0102030405060708090a' +
|
||||
'0102030405060708090a0102030405060607080a0102030405060708090a'
|
||||
}
|
||||
];
|
||||
|
||||
vectors.forEach(function(vec, i) {
|
||||
it('should encrypt vector ' + i, function() {
|
||||
var key = Buffer.from(vec.key, 'hex');
|
||||
var iv = Buffer.from(vec.iv, 'hex');
|
||||
var input = Buffer.from(vec.input, 'hex');
|
||||
|
||||
var enc = CBC.create({
|
||||
type: 'encrypt',
|
||||
key: key,
|
||||
iv: iv
|
||||
});
|
||||
var out = Buffer.from(enc.update(input).concat(enc.final()));
|
||||
|
||||
var cipher = crypto.createCipheriv('des-cbc', key, iv);
|
||||
var expected = Buffer.concat([ cipher.update(input), cipher.final() ]);
|
||||
|
||||
assert.deepEqual(out, expected);
|
||||
|
||||
var dec = CBC.create({
|
||||
type: 'decrypt',
|
||||
key: key,
|
||||
iv: iv
|
||||
});
|
||||
assert.deepEqual(Buffer.from(dec.update(out).concat(dec.final())),
|
||||
input);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user