본문내용
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
이제 위의 비트열에 암호화 키 로부터 만들어 낸 보조키 수열(PC-2)을 더한다.(이때 하는 연산은 XOR 연산이다.)
치환E : 000000 000000 000000 000000 001100 001110 101001 011000
PC-2 : 000010 101000 000001 101101 101101 010110 000101 010001
XOR 연산 :
000010 101000 000001 101101 100001 011000 101100 001001
가 된다.
(과정 8) S-box 치환
이제 S-box로 이 수열을 처리할 차례이다. 확장치환에서 48비트로 바뀐 수열은 각각 6비트씩 8비트로 나뉜 다음, 8개의 S-box 치환을 거친다. 여기서 S-box는 우리 교재 (현대 암호학. 교우사 이민섭 저) P.126~127 을 참고했음을 알린다.
연산
000010
101000
000001
101101
100001
011000
101100
001001
S-box
4
10
13
13
11
6
7
10
2진수
0100
1010
1101
1101
1011
0110
0111
1010
연산 을 통하여 나온 값을 S-box를 이용하여 각각 4비트의 8개의 결과가 나오며, 이것을 모두 합쳐 놓으면 32bit 수열인,
0100 1010 1101 1101 1011 0110 0111 1010
이 된다.
(과정 9) P-box 치환
S-box 치환을 통해서 나온 32bit 수열을 이번엔 32bit의 P-box를 이용하여 치환을 실행한다.
치환 P
16
7
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
S-box 치환 : 0100 1010 1101 1101 1011 0110 0111 1010
P-box 치환 : 1110 1111 0011 1011 1001 0101 1100 1000
으로 치환이 된다.
이제 마지막 과정을 남겨두고 있는데, 이번 과정은 와 P-box 치환문을 연산 하면 되는 것이다.
(과정 10) 와 P-box 치환의 연산
1111
1111
1010
1000
1101
1110
1111
0101
P-box
1110
1111
0011
1011
1001
0101
1100
1000
0001
0000
1001
0011
0100
1011
0011
1101
이번에는 교재 P.125 를 참고하면, 이 그대로 이 되고, 과 P-box 의 의 연산과정을 통해서 나온 bit열이 서로 순서가 바뀌어서 새로운 과 이 되는 것을 확인 할 수 있다. 하지만 원래의 목적은 1라운드 회전이었기 때문에, 16라운드 회전까지 하지 않고, 여기서 바로 DES알고리즘의 마지막 과정인 역치환 과정을 들어가도록 하겠다.
(과정 11) IP 역치환
원래의 DES는 과정 2의 좌우분리를 16라운드를 진행하여 과 을 얻고 난 다음, 다음 과정(암호화 K 를 생성하는 과정)을 실행해야 하지만, 와 로 좌우를 다시 바꾼 64비트 블록( 와 )에 초기치환IP의 역인 역치환 를 적용한다.
그러므로,
원래의 를 으로 바꾸면,
= 0000 0000 0000 0000 0110 0111 0100 1100
이 되고,
와 P-box 의 연산과정의 연산과정을 통해 나온 bit열을 으로 바꾸면,
= 0001 0000 1001 0011 0100 1011 0011 1101
역치환
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
이 된다.
과
역치환
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
위의 표를 이용하여 역치환 을 해보면,
그러므로, 평문 I LOVE YOU 를 K = PHY9031 을 이용하여
DES 알고리즘을 이용하여 암호화 하면,
00101010 00101100 00000111 00001011
10100010 00000110 00001101 00100000
라는 64bit 암호문을 얻을 수 있다.
(후 기)
이번 과제를 시작하면서, 이해가 되지 않는 부분이 많아서 교수님께 매 시간마다 질문 드렸던 것으로 기억합니다. 그 질문들이 결실이 되어 오늘의 이 레포트가 되었습니다. 쉽지 않은 레포트였던만큼 언제 이렇게 열심히 공부를 했던가. 라는 생각도 들었고, 원래 수학을 좋아하던 놈이라서 그런지, 다른 레포트와는 다르게 정말 열심히 재미있게 열의를 가지고 해 낼 수 있었던 것 같습니다.
제가 무엇이든 하다가 막히면 그 막히는 것을 해결할 때 까지는 기를 쓰고 달려들려고 합니다. 그리고나서 그 문제를 해결하면 그 해결했다는 승리감이 좋아서 더더욱 기를 쓰고 어려운 문제에 도전을 하고 그러는 것 같습니다. 이번 문제. 이번 레포트 정말 쉽진 않았지만. 해결해 보려고 일주일 넘는 시간동안 공부를 했고, 결국 해냈습니다.
한편으로는 이런 과제를 내 주신 교수님께 너무 감사드리고, 앞으로 더욱 성실한 모습 보여드릴꺼라 약속 드리겠습니다. 항상 열의를 가지고 수업에 임해주시는 양정모 교수님. 남은 1학기 강의 시간도 열정있는 강의. 재미있는 강의 부탁드립니다.
지난 시간동안 수고많으셨습니다. (__) 제자 박 호 연 올림.
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
1
0
1
0
0
1
1
1
0
0
0
1
1
0
0
0
이제 위의 비트열에 암호화 키 로부터 만들어 낸 보조키 수열(PC-2)을 더한다.(이때 하는 연산은 XOR 연산이다.)
치환E : 000000 000000 000000 000000 001100 001110 101001 011000
PC-2 : 000010 101000 000001 101101 101101 010110 000101 010001
XOR 연산 :
000010 101000 000001 101101 100001 011000 101100 001001
가 된다.
(과정 8) S-box 치환
이제 S-box로 이 수열을 처리할 차례이다. 확장치환에서 48비트로 바뀐 수열은 각각 6비트씩 8비트로 나뉜 다음, 8개의 S-box 치환을 거친다. 여기서 S-box는 우리 교재 (현대 암호학. 교우사 이민섭 저) P.126~127 을 참고했음을 알린다.
연산
000010
101000
000001
101101
100001
011000
101100
001001
S-box
4
10
13
13
11
6
7
10
2진수
0100
1010
1101
1101
1011
0110
0111
1010
연산 을 통하여 나온 값을 S-box를 이용하여 각각 4비트의 8개의 결과가 나오며, 이것을 모두 합쳐 놓으면 32bit 수열인,
0100 1010 1101 1101 1011 0110 0111 1010
이 된다.
(과정 9) P-box 치환
S-box 치환을 통해서 나온 32bit 수열을 이번엔 32bit의 P-box를 이용하여 치환을 실행한다.
치환 P
16
7
20
21
29
12
28
17
1
15
23
26
5
18
31
10
2
8
24
14
32
27
3
9
19
13
30
6
22
11
4
25
S-box 치환 : 0100 1010 1101 1101 1011 0110 0111 1010
P-box 치환 : 1110 1111 0011 1011 1001 0101 1100 1000
으로 치환이 된다.
이제 마지막 과정을 남겨두고 있는데, 이번 과정은 와 P-box 치환문을 연산 하면 되는 것이다.
(과정 10) 와 P-box 치환의 연산
1111
1111
1010
1000
1101
1110
1111
0101
P-box
1110
1111
0011
1011
1001
0101
1100
1000
0001
0000
1001
0011
0100
1011
0011
1101
이번에는 교재 P.125 를 참고하면, 이 그대로 이 되고, 과 P-box 의 의 연산과정을 통해서 나온 bit열이 서로 순서가 바뀌어서 새로운 과 이 되는 것을 확인 할 수 있다. 하지만 원래의 목적은 1라운드 회전이었기 때문에, 16라운드 회전까지 하지 않고, 여기서 바로 DES알고리즘의 마지막 과정인 역치환 과정을 들어가도록 하겠다.
(과정 11) IP 역치환
원래의 DES는 과정 2의 좌우분리를 16라운드를 진행하여 과 을 얻고 난 다음, 다음 과정(암호화 K 를 생성하는 과정)을 실행해야 하지만, 와 로 좌우를 다시 바꾼 64비트 블록( 와 )에 초기치환IP의 역인 역치환 를 적용한다.
그러므로,
원래의 를 으로 바꾸면,
= 0000 0000 0000 0000 0110 0111 0100 1100
이 되고,
와 P-box 의 연산과정의 연산과정을 통해 나온 bit열을 으로 바꾸면,
= 0001 0000 1001 0011 0100 1011 0011 1101
역치환
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
이 된다.
과
역치환
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
0
0
0
1
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
1
0
0
0
0
0
위의 표를 이용하여 역치환 을 해보면,
그러므로, 평문 I LOVE YOU 를 K = PHY9031 을 이용하여
DES 알고리즘을 이용하여 암호화 하면,
00101010 00101100 00000111 00001011
10100010 00000110 00001101 00100000
라는 64bit 암호문을 얻을 수 있다.
(후 기)
이번 과제를 시작하면서, 이해가 되지 않는 부분이 많아서 교수님께 매 시간마다 질문 드렸던 것으로 기억합니다. 그 질문들이 결실이 되어 오늘의 이 레포트가 되었습니다. 쉽지 않은 레포트였던만큼 언제 이렇게 열심히 공부를 했던가. 라는 생각도 들었고, 원래 수학을 좋아하던 놈이라서 그런지, 다른 레포트와는 다르게 정말 열심히 재미있게 열의를 가지고 해 낼 수 있었던 것 같습니다.
제가 무엇이든 하다가 막히면 그 막히는 것을 해결할 때 까지는 기를 쓰고 달려들려고 합니다. 그리고나서 그 문제를 해결하면 그 해결했다는 승리감이 좋아서 더더욱 기를 쓰고 어려운 문제에 도전을 하고 그러는 것 같습니다. 이번 문제. 이번 레포트 정말 쉽진 않았지만. 해결해 보려고 일주일 넘는 시간동안 공부를 했고, 결국 해냈습니다.
한편으로는 이런 과제를 내 주신 교수님께 너무 감사드리고, 앞으로 더욱 성실한 모습 보여드릴꺼라 약속 드리겠습니다. 항상 열의를 가지고 수업에 임해주시는 양정모 교수님. 남은 1학기 강의 시간도 열정있는 강의. 재미있는 강의 부탁드립니다.
지난 시간동안 수고많으셨습니다. (__) 제자 박 호 연 올림.
소개글