it-swarm-korea.com

암호화 해독 시간

Rsa 알고리즘의 암호화/복호화 시간은 키 길이의 변화에 ​​따라 크게 달라 집니까? 예를 들어 512 비트와 2048 비트 사이의 암호화/복호화 시간에 눈에 띄는 차이가 있습니까?

10
user1157

일반적인 구현에서 RSA 키 길이를 두 배로 늘리면 encryption이 4 배 느리고 decryption이 8 배 느려집니다. RSA 암호화는 RSA 암호 해독보다 훨씬 빠릅니다 (RSA 서명의 맥락에서 확인은 암호화와 유사하며 생성은 암호 해독과 유사 함). 이론에 따르면 n 비트 키의 경우 암호화를위한 계산 노력은 n에 비례합니다.2, 해독 노력은 n에 비례합니다. 실제로 RSA에는 모듈 식 지수보다 약간 더 많은 부분이 있으며 오버 헤드는 동일한 2 차/입방체 방식으로 확장되지 않으므로 특정 구현의 경우 정확하게 8 배 계수.

또한 빠른 암호화 (및 이차 행동)는 짧은 공개 지수의 사용에 의존합니다. 이것이 RSA가 일반적으로 사용되는 방식입니다. 공개 지수가 긴 RSA 공개 키를 사용하면 암호화 속도가 느려질 수 있습니다. 긴 공개 지수는 보안을 향상시키지 않는 것처럼 보이므로 짧은 공개 지수가 규칙입니다. 일부 널리 보급 된 RSA 구현은 어쨌든 긴 공개 지수를 지원하지 않습니다.

OpenSSL 일부 벤치 마크를 수행 할 수있는 명령 줄 도구가 제공됩니다. 이것을 실행하십시오 :

openssl speed rsa1024 rsa2048

내 PC에서 결과는 다음과 같습니다.

                  sign    verify    sign/s verify/s
rsa 1024 bits 0.000646s 0.000035s   1549.1  28408.6
rsa 2048 bits 0.004097s 0.000120s    244.1   8331.1

따라서 키 크기를 1024에서 2048 비트로 두 배로 늘릴 때 해독 및 암호화에 대해 각각 6.3x 및 3.4x를 얻습니다.

11
Thomas Pornin

Javamex에 대해 RSA 키 길이 에 대한 좋은 기사가 있습니다. 그들이 분석에서 도출 한 규칙은 'RSA 키 길이를 두 배로 늘릴 때마다 암호 해독 속도가 6-7 배 느리다'는 것입니다.

RSA decryption time by key length

RSA를 사용하면 암호 해독이 일반적으로 암호화보다 속도가 느리므로 추론에 대한 설명이 있습니다. here . 키 길이가 두 배가되는 내 컴퓨터에서 몇 가지 빠른 테스트를 수행하여 암호화 시간이 약 두 배가 된 것 같습니다.

7
Mark Davidson