(o, n)
| 141 | } |
| 142 | } |
| 143 | function pack25519(o, n) { |
| 144 | var i, j, b; |
| 145 | var m = gf(), t = gf(); |
| 146 | for (i = 0; i < 16; i++) |
| 147 | t[i] = n[i]; |
| 148 | car25519(t); |
| 149 | car25519(t); |
| 150 | car25519(t); |
| 151 | for (j = 0; j < 2; j++) { |
| 152 | m[0] = t[0] - 0xffed; |
| 153 | for (i = 1; i < 15; i++) { |
| 154 | m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1); |
| 155 | m[i - 1] &= 0xffff; |
| 156 | } |
| 157 | m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1); |
| 158 | b = (m[15] >> 16) & 1; |
| 159 | m[14] &= 0xffff; |
| 160 | sel25519(t, m, 1 - b); |
| 161 | } |
| 162 | for (i = 0; i < 16; i++) { |
| 163 | o[2 * i] = t[i] & 0xff; |
| 164 | o[2 * i + 1] = t[i] >> 8; |
| 165 | } |
| 166 | } |
| 167 | function neq25519(a, b) { |
| 168 | var c = new Uint8Array(32), d = new Uint8Array(32); |
| 169 | pack25519(c, a); |
no test coverage detected