저자: 레오 마르티네스 3세(Leo Martinez III) - LinkedIn
연락처: [email protected]
생성일: 2024년 봄
이 Python 프로그램은 메시지 암호화 및 해독을 위한 대체 암호 유형인 Affine Cipher를 구현합니다. Affine Cipher는 한 쌍의 키인 알파(a)와 베타(b)를 사용하여 일반 텍스트를 암호문으로 또는 그 반대로 변환합니다.
암호화 공식은 E(x) = (ax + b) mod m으로 제공됩니다. 여기서 x는 일반 텍스트 문자 인덱스, a와 b는 키, m은 알파벳 크기입니다.
프로그램은 대소문자를 구분하지 않고 입력 시 공백을 무시합니다.
암호문은 아핀 변환을 사용하여 평문의 각 문자를 변환하여 생성됩니다.
복호화 공식은 다음과 같습니다: D(y) = (a_inv * (y - b)) mod m, 여기서 y는 암호문 문자 인덱스, a_inv는 a의 모듈러 곱셈 역수, b는 키, m은 알파벳 크기.
암호화와 유사하게 프로그램은 대소문자를 구분하지 않고 입력에서 공백을 무시합니다.
프로그램은 사용자에게 암호화('e') 또는 암호 해독('d') 중에서 선택하라는 메시지를 표시합니다.
사용자는 알파(a) 및 베타(b) 값을 입력하여 해당 값이 유효한 범위 내에 있는지 확인합니다.
유효한 입력을 보장하기 위해 GCD(최대 공약수) 검사가 수행됩니다.
암호문 및 일반 텍스트의 예제 값은 테스트 목적으로 제공됩니다.
프로그램은 Python 3.9를 사용하여 Google Colab에서 생성되었습니다.
프로그램을 실행하는 데 필요한 추가 설치 정보와 함께 필요한 모든 것이 이 폴더에 포함됩니다.
아이템에 대한 간략한 설명은 다음과 같습니다.
src: 소스 코드가 포함된 폴더 python 스크립트: main.py(이 파일을 사용하여 프로그램을 실행)
README.md: 프로젝트에 대한 가장 기본적인 정보가 포함되어 있습니다.
LICENSE: Github 저장소에 관한 라이센스 정보가 포함되어 있습니다.
또한 암호 해독 무결성을 지원하기 위해 오류 검사를 보장하려면 .gcd() 메서드가 필요하므로 "수학" Python이 가상 환경에 올바르게 설치되어 있는지 확인하세요.