Only calculate AES key schedules once in cipher/aes.js
This commit is contained in:
parent
c6ba83c4a3
commit
627a6ef46e
|
@ -2,19 +2,20 @@
|
||||||
* @requires asmcrypto.js
|
* @requires asmcrypto.js
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { AES_ECB } from 'asmcrypto.js/src/aes/ecb/exports';
|
import { _AES_asm_instance, _AES_heap_instance } from 'asmcrypto.js/src/aes/exports';
|
||||||
|
import { AES_ECB } from 'asmcrypto.js/src/aes/ecb/ecb';
|
||||||
|
|
||||||
// TODO use webCrypto or nodeCrypto when possible.
|
// TODO use webCrypto or nodeCrypto when possible.
|
||||||
function aes(length) {
|
function aes(length) {
|
||||||
const c = function(key) {
|
const c = function(key) {
|
||||||
this.key = key;
|
const aes_ecb = new AES_ECB(key, _AES_heap_instance, _AES_asm_instance);
|
||||||
|
|
||||||
this.encrypt = function(block) {
|
this.encrypt = function(block) {
|
||||||
return AES_ECB.encrypt(block, this.key, false);
|
return aes_ecb.encrypt(block).result;
|
||||||
};
|
};
|
||||||
|
|
||||||
this.decrypt = function(block) {
|
this.decrypt = function(block) {
|
||||||
return AES_ECB.decrypt(block, this.key, false);
|
return aes_ecb.decrypt(block).result;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user