DES 암호화 프로그램(파이썬)
- 최초 등록일
- 2022.04.29
- 최종 저작일
- 2022.04
- 13페이지/ 한컴오피스
- 가격 1,000원
소개글
"DES 암호화 프로그램(파이썬)"에 대한 내용입니다.
목차
1. 원리
2. 파이썬 소스코드 설명
3. 파이썬 소스코드
4. 실행 결과
[부록] 별도 프로그램을 위한 모듈
본문내용
1. 원리 : DES암호란? (네이버 지식백과에서 인용)
DES(Data Encryption Standard) 알고리즘은 1972년 미 상무부의 NBS(National Bureau of Standards)에서 보안 문제가 대두됨에 따라, 정보 보호를 목적으로 공모한 암호 알고리즘으로, IBM의 바터 투흐만(Water Tuchman)과 칼 마이어(Carl Meyer)가 개발했다. DES는 1977년 1월에 NIST(National Institute of Standards and Technology)에 의해 암호화 표준으로 결정된다. DES는 64비트의 블록 암호화 알고리즘으로 56비트 크기의 암호화키로 암호화된다. 따라서 생성 가능한 암호화키는 최대 256(약 7200조)가지이다. 암호화는 하나의 블록인 64비트를 L1(32비트)과 R1(32비트)으로 나눈 뒤, R1을 암호화키로 생성한 S-Box를 통해 f 함수를 만들어 치환한 후 이 값을 L1과 논리합하고, L2와 R2의 위치를 바꾸는 두 가지 기본 변환을 통해 이루어진다. 이 원리에 대해서는 인터넷에 많은 내용이 있으므로 자세한 설명은 인터넷의 설명을 참고하면 된다.
2. 파이썬 소스코드 설명 : 인터넷에 DES 암호의 원리에 대해 설명한 글이 많으므로 따로 설명하지는 않을 예정이다. 처음에는 직접 코딩을 해보려고 했지만 인터넷을 통해 검색하는 와중에 geekforgeeks 사이트에 훌륭한 소스코드가 있어서 핵심 원리에 대한 부분은 여기서 인용을 하였다. 핵심 원리외에도 16진수와 이진수와 10진수를 서로 변환하는 함수가 앞부분에 있어서 다른 곳에 재사용할 수 있게 공부하는 데에도 좋은 예제라고 생각한다. 암호화 원리를 인터넷에 있는 이론과 비교해보고 싶으면 코드를 분석하면서 이해하면 된다. 그런데 이 소스코드는 고정된 길이의 16진수를 암호화하고 복호화하는지라 임의의 문자열을 입력받아서 암호화 및 복호화가 되는 기능을 추가하여 넣었다.
참고 자료
없음