RSA 암호1.

eunsukim·2024년 10월 8일

RSA 암호

리베스트-샤미르-애들먼(Rivest-Shamir-Adleman, RSA) 암호는 가장 대표적으로 사용되는 공개 키 알고리즘이다. RSA 암호체계의 안정성은 큰 숫자를 소인수 분해하는 것이 매우 어렵다는 것에 기반을 두고 있다.

방식

RSA 암호화에서 사용자는 공개적으로 공유할 수 있는 공개 키라는 코드로 메시지를 암호화할 수 있다. 사용자가 공개 키를 사용하여 메시지를 암호화하면 개인 키를 통해서만 해당 메시지를 복호화할 수 있다. 사용자는 공개 키와 개인 키를 한 쌍씩 가지고 있으며, 개인 키는 비밀로 유지된다.

1. 암호화

  • Bob이 Alice에게 메시지를 보낼 때 Alice의 공개 키로 메시지를 암호화한다. 해당 공개 키로 암호화된 메시지는 Alice의 개인 키로만 복호화가 가능하다.

2. 복호화 과정

  • Alice는 자신의 개인 키를 사용하여 암호화된 메시지를 복호화한다.
  • 만약 다른 사람이 Alice의 공개 키를 사용해 암호화된 메시지를 받아도, Alice의 개인 키 없이는 메시지를 복호화할 수 없다.

이중 암호화

메시지와 공개 키를 모두 알 수 있다면 변조된 메시지를 보낼 수 있기 때문에, 실제로는 수신 측의 공개 키만을 가지고 암호화하는 경우는 드물다. 송수신 양측의 키쌍을 사용하여 암호화한다.

1. Bob의 개인 키로 암호화

  • Bob은 자신의 개인 키로 메시지를 먼저 암호화하여 Bob이 실제로 메시지를 보냈다는 것을 증명한다.
  • 개인 키로 암호화된 메시지는 오직 Bob의 공개 키로만 복호화할 수 있기 때문에 추후 Alice는 Bob의 공개 키를 사용해 해당 메시지가 Bob으로 부터 왔다는 것을 확인한다.
  • 이를 통해 메시지의 무결성을 보장한다.

2. Alice의 공개 키로 암호화

  • Bob은 Alice의 공개 키 로 메시지를 다시 암호화한다. 이를 통해 메시지의 기밀성을 보장하고, 해당 메시지는 Alice의 개인 키로만 복호화할 수 있다.

3. Alice의 개인 키로 복호화

  • 메시지를 받은 Alice는 먼저 자신의 개인 키를 사용하여 암호화된 메시지를 복호화한다.

4. Bob의 공개 키로 복호화

  • 그 후 Bob 의 공개 키를 사용해 메시지를 복호화한다. 이 단계에서 Alice는 메시지가 실제로 Bob에게서 왔다는 것을 확인할 수 있다. 만약 Bob이 아닌 다른 사람이 메시지를 보냈다면, 해당 메시지는 복호화되지 않을 것이고 메시지가 위조되었음을 알 수 있다.

0개의 댓글