본문
No. 03 | Cryptography |
# 암호화와 키(Key) |
이번에는 암호학 핵심을 관통하는 암호화와 키에 대한 전체적인 이야기입니다.
1. 대칭키 암호화 (Symmetric-key Cryptography) |
일반적인 암호는 평문을 키값을 이용하여 암호화 하고, 암호문을 같은 키값을 이용하여 복호화가 가능한 '대칭키'를 의미한다. 여기서 '대칭키'란 암호화와 복호화에 사용하는 키값이 같은 것을 의미한다.
두 사람이 암호를 이용한 통신을 한다고 생각해보자. A와 B가 통신을 하는데 '송신자 A'는 키값으로 평문을 암호화하여 보내고, '수신자 B'는 키값으로 암호문을 복호화하여 안전하게 통신을 할 수 있다. 여기서 두 사람이 암호화 통신을 하기 위한 기본 전제 조건이 있다.
'송신자와 수신자는 암호화 통신을 하기 위해서는 같은 키값을 공유하고 있어야 한다.'
문제는 여기서 발생한다.
2. 키의 공유 |
▲ 도청으로 Key 탈취의 위험 (키 배송 문제)
일반적으로 암호에서 사용하는 용어로 '송신자 A' = 엘리스(Alice) / '수신자 B' = 밥(Bob) 으로 지칭한다.
엘리스가 키값을 밥에게 보내지 않으면 밥은 엘리스에게 암호문을 받아도 해당 암호문을 평문으로 복호화 할 수 없다.
하지만 키값을 보내려해도 이를 노린 해커가 키값을 탈취해 암호문을 복호화 할 수도 있다. 이러한 문제점은 암호의 존재의 의미라 할 수 있는, 가장 중요한 기능인 '기밀성'에 치명적인 취약점이 발생한다.
키를 공유 해야하는데 키를 보내지도 못한다. 이것을 '키 배송 문제(key distribution problem)'라 한다. 그렇다고
모든 통신채널을 100% 안전하게 만들 수도 없다. 그렇다면 어떻게 키값을 '불안정한(insecure) 통신채널'을 이용해서 안전하게 공유 할수 있을까?
3. 비대칭키 암호화 (Asymmetric-key Cryptography) |
'키 배송 문제'를 해결하는 방법에는 몇가지 방법이 있다. 그 중에서 '비대칭키 암호화' 방식이 있다.
간단하게 설명하자면 '암호화키'와 '복호화키'가 두개가 존재하는 방식이다.
암호화/복호화 에 사용하는 키가 다르기 때문에 '비대칭키' 라 한다.
암호화에 사용하는 키값은 '누구나 볼수 있는 키' = '공개키(public-key)'
복호화에 사용하는 키값은 '본인만 들고 있는 키' = '개인키(private-key)' 라 한다.
여기서 나온 공개키라는 개념때문에 '공개키 암호화(public-key cryptography)' 방식이라고 부르기도 한다.
기본적인 개념은 다음과 같다.
1. 엘리스는 평문을 '암호화'하기 위해서 '밥의 공개키'를 이용한다.
2. 밥은 수신한 암호문을 '밥의 개인키'를 이용하여 '복호화' 한다.
여러가지 중요한 내용은 이후에 비대칭키에서 다루기로 하고
대칭키 암호화의 키 배송 문제를 해결하기 위해서 나온 개념이 '비대칭키 암호화 / 공개키 암호화' 라는 것만 알고가자.
▶ 본 글이 조금이도 도움이 됐다면 더 많은 사람들이 볼 수 있게
▶ '로그인이 필요없는' 공감 ♡ 버튼을 눌러주세요.
'Basic Knowledge > 암호학' 카테고리의 다른 글
[Cryptography - No.03] 암호와 키(Key) (2) | 2015.03.08 |
---|---|
[Cryptography - No.02] 암호의 역사 (0) | 2015.02.06 |
[Cryptography - No.01] 암호학 분류 (0) | 2015.02.03 |
[Cryptography - No.00] 암호학 시작 (0) | 2015.01.30 |
Tags
트랙백과 댓글 여닫기
Trackback: 0 Comment: 2댓글 목록
-
이정원 Edit/Delete REPLY URL
잘봤습니다. ㅎ2015.04.12 23:57 신고
-
넵 감사합니다.2015.04.13 00:28 신고
-