- RSA 암호화 방식은 비대칭 키 암호화 방식의 하나로, 데이터의 안전한 전송과 디지털 서명에 널리 사용됩니다.
- RSA는 1977년에 로널드 리베스트(Ronald Rivest), 아디 샤미르(Adi Shamir), 레오나드 애들먼(Leonard Adleman)에 의해 개발되었습니다.
- RSA는 이들의 이름의 머리글자를 따서 명명되었습니다.
공개 키와 개인 키
- 공개 키 (Public Key)
- 누구나 접근할 수 있는 키로 데이터를 암호화하는 데 사용됩니다.
- 개인 키 (Private Key)
- 비밀로 유지되는 키로 데이터를 복호화하는 데 사용됩니다.
- 공개 키만으로 개인 키를 쉽게 유추할 수 없도록 합니다.
암호화 흐름

- A가 B에게 정보를 암호화해서 전달하는 모습입니다.
- T는 트루디(Trudy), 침입자(intruder)를 뜻합니다.
과정
- A는 B의 공개키를 이용해서 정보를 암호화 합니다.
- 암호화 된 정보를 A의 비밀키로 1번 더 암호화 합니다.
- B가 암호화 된 정보를 받아서 A의 공개키로 복호화를 진행합니다.
- 이 과정에서 A가 보낸 정보가 맞는지 확인이 가능합니다. (인증)
- 트루디가 중간에 정보를 가져가도 A공개키로 열 수는 있지만 B 비밀키가 없기 때문에 어떤 정보인지 알 수 없습니다.
- B가 B의 비밀키로 복호화를 진행하면 원본 형태의 정보를 확인할 수 있습니다.
RSA의 장점
- 보안성
- 수학적으로 안전하게 설계되어 있으며, 대규모 소인수 분해 문제에 기반하여 높은 보안성을 제공합니다.
- 키 관리 용이성
- 공개 키와 개인 키를 별도로 관리할 수 있어, 키 관리가 용이합니다.
- 다양한 용도
- 데이터 암호화뿐만 아니라 디지털 서명, 전자 인증서 등 다양한 보안 응용 분야에서 사용됩니다.
RSA의 단점
- 속도 문제
- 대칭키 암호화 방식에 비해 암호화 및 복호화 속도가 느립니다.
- 대량의 데이터를 암호화할 때는 비효율적일 수 있습니다.
- 키 길이 문제
- 보안을 위해 충분히 긴 키를 사용해야 하며, 이는 키 생성과 암호화/복호화 과정을 복잡하게 만듭니다.
Share article