summaryrefslogtreecommitdiffstats
path: root/core/ccmArrayBuffer.js
diff options
context:
space:
mode:
authorNils Kenneweg <nk@ovt.me>2015-02-10 20:22:28 +0100
committerNils Kenneweg <nk@ovt.me>2015-02-10 20:22:28 +0100
commita5d189cf36ce61e5e46f45d9c22c165362269bb5 (patch)
tree260c34089f6708e4112c3e9de9f4307ba96b2142 /core/ccmArrayBuffer.js
parentc11cb7d29700665a654d5e509aaa8170b3e7774b (diff)
downloadsjcl-a5d189cf36ce61e5e46f45d9c22c165362269bb5.zip
sjcl-a5d189cf36ce61e5e46f45d9c22c165362269bb5.tar.gz
sjcl-a5d189cf36ce61e5e46f45d9c22c165362269bb5.tar.bz2
progress for arraybuffer ccm.
Diffstat (limited to 'core/ccmArrayBuffer.js')
-rw-r--r--core/ccmArrayBuffer.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/ccmArrayBuffer.js b/core/ccmArrayBuffer.js
index 66a17c5..a7b44b0 100644
--- a/core/ccmArrayBuffer.js
+++ b/core/ccmArrayBuffer.js
@@ -200,7 +200,7 @@ sjcl.arrayBuffer.ccm = {
* @private
*/
_ctrMode: function(prf, data_buffer, iv, mac, tlen, L){
- var data, ctr, word0, word1, word2, word3, keyblock, i, w = sjcl.bitArray, xor = w._xor4;
+ var data, ctr, word0, word1, word2, word3, keyblock, i, w = sjcl.bitArray, xor = w._xor4, n = data_buffer.byteLength/50, p = n;
ctr = new DataView(new ArrayBuffer(16)); //create the first block for the counter
@@ -219,6 +219,10 @@ sjcl.arrayBuffer.ccm = {
data = new DataView(data_buffer);
//now lets encrypt the message
for (i=0; i<data.byteLength;i+=16){
+ if (i > n) {
+ sjcl.mode.ccm._callProgressListener(i/data_buffer.byteLength);
+ n += p;
+ }
keyblock = prf.encrypt(ctr);
word0 = data.getUint32(i);