DES 편집하기
최신판 | 당신의 편집 | ||
18번째 줄: | 18번째 줄: | ||
== 동작 과정 == | == 동작 과정 == | ||
− | + | 1. 먼저 64비트의 평문이 첫 라운드를 거치지 전, IP(initial permutation, 초기치환)를 거친다. | |
− | + | ||
− | + | 2. IP를 거친 후 나온 64비트 값은 각 L0와 R0로 32비트씩 나뉘어 들어간다. | |
− | + | ||
− | + | 3. R0에 해당하는 32비트는 각 키 스케줄에 의해 나온 첫번째 48비트 키와 F 함수에 들어가고 F 함수는 결국 32비트를 도출해낸다. | |
− | + | ||
− | + | 4. 이렇게 생성된 32비트와 L0의 32비트를 XOR해준다. | |
+ | |||
+ | 5. 마지막으로 생성된 32비트를 또 R1에 보내준다. | ||
+ | |||
+ | 이 과정을 16라운드까지 반복해준다. | ||
+ | |||
+ | 6. 마지막 라운드를 거칠때는 L과 R이 반대로 들어가게 된다. | ||
+ | |||
+ | 7. 이후 IP의 역에 들어가게 되고 마지막으로 output인 64비트 암호문을 얻게 된다. <ref name="크로커스"></ref> | ||
== 취약점 == | == 취약점 == |