簡介
密碼技術是通信雙方按約定的法則進行信息特殊變換的一種保密技術。根據特定的法 則,變明文(Plaintext)為密文(Ciphertext)。從明文變成密文的過程稱為加密(Encryption); 由密文恢復出原明文的過程,稱為解密(Decryption)。密碼在早期僅對文字或數碼進行加、 解密,隨著通信技術的發展,對語音、圖像、數據等都可實施加、解密變換。密碼學是由密碼編碼學和密碼分析學組成的,其中密碼編碼學主要研究對信息進行編碼以實現信息隱蔽,而密碼分析學主要研究通過密文獲取對應的明文信息。密碼學研究密碼理論、密碼算 法、密碼協定、密碼技術和密碼套用等。 隨著密碼學的不斷成熟,大量密碼產品套用於國計民生中,如USB Key、PIN EntryDevice、 RFID 卡、銀行卡等。廣義上講,包含密碼功能的套用產品也是密碼產品,如各種物聯網產 品,它們的結構與計算機類似,也包括運算、控制、存儲、輸入輸出等部分。密碼晶片是密碼產品安全性的關鍵,它通常是由系統控制模組、密碼服務模組、存儲器控制模組、功 能輔助模組、通信模組等關鍵部件構成的。
數據加密技術要求只有在指定的用戶或網路下,才能解除密碼而獲得原來的數據,這就需要給數據傳送方和接受方以一些特殊的信息用於加解密,這就是所謂的
密鑰。其
密鑰的值是從大量的隨機數中選取的。按
加密算法分為專用
密鑰和
公開密鑰兩種。
分類
專用密鑰
專用
密鑰,又稱為
對稱密鑰或單密鑰,加密和解密時使用同一個密鑰,即同一個
算法。如DES和MIT的Kerberos
算法。單
密鑰是最簡單方式,通信雙方必須交換彼此
密鑰,當需給對方發信息時,用自己的加密密鑰進行加密,而在接收方收到數據後,用對方所給的密鑰進行解密。當一個文本要加密傳送時,該文本用
密鑰加密構成密文,密文在信道上傳送,收到密文後用同一個
密鑰將密文解出來,形成普通文體供閱讀。在
對稱密鑰中,密鑰的管理極為重要,一旦密鑰丟失,密文將無密可保。這種方式在與多方通信時因為需要保存很多
密鑰而變得很複雜,而且密鑰本身的安全就是一個問題。
對稱密鑰
對稱密鑰是最古老的,一般說“密電碼”採用的就是
對稱密鑰。由於
對稱密鑰運算量小、速度快、安全強度高,因而如今仍廣泛被採用。
DES是一種數據分組的
加密算法,它將數據分成長度為64位的
數據塊,其中8位用作
奇偶校驗,剩餘的56位作為密碼的長度。第一步將原文進行置換,得到64位的雜亂無章的數據組;第二步將其分成均等兩段;第三步用加密函式進行變換,並在給定的
密鑰參數條件下,進行多次疊代而得到加密密文。
公開密鑰
公開密鑰,又稱非
對稱密鑰,加密和解密時使用不同的
密鑰,即不同的
算法,雖然兩者之間存在一定的關係,但不可能輕易地從一個推導出另一個。有一把公用的加密
密鑰,有多把解密
密鑰,如RSA
算法。
非
對稱密鑰由於兩個
密鑰(加密
密鑰和解密
密鑰)各不相同,因而可以將一個密鑰公開,而將另一個密鑰保密,同樣可以起到加密的作用。
在這種編碼過程中,一個密碼用來加密訊息,而另一個密碼用來解密訊息。在兩個
密鑰中有一種關係,通常是數學關係。
公鑰和
私鑰都是一組十分長的、數字上相關的素數(是另一個大數字的因數)。有一個
密鑰不足以翻譯出訊息,因為用一個
密鑰加密的訊息只能用另一個密鑰才能解密。每個用戶可以得到唯一的一對
密鑰,一個是公開的,另一個是保密的。公共
密鑰保存在公共區域,可在用戶中傳遞,甚至可印在報紙上面。而
私鑰必須存放在安全保密的地方。任何人都可以有你的
公鑰,但是只有你一個人能有你的
私鑰。它的工作過程是:“你要我聽你的嗎?除非你用我的
公鑰加密該訊息,我就可以聽你的,因為我知道沒有別人在偷聽。只有我的
私鑰(其他人沒有)才能解密該訊息,所以我知道沒有人能讀到這個訊息。我不必擔心大家都有我的
公鑰,因為它不能用來解密該訊息。”
公開密鑰的加密機制雖提供了良好的保密性,但難以鑑別傳送者,即任何得到
公開密鑰的人都可以生成和傳送
報文。
數字簽名機制提供了一種鑑別方法,以解決偽造、抵賴、冒充和篡改等問題。
非對稱加密技術
數字簽名一般採用非對稱加密技術(如RSA),通過對整個明文進行某種變換,得到一個值,作為核實簽名。接收者使用傳送者的
公開密鑰對簽名進行解密運算,如其結果為明文,則簽名有效,證明對方的
身份是真實的。當然,簽名也可以採用多種方式,例如,將簽名附在明文之後。
數字簽名普遍用於銀行、電子貿易等。
數字簽名不同於手寫簽字:
數字簽名隨
文本的變化而變化,手寫簽字反映某個人個性特徵,是不變的;
數字簽名與文本信息是不可分割的,而手寫簽字是附加在文本之後的,與文本信息是分離的。
值得注意的是,能否切實有效地發揮加密機制的作用,關鍵的問題在於
密鑰的管理,包括
密鑰的生存、分發、安裝、保管、使用以及作廢全過程。
加密技術
概述
在常規密碼中,收信方和發信方使用相同的
密鑰,即加密密鑰和解密密鑰是相同或等價的。比較著名的常規
密碼算法有:
美國的DES及其各種變形,比如Triple DES、GDES、New DES和DES的前身Lucifer;
歐洲的IDEA;
日本的FEAL?N、LOKI?91、Skipjack、RC4、RC5以及以代換密碼和轉輪密碼為代表的古典密碼等。在眾多的常規密碼中影響最大的是DES密碼。
常規密碼的優點是有很強的保密強度,且經受住時間的檢驗和攻擊,但其
密鑰必須通過安全的途徑傳送。因此,其
密鑰管理成為系統安全的重要因素。
在公鑰密碼中,收信方和發信方使用的
密鑰互不相同,而且幾乎不可能從加密密鑰推導解密密鑰。比較著名的公鑰密碼算法有:RSA、背包密碼、McEliece密碼、Diffe?Hellman、Rabin、Ong?Fiat?Shamir、零知識證明的算法、橢圓曲線、EIGamal算法等等。最有影響的公鑰密碼算法是RSA,它能抵抗到目前為止已知的所有
密碼攻擊。
當然在實際套用中人們通常將常規密碼和公鑰密碼結合在一起使用,比如:利用DES或者IDEA來加密信息,而採用RSA來傳遞會話
密鑰。如果按照每次加密所處理的比特來分類,可以將
加密算法分為
序列密碼和
分組密碼。前者每次只加密一個比特而後者則先將信息序列分組,每次處理一個組。
密碼技術是
網路安全最有效的技術之一。一個加密網路,不但可以防止非授權用戶的搭線竊聽和入網,而且也是對付
惡意軟體的有效方法之一。
鏈路加密
對於在兩個
網路節點間的某一次
通信鏈路,
鏈路加密能為網上傳輸的數據提供安全保證。對於
鏈路加密(又稱
線上加密),所有訊息在被傳輸之前進行加密,在每一個節點對接收到的訊息進行解密,然後先使用下一個鏈路的
密鑰對訊息進行加密,再進行傳輸。在到達目的地之前,一條訊息可能要經過許多
通信鏈路的傳輸。
由於在每一個中間傳輸
節點訊息均被解密後重新進行加密,因此,包括
路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,
鏈路加密就掩蓋了被傳輸訊息的源點與終點。由於填充技術的使用以及填充字元在不需要傳輸數據的
情況下就可以進行加密,這使得訊息的頻率和長度特性得以掩蓋,從而可以防止對通信業務進行分析。
儘管
鏈路加密在
計算機網路環境中使用得相當普遍,但它並非沒有問題。
鏈路加密通常用在
點對點的同步或異步線路上,它要求先對在鏈路兩端的加密設備進行同步,然後使用一種鏈模式對鏈路上傳輸的數據進行加密。這就給網路的性能和可管理性帶來了副作用。
線上路/信號經常不通的海外或衛星網路中,鏈路上的加密設備需要頻繁地進行同步,帶來的後果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會使得所有傳輸數據被加密。
在一個
網路節點,
鏈路加密僅在
通信鏈路上提供
安全性,訊息以明文形式存在,因此所有節點在物理上必須是安全的,否則就會泄漏明文內容。然而保證每一個
節點的
安全性需要較高的費用,為每一個節點提供加密硬體設備和一個安全的
物理環境所需要的費用由以下幾部分組成:保護節點
物理安全的雇員開銷,為確保全全策略和
程式的正確執行而進行審計時的費用,以及為防止安全性被破壞時帶來損失而參加保險的費用。
在傳統的
加密算法中,用於解密訊息的
密鑰與用於加密的密鑰是相同的,該密鑰必須被秘密保存,並按一定
規則進行變化。這樣,
密鑰分配在
鏈路加密系統中就成了一個問題,因為每一個
節點必須存儲與其相連線的所有鏈路的加密密鑰,這就需要對密鑰進行物理傳送或者建立
專用網路設施。而
網路節點地理分布的廣闊性使得這一過程變得複雜,同時增加了
密鑰連續分配時的費用。
節點加密
儘管
節點加密能給
網路數據提供較高的
安全性,但它在操作方式上與
鏈路加密是類似的:兩者均在
通信鏈路上為傳輸的訊息提供安全性;都在中間節點先對訊息進行解密,然後進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。
然而,與
鏈路加密不同,
節點加密不允許訊息在
網路節點以明文形式存在,它先把收到的訊息進行解密,然後採用另一個不同的
密鑰進行加密,這一過程是在節點上的一個安全模組中進行。
節點加密要求報頭和路由信息以明文形式傳輸,以便中間節點能得到如何處理訊息的信息。因此這種方法對於防止攻擊者分析通信業務是脆弱的。
端到端加密
端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。採用端到端加密(又稱脫線加密或包加密),訊息在被傳輸時到達終點之前不進行解密,因為訊息在整個傳輸過程中均受到保護,所以即使有
節點被損壞也不會使訊息泄露。
端到端加密系統的價格便宜些,並且與
鏈路加密和
節點加密相比更可靠,更容易設計、實現和維護。
端到端加密還避免了其它加密系統所固有的同步問題,因為每個
報文包均是獨立被加密的,所以一個報文包所發生的傳輸錯誤不會影響後續的報文包。此外,從用戶對安全需求的直覺上講,
端到端加密更自然些。單個用戶可能會選用這種加密方法,以便不影響網路上的其他用戶,此方法只需要源和
目的節點是保密的即可。
端到端加密系統通常不允許對訊息的目的
地址進行加密,這是因為每一個訊息所經過的節點都要用此地址來確定如何傳輸訊息。由於這種加密方法不能掩蓋被傳輸訊息的源點與終點,因此它對於防止攻擊者分析通信業務是脆弱的。
研究進展
第60屆Intel ISEF英特爾國際科學與工程大獎賽將於2009年5月10日到15日在
美國內華達州雷諾市舉行。自2000年開始,中國科學技術協會在
英特爾(中國)有限公司的贊助下,組織中國學生參加一年一度在
美國舉行的英特爾國際科學與工程大獎賽(Intel ISEF)總決賽。在過去的9年裡,總計208名中國大陸學生參與了137個項目的競賽並贏得了142個獎項,其中包括2004 年獲得的一項Intel ISEF頂級獎項 “英特爾基金會青少年科學精英獎”。在2008年的大賽上,來自北京,上海,廣東,福建,四川,吉林,遼寧,雲南,天津和山西的23名少年英才,帶著17個項目參與角逐,最終取得了14個獎項,包括一個工程學科的特等獎和一等獎。英特爾於2007、2008年兩次邀請了中國教育部代表團觀摩Intel ISEF,並參加教育家論壇,與全球教育家共同探討科學教育和青少年創新人才培養的問題。以下是往屆中國獲獎參賽項目介紹:
在信息技術飛速發展的今天,數據加密越來越受到重視。當下,加密技術已經十分成熟,然而大部分
加密算法要靠複雜的數學方法保證加密的強度。受到玩具魔方的啟發後,我研發出一種用魔方變換提供加密強度的
算法——魔方流
密碼算法。該
算法的不同之處在於:算法的主體是一個包含很多數據的虛擬
魔方,通過魔方變換改變其中的數據,在每輪變換結束後,會得到全新的數據,即為當前加(解)密運算的
密鑰。
對該
算法的進一步實驗發現:主
密鑰長度不影響執行速度;密鑰流的偽隨機性良好;密鑰生成過程有很好的混亂和擴散。而且,
算法的C語言實現
程式資源占用很少,速度較快。
算法的多項指標都達到了實際套用的標準。