철수와 영희가 있다고 가정하자.
공개키: 남에게 공개하는 키.
개인키: 남에게 절대 알려서는 안되는 키.
철수 공개키: aaaa
철수 개인키: bbbb
영희 공개키: cccc
영희 개인키: dddd
aaaa로 암호화하면 bbbb로 풀 수 있다.
bbbb로 암호화하면 aaaa로 풀 수 있다.
cccc로 암호화하면 dddd로 풀 수 있다.
dddd로 암호화하면 cccc로 풀 수 있다.
이메일 주고받는 과정은 다음과 같다.
철수 -> 영희
1. 철수는 상대방 공개키(cccc)로 이메일 내용을 암호화한다.
2. 철수는 자신의 개인키(bbbb)로 이메일을 서명한다.
3. 철수는 상대방 공개키(cccc)로 이메일을 전송한다.
4. 영희는 자신의 개인키(dddd)로 암호화를 해제하고 내용을 확인한다.(ex. "안녕 영희야")
5. 영희는 상대방의 공개키(aaaa)로 이메일의 서명을 검증한다. 이로써 정말 철수가 보낸 메일임을 확인한다.
영희 -> 철수
1. 영희는 상대방 공개키(aaaa)로 이메일 내용을 암호화한다.
2. 영희는 자신의 개인키(dddd)로 이메일을 서명한다.
3. 영희는 상대방 공개키(aaaa)로 이메일을 전송한다.
4. 철수는 자신의 개인키(bbbb)로 암호화를 해제하고 내용을 확인한다.(ex. "안녕 철수야")
5. 철수는 상대방의 공개키(cccc)로 이메일의 서명을 검증한다. 이로써 정말 영희가 보낸 메일임을 확인한다.
여기서 왜 이메일 내용은 상대방 공개키로 암호화하고, 서명은 내 개인키로 하는지 궁금할 수 있다.
내 공개키로 이메일 내용 암호화: 내 개인키를 알아야 암호화를 해제할 수 있는데 상대방이 내 개인키를 모르므로 암호화를 풀 수 없어서 메일보내는 의미가 없어진다.
내 개인키로 이메일 내용 암호화: 내 개인키로 암호화할 경우 내 공개키를 이용해 암호화를 해제할 수 있다. 내 공개키는 공개되어 있으므로 개나소나 암호화를 해제할 수 있다. 그래서 암호화하는 의미가 없어진다.
상대방 개인키로 이메일 내용 암호화: 애초에 상대방 개인키를 모르므로 불가능하다.
내 공개키로 서명: 내 개인키를 알아야 서명을 검증할 수 있는데 상대방이 내 개인키를 모르므로 서명을 검증할 수 없어 서명하는 의미가 없어진다.
상대방 공개키로 서명: 내 개인키로 서명하는 것은 오직 나 자신만이 가능하지만, 상대방 공개키로 서명하는 것은 개나소나 가능하다. 그래서 이 메일보낸 사람이 나라는 것을 전혀 증명하지 못하므로 서명하는 의미가 없어진다.
상대방 개인키로 서명: 애초에 상대방 개인키를 모르므로 불가능하다.
그러므로 이메일 내용은 상대방 공개키로 암호화하고, 서명은 내 개인키로 한다.
PGP를 이해하는 데 도움이 되었길 바란다.
구독자 3403명
알림수신 19명
컴퓨터를 좋아하는 사람들의 모임
보안
PGP, GPG 간단 이해
추천
1
비추천
0
댓글
3
조회수
192
작성일
댓글
글쓰기
떠도는분재관리사
ㅇㅇ (203.226)
삭제
수정
떠도는분재관리사
최근
최근 방문 채널
최근 방문 채널
번호
제목
작성일
조회수
추천
공지
아카라이브 모바일 앱 이용 안내(iOS/Android)
28175146
공지
컴퓨터공학 채널 규칙 (2023-10-05 개정)
886
공지
빠르게 원하는 답변을 받기 위해 피해야 할 질문 방식
2214
공지
신문고
272
숨겨진 공지 펼치기(1개)
4008
질문/조언
개발자가쓰기좋은 놋북좀 추천해주라
[9]
252
0
4007
python vlc 모듈 도와줄수 있음?
[3]
395
0
4006
와오 내일 첫 출근쓰
[1]
128
0
4005
질문/조언
하드 디스크 구매
[4]
161
0
4004
windows 10 education n 이거 왜 인증이 안되지
79
0
4003
읽을거리
(스압주의) 여기가 이런짤 올리는 채널 맞음?
[13]
1360
18
4002
질문/조언
컴퓨터 그 자체를 가르치는 강의 같은 거 없을까?
[5]
204
0
4001
질문/조언
C언어 응애 도와주세요 ㅠㅠ
[2]
184
0
4000
컴공 특
[2]
250
3
3999
불상한 친구
[4]
188
1
3998
Python
아죠씨들 뉴비 opencv 좀 도와주세여 흑흑
[4]
175
0
3997
오늘 뉴스보다가
[1]
109
0
3996
여기가 컴퓨터 잘 고쳐준다는 챈임?
[5]
200
0
3995
라즈베리파이에 OpenWrt깔아서
81
0
3994
요즘 크런치 모드 불법임?
[3]
280
0
3993
그 외 언어
유니티에서 코나미코드같은거 구현을 하고 싶습니다.
[6]
199
0
3992
해결했습니다 ㅠㅠ
[5]
183
0
3991
여기다가 레딧 프로그래밍 관련 밈 퍼와도 됨?
[2]
167
4
3990
프런트엔드 리엑트 인강 후기
91
0
3989
질문/조언
네트워크 생태에 아무것도 뜨지않습니다
[15]
172
-2
3988
질문/조언
게임하는데 CPU 상태가 이상한데 왜이러는 걸까요?
[27]
282
0
3987
질문/조언
질문좀 하겠습니다...
[7]
120
0
3986
컴공챈이면 컴공과 많음?
[8]
346
0
3985
질문/조언
유니티 검은화면만 뜨는거 해결방법 아는사람?
[1]
472
0
3984
내가 디시인사이드 결국 떠난이유
[8]
873
2
3983
하드웨어
쿨러관련 질문
[3]
124
0
3982
독커를 가상머신이라 생각하는데 맞나?
[7]
161
0
3981
베라보다 이런 채널 있는걸 첨 알았내
[4]
114
1
3980
보안
PGP, GPG 간단 이해
[3]
193
1
3979
리눅스
이미지로 보는 Tails OS 설치 방법
[6]
164
0