티스토리 뷰

Chapter 3 - 2 DES & Round Function의 이야기


DES에서 가장중요한것은 S-box이다. 

8 * 6 = 48bits을 8 * 4 = 32bits으로 바꾸어 다음 Round에 보내주는것이 중요하기 때문이다.


다시 정리하자면 64bits의 암호를 절반으로 나누어 L = 32bits, R = 32bits 두가지로 나눈다. 라운드가 진행될때 L과 R은 서로 자리를 바꾼다. 그다음 L은 R로가서 Key와 Function을 통과하게된다. Function에 들어간 L 32bits은 Expansion을 통과해 48bits이된다.


Key는 64bits와 동일하지만 패킷을 제외시키면 56bits이 된다. 그두가지를 나누면 28bits 28bits이되고 둘을 자리를 이동시킨다.

이동시키는 이유는 키의 자리가 같으면 매 라운드시 키가 항상 같은거만 나오기 때문에 자리를 이동시켜준다.

이동된 key는 다시 합쳐져 56bits에서 48bits으로 변환된다. 


L이 48bits이되었고 key도 48bits이 되었다. 둘은 XOR연산을 한다. 그다음 제일 중요한


S-Box를 통과해 연산된 48bits이 32bits이 되게 한다.


다음은 s-box의 동작모습이다

6bit의 가운데 4bits을 column값으로 사용하고 가장자리 2자리를 row로 사용해 그자리에있는 값을 4bits값으로 출력한다.


DES에서 가장중요한건 s-box의 동작원리이다.

Comments