遼寧省沈陽師范大學 李艷鑫
密碼學也被稱為密碼書,是由保密通信的需要而開發(fā)的一門學科,也是研究信息加解密技術以及密碼破解技術的知識。密碼學有兩個顯著的特點:一是歷史悠久,二是數(shù)學能力強。在安全通信中,發(fā)送和接收信息的過程正是以下過程:發(fā)送者首先發(fā)出原始信息——稱為明文,進行一些改變或轉換——稱為加密,加密信息——密文,發(fā)出;接收方收到密文,密文恢復為明文——稱為解密,解密得到明文,即原始消息。
密碼學在1949年香農(nóng)“安全系統(tǒng)通信理論”出版之前,密碼的傳輸主要是通過簡單的替換和替換字符來實現(xiàn)的,所以簡單的加密形式一般都屬于傳統(tǒng)密碼學的范疇。更換密碼是通過改變明文順序來實現(xiàn)加密效果,而替換密碼則涉及模運算、模逆元、歐拉函數(shù)在仿射代碼中的基本理論。傳統(tǒng)的密碼申請由仿射密碼和希爾密碼表示。在本文中,我們使用希爾代數(shù)來加密明文字母與希爾字母數(shù)字為例,簡要描述其加密思想。Hill密碼,最早是由數(shù)學家Lester Hill在1929年的“美國數(shù)學月刊”(American Mathematical Monthly)上提出的,其基本思想是用線性替換來替換n個連續(xù)的明文字母,密文的字母數(shù),替換鍵是變換矩陣,只需要加密信息做相同的逆變換。
密碼學中的數(shù)學課程通常包括概率論、初等數(shù)論、抽象代數(shù)等。這些課程具有獨特的算法特征,尤其是初等數(shù)和抽象代數(shù)。在密碼學教學中,我們需要運用很多抽象的數(shù)學概念,如群、環(huán)、域、因式分解、同余、中國殘差定理、二次剩余。學生聽完抽象概念后只能吞下去,基本上不了解它的實際應用背景和意義。學生只能死記硬背抽象的數(shù)學概念,他們在提問過程中努力工作,流于固定的形式和慣例,不能透徹理解、掌握和使用,深入研究密碼學就有一定的難度。在教學過程中可以看出,只讓學生通過作業(yè)等常規(guī)方式來理解這些結論,不會起到更好的效果。因此,在數(shù)學的密碼學學習過程中,有必要將這些知識的特點與算法的思維方式和模塊化的方法相結合,在抽象代數(shù)中給出基本概念和相關概念中的算法思想。
密碼學是在研究如何以保密的方式傳輸信息的過程中發(fā)展起來的。簡而言之,密碼學就是研究如何在惡劣的環(huán)境中實現(xiàn)安全通信。它隨著密碼編碼和密碼分析的“長矛”和“盾牌”的長期地、無休止地爭奪而成長。隨著先進科學技術的應用,已成為融合多學科的全面發(fā)展的前沿科學技術。目前國內外許多本科院校都開設了密碼學課程。由于密碼學的軍事用途,密碼學本身具有一定的神秘性,秘密技術被運用于日常生活和工作的各個方面。
具體而言,從算法的角度來看,公鑰密碼系統(tǒng)可以形式化為三元組(K,E,D)。K表示密鑰生成算法,其形式函數(shù)是生成一對匹配的公鑰和私鑰對,為后續(xù)算法E,D加密和解密做準備,K可以是概率算法;E是加密算法,其功能模塊是實現(xiàn)消息加密,算法也可以是概率算法;D是解密算法,轉換算法的功能是實現(xiàn)相應的密文解密操作。然后給出了具體的RSA實現(xiàn)方法,包括RSA密鑰生成算法、加密算法和解密算法。可以看出,應用形式化模型分析來解釋公鑰密碼體制和具體實例,進一步明確了公鑰密碼學的思想,了解RSA算法加密算法的流程和安全性能的關鍵,符合當代學習過程,可以起到事半功倍的效果。
在密碼分組密碼系統(tǒng)的過程中,根據(jù)密碼系統(tǒng)的功能,將分塊劃分為幾個部分,分別說明了每個分塊的設計原則和目標,并給出相應的方法來實現(xiàn)對應的分塊,最后,給出每個功能塊的組合和分析。它們的安全特性不會因這些特性的組合而受到影響,應了解這部分內容的結構和“整體情況”,以便系統(tǒng)地梳理密碼系統(tǒng)設計的方法和規(guī)則,同時達到推導類比的效果。以分組密碼教學為例,分組密碼的主要威脅是已知的明文攻擊,因為分組密碼的密鑰被重復使用,即多次和一次。為了抵制這種攻擊,當需要密碼的時候需要設計一個密碼:(1)混淆:密碼的設計應該使得明文、密文和密鑰之間的依賴關系如此復雜,這種依賴關系不可用于密碼分析。(2)擴散性:密碼的設計應使密鑰的每一位都影響密文的每一位,以防止密鑰被逐一解密;明文的每一位都會影響密文的每一位,以便最明確地隱藏明文。(3)具有高度的非線性。根據(jù)這些安全需求,模塊化設計思想是將分組密碼模塊化為計算組件、計算組件組合、SPN(即替換/置換網(wǎng)絡)、多重迭代和輪回功能。不同的模塊實現(xiàn)不同的安全屬性,同時保證功能的組成部分不是抵消關系,而是疊加關系,使得它只增加安全性能,而不是相互抵消。最后給出了具體的分組密碼算法,詳細分析了其具體實現(xiàn)過程,如DES,IDEA,AES等。
[1]柯召,孫琦.數(shù)論講義[M].北京:高等教育出版社,2003:27-175.
[2]黃文璋. 數(shù)學欣賞[M].北京:中國統(tǒng)計出版社,2001:22-33.
[3]Risen K.H. Elementary Number Theory and Its Applications[M].北京:機械工業(yè)出版社(影印版),2005:11-27.
[4]Song Y. Yang. Number Theory for computing[M].New York:Sp fingerling, 2002:67-80.
[5]王國俊 .數(shù)論在密碼學中的應用[J].工程數(shù)學學報,2002,19(1):07-14.