이전의 포스팅에서 Shannon의 Confusion/Diffusion에 대한 용어를 사용하였는데

Shannon, 풀 네임 Claude Elwood Shannon (1916-2001)이 제안한
Confusion (혼돈) 과 Diffusion (확산)을 간단히 정리하면 다음과 같습니다.

Confusion : 평문과 암호문 사이의 관계를 알기 어려워야 함,
Confusion : 다시 말해 평문 1 비트의 변화가 암호문에 어떤 변화를 초래할 지 예측할 수 없어야 함

Diffusion : 평문을 구성하는 각각의 비트들의 정보가 여러개의 암호문 비트에 영향을 미쳐야 함

뭐 당연한 말이지만 ...

혼돈이론에 따르면,
0x0000을 암호화 했더니 0xFFFF가 나왔다, 그래서 0x0001을 암호화 했더니 0xFFFE 가 나왔다 ...
이런식으로 되면 안된다는거지요
0x0000을 암호화 했더니 0xFFFF가 나왔다, 그래서 0x0001을 암호화 했더니 0x4F9B 가 나왔다 ...
이런식으로 ... 1비트의 입력 변화에 따른 출력을 예측할 수 없어야 합니다

확산이론에 따르면 0x0000 과 0x0001을 암호화 할 경우,
비록 입력 1비트가 변화했지만 그 1비트가 암호문의 여러 비트에 영향을 주어야 합니다.

앞에서 SPN 구조가 Confusion과 Diffusion의 원리를 이용한다 언급하였지요
그 SPN 구조의 AES 알고리즘을 예를 들면
ByteSub Layer(S-Box)가 Confusion을 위해
Shift row/MixColumb Layer가 Diffusion을 위해 존재한다 보시면 됩니다.

출처 - http://reinliebe.tistory.com/

+ Recent posts