Triple DES(c언어) report 보안 보고서 프로그램 프로그래밍 언어 보고서(고려대)
- 최초 등록일
- 2024.01.19
- 최종 저작일
- 2023.06
- 32페이지/ MS 워드
- 가격 4,000원
소개글
"Triple DES(c언어) report 보안 보고서 프로그램 프로그래밍 언어 보고서(고려대)"에 대한 내용입니다.
목차
I. 프로그램 개요
1. 입력 데이터 처리
2. 동작 모드 결정
3. Triple DES 연산
4. 블록 처리와 패딩
5. 중간 결과 출력
6. 결과 파일 저장
7. 안전성과 현대적 쟁점
II. 프로그램 설계
III. 프로그램 데이터 설명
1. BLOCK_SIZE
2. INITIAL_PERMUTATION
3. FINAL_PERMUTATION
4. KEY_PERMUTATION_1
5. KEY_PERMUTATION_2
6. EXPANSION
7. S_BOX
8. PERMUTATION
IV. 프로그램 흐름 설명
1. Bitset
2. KeySet
3. SubKey
4. Block
5. RoundKeys
6. HalfBlock
7. Bit32
V. 프로그램 평가
본문내용
1. 입력 데이터 처리: 프로그램은 사용자로부터 두 개의 키 파일(key.txt)과 대상 데이터 파일(plaintext.txt 또는 ciphertext.txt)을 입력 받는다. 이 키들은 64비트의 길이를 가지며, 이 중 56비트는 실제 키 데이터를 담당하고, 8비트는 패리티 비트로 구성된다. 패리티 비트는 데이터 무결성을 검사하는 데 사용된다. 대상 데이터 파일은 암호화하거나 복호화 할 내용을 포함한다.
2. 동작 모드 결정: 프로그램은 입력 파일의 이름을 분석하여 작동 모드를 결정한다. 만약 입력 파일의 이름이 "plaintext.txt"라면, 프로그램은 암호화 모드로 동작하며, "ciphertext.txt"인 경우 복호화 모드로 동작한다.
3. Triple DES 연산: Triple DES는 DES 암호화를 세 번 반복하는 방식으로, 이 프로그램은 특히 2-key Triple DES의 EDE(Encryption-Decryption-Encryption) 방식을 사용한다. 첫 번째와 세 번째 단계에서는 첫 번째 키를 사용하여 데이터를 암호화하고, 중간 단계에서는 두 번째 키를 사용하여 복호화 한다. 이렇게 하면 기존 DES와의 호환성이 유지된다. 반대로 복호화 과정에서는 DED(Decryption-Encryption-Decryption) 방식을 사용하여 첫 번째 키로 복호화하고 두 번째 키로 암호화한 뒤 다시 첫 번째 키로 복호화한다.
4. 블록 처리와 패딩: Triple DES는 64비트 블록 크기를 사용하여 암호화한다. 입력 데이터가 64비트의 배수가 아닐 경우, 블록 크기를 맞추기 위해 패딩이 필요하다. 이 프로그램은 PKCS#5 패딩 방식을 사용하여 블록의 마지막 부분에 필요한 바이트를 추가한다.
5. 중간 결과 출력: Triple DES 연산 과정은 총 48개(16x3)의 라운드로 구성된다. 프로그램은 각 라운드에서 생성되는 서브키와 중간 암호화 결과를 콘솔 화면에 출력하여, 사용자가 이해하기 쉽게 표시한다.
참고 자료
없음