본문 바로가기

Crypto

DES의 특성 [Crypto]

- 앞에 포스팅한 DES암호의 암·복호화 과정을 참고해주시기 바랍니다.

https://ohs-o.tistory.com/22

 

DES 암호 [Crypto]

DES : Data Encryption Standard 1970년대, 안전한 암호의 이용에 대한 요구가 증가했습니다. 1, 2차 세계대전이 끝난 이후 암호 시스템을 민간인도 사용할 수 있게 해달라고 요구가 생기게 됩니다. 1973년 5월, N..

ohs-o.tistory.com

DES암호는 안전하기로 유명하고 그렇기에 여러 학자들이 특성을 찾으려 노력합니다. DES의 특성중 하나는 보수특성(Complementation property)입니다. 보수특성은 '암호문이 어떤 평문과 키 암호문의 보수 이면 해당 암호문을 알 수 있다.' 입니다.

- '보수는 수를 보충한다' 라는 의미를 갖고 있고 컴퓨터 시스템은 2진수를 이용하기 때문에 최대 숫자는 1입니다. 즉 0에 대한 1의 보수는 1, 1에 대한 1의 보수는 0이 됩니다. 'n 이라는 숫자가 m 이 되기 위해 필요한 숫자는 몇인가?' 입니다. 그렇기 때문에 2진수의 특성상 '0101 1111' 이라는 수가 이다면 해당 수를 반대로 뒤집어 주기만 하면 됩니다. '1010 0000'으로 말이죠.


DES 의 보수 특성은 다음과 같습니다.

- 평문 M = 77(0111 0111), K = F0(1111 0000) 일 때 C = 4A(0100 1010) 이었다면,

- 평문 M = 88(1000 1000), K = 0F(0000 1111) 일 때 C = B5(1011 0101) 이다.

- 해당 보수특성을 이용하면 선택 평문공격(Chosen-Plaintext Attack)에 필요한 시간을 반으로 줄일 수 있습니다.

암호 해독에 대한 공격자 유형은 다음 포스팅에 설명되어 있습니다.

https://ohs-o.tistory.com/20

 

암호의 해독 [Crypto]

해독이란 암호화, 복호화 키를 모르는 상태로 평문 또는 키에 대한 정보를 찾는 것입니다. 세상에는 여러 암호가 존재하고 이러한 암호들은 알고리즘을 공개하여 여러 학자들 에게 검증을 받고 알려질수록 더욱 안..

ohs-o.tistory.com

- 평문의 보수 + 키의 보수 = 암호문의 보수


보수 특성을 이용한 공격 방법은 다음과 같습니다.

- 공격자는 다음 2개의 암호문을 생성합니다. '공격자가 마음대로 고른 평문을 암호화', '해당 평문의 보수를 암호화' 키를 마음대로 골라 암호화를 했을 때 미리 해놓은 암호문과 똑같으면 키를 잘 찍어낸 것입니다. 보수 특성을 이용하지 않고 정상적인 방법으로 암호화 했을 때 순서는 임의의 키 K를 이용하여 M(평문)을 암호화한 뒤 암호문 C와 비교하는 것입니다. 56비트의 키를 이용하기 때문에 최악의 경우 2^56번 시도를 해야합니다. 하지만 보수특성을 이용하여 공격을 시도한다면 임의의 키 K를 이용하여 암호화한 결과가 C_(C의보수)라면 키는 K의 보수가 됩니다. 즉 암호화 연산 1번으로 2개의 키를 검증할 수 있습니다. 정리하자면 해당 암호문의 미리 정해놓은 암호문의 보수와 같다면 그 암호문의 키의 보수가 키값이됩니다. 해당 보수특성을 사용하면 해독시간을 절반으로 줄일 수 있지만 그렇다고 2^56번의 공격시도가 2^28번이 되는 것이 절대 아닙니다. 2^56 / 2 가 되므로 2^55번의 공격시도를 최악의 경우 해야됩니다.


DES의 특성 중 취약키(Weak Keys)가 있습니다. DES는 4개의 취약한 키를 갖고있고 여기서 취약키는 암호화 연산과 복호화 연산이 동일한 값을 갖는 경우입니다. 즉 모든 서브키가 같습니다. 취약키는 다음과 같습니다.

0  1  0  1  0  1  0  1  0  1  0  1  0  1  0  1
F  E  F  E  F  E  F  E  F  E  F  E  F  E  F  E
1  F  1  F  1  F  1  F  0  E  0  E  0  E  0  E
E  0  E  0  E  0  E  0  F  1  F  1  F  1  F  1

<취약키>

또한 DES는 6개의 쌍으로 구성된 유사 취약키(Semi-Weak Keys)를 갖습니다. 유사 취약키는 서브키가 두 개의 키로만 구성되는 경우입니다. 유사 취약키는 다음과 같습니다.

0  1  1  F  0  1  1  F  0  1  0  E  0  1  0  E
1  F  0  1  1  F  0  1  0  E  0  1  0  E  0  1
0  1  E  0  0  1  E  0  0  1  F  1  0  1  F  1
E  0  0  1  E  0  0  1  F  1  0  1  F  1  0  1
0  1  F  E  0  1  F  E  0  1  F  E  0  1  F  E
F  E  0  1  F  E  0  1  F  E  0  1  F  E  0  1
1  F  E  0  1  F  E  0  0  E  F  1  0  E  F  1
E  0  1  F  E  0  1  F  F  1  0  E  F  1  0  E
1  F  F  E  1  F  F  E  0  E  F  E  0  E  F  E
F  E  1  F  F  E  1  F  F  E  0  E  F  E  0  E
E  0  F  E  E  0  F  E  F  1  F  E  F  1  F  E
F  E  E  0  F  E  E  0  F  E  F  1  F  E  F  1

<유사 취약키>


DES Cracker - 연산속도 : 10^6 ops/㎲ (2004년 대략 , $250,000)

DES Cracker

- DES암호를 해독하기위해 만들어진 컴퓨터입니다.

반응형

'Crypto' 카테고리의 다른 글

비밀키 암호시스템 MOO(Modes Of Operation)  (0) 2020.03.09
3(Triple)-DES [Crypto]  (0) 2020.03.05
DES 암호 [Crypto]  (0) 2020.02.28
암호의 해독 [Crypto]  (0) 2020.02.23
Visual Cryptography [Crypto]  (0) 2020.02.23