RSA 알고리즘 (RSA algorithm)
쉽게 풀면
RSA는 두 개의 아주 큰 소수를 골라 서로 곱한 값을 공개하되, 원래의 두 소수는 비밀로 유지하는 원리로 동작한다. 곱한 결과가 아무리 커도 그것을 다시 원래의 두 소수로 인수분해하는 것은 현재 컴퓨터로도 엄청난 시간이 걸릴 만큼 어렵다는 수학적 사실이 이 암호의 안전성의 근거다. 이 비대칭성 덕분에 공개키(곱한 값 등)는 누구나 알아도 되지만, 개인키(원래 소수)를 모르면 암호화된 내용을 풀 수 없다. 오늘날 웹 브라우저의 HTTPS 통신을 비롯한 수많은 보안 시스템의 기초가 되었다.
왜 중요한가
인터넷을 통한 통신은 대부분 서로 사전에 비밀 정보를 공유하지 않은 당사자들 사이에서 이루어지는데, RSA와 같은 공개키 암호는 이런 상황에서도 안전하게 정보를 암호화하고 신원을 확인할 수 있는 방법을 제공합니다. 이 때문에 RSA는 암호학, 네트워크 보안, 사물인터넷, 블록체인 등 보안이 관련된 거의 모든 컴퓨터과학 분야의 논문에서 비교 기준이 되는 대표적인 공개키 알고리즘으로 다뤄지며, 새로운 암호 기법의 효율성이나 안전성을 논할 때 자주 준거점으로 언급됩니다.
논문에서는 이렇게 쓰입니다
특정 시스템이 사용하는 공개키 암호 알고리즘의 구체적인 종류와 안전성 수준(키 길이)을 명시할 때 사용된다.
사물인터넷처럼 연산 능력이 제한된 환경을 다루는 연구에서, 새로 제안한 방식의 효율성을 기존 표준인 RSA와 비교해 평가했다는 의미입니다.
암호학 분야의 최근 연구에서는 RSA를 미래의 양자 컴퓨터 위협에 대비해 대체해야 할 기존 표준 기술로 언급하는 경우가 많다는 뜻입니다.
조금 더 깊게 보면
RSA의 실제 동작은 공개키로 암호화하고 개인키로 복호화하는 과정, 그리고 개인키로 서명하고 공개키로 검증하는 과정으로 나뉘며, 이 두 방향의 사용이 각각 기밀성 보장과 신원 인증(전자서명)이라는 서로 다른 목적에 쓰입니다. 실제 시스템에서는 RSA로 메시지 전체를 암호화하기보다, 대칭키 암호에 쓸 짧은 키만 RSA로 안전하게 교환하고 본문은 더 빠른 대칭키 암호로 처리하는 하이브리드 방식이 흔히 사용됩니다. 논문에서 키 길이(비트 수)를 언급하는 것은 안전성 수준을 나타내는 지표이므로, 다른 암호 방식과 비교할 때는 단순히 키 길이만 볼 것이 아니라 실제 계산 복잡도 수준을 함께 고려해야 한다는 점도 참고할 만합니다.
주의할 점
RSA의 안전성은 큰 정수의 소인수분해가 어렵다는 가정에 의존하는데, 이론적으로 충분히 큰 양자 컴퓨터가 등장하면 쇼어 알고리즘으로 이를 효율적으로 풀 수 있어 안전성이 위협받는다.