New World
[컴퓨터 보안 #2] 암호의 개념 본문
1. 암호의 정의
암호: 기밀성을 보장하기 위해 사용, 안전하지 않은 채널을 통해 정보를 주고 받아도 제 3자는 정보의 내용을 모르는 것
키: 암호화와 복호화를 위한 열쇠
2. 암호의 역사
고대 암호
스테가노그래피: 전치법, 치환법을 사용
- 밀랍(키)에 중요한 정보를 숨겨 전달하였으며 제 3자가 키를 알고 있기 때문에 암호라 불리기 어려움
전치법 : 평문에 있는 문자들의 순서를 바꿈
- 두 문자씩 앞뒤로 섞는 방법
- ex) 스파르타의 봉 암호
치환법 : 평문의 문자들을 다른 문자로 치환
- 시저 암호 : 각 문자를 알파벳 순서로 세 번째 뒤 문자로 치환
- 시프트 암호 : 각 문자를 알파벳 순서로 K 번째 뒤 문자로 치환
- 비즈네르 암호 : 시프트 암호에서 여러 개의 정수 값을 키로 이용한 것
근대 암호
- 20세기 통신 기술의 발전, 해독에 대한 필요성이 증가
섀넌(1949) : 일회성 암호체계가 안전함으로 혼돈과 확산을 제시
혼돈 : 평문과 암호문 사이의 상관관계를 숨김
확산 : 평문의 통계적 성격을 암호문 전반에 확산시켜 숨김
현대 암호
표준 암호 알고리즘 : DES(대표적인 알고리즘, 1977), AES(2001)
공개키 암호 알고리즘 : 키를 공개하는 암호화와 복호화에 서로 다른 키를 사용하는 암호
- RSA : 공개키 암호 중 하나로 소인수분해 문제 기반의 암호
3. 대칭키 암호의 개념
대칭키 암호 : 암호화와 복호화에 하나의 같은 키를 사용
- 빠른 속도 but 키 분배 문제가 존재
- ex) DES, AES, IDEA 등
블록 암호 : 평문을 고정된 크기의 블록으로 나눠 각 블록마다 암호화 과정을 통해 블록단위로 암호문
스트림 암호 : 평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트 단위로 XOR 하여 암호문
4. 공개키 암호의 개념
공캐키 암호 : 암호화와 복호화에 두 개의 서로 다른 키를 사용
- 누구나 공개키를 이용하여 암호화
- 개인키 : 오직 자신만 개인키를 이용하여 복호화
- 키 관리가 쉬우며 키 분배 문제도 해결 but 느린 속도
- ex) RSA, ECC(타원곡선 암호 알고리즘), ElGamal 등
'Self-Study > Study' 카테고리의 다른 글
[컴퓨터 보안 #6] 네트워크 보안 (0) | 2022.04.27 |
---|---|
[컴퓨터 보안 #5] 서버 보안 (0) | 2022.04.27 |
[컴퓨터 보안 #4] 사이버 공격 (0) | 2022.04.27 |
[컴퓨터 보안 #3] 인증 (0) | 2022.04.27 |
[컴퓨터 보안 #1] 컴퓨터 보안의 개요 (0) | 2022.04.26 |