간단한 블록 암호화 및 복호화 프로그램
이 프로젝트는 MIPS 어셈블리어를 사용하여
2라운드 Feistel 구조 기반의 간단한 블록 암호화/복호화 프로그램을 구현합니다.
이 프로젝트는 한양대학교 ERICA 컴퓨터구조 수업(ENE1004) Volunteer 과제입니다.
- 시스템 콜을 이용해 평문, 키, 모드 입력
- 사용자가 선택한 모드에 따라 암호화 또는 복호화 수행
- 메모리 조작, 분기, 비트 연산 등 저수준 프로그래밍 연습
- Plaintext: 4글자 문자열 (32비트)
- Key: 4글자 문자열 (32비트)
- Mode:
'e'(암호화) 또는'd'(복호화)
- 암호화된 Ciphertext (모드
e일 때) - 복호화된 Plaintext (모드
d일 때)
| 주차 | 내용 |
|---|---|
| 1주차 | 주제 선정 및 Feistel 구조, 암호 이론 조사 |
| 2주차 | 입력 처리 (Plaintext, Key, Mode) 구현 |
| 3주차 | 평문/키 분할 및 F 함수 구현 |
| 4주차 | 암호화(Encryption) 라운드 구현 |
| 5주차 | 복호화(Decryption) 라운드 구현 및 입출력 완성 |
| 6주차 | 예외 처리 추가, 디버깅, 테스트 케이스 작성, 문서 정리 |