Cryptography, Kerckhoffs' Principle, 암호 알고리즘과 키 길이, 분류

728x90

 

암호기술이란?

-> 통신 당사자 간 메세지 전달 과정을 보호하고 컴퓨터에 저장된 메세지를 보호하기 위한 수학적 기술이다.

 

Cryptology(암호학) -> 암호를 만들거나 해독하는 '학문'

Cryptography(암호기술) -> 암호를 만드는 기술

Cryptananlysis(암호분석) -> 암호를 해독하는 행위

Crypto(암호) -> 포괄적인 용어

 

실용적인 암호 설계의 6가지 원칙 - 케르크호프스의 원리(Kerckhoffs' Principle)

1. 시스템은 수학적으로는 아니더라도 실질적으로 해독할 수 없어야한다.

2. 비밀을 요구하지 않아야 하며, 적의 손에 넘어가도 문제가 되지 않아야한다.

-> 암호 매커니즘에 크리티컬한 비밀이 요구되어서는 안된다는 말인듯.

3. 키를 전달하고 기억할 수 있어야 하며, 통신원이 마음대로 키를 변경하거나 수정할 수 있어야 한다.

4. 전신 통신에 적용 가능해야 한다.

5. 휴대할 수 있어야 하며, 여러 사람이 취급하거나 조작할 필요가 없어야 한다.

6. 시스템은 사용하기 쉬워야 하며, 사용자가 긴 규칙 목록을 알고 준수하도록 요구해서는 안 된다.

 

암호 알고리즘에서 사용되는 용어

1. 안정성 수준

- 시스템이 어느 정도의 보안강도를 만족해야 하는지를 의미

 

2. 완전한 탐색(exhaustive search)

- 모든 가능한 키를 찾아내는 것

 

3. N비트 키: 2^n개

-  암호 알고리즘의 비트 중에서 키를 찾기 위해서는 평균적으로 2^n-1번의 시도가 필요함

 

4. 보안강도

- 암호 알고리즘이나 시스템의 암호키 또는 해시함수의 취약성을 찾아내는 데 소요되는 작업량을 수치화한 것.

 

보안강도 대칭키 암호 알고리즘
(보안강도)
해시함수
(보안강도)
공개키 암호 알고리즘 암호알고리즘 안정성 유지기간 (년도)
인수분해
(비트)
이산대수 타원곡선
암호(비트)
공개키 (비트) 개인키 (비트)
112 112 112 2048 2048 224 224 2011년에서
2030년까지
128 128 128 3072 3072 256 256 2030년 이후
192 192 192 7680 7680 384 384
256 256 256 15360 15360 512 512

 

-> 암호 알고리즘과 키 길이 선택 기준

: 암호 알고리즘과 키 길이는, 암호 알고리즘의 안전성 유지기간과 보안강도 별 암호 알고리즘 키 길이 비교표, 암호키의 사용 유효기간을 기반으로 선택한다.

 

암호기술의 분류

1. 해시함수

- Modification Detection Code(MDC) -> 무결성. MD5/SHA-2/SHA-3 등

- Message Authentication Code(MAC) -> 무결성+인증. HMAC(key-Hashed MAC)

 

2. 대칭키 암호기술

- 스트림 암호기술 > 기밀성(RC4)

- 블록 암호기술 > 기밀성+인증(AES, SEED, HEIGHT)

 

3. 비대칭키 암호기술

- 공개키 암호기술 -> 기밀성+인증+부인방지(DH,RSA,EIGamal, ECC)

 

여기서, 해시함수는 일방향 암호기술, 대칭키/비대칭키는 양방향 암호기술이다.

728x90