46 lines
1.0 KiB
JavaScript
46 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
var chachapoly = require('../lib/crypto/chachapoly');
|
|
var bench = require('./bench');
|
|
|
|
console.log('note: rate measured in kb/s');
|
|
|
|
var chacha = new chachapoly.ChaCha20();
|
|
var iv = new Buffer('0102030405060708', 'hex');
|
|
chacha.init(iv, 0);
|
|
var data = new Buffer(32);
|
|
for (var i = 0; i < 32; i++)
|
|
data[i] = i;
|
|
var end = bench('encrypt');
|
|
for (var i = 0; i < 1000000; i++)
|
|
chacha.encrypt(data);
|
|
end(i * 32 / 1024);
|
|
|
|
var poly = new chachapoly.Poly1305();
|
|
var key = new Buffer('000102030405060708090a0b0c0d0e0f', 'hex');
|
|
poly.init(key);
|
|
|
|
var data = new Buffer(32);
|
|
for (var i = 0; i < 32; i++)
|
|
data[i] = i & 0xff;
|
|
|
|
var end = bench('update');
|
|
for (var i = 0; i < 1000000; i++)
|
|
poly.update(data);
|
|
end(i * 32 / 1024);
|
|
|
|
var end = bench('finish');
|
|
for (var i = 0; i < 1000000; i++) {
|
|
poly.init(key);
|
|
poly.update(data);
|
|
poly.finish();
|
|
}
|
|
end(i * 32 / 1024);
|
|
|
|
// For reference:
|
|
var crypto = require('../lib/crypto/crypto');
|
|
var end = bench('sha256');
|
|
for (var i = 0; i < 1000000; i++)
|
|
crypto.hash256(data);
|
|
end(i * 32 / 1024);
|