728x90
🔑 암호
- 두 사람이 안전하지 않은 채널을 통해 정보를 주고받더라도 제 2자는 이 정보의 내용을 알 수 없도록 하는 것
- 기밀성을 보장하기 위한 필수적인 기술
- 평문(plaintext): 원래의 메세지
- 암호문(ciphertext): 코드화된 메세지
- 암호화(encryption): 평문 → 암호문
- 복호화(decryption): 암호문 → 평문
- 키(key): 암호화와 복호화를 위한 가장 중요한 열쇠
🔸암호의 역사
- 초장기엔 주로 군사와 정치적인 목적으로 사용
- 컴퓨터와 통신이 결합됨에 따라 불법 사용자의 봉쇄 또는 데이터 위조 및 변조를 막는 수단으로 이용
- 최근엔 인터넷 뱅킹에 사용되는 공동인증서, 금융인증서, 보안 키패드, 메신저의 비밀 채팅 등에 여러 분야에서 이용
일반적인 암호의 요건(Kerchoff의 원리)
제 3자에게 암호 알고리즘을 알려주더라도 제 3자가 키를 모르면 암호를 풀 수 없다는 것을 가정
1. 고대암호
①전치법(permutation 혹은 transposition cipher)
- 평문에 있는 문자들의 순서를 바꿈으로써 암호화하는 기법
가장 단순한 방식: 두 문자씩 앞뒤로 섞는 방법 | 스파르타의 봉 암호 |
![]() |
![]() |
②치환법(substitution ciper)
- 평문의 문자들을 다른 문자로 치환함으로써 암호화하는 기법
- 치환 규칙에 따라 암호화 및 복호화
시저 암호 평문의 각 문자를 알파벳 순서상 세 문자 뒤에 위치하는 문자로 치환 |
![]() *key ![]() |
시프트 암호 평문의 각 문자를 알파벳 순서상 k번째 뒤 문자로 치환(0 ≤ k ≤ 25) |
![]() *key ![]() |
비즈네르 암호 시프트 암호를 개선한 새로운 치환법으로 키는 여러 개의 정숫값을 사용 |
![]() |
2. 근대암호
- 20세기 들어 암호에 대한 연구가 활발하게 진행됨
- 통신기술의 발전, 기계식 계산기에 대한 연구
- 두 차례의 세계대전을 통해 암호설계와 해독에 대한 필요성 증가
- 1949년 섀넌(shannon)
- 일회성 암호체계(one-time pad)가 안전함을 증명
- 암호체계 설계의 두 가지 기본원칙 제시
- 혼돈(confusion): 평문과 암호문 사이의 상관관계를 숨김
- 확산(diffusion): 평문의 통계적 성격을 암호문 전반에 확산시켜 숨김
3. 현대암호
①표준 암호 알고리즘의 등장
- 컴퓨터가 점차 발전하면서 데이터 보호에 대한 필요성 증가
- 1997년 미국 NBS(현 NIST)에서 표준 암호 알고리즘 공표
- DES(Data Encrytion Standard): 대칭키 암호 알고리즘 → 2001년 새로운 표준 암호 알고리즘인 AES가 공표될 때까지 널리 이용됨
②공개키 암호 알고리즘의 등장
- 1976년 디피(Diffie)와 헬먼(Hellman)이 공개키 암호의 개념을 제시
- 공개키 암호: 암호화와 복호화에 서로 다른 키를 사용
- 1978년 리베스트(Rivest), 샤미르(Shamir), 애들먼(Adleman)이 RSA 공개키 암호 알고리즘 개발
- RSA: 소인수분해 문제에 기반을 둔 대표적인 공개키 암호 알고리즘
✅대칭키 암호
- 암호화와 복호화에 같은 키 하나를 사용하는 암호 방식
- 장점: 암호화와 복호화 속도가 빠름
- 단점: 키 분배 문제 존재
- 대표적인 알고리즘: DES, AES, IDEA 등
블록 암호 평문을 고정된 크기의 블록으로 나누어 각 블록마다 암호화 과정을 수행하여 블록 단위로 암호문을 얻는 대칭키 암호 방식 |
스트림 암호 평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 XOR하여 암호문을 얻는 대칭키 암호 방식 |
![]() |
![]() |
✅공개키 암호
- 암호화와 복호화에 두 개의 서로 다른 키를 사용하는 암호방식
- 공개키: 누구나 공개키를 이용하여 암호화 가능
- 개인키: 오직 자신만 개인키를 이용하여 복호화 가능
- 장점: 키 관리 쉬움, 키 분배 문제 해결
- 단점: 대칭키 암호에 비해 속도가 느림
- 대표적인 알고리즘: RSA, ECC, EIGamal 등
728x90
'KNOU > 컴퓨터보안' 카테고리의 다른 글
[컴퓨터보안] 12. 대칭키 암호 (0) | 2023.05.24 |
---|---|
[컴퓨터보안] 1. 컴퓨터 보안의 개요 (0) | 2023.05.19 |