RSA 암호시스템 (RSA Cryptosystem)

정보보안학
한 줄 정의: 큰 합성수의 소인수분해가 어렵다는 수학적 원리를 이용한 대표적인 비대칭키 암호 알고리즘입니다.

쉽게 풀면

RSA는 두 개의 아주 큰 소수를 곱해 만든 수를 공개하고, 원래의 두 소수는 비밀로 감춰두는 방식입니다. 공개된 큰 수만 보고 원래의 두 소수를 알아내는 것은 현재 컴퓨팅 기술로는 매우 오랜 시간이 걸려 사실상 어렵습니다. 이 어려움을 이용해 공개키로 암호화한 내용을 개인키를 가진 사람만 풀 수 있게 만듭니다. 전자서명에도 같은 원리를 반대 방향으로 적용해 활용할 수 있습니다.

왜 중요한가

RSA는 공개키 암호의 개념을 실용적으로 구현한 초기 성공 사례로, 이후 등장한 여러 공개키 암호 연구의 기준점이 되었습니다. 웹 보안 프로토콜, 전자서명, 디지털 인증서 등 다양한 정보보안 시스템에서 오랫동안 핵심 요소로 사용되어 왔습니다. 최근에는 양자 컴퓨터가 이 수학적 문제를 빠르게 풀 가능성이 제기되면서, 그 안전성과 대체 방안에 대한 연구가 활발히 이루어지고 있습니다.

논문에서는 이렇게 쓰입니다

"본 연구에서는 RSA 암호시스템의 키 길이에 따른 서명 검증 속도를 비교 분석하였다."

키 길이라는 파라미터가 RSA의 성능과 보안 수준에 함께 영향을 준다는 점을 다루고 있습니다.

"양자 컴퓨터의 발전으로 RSA 암호시스템의 장기적 안전성에 대한 우려가 제기되고 있다."

RSA가 특정 수학적 문제의 어려움에 의존하기 때문에 발생하는 잠재적 위협을 설명하는 문맥입니다.

조금 더 깊게 보면

RSA의 안전성은 큰 합성수의 소인수분해 문제가 계산적으로 어렵다는 가정에 기반합니다. 실제 구현에서는 키 생성, 암호화, 복호화 각 단계에서 패딩 기법을 함께 사용해 특정 공격을 방지하며, 키 길이는 일반적으로 2048비트 이상이 권장됩니다.

주의할 점

RSA는 연산량이 많아 대용량 데이터를 직접 암호화하는 용도보다는 짧은 키나 서명 값을 처리하는 용도로 주로 사용됩니다.

관련 용어