RSA 2048bit 구현에 대해서....

shi510의 이미지

P : 149742250423
Q : 155710295347
pub_E : 16377458115892080293
pub_N : 23316410039289765681781
pri_D : 1546300832937601249241
ePI : 23316410038984313136012
 
평문 : 123456789
암호문 : 8797209460707743380080
복호문 : 123456789

위 결과값은 제가 구현한 RSA의 값입니다.
이것 또한 Big Number Algorithm을 적용해서 연산했습니다만
2048bit RSA로 암호화 되었다라는 것에서 2048bit라는 것은 무엇을 의미합니까?

자세히 설명부탁드립니다.

익명 사용자의 이미지


P,Q의 길이를 의미하며, 2048/8 = 256 Bytes로 구성된 정수형 숫자

그러므로 256bytes 정수 연산 입니다.

shi510의 이미지

감사합니다.

tyhan의 이미지

정확하게는 공개키 n(=p*q)의 길이 입니다.
즉 p,q의 길이는 1024bit의 소수가 됩니다.

익명 사용자의 이미지

> ./openssl genrsa –out private_key.gen 2048

위 명령어로 키 생성을 하면 p 와 q 는 1024 bit, n과 d는 2048 bit 로 만들어 집니다.

https://www.openssl.org/ 에서 openssl-1.0.2 코드를 받아서, crypto/rsa/rsa_gen.c 에서 확인했습니다.