본문 바로가기
개발 및 운영/프로그래밍

C로 DES 구현!

by Joseph.Lee 2015. 7. 31.

2015.06.19. 09:54



학교에서 정보보호 시간에 DES에 대해 배웠는데 한번 직접 짜 봤습니다.

약 2시간 정도 걸렸네요~


선생님이 만드신 PPT자료를 보고 만들었는데 자료에는 비트순서가 잘 나와있지 않아...

실제 사용되는 DES알고리즘과는 차이가 있습니다.

(2016-03-21 수정 - Standard에 맞게 수정함)


이건 그냥 DES알고리즘 자체만 구현한 것이니 그냥 참고용으로만 보세요~

절대! 이 소스를 실제상황에서 사용하면 안됩니다!

솔직히 효율성도 떨어지는 소스구요...ㅠ

비트 순서 바꾸는 방법이 잘 생각이 안나 미리 지정된 테이블을 통해 막무가네로 바꿔버립니다.ㅎ




KEY         :

0f 15 71 c9 47 d9 e8 59


ROUND KEY : 78 33 c3 20 da 70 2b 1a 74 ca 48 d8 8c 78 d8 81 d3 1d 16 67 78 93 16 a0 ce 5d 01 d8 0b 25 4b ab 4d 12 6a 9c 09 f4 8b 71 31 91 71 0d ea a3 20 2b 12 9a b8 33 47 c3 9c 38 66 1e 81 03 a2 6e 4c c6 65 44 48 77 24 68 a3 c8 c0 9d 79 f0 d4 0b c5 e2 63 4e 16 2a a3 df 82 9c 79 68 a6 12 0b 4d 4c 25


PLAIN  TEXT :

02 46 8a ce ec a8 64 20


CIPHER TEXT : da 02 ce 3a 89 ec ac 3b


DECODE TEXT :

02 46 8a ce ec a8 64 20 




대충 잘 되네요~ㅎ

아 근데 전 DES가 56bit key size을 사용해서 진짜 56bit(7byte)을 입력키로 사용하는 줄 알았는데

DES을 배우다 보니 key 입력을 64bit(8byte)으로 받고 중간중간8bit을 잘라 56bit으로 바꿔 사용하네요~

반응형

댓글