살구.LOG

RSA 암호화 알고리즘 본문

정보보호/기술

RSA 암호화 알고리즘

Salgoo26 2026. 6. 9. 23:57

앞서 암호화 알고리즘의 대략적인 내용을 학습한 바 있다.

오늘은 대표적인 공개키 암호화 알고리즘인 RSA에 대해 공부해보고자 한다.

 

1. RSA 알고리즘이란?

RSA는 1977년 라이베스트(Rivest), 샤미르(Shamir), 에들먼(Adleman) 3명의 암호학자가 개발한 세계 최초이자 대표적인 공개키(비대칭키) 암호 알고리즘이다. 공개키 창시자들의 이름 앞 글자를 따서 명명되었으며, 거대한 숫자의 소인수분해가 컴퓨터로도 수백 년 이상 걸릴 만큼 극도로 어렵다는 수학적 원리를 기반으로 설계되었다.

 

 

2. RSA는 주로 어디에 사용될까?

현대 인터넷 보안 인프라의 근간을 이루는 기술로, 크게 두 가지 핵심 분야에 사용된다.

  • ① 대칭키(세션키)의 안전한 교환: 데이터 자체를 암호화하는 대칭키(AES 등)는 처리 속도가 빠르지만 키를 전송할 때 해커에게 탈취될 위험이 있다. 이때 RSA를 사용해 일회용 세션키만 단단하게 암호화하여 상대방에게 전달하는 '포장지' 역할을 수행한다. (웹 브라우저의 HTTPS/SSL 통신, PGP 이메일 보안의 핵심 원리)
  • ② 전자서명 및 인증: 송신자의 개인키로 데이터를 암호화하여 전송하고 수신자가 공개키로 검증하게 함으로써, 메시지를 보낸 사람의 신원을 증명하고 데이터의 위조 및 부인방지를 달성한다.

 

3. RSA 알고리즘의 세션키 공유 과정

비대칭키인 RSA를 이용해 통신 상대방과 일회용 대칭키(세션키)를 안전하게 나누어 가지는 4단계 과정이다.

  • ① 송신자 A: 키 쌍 생성
    • 통신을 시작하려는 송신자 A는 수학적 연산을 통해 자신만의 '공개키(자물쇠)'와 '개인키(열쇠)' 한 쌍을 생성한다.
  • ② 송신자 A ➔ 수신자 B: 공개키 전송
    • 송신자 A는 생성한 2개의 키 중 '공개키'를 평문 형태 그대로 수신자 B에게 전송한다. (이때 개인키는 A 본인만 알 수 있도록 안전하게 숨겨둔다.)
  • ③ 수신자 B: 공유 비밀키 생성 및 암호화 전송
    • 수신자 B는 앞으로 둘 사이의 빠르고 안전한 통신에 사용할 일회용 대칭키인 '공유 비밀키(세션키)'를 생성한다.
    • B는 전달받은 A의 공개키(자물쇠)를 이용해 이 세션키를 단단히 잠근(암호화) 후, 그 암호문을 A에게 전송한다.
  • ④ 송신자 A: 개인키로 복호화 및 키 공유 완료
    • 암호문을 전달받은 A는 오직 자신만이 가지고 있는 '개인키(열쇠)'를 사용하여 암호문을 푼다(복호화).
    • 이로써 해커의 도청을 따돌리고 A와 B 양측 모두 동일한 '공유 비밀키'를 안전하게 가지게 된다. (이후부터는 이 공유 비밀키로 본 데이터를 암호화하여 통신한다.)

'정보보호 > 기술' 카테고리의 다른 글

블록 암호화 운영 모드  (0) 2026.06.10
해시함수의 성질  (0) 2026.06.09
PGP(Pretty Good Privacy) 동작 원리 및 암호화 알고리즘  (0) 2026.06.09
IDS(침입 탐지 시스템)의 분류  (0) 2026.06.08
VPN의 종류  (1) 2026.06.08