3DES

3DES
Triple DES(3DES) 또는 Triple Data Encryption Algorithm(TDEA)는 FIPS 승인된 DES 알고리즘의 개선이다.

3DES는 NIST Special Publication 800-67에 기술되어 있다. 원래 명세서는 ANSI X9.52이다.
3DES는 암호화-복호화-암호화(EDE) 모드로 3개의 64비트 DES 키(K1, K2, K3)를 사용한다.
즉, 평문은 K1으로 암호화되고, K2로 복호화되고, K3로 암호화된다. DES-EDE 모드라고도 한다.
3DES 키는 3개(K1, K2, K3)로 구성된다. 3개 키는 키 묶음으로 참조된다. 키 묶음은 3 x 64 = 192비트이다.

ANSI X9.52는 묶음으로 키 선택에 대한 3가지 옵션을 가진다.
1. 3개 상호 독립적인 키
2. 2개 상호 독립적인 키, 3번째 키는 1번째와 같다.
3. 3개 동일한 키의 묶음을 사용한다.


3DES 키가 있을때, 키의 서브키는 무엇인가?

192비트 DES 키를 3개 분리된 64비트 키로 나누는데, 외쪽에서 오른쪽으로 동작된다.
예를 들어, 3DES 키가 헥사 형식으로 192비트 값을 가진다면:
0123456789ABCDEFFEDCBA987654321089ABCDEF01234567
3개 서브키로 나누면, K1, K2, K3, 각 64비트:
 0123456789ABCDEF FEDCBA9876543210 89ABCDEF01234567
|<------K1------>|<------K2------>|<------K3------>|
서브키는 K1=0x0123456789ABCDEF, K2=0xFEDCBA9876543210, K3=0x89ABCDEF01234567이다.


한개의 DES키를 3DES 함수에 사용할 수 있을까?

만약 어떤 것을 같은 키로 암호화하고 복호화하고 다시 암호화 한다면,
그것을 한번 암호화하는 것과 동일하다.
3개 동일한 키를 사용하는 3번째 옵션은 56비트의 키 공간을 가지는 원래의 64비트 DES이다.
3개 키가 동일하면, 3DES 함수를 사용해서 DES 결과가 나온다.
이 옵션은 NIST SP 800-67에서 금지하고 있다.

예를들어, 하나의 DES 키가 0x89ABCDEF01234567라면, 3DES 키는:
 89ABCDEF01234567 89ABCDEF01234567 89ABCDEF01234567
|<------K1------>|<------K2------>|<------K3------>|


2-키 3DES 암호화는?

2-키 3DES는 두번째 옵션으로, K1으로 암호화 하고, K2로 복호화하고, 마지막으로 K1으로 암호화한다.
키 공간은 2 x 56 = 112비트이다.

예를들어, K1=0x0123456789ABCDEF, K2=0xFEDCBA9876543210이면 3DES 키는 0x0123456789ABCDEFFEDCBA98765432100123456789ABCDEF이다.
 0123456789ABCDEF FEDCBA9876543210 0123456789ABCDEF
|<------K1------>|<------K2------>|<------K3------>|


3DES 키는 얼마나 큰가: 192 or 168비트?

3DES 키는 3개의 DES 키를 가진다. DES 키는 64비트를 가지나, 그 중 56비트만 암호화에 사용된다.
그리하여 3DES 키는 3 x 64 = 192비트 이지만, 키 공간은 단지 3 x 56 = 168비트 이다.

만약 3DES 키가 정확히 192비트(24바이트 또는 48 헥사 값)가 아니다면, 맞는 3DES 키가 아니다.

나머지 8비트는 에러 검색 또는 패리티 비트로 사용된다. 이것을 사용하여 키 비트 문자열을 검증한다
(모든 바이트에 홀수 패리티 비트를 가진다).
그러나, 이것을 항상 사용하기는 어렵다. 대부분 사람이나 SW가 키의 패리티 비트를 확인하도록 애쓰지 않고,
단지 패리티 비트의 상태를 무시한다.
다음의 비트 문자열로 표현되는 키가 동일하게 취급되고 같은 평문 입력에 대해 동일한 암호문 출력을 생산하므로 주의해야 한다.
0123456789ABCDEF FEDCBA9876543210 89ABCDEF01234567
0022446688AACCEE FFDDBB9977553311 88AACCEE00224466


동작 모드

X9.52는 3DES에서 7가지 다른 모드를 설명한다.
Electronic Codebook (ECB), Cipher Block Chaining (CBC), 64-bit Cipher Feedback mode (CFB), Output Feedback mode (OFB), Counter mode (CTR),...


참조

NIST Special Publication 800-20 Modes of Operation Validation System for the Triple Data Encryption Algorithm (TMOVS): Requirements and Procedures, April 2000
NIST Special Publication 800-38A Recommendations for Block Cipher Modes of Operation, Methods and Techniques, Morris Dworkin, December 2001.

출처: http://www.cryptosys.biz

by thenine | 2008/07/04 17:53 | 암호 | 트랙백 | 덧글(0)

트랙백 주소 : http://thenine.egloos.com/tb/552007
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶