in src/ristretto255.js [875:895]
function getRandomScalar() {
let r = new Uint8Array(32);
let c = 0;
// rejection sampling loop with constant-time body
do {
r = nacl.randomBytes(32);
// lowlevel.randombytes(r, 32);
r[31] &= 0x1f;
// constant-time check for r < L, if so break and return r
let i = 32;
let n = 1;
do {
i--;
c |= ((r[i] - lowlevel.L[i]) >> 8) & n;
n &= ((r[i] ^ lowlevel.L[i]) - 1) >> 8;
} while (i !== 0);
} while (c === 0);
return r;
}