Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 diff -r c3565a90b8c4 lib/freebl/blapi.h | 1 diff -r c3565a90b8c4 lib/freebl/blapi.h |
| 2 --- a/lib/freebl/blapi.h Fri Jan 03 20:59:10 2014 +0100 | 2 --- a/lib/freebl/blapi.h Fri Jan 03 20:59:10 2014 +0100 |
| 3 +++ b/lib/freebl/blapi.h Tue Jan 07 12:11:36 2014 -0800 | 3 +++ b/lib/freebl/blapi.h Tue Jan 07 12:11:36 2014 -0800 |
| 4 @@ -986,6 +986,38 @@ | 4 @@ -986,6 +986,38 @@ |
| 5 unsigned int *outputLen, unsigned int maxOutputLen, | 5 unsigned int *outputLen, unsigned int maxOutputLen, |
| 6 const unsigned char *input, unsigned int inputLen); | 6 const unsigned char *input, unsigned int inputLen); |
| 7 | 7 |
| 8 +/******************************************/ | 8 +/******************************************/ |
| 9 +/* | 9 +/* |
| 10 +** ChaCha20+Poly1305 AEAD | 10 +** ChaCha20+Poly1305 AEAD |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 + input[8] = U8TO32_LITTLE(key + 16); | 136 + input[8] = U8TO32_LITTLE(key + 16); |
| 137 + input[9] = U8TO32_LITTLE(key + 20); | 137 + input[9] = U8TO32_LITTLE(key + 20); |
| 138 + input[10] = U8TO32_LITTLE(key + 24); | 138 + input[10] = U8TO32_LITTLE(key + 24); |
| 139 + input[11] = U8TO32_LITTLE(key + 28); | 139 + input[11] = U8TO32_LITTLE(key + 28); |
| 140 + | 140 + |
| 141 + input[0] = U8TO32_LITTLE(sigma + 0); | 141 + input[0] = U8TO32_LITTLE(sigma + 0); |
| 142 + input[1] = U8TO32_LITTLE(sigma + 4); | 142 + input[1] = U8TO32_LITTLE(sigma + 4); |
| 143 + input[2] = U8TO32_LITTLE(sigma + 8); | 143 + input[2] = U8TO32_LITTLE(sigma + 8); |
| 144 + input[3] = U8TO32_LITTLE(sigma + 12); | 144 + input[3] = U8TO32_LITTLE(sigma + 12); |
| 145 + | 145 + |
| 146 + input[12] = counter; | 146 + input[12] = (PRUint32)counter; |
| 147 + input[13] = counter >> 32; | 147 + input[13] = counter >> 32; |
|
agl
2014/08/28 20:51:30
ditto.
| |
| 148 + input[14] = U8TO32_LITTLE(nonce + 0); | 148 + input[14] = U8TO32_LITTLE(nonce + 0); |
| 149 + input[15] = U8TO32_LITTLE(nonce + 4); | 149 + input[15] = U8TO32_LITTLE(nonce + 4); |
| 150 + | 150 + |
| 151 + while (inLen >= 64) { | 151 + while (inLen >= 64) { |
| 152 + ChaChaCore(block, input, 20); | 152 + ChaChaCore(block, input, 20); |
| 153 + for (i = 0; i < 64; i++) { | 153 + for (i = 0; i < 64; i++) { |
| 154 + out[i] = in[i] ^ block[i]; | 154 + out[i] = in[i] ^ block[i]; |
| 155 + } | 155 + } |
| 156 + | 156 + |
| 157 + input[12]++; | 157 + input[12]++; |
| (...skipping 1389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1547 + state->h1 = (state->h1 & nb) | (g1 & b); | 1547 + state->h1 = (state->h1 & nb) | (g1 & b); |
| 1548 + state->h2 = (state->h2 & nb) | (g2 & b); | 1548 + state->h2 = (state->h2 & nb) | (g2 & b); |
| 1549 + state->h3 = (state->h3 & nb) | (g3 & b); | 1549 + state->h3 = (state->h3 & nb) | (g3 & b); |
| 1550 + state->h4 = (state->h4 & nb) | (g4 & b); | 1550 + state->h4 = (state->h4 & nb) | (g4 & b); |
| 1551 + | 1551 + |
| 1552 + f0 = ((state->h0 ) | (state->h1 << 26)) + (uint64_t)U8TO32_LE(&stat e->key[0]); | 1552 + f0 = ((state->h0 ) | (state->h1 << 26)) + (uint64_t)U8TO32_LE(&stat e->key[0]); |
| 1553 + f1 = ((state->h1 >> 6) | (state->h2 << 20)) + (uint64_t)U8TO32_LE(&stat e->key[4]); | 1553 + f1 = ((state->h1 >> 6) | (state->h2 << 20)) + (uint64_t)U8TO32_LE(&stat e->key[4]); |
| 1554 + f2 = ((state->h2 >> 12) | (state->h3 << 14)) + (uint64_t)U8TO32_LE(&stat e->key[8]); | 1554 + f2 = ((state->h2 >> 12) | (state->h3 << 14)) + (uint64_t)U8TO32_LE(&stat e->key[8]); |
| 1555 + f3 = ((state->h3 >> 18) | (state->h4 << 8)) + (uint64_t)U8TO32_LE(&stat e->key[12]); | 1555 + f3 = ((state->h3 >> 18) | (state->h4 << 8)) + (uint64_t)U8TO32_LE(&stat e->key[12]); |
| 1556 + | 1556 + |
| 1557 +» U32TO8_LE(&mac[ 0], f0); f1 += (f0 >> 32); | 1557 +» U32TO8_LE(&mac[ 0], (uint32_t)f0); f1 += (f0 >> 32); |
| 1558 +» U32TO8_LE(&mac[ 4], f1); f2 += (f1 >> 32); | 1558 +» U32TO8_LE(&mac[ 4], (uint32_t)f1); f2 += (f1 >> 32); |
| 1559 +» U32TO8_LE(&mac[ 8], f2); f3 += (f2 >> 32); | 1559 +» U32TO8_LE(&mac[ 8], (uint32_t)f2); f3 += (f2 >> 32); |
| 1560 +» U32TO8_LE(&mac[12], f3); | 1560 +» U32TO8_LE(&mac[12], (uint32_t)f3); |
| 1561 +} | 1561 +} |
| 1562 diff -r c3565a90b8c4 lib/freebl/poly1305/poly1305.h | 1562 diff -r c3565a90b8c4 lib/freebl/poly1305/poly1305.h |
| 1563 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 | 1563 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
| 1564 +++ b/lib/freebl/poly1305/poly1305.h Tue Jan 07 12:11:36 2014 -0800 | 1564 +++ b/lib/freebl/poly1305/poly1305.h Tue Jan 07 12:11:36 2014 -0800 |
| 1565 @@ -0,0 +1,31 @@ | 1565 @@ -0,0 +1,31 @@ |
| 1566 +/* | 1566 +/* |
| 1567 + * poly1305.h - header file for Poly1305 implementation. | 1567 + * poly1305.h - header file for Poly1305 implementation. |
| 1568 + * | 1568 + * |
| 1569 + * This Source Code Form is subject to the terms of the Mozilla Public | 1569 + * This Source Code Form is subject to the terms of the Mozilla Public |
| 1570 + * License, v. 2.0. If a copy of the MPL was not distributed with this | 1570 + * License, v. 2.0. If a copy of the MPL was not distributed with this |
| (...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1859 + CK_BYTE_PTR pIv; /* This is the nonce. */ | 1859 + CK_BYTE_PTR pIv; /* This is the nonce. */ |
| 1860 + CK_ULONG ulIvLen; | 1860 + CK_ULONG ulIvLen; |
| 1861 + CK_BYTE_PTR pAAD; | 1861 + CK_BYTE_PTR pAAD; |
| 1862 + CK_ULONG ulAADLen; | 1862 + CK_ULONG ulAADLen; |
| 1863 + CK_ULONG ulTagLen; | 1863 + CK_ULONG ulTagLen; |
| 1864 +} CK_NSS_AEAD_PARAMS; | 1864 +} CK_NSS_AEAD_PARAMS; |
| 1865 + | 1865 + |
| 1866 /* | 1866 /* |
| 1867 * NSS-defined return values | 1867 * NSS-defined return values |
| 1868 * | 1868 * |
| OLD | NEW |