#암호 #암호문 #암호화 #복호화 #키 #전치법 #치환법 #대칭키 #공개키 #키분배 #DES #IDEA #RSA #AES #ECC #ElGamal
암호의 정의
암호의 정의
- 두 사람이 안전하지 않은 채널을 통해 정보를 주고 받더라도, 제 3자는 정보의 내용을 알 수 없도록 하는 것.
- 암호화와 복호화는 “키” 를 통해 수행되며, 이 키는 암호화, 복호화를 위한 가장 중요한 열쇠가 된다.
암호의 구성요소 | 설명 |
---|---|
평문 | plaintext. 원래의 메시지. |
암호문 | cipthertext. 코드화된 메시지. |
암호화 | encryption. 평문을 암호문으로 변환하는 것. |
복호화 | decryption. 암호문을 평문으로 변환하는 것. |
키 | 암호화와 복호화에 사용되는 요소 |
고대 암호
전치법 (전치 암호, 순열 암호)
- permutation 혹은 transposition cipher
- 평문에 있는 문자들의 순서를 바꿈으로써 암호화하는 기법
- e.g. 스파르타의 봉 암호 : 기원전 400년대 스파르타 사람들이 군사용으로 사용하던 암호방식
- 여기서 키는 순서를 뒤섞는 방법 이 된다. 스파르타의 봉 암호의 키는 “봉의 굵기” 가 됨.
치환법
- substitution cipher
- 평문의 문자들을 다른 문자로 치환(바꿈)함으로써 암호화하는 기법
- 치환 규칙에 따라 암호화 및 복호화를 한다.
시저 암호
- 평문의 각 문자를 알파벳 순서상 세 문자 뒤에 위치하는 문자로 치환
- (암호화) APPLE -> DSSOH
- (복호화) DSSOH -> APPLE
시프트 암호
- 평문의 각 문자를 알파벳 순서상 k 번째 뒤 문자로 치환 (0 <= k <= 25)
- 예를 들어 5번째 뒤의 문자로 치환한다면
- (암호화) APPLE -> FUUQJ
- (복호화) FUUQJ -> APPLE
현대 암호
대칭키 암호
대칭키 암호의 개념
- 암호화와 복호화에 같은 키(비밀키) 하나를 사용하는 암호방식
- 장점 : 암호화와 복호화의 속도가 빠르다.
- 단점 : 키 분배 문제 존재
- 키 분배 문제 : 키를 제 3자에게 노출하지 않으면서, 송신자가 수신자가 공유하기 어려움. (도중 탈취 가능성)
- 대표적인 알고리즘 : DES, AES, IDEA 등
대칭키 암호 알고리즘은 이름 중간에 E 가 들어간다.
블록 암호와 스트림 암호
- 블록 암호 : 평문을 고정된 크기의 블록으로 나눈 뒤, 각 블록마다 암호화 과정 수행
- 스트림 암호 : 평문과 같은 길이의 키 스트림을 생성해, 평문과 키를 비트 단위로 XOR 하여 암호화 함
공개키 암호
- 암호화와 복호화에 두 개의 서로 다른 키를 사용하는 암호 방식
- 암호화 때는 공개키를 이용해 암호화 하며, 복호화 때는 개인키를 이용해 복호화할 수 있다.
- 공개키 : 누구나 공개키를 이용해 암호화할 수 있음
- 개인키 : 오직 키 소유 주체 자신만 개인키를 이용해 복호화할 수 있음
- 장점 : 키 관리가 쉬우며, 키 분배 문제가 없음
- 단점 : 대칭키 암호에 비해 속도가 느림
- 대표적인 알고리즘 : RSA, ECC, ElGamal 등.
Comments