안녕하세요 저는 PHP로 RSA 알고리즘을 직접 구현해야합니다. 유일한 문제는 개인 키를 계산하는 부분입니다. 내 함수가 작동하는 방식은 임의의 숫자를 가져 와서 개인 키 공식에 맞는지 확인하는 것입니다. 이것은 잘 작동하지만, 유일한 문제는 매우 큰 숫자를 사용할 때 시간이 오래 걸리고 페이지 시간이 초과된다는 것입니다. 궁금 해서요. 난수 생성을 계속하지 않아도 구현할 수있는 더 좋은 방법이 있습니까? 다음은 필요한 코드입니다.PHP에서 RSA 비공개 키를보다 빨리 계산하는 방법
$decrypt = rand(1,($phi-1));
while(!private($decrypt, $encrypt, $phi)){
$decrypt = rand(1,($phi-1));
}
...
function private($decrypt, $encrypt, $phi) {
if(($decrypt * $encrypt) % ($phi) == 1){
Return true;
}
else{
Return false;
}
}
숫자를 최대 정수 값 미만으로 제한하려고합니다. 알고리즘의 처음 두 소수 (p와 q)는 최대 값을 초과하지 않도록 제한됩니다. 결과적으로 나머지 알고리즘은 한계 내에 있습니다. 문제는 단지 개인 키를 만드는 더 빠른 방법을 찾는 것일 뿐이다. – Matt9Atkins
'p'와'q '가 모두 허용 범위 내에 있어도'p * q '가 아닐 수도 있고 오버플로로 인해 정밀도가 손실 될 수있다. – duskwuff
죄송합니다. 나 자신을 분명히하지 못해 죄송합니다. p와 q는 한계 내에 있으므로 심지어 p * q가 제한 내에 머무를 것입니다 (단지) – Matt9Atkins