论文部分内容阅读
摘要:针对密钥交换在密码学中的重要地位,该文提出一种新型的公钥密码体制——单向壳核函数。根据单向壳核函数的结构,给出了三种密钥约定方案。相对于传统的公钥密码体制,单向壳核函数具有较高的安全性,为人们提供了一种包容性更广的公钥密码体制。
关键词:公钥密码;密钥交换;单向壳核函数
中图分类号: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.
关键词:公钥密码;密钥交换;单向壳核函数
中图分类号: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.