陳紅英
(漳州城市職業學院電子信息工程系,福建 漳州 363000)
加密解密和數字簽名技術是密碼學中的重要原語。隨著信息安全技術在各領域應用的日益廣泛,多種加密解密、數字簽名算法被學者提出。這些算法需要先在仿真環境下被驗證。但是,在現有的文獻中難以找到密碼學仿真實驗的設計與實現的內容。
本文對密碼學仿真實驗的多種實驗環境進行分析,系統地提出了各種常用軟件(如Python、Java、C++等)在不同操作系統中的實驗環境搭建的方法及步驟,并在多種軟件中設計實現了相應的仿真代碼。所設計和實現的代碼具有通用性,在各個算法的仿真實驗中可以被直接調用。
在密碼學中,一般需要對各種加解密算法和簽名算法進行性能對比和分析,分析其時間開銷和空間開銷,以比較算法的優劣,從而真正地評判一個算法。
仿真實驗是實際實驗的前提,而實際的操作又是對仿真實驗的驗證,二者的關系是相輔相成的。當密碼學中的各種新的加密解密算法和簽名算法被提出但沒被實際應用所驗證時,其性能只有通過仿真實驗的結果來進行分析。
密碼學中常用的加密解密算法有RSA、ECC、AES等,常用簽名算法有DSA、ECC-DSA等,還有求雙線性對運算、指數運算時間開銷算法,以及對這些算法的各種改進。在分析這些算法的優劣時,都需要對其性能進行分析。對于密碼學中各種不同的加密解密算法和簽名算法,按照其所要求的復雜度不同而設計的仿真實驗應使用的語言及庫都是不同的。……