MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / modL

Function modL

vmm/src/x25519.js:1294–1318  ·  view source on GitHub ↗
(r, x)

Source from the content-addressed store, hash-verified

1292 0x10,
1293 ]);
1294 function modL(r, x) {
1295 var carry, i, j, k;
1296 for (i = 63; i >= 32; --i) {
1297 carry = 0;
1298 for (j = i - 32, k = i - 12; j < k; ++j) {
1299 x[j] += carry - 16 * x[i] * L[j - (i - 32)];
1300 carry = (x[j] + 128) >> 8;
1301 x[j] -= carry * 256;
1302 }
1303 x[j] += carry;
1304 x[i] = 0;
1305 }
1306 carry = 0;
1307 for (j = 0; j < 32; j++) {
1308 x[j] += carry - (x[31] >> 4) * L[j];
1309 carry = x[j] >> 8;
1310 x[j] &= 255;
1311 }
1312 for (j = 0; j < 32; j++)
1313 x[j] -= carry * L[j];
1314 for (i = 0; i < 32; i++) {
1315 x[i + 1] += x[i] >> 8;
1316 r[i] = x[i] & 255;
1317 }
1318 }
1319 function reduce(r) {
1320 var x = new Float64Array(64), i;
1321 for (i = 0; i < 64; i++)

Callers 3

reduceFunction · 0.70
crypto_sign_directFunction · 0.70
crypto_sign_direct_rndFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected