RSA 암호 시스템을 C에 구현하고 싶습니다. 지금은 한 바이트에 들어 맞는 값을 암호화 할 수 있지만 (보안에 비해 너무 작음), 소수의 크기를 늘릴 때 p 및 q (따라서 모듈러스 n = pq) 및 암호화 된 값의 크기는 작동하지 않습니다.C에서 RSA 알고리즘의 큰 정수를 조작하는 방법은 무엇입니까?
- (그렇지 않은 경우도 있음) N 값보다 작아야합니다 암호화 할 수있는 값 및
- 값을 : 내 코드가 실패하는 이유는 생각
나는 이유를 알고 n = pq 실제 값은 내가 사용하고있는 변수 유형에 저장할 수 없기 때문에 올바르지 않습니다. 대신 오버 플로우됩니다.
내 질문은 어떻게하면 큰 숫자 (256 바이트, 512 바이트 등으로 묶음)를 사용하고 C로 조작 할 수 있습니까? 라이브러리 (예 : GMP)를 사용해야합니까?
OpenSSL을 살펴볼 수 있습니다. 그것은 BigNumber (BN)를 지원했습니다. 또한 RSA를 지원합니다. –