密碼算法在智能卡上的應用發(fā)展綜述
3 流密碼
流密碼也稱序列密碼,它是對稱密碼算法的一種?!耙淮我幻堋钡拿艽a方案是流密碼的雛形,但由于 一次一密”的密碼體制存在密鑰產(chǎn)生、分配和管理極為困難的缺點,使其應用范圍受到限制。在保密強度要求高的場合,如大量軍事密碼系統(tǒng),仍多采用流密碼。流密碼是指利用少量的密鑰(制亂元素)通過某種復雜的運算(密碼算法)產(chǎn)生大量的偽隨機位流,用于對明文位流的加密。解密是指用同樣的密鑰和密碼算法及與加密相同的偽隨機位流,用以還原明文位流。流密碼設計的一般原則是采用多重密鑰、多重環(huán)節(jié)、多重安全措施等技術(shù),達到“一次一密”,總體上達到流密碼最終靠密鑰保密,即“密碼保密寄寓于密鑰之中”。因此流密碼的關(guān)鍵是產(chǎn)生密鑰序列的算法,其密碼系統(tǒng)的安全性也主要取決于密鑰序列。當前流密碼的重點研究方向主要包括:①自同步流密碼的研究;②有記憶前饋網(wǎng)絡密碼系統(tǒng)的研究;③多輸出密碼函數(shù)的研究;④高速密碼芯片的開發(fā):⑤同步序列密碼在失步后如何重新同步的問題;⑥混沌序列密碼和新研究方法的探索等。
4 公鑰加密算法
Whitfield Di衢e和Martin Hellman在1976年發(fā)表的“New Direction in Cryptography”首次提出了公鑰密碼體制,沖破了長期以來一直沿用的私鑰體制。自從公鑰密碼體制被提出以來,相繼出現(xiàn)了許多公鑰密碼方案,其中以RSA和橢圓曲線密碼算法ECC最為典型。
4.1 RSA算法
當前最著名、應用最廣泛的公鑰系統(tǒng)RSA是在1978年由美國麻省理工學院的Rivest、Shamir和Adleman提出的,它是一個基于數(shù)論的非對稱密碼體制。RSA算法是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法,它容易理解和操作。
RSA的安全性基于大整數(shù)索因子分解的困難性,而大整數(shù)因子分解問題是數(shù)學的著名難題,至今沒有有效的方法予以解決,因此可以確保RSA算法的安全性。RSA系統(tǒng)是公鑰系統(tǒng)的最具有典型意義的方法,大多數(shù)使用公鑰密碼進行加密和數(shù)字簽名的產(chǎn)品和標準使用的都是RSA算法RSA的缺點主要有:首先,產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密;其次運算速度慢。
4.2橢圓曲線密碼算法
橢圓曲線在代數(shù)學和幾何學上已有一百五十多年的研究歷史,有著復雜的數(shù)學背景,涉及到數(shù)論、群論和射影幾何等學科。
1985年,N.Koblitz和V.Miller分別提出了橢圓曲線密碼體制ECC,其安全性依賴于橢圓曲線群上離散對數(shù)問題碼的難解性,即已知橢圓曲線上的點P和kp計算k的困難程度,不過在當時一直沒有像RSA等密碼系統(tǒng)一樣受到重視。但從現(xiàn)在來看,ECC是目前已知的公鑰密碼體制中,對每一比特所提供加密強度最高的一種體制,它具有安全性上高、計算量小、存儲空間占用小、帶寬要求低等特點,這些優(yōu)點使得橢圓曲線公鑰密碼體制將應用到越來越多的領(lǐng)域。如存儲空間小,這對于加密算法在智能卡上的應用具有特別重要的意義。1999年ANSI X9.62標準的發(fā)布成為ECC標準化的一個重要里程碑,同年美國政府的國家標準與技術(shù)委員會NIST發(fā)布了新的規(guī)定FIPS186—2,確定了ECC的地位?,F(xiàn)已頒布的有關(guān)ECC的標準有IEEEP1363及P1363a、ANSIX9.62、ANSI X9.63、ISO/IEC14888—3、IETF、ATM If)RUM 等,這些標準的公布將提高ECC技術(shù)在世界范圍內(nèi)的通用性,使ECC技術(shù)在全球的廣泛應用成為可能。而SET協(xié)議的制定者已把它作為下一代SET協(xié)議中缺省的公鑰密碼算法。
5 結(jié)束語
在過去的五年中,智能卡上的計算能力發(fā)展很快,智能卡和終端計算機上應用的密碼算法的區(qū)別已經(jīng)日益顯現(xiàn)AES算法很快成為世界范圍內(nèi)的一個標準,對于該算法的攻擊手段也漸漸涌現(xiàn)。另外,邊信道攻擊也成為一 個越來越重要的研究領(lǐng)域,這種攻擊的出現(xiàn)將會對硬件和軟件的實現(xiàn)產(chǎn)生影響。新的安全證明和安全模型也在不斷涌現(xiàn),這些都使我們對安全的理解越來越深刻。在現(xiàn)在各種攻擊手段和安全證明充分發(fā)展的情況下,需要盡快地升級智能卡中所使用的密碼算法。盡管如此,密碼 密算法的完全更替還是需要一些時日。系統(tǒng)設計者們需要在這種情況下,通過更快的生成密鑰等手段更新算法。
評論