RSA는 암호화와 서명에 사용되는 공개키 암호화 알고리즘입니다.
RSA는 Rivest, Shamir, Adleman의 이름에서 따온 것입니다.
RSA에서는 공개키와 개인키 두 개의 키를 사용합니다. 공개키는 누구나 사용할 수 있지만, 개인키는 해당 키를 가진 사용자만이 사용할 수 있습니다.
공개키를 사용하여 암호화를 하면, 그 데이터를 복호화하는 데는 해당 데이터를 암호화한 개인키만 사용할 수 있습니다. 따라서, RSA는 안전한 데이터 전송과 서명을 위해 사용됩니다.
예를 들어, 앨리스가 밥에게 비밀 메시지를 보내려고 할 때, 앨리스는 밥의 공개키를 사용하여 메시지를 암호화합니다. 이 메시지는 밥만이 개인키를 사용하여 복호화할 수 있습니다. 이러한 방식으로 RSA는 안전한 데이터 전송을 보장합니다.
RSA는 현재 대부분의 웹 브라우저나 이메일 클라이언트 등에서 사용되는 암호화 방식 중 하나입니다. 또한, RSA는 전자서명에도 사용되며, 은행, 기업 등에서 보안 인증서를 발급하는 데에도 사용됩니다.
전자서명의 경우도 비슷한 방식으로 작동합니다. 보통 서명을 생성하는 측(A)은 자신의 개인키로 문서를 암호화하고, 이를 서명으로 간주하여 문서와 함께 전송합니다. 그리고 문서를 수신하는 측(B)은 보낸 측의 공개키를 사용하여 서명을 복호화합니다. 이렇게 함으로써, 문서가 보내진 측(A)이 누구인지 확인할 수 있습니다.
B가 문서를 받으면 A의 공개키로 열어 인증을 확인하고
B의 개인키로 데이터를 읽어 확인할 수 있습니다.