SangQ

C언어를 사용하여 DES 설계 본문

과제

C언어를 사용하여 DES 설계

SangQ 2009. 12. 12. 19:12

정보보안에서 나오는 기본적인 암호화 프로그램 DES를 설계 해보았습니다.

DES 알고리즘은 그림으로 나타내었다 
▲ 이게 한 싸이클이다. 

이것을

16번 돌려 암호문을 출력하는 형태이다

복호화는 서브키를 꺼꾸로 집어 넣어주면 복호화가 된다.

내가 만든 소스의 구조이다.
함수들과 데스테이블을 통해 암호화하는 형태이다.

▲ 이게 제일 짜증나게 했던 SBOX 함수이다.
다른건 테이블로 돌리기만 하면되는데 sbox는 돌리는 형태가 다르니 ... ㅎㅎ;;

▲ 최종 메인문이다.

프로그램을 돌려보면

▲ 암호화키를 111122223333444 를 넣고 암호화할 메세지를 5555666677778888을 넣어서 실행

▲ 암호화 결과 값이 4A6C3D125AECBEE7 이라고 암호화 되어 나온다.
암호화 하는 중간과정을 다 나오게 해놔서 DES 가 어떻게 돌아가는지 쉽게 볼수있다.


▲ 아까 썼던 키값 111122223333444를 넣고 
복호화 할 메세지 4A6C3D125AECBEE7 넣어서 실행하면

▲ 아까 암호화 했던 메세지 5555666677778888 이 복호화 되어 나온다.

실행 파일입니다.