Affine_Cipher_加密解密
1.0.0
作者: Leo Martinez III - LinkedIn
聯絡方式: [email protected]
創作時間: 2024 年春季
此 Python 程式實作了仿射密碼(一種替代密碼),用於加密和解密訊息。仿射密碼使用一對金鑰 alpha (a) 和 beta (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”)之間進行選擇。
使用者輸入 alpha (a) 和 beta (b) 值,確保它們落在有效範圍內。
執行 GCD(最大公約數)檢查以確保輸入有效。
提供密文和明文的範例值用於測試目的。
程式是在 Google Colab 中使用 Python 3.9 建立的
運行該程式所需的所有內容以及附加安裝資訊都將包含在此資料夾中。
以下是項目的簡要說明:
src:包含原始碼python腳本的資料夾:main.py(使用此檔案執行程式)
README.md:包含該專案的最基本訊息
LICENSE:包含有關 Github 儲存庫的許可證信息
此外,請確保「數學」python 正確安裝在虛擬環境中,因為需要 .gcd() 方法來確保錯誤檢查以協助解密完整性。