2016-07-01 2 views
0

그래서 본질적으로 저는 ASCII를 취하는 함수를 만들려고합니다. 값을 계산하고 반복에서 이전 곱셈의 나머지와 곱합니다.i = 1 일 때 rem의 각 값을 저장하고 i = e 일 때 rem을 되 돌리는 동안 "rem = (rem * value) % N"을 반복하려고 시도합니다.

첫 번째 반복 (i = 0)의 경우 나머지는 초기 오름차순 값으로 설정됩니다. 두 번째 반복 (i = 1) 인 경우 계산은 rem = (rem * ascVal)%N과 같으며 여기서 remrem * ascVal에서 이전 반복의 나머지 (나머지)입니다. 마지막 값이 rem 인 i = e가 될 때까지 계속됩니다.

이 내가 지금까지 무엇을 가지고 :

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 반복 이후에 나머지를 찾는 것입니다. 모든 도움이 좋을 것이고 필요한 경우 전체 스크립트를 게시 할 수 있습니다 (모든 계산 등 포함)

P. 이 스크립트는 작은 프로토 타입 타원 곡선 암호입니다.

답변

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; 

}

이 올바른 값을 반복 할 때마다.

관련 문제