试图迭代" rem =(rem * value)%N"保存i + 1的每个rem值并在i = e时返回rem的e次

时间:2016-07-01 15:26:07

标签: javascript encryption elliptic-curve

所以基本上我试图创建一个带有ASCII值的函数,并将它乘以迭代中前一次乘法的余数。

因此,对于第一次迭代(i = 0),余数只被设置为初始asc值。第二次迭代(i = 1),计算类似于rem = (rem * ascVal)%N,其中rem中的rem * ascVal是前一次迭代的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);
}
&#13;
&#13;
&#13; 事情是,如果输入每次都是单个值,它总是返回55。 我需要它做的就是在e次迭代后找到余数。任何帮助都会很棒,如果需要,我可以发布整个脚本(包括所有计算等)。

P.S。这个脚本是一个小型原型椭圆曲线加密器。

1 个答案:

答案 0 :(得分:0)

好的,所以我通过使用while循环来解决它。

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

}

每次都会迭代正确的值。