摘要:針對密鑰交換在密碼學中的重要地位,該文提出一種新型的公鑰密碼體制——單向殼核函數。根據單向殼核函數的結構,給出了三種密鑰約定方案。相對于傳統的公鑰密碼體制,單向殼核函數具有較高的安全性,為人們提供了一種包容性更廣的公鑰密碼體制。
關鍵詞:公鑰密碼;密鑰交換;單向殼核函數
中圖分類號:TP309文獻標識碼:A文章編號:1009-3044(2010)11-2791-01
Application of One-Way Shell Core Function in Cryptography
SUN Yan-jun1,YUAN Zhe2
(1.Computer Office, Aviation University of Air Force, Changchun 130022, China; 2.Computer Science and Technology, Jilin University, Changchun 130012, China)
Abstract: Because of the important position of key exchange in Cryptography, a new type of public-key cryptosystem has been brought up that is one-way shell core function. According to the structure of one-way shell core function, we have given three kinds of key agreement programs. Compared with the traditional public-key cryptosystem, one-way shell core function has the advantage of more secure, which provides a more inclusive public-key cryptosystem.
Key words: public key cryptography; key exchange; one-way shell core function
在密碼學中,密鑰是至關重要的,倘若密鑰丟失任何加密系統都是脆弱的。在傳統的對稱密碼中,要求消息交換雙方共享密鑰,并且此密鑰不為他人所知。此外,密鑰要經常變動,以防止攻擊者知道。但是密鑰在不安全的信道中傳輸時,我們如何將密鑰準確無誤的發送給指定的人,同時還要保證密鑰的機密性,這也成為對稱密碼中的一個困難問題。雖然公鑰密碼可以很好的解決這個問題,但是公鑰密碼必須依賴于單向函數,但是如何合理的解決單向函數和單向陷門函數之間的矛盾,一直都是公鑰密碼中的難題。由此,本文將給出一種新穎的公鑰密碼體制――單向殼核函數,這種新型函數利用了單向函數設計的簡單性,同時還不需要增加陷門的信息,所以這種函數在密鑰交換中將會起到重要的作用。
1 單向殼核函數介紹及密鑰約定方案
1.1 單向殼核函數的引入
根據傳統的單向函數的定義我們知道,對于給定x,計算y=f(x)是容易的,而給定y,計算x是困難的。然而對于單向陷門函數而言,知道了陷門,計算x使y=f(x)則是容易的。由此可見,函數的單向性和陷門性是矛盾的。
我們結合了單向函數和單向陷門函數的特點,創造性的提出了一種更綜合,更靈活的函數——單向殼核函數,這里我們先定義殼函數S和核函數C,同時相應地定義了二者的逆變換:剝殼函數S-1和剝核函數C-1。殼核函數SC(X)為殼函數S與核函數C的復合運算,且必須滿足SC(x)=S.C(x)=S(C(x))的條件。
1.2 單向殼核函數的密鑰約定方案
根據引入的單向殼核函數的思想,如果Alice和Bob想要約定會話密鑰,有如下三種方案可以選擇:
方案1:
1) Alice公開約定核函數C(x)和殼核函數SC(x),保密殼函數S(x);
2) Bob任意選擇x,計算C(x)和SC(x),并將C(x)發給Alice;
3) Alice收到C(x),使用保密的殼函數S(x),計算出SC(x)。
由此,Alice 和Bob約定了會話密鑰SC(x)。
方案2:
1) Alice公開約定核函數C(x)和殼核函數SC(x),保密剝殼函數S-1(x);
2) Bob任意選擇x,計算C(x)和SC(x),并將SC(x)發給Alice;
3) Alice收到SC(x),使用保密的剝殼函數S-1(x),計算出C(x)。
由此,Alice 和Bob約定了會話密鑰C(x)。
方案3:
1) Alice公開約定殼核函數SC(x)和S'C(x),保密剝殼函數S-1(x)和殼函數S'(x);
2) Bob任意選擇x,計算SC(x)和S'C(x),并將SC(x)發給Alice;
3) Alice收到SC(x),首先使用保密的剝殼函數S-1(x),計算出C(x),然后再使用保密的殼函數S'(x),計算出S'C(x)。
由此,Alice和Bob約定了會話密鑰S'C(x)。
2 結束語
本文主要介紹了單向殼核函數在密鑰交換中的應用,對于這種新的公鑰密碼體制我們給出了3種密鑰約定方案,單向殼核函數的構造方案以及安全性分析會在其他文章中介紹。
參考文獻:
[1] 王衍波,薛通.應用密碼學[M].北京:機械工業出版社,2003.
[2] Trappe W.密碼學與編碼理論[M].王全龍,王鵬,林昌露,譯.北京:人民郵電出版社,2008.
[3] Goldreich O.密碼學基礎[M].溫巧燕,譯.北京:人民郵電出版社,2003.