DES란 Data Encryption Standard의 약자로 데이터 암호화의 표준이라는 뜻을 가지고 있습니다. 

일단 알아보기 앞서서 역사를 말씀드리자면...

 

1973년에 미국 국립표준국(NBS, National Bureau of Standards)에서 1차적으로 공모를 하였습니다.

하지만 아무도 지원을 하지 않았습니다. 

 

1974년에 NBS가 미국 국립표준 연구소(NIST,National Institute of Standards and Technology)로 명칭을 변경

이후에 2차로 공모를 하여 국제적인 표준으로 만들고자 하였고, 이때 제출된 암호가 표준으로 사용되게 되었습니다.

그럼 바로 사용이 가능했던 것은 아니고 NIST에서 약간의 검증과정을 거쳐서  1977년 암호화 모듈에 대한 보안요구

사항을 규정하는 미국 연방 정보처리 표준의 FIPS-46(Federal Information Processing Standardization)록이 되

어 현재의 DES가 사용이 시작되었고 5년마다 DES에 대한 안정성을 검토하고 있습니다.

 

공모조건은 다음과 같습니다.

1. 높은 안전성

2. 알고리즘 간단

3. 안전성이 키에만 의존

4. 응용이 다양

5. 제작자 및 사용자가 이용 가능

6. 전자장치 간단

7. 제작자의 알고리즘 타당성 검토 협력

8. 수출가능

 

이러한 공모조건을 가지고 탄생한 DES암호는 어떠한 특징을 가지고 있냐하면\

첫번째로 DES는 64bit의 블록암호이기 때문에 어떠한 긴 평문이 있다고 하더라도 64bit씩 블록단위로 암호화를 합니다.

그리고 이 암호는 표준화가 되었고 30년동안 사용되었습니다. 왜냐하면 컴퓨팅 능력과 기술이 발전하면서 더이상 안전

하지 않다고 판단이 되어서 지금은 사용하지 않지만 지금도 연구가 활발히 되고있으며 DES를 변형시킨 3DES라는 이름

으로 오늘날 널리 사용되는 안전한 암호가 있습니다.

 

암호화 과정

 

64bit의 블록암호이기 때문에 64bit 단위로 암호화가 되고 키는 64bit이지만 나머지 8bit는 패리티 비트(오류발생 방지)로

사용이되어 실질적으로는 56bit가 사용이됩니다. 그렇게 평문과 키를 연산하여 나오는 64bit 길이의 암호문이 완성됩니다. 

키에서 사용되는 8bit의 패리티비트는 키를 전송하는 과정에서 오류가 발생했을 시에 확인하는 용도로 사용됩니다.

 

그럼 암호화된 암호문을 복호화할때도 동일하겠죠?

 

암호기술 분야에서의 DES 

 

위의 그림에서 볼 수 있듯이 DES는 대칭키 암호이면서 블록암호이기 때문에 64bit씩 블록단위로 암호화가 됩니다.

반대로 스트림암호는 블록암호와 다르게 블록단위로 암호화를 진행하지 않고 한번에 암호화를 하는 암호방식 입니다.

 

블록암호의 특징

 

1. 혼동 (Confusion)

    - 키와 암호문의 관련성을 모호하게 하는 암호화 연산

    - 일반적인 혼동요소는 환자(Substitution)이고 DES와 AES에서 발견  

2. 확산 (Diffusion)

    - 평문의 통계적 특성을 숨기기 위한 목즉으로 하나의 평문기호의 영향이 많은 암호문 기호에 퍼지도록 하는 연산 

    - 단순환 확산요소는 비트 전치(Bit Permutation)으로 DES에서 많이 사용된다. 

 

위의 두가지 방식이 있지만 혼동만 수행하는 환자암호, 확산만 수행하는 전치 암호만으로는 안전성을 만족하지 못합니다.

왜냐하면 결국 경우의 수가 존재하기 때문이죠 그래서 확률을 높이기 위해서 두연산을 혼합하게 되는데 이것을 곱 암호

(Product ciphers) 라고 합니다.

 

 

+ Recent posts