RSA는 비대칭성 암호화 알고리즘중 하나이다. 비대칭성 암호화란 암호화 키와 복호화 키가 다른 암호화 방식이다. (물론 키를 생성하기에 따라 동일한 키가 사용될 수도 있다) 여러분이 아는 대부분의 암호화 방식은 대칭형 암호화 일 것이다. 대칭형 암호화는 암호화 키와 복호화 키가 동일한 암호화 알고리즘을 뜻한다.
대칭형 암호화에서는 비밀키 하나로 암호화·복호화 모두 가능하다. 만약 누군가가 "esukmean"를 비밀키로 결정했다고 하자. 그러면 암호화를 할 때에도 "esukmean" 을 사용하고, 복호화 할 때도 "esukmean"을 이용한다.
그러나 비대칭형 암호화에서는 암호화용 비밀키와 복호화용 비밀키가 다르다. 암호화 할 때는 "esukmean"을 사용하지만 복호화 할 때는 "test1234" 를 사용해야 하는 것이다. 사소해 보이는 이 차이는 암호의 적용에서 큰 발전을 만들었다.
그 중 대표적인것이 전자 인증서이다. 만약 세상에 대칭키만 있었다면 누구나 인증서를 만들 수 있었을 것이다. 암호화 키와 복호화 키가 같은점을 악용하면, 누구나 몰래 인증서를 만들고 "이거는 저 사람이 암호화 했음!" 이라고 속일 수 있다. 하지만 비대칭성 암호화를 사용하면 말이 달라진다. 암호화키와 복호화 키가 분리됐기 때문에 복호화를 하는 주체와 암호화를 하는 주체가 분리된다. 누구나 인증서를 복호화 할 수는 있지만, 정식으로 등록된 PC에서만 인증서를 암호화 할 수 있다.
제 3자가 도청하는 상황에서도 안전을 지켜준다. 누군가 도청을 하고있어서 대화를 암호화 한다고 가정해 보자. 최초에는 비밀키를 상대에게 알려줘야 할 것이다. 이때 대칭키를 이용하면 스파이가 비밀번호를 그대로 들고 갈 수 있다. 그러나 비대칭키를 이용하면 상대에게 "이 암호화 전용 키로 메세지를 보내" 라고 하면 감청을 할 수 없다. 복호화 키는 나만 가지고 있기 때문이다. 상대는 암호화키로 대화를 암호화만 한다. 즉, 상대 또한 메세지를 복호화 하는 방법을 모른다.
이러한 특성 때문에 우리 주변의 많은곳에서 RSA 암호화가 쓰인다. 웹사이트의 경우가 대표적이다. 웹사이트들을 접속할 때 "https"를 이용하면 안전하다고 말한다. 여기서 RSA가 이용된다. "이 사이트가 진짜가 맞는지" 확인하기 위해 인증서를 사용하며, 도청의 위험으로 부터 벗어나기 위해 "RSA를 이용해서 데이터를 암호화 한다". 클라이언트와 서버는 각각 상대에게 "암호화용 키"만을 알려준다. 복호화용 키는 본인만 비밀리에 가진다. 이 방법을 통해 도청의 위험을 이겨내고 안전한 통신을 할 수 있게 된다.