尝试迭代"rem = (rem*value)%N"同时保存每个rem值为i+1,并在i= E时返回r

Trying to iterate "rem = (rem*value)%N" e times while saving each value of rem for i+1 and returning rem when i=e

本文关键字:rem quot i+1 值为 并在 返回 迭代 value 保存      更新时间:2023-09-26

所以本质上我想做一个函数,它接受一个ASCII值,并将其乘以迭代中前一个乘法的余数。

所以对于第一次迭代(i = 0),余数被设置为初始asc值。第二次迭代(i = 1),计算类似于rem = (rem * ascVal)%N,其中rem * ascVal中的rem是前一次迭代的rem(余数)。这个过程一直持续到i = e,在这里返回rem的最后一个值。

这是我目前所拥有的:

function newVal(ascVal) {
    var i = 0;
    var rem = ascVal;
    while (i < e) {
        rem = (rem * ascVal) % N;
        i++;
        if (i == e) {
            return rem;
        }
    }
    newVal(rem);
}
问题是如果每次输入都是单个值它总是返回55。我所需要做的就是找到e迭代后的余数。任何帮助将是伟大的,我可以张贴整个脚本,如果需要(包括所有的计算等)

注:这个脚本是一个小型椭圆曲线加密器的原型。

我用while循环解决了这个问题。

function newVal(ascVal) {
var num = Number(ascVal);
var rem = num;
var i = 0;
while (i < e) {
    i++;
    rem = (rem*num)%N;
}
return rem;

}