CN1099780C - 一种密钥传递及数字签名的方法 - Google Patents
一种密钥传递及数字签名的方法 Download PDFInfo
- Publication number
- CN1099780C CN1099780C CN99125933A CN99125933A CN1099780C CN 1099780 C CN1099780 C CN 1099780C CN 99125933 A CN99125933 A CN 99125933A CN 99125933 A CN99125933 A CN 99125933A CN 1099780 C CN1099780 C CN 1099780C
- Authority
- CN
- China
- Prior art keywords
- black box
- function
- black
- data
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种密钥传递和数字签名的方法,属密码技术领域。该方法首先选择一个函数f,然后为通信双方各制造一个黑箱,设发送方的黑箱号为Ka,接收方的黑箱号为Kb,黑箱内还固化一个数据S,发送方A任意选择数据R,向自己的黑箱输入数据R和接收方的黑箱号Kb,黑箱计算并输出Y,Y即为需要传递的密钥。数字签名的方法是A在自己的黑箱上输入数据R和自己的黑箱号,黑箱输出Y,Y即为A对数据R的签名结果。本发明设计的密钥传递及数字签名的方法,通过构造一种新的密码体系实现密钥传递和数字签名,密码体制结构简单、运算量小、密钥短,便于硬件实现。
Description
技术领域
本发明涉及一种密钥传递及数字签名的方法,属密码技术领域。
背景技术
数据通讯中,往往需要满足以下的安全要求:①除了发送方和接收方之外,使其他人无法知悉通讯内容;②通讯的内容不易被篡改;③接收方能够确知发送方不是假冒的,发送方不能否认自己发送的内容。这就是目前密码学中通常所说的密钥传递和数字签名。
发送方要发送的原文称为明文,将明文加密后就变成密文。发送方发送密文,第三者只能看见密文,就无法获得通讯内容。接收方收到密文后,需要密钥才能还原出明文。密钥传递就是指接收方获得密钥的方法,这种方法必须可靠的保证只有接收方才能得到密钥,第三者无法得到密钥。为了使接收方觉得可信,发送方发送的内容中还应该包含自己对明文的数字签名。这个签名首先要保证接收方能够验证其真伪,同时必须保证只有发送方才能生成这个签名,其他人(包括接收方在内)都不能伪造签名。接收方通过验证数字签名,就可以确定发送方的身份,也可以确定通讯内容是否被中间篡改过。同时依据签名,使得发送方无法抵赖。
目前已有的密码体系中,RSA体制是一个成熟的公开密钥密码体制,它的安全性基于数论中的Euler定理和计算复杂性理论中的下述论断:求两个大素数的乘积是容易计算的,但要分解两个大素数的乘积,求出它们的素因子则是非常困难的。利用RSA体制可以解决通讯中的密钥传递问题和数字签名问题,但是这个体制的运算量比较大、密钥比较长,加密、解密速度慢,对实现该方法的硬件要求高,因此在实际应用中有一定的局限性。
发明内容
本发明的目的是提出一种密钥传递及数字签名的方法,通过构造一种新的密码体制实现密钥传递和数字签名,同时这种体制既不需要很大的运算量,也不需要很长的密钥。
本发明提出的密钥传递的方法,包括以下各步骤:
(1).选择一个函数f
函数y=f(a,b,c,d)是一个公开的单向散列函数,它满足:如果定义全集
Id={(y,a,b,c)|y=f(a,b,c,d),a∈Z,b∈Z,c∈Z}
那么在d未知,已知f,且已知Id的任意一个子集Qd时,d是难以求解的,且Qd的补集中的任意一个元素也是难以求解的;
(2).为通信双方各制造一个黑箱,每个黑箱固化有相应的编号K,各黑箱的K值不同,黑箱内还固化一个数据S,各黑箱S相同;
黑箱利用上述第一步的函数f实现二项功能:
功能1:向黑箱输入R、Ki,黑箱根据上述函数,计算出Y=f(R,Ki,K,S);
功能2:向黑箱输入R、Ki,黑箱根据上述第一步的函数,计算出Y=f(R,K,Ki,S);
上列算式中R为信息传递的发起方确定的一个任意数,K为固化在黑箱内的本黑箱编号,Ki为输入黑箱的编号;
(3).密钥传递
设发送方的黑箱号为Ka,接收方的黑箱号为Kb,发送方A任意选择一个数据R,然后调用上述第2步中黑箱的功能1,向自己的黑箱输入数据R和接收方的黑箱号Kb,亦即上述功能1的的Ki,黑箱输出Y=f(R,Kb,Ka,S),Y即为需要传递的密钥;然后A向B发送数据R,接收方B在自己的黑箱上调用功能2,输入R和发送方的黑箱号Ka,亦即上述功能2中的Ki,黑箱输出Y=f(R,Kb,Ka,S),接收方B得到与发送方A相同的密钥Y,此时密钥Y传递结束。
本发明提出的数字签名的方法,包括以下各步骤:
(1).选择一个函数f
函数y=f(a,b,c,d)是一个公开的单向散列函数,它满足:如果定义全集
Id={(y,a,b,c)| y=f(a,b,c,d),a∈Z,b∈Z,c∈Z}那么在d未知,已知f,且已知Id的任意一个子集Qd时,d是难以求解的,且Qd的补集中的任意一个元素也是难以求解的;
(2).为通信双方各制造一个黑箱,黑箱固化有相应的编号K,各黑箱的K值不同,黑箱内还固化一个数据S,各黑箱S值相同,
黑箱利用上述第一步函数f完成二项功能:
功能1:向黑箱输入R、Ki,黑箱根据上述函数,计算出Y=f(R,Ki,K,S);
功能2:向黑箱输入R、Ki、Y,即功能1的计算结果,黑箱计算出G=f(R,Ki,Ki,S),将G与Y作比较,如果相同,则输出1,否则输出0;
(3)、数字签名及验证
设发送方的黑箱号为Ka,接收方的黑箱号为Kb,设定需要签名的数据为R,A在自己的黑箱上调用功能1,向黑箱输入数据R和自己的黑箱号Ka,Ka即为上述功能1中的Ki,黑箱输出Y=f(R,Ka,Ka,S),Y即为A对数据R的签名结果,签名结束;
A将R及Y同时发送给B,B接收到R和Y后,在自己的黑箱上,调用功能2,并输入从A方得到的R、Y及发送方的黑箱号Ka,黑箱计算出G=f(R,Ka,Ka,S),将G与Y作比较,如果两者一致则黑箱输出1,否则输出0,输出1则为真,反之则为伪造签名,此时签名验证结束。
本发明设计的密钥传递及数字签名的方法,密码体制结构简单、运算量小、密钥短,便于硬件实现。
具体实施方式
下面详细介绍本发明的内容。
首先选择一个函数f,例如MD5变换或者SHA-1变换。
函数y=f(a,b,c,d)是一个公开的单向散列函数,它满足:如果定义全集Id={(y,a,b,c)|y=f(a,b,c,d),a∈Z,b∈Z,c∈Z}那么在d未知,已知f,且已知Id的任意一个子集Qd时,d是难以求解的,且Qd的补集中的任意一个元素也是难以求解的。
上述函数的特点,就是在d未知时,无论已知多少组数据y、a、b、c,并且每组数据都满足等式y=f(a,b,c,d),但在未知的y、a、b、c中,已知其中的任意三个数部无法求解第四个数。密钥传递和数字签名就是利用函数的这个特点实现的。具备这个特点的函数并不唯一,而且实现起来运算量也很小。参数d就是这个体制中的密码,基于函数f的特点,d的长度要求很低,只要能够抵御穷举搜索就可以。这个体制中的其他参数也是这样的要求。
然后为通信双方各制造一个黑箱,黑箱有相应的编号K,黑箱内固化一个数据S,黑箱、K值和S值有如下特性:
①K为黑箱编号,各个黑箱的编号不同,K固化在黑箱内,是不可改的。每个人都知道自己的和对方的黑箱编号。黑箱内还固化了一个数据S,所有黑箱的S是相同的,但所有人都不知道S的值。
②黑箱利用上述选择的函数f实现几个功能,在下面的功能说明中,K是黑箱自己的编号;Ki是输入给黑箱的编号,Ki是自己的编号或对方黑箱的编号。
黑箱完成下列几项功能:
功能1:向黑箱输入R、Ki,黑箱根据上述第一步函数,计算出Y=f(R,Ki,K,S);
功能2:向黑箱输入R、Ki,黑箱根据上述第一步的函数,计算出Y=f(R,K,Ki,S);
功能3:向黑箱输入R、Ki、Y,如果黑箱计算出G=f(R,Ki,Ki,S),然后将G与Y作比较,如果两者一致则黑箱输出1,否则输出0。
上列算式中R为信息传递的发起方确定的一个任意数,Ki为黑箱的编号。
注意:功能1、2中Ki、K在函数f入口数据中的位置不同;功能3只输出比较结果,不输出f(R,Ki,Ki,S)的运算结果。
在实际应用中,黑箱就是一个经过加密处理的硬件。硬件能够可靠保密数据S,而且硬件内部的处理过程是不可见、不可跟踪的。各个黑箱除了K值不同(且肯定不同)之外,其他都完全相同。
通讯双方利用自己的黑箱就可以实现密钥传递和数字签名。假设发送方为A,持有黑箱的编号为Ka;接收方为B,持有黑箱的编号为Kb;第三者为C,持有黑箱的编号为Kc。A、B为正常的通讯者,第三者是任意一个攻击者,试图入侵A、B之间的通讯。
密钥传递的过程如下:
首先发送方A任意选择一个数据R,然后调用上述黑箱的功能1,向黑箱输入数据R和接收方的黑箱号Kb,黑箱输出Y=f(R,Kb,Ka,S),Y即为需要传递的密钥。然后A向B发送数据R,接收方B用自己的黑箱号Kb及从A方得到的数据R,在自己的黑箱上调用功能2,输入R和发送方的黑箱号Ka,黑箱输出Y=f(R,Kb,Ka,S)。接收方B得到与发送方A相同的密钥Y,此时密钥Y传递结束。
第三者C可以截获A发送给B的数据R,但是无法得到密钥Y。因为C虽然知道A、B是如何使用自己黑箱的,即C知道方程:
Y=f(R,Kb,Ka,S)但是由于C无法知道A、B黑箱的S值,该S值连A、B自己都不知道,C也无法只通过截获到的A发送给B的R值,求出Y,亦即得到密钥。
假设,C持有黑箱Kc,且黑箱C的S值与A、B黑箱的S值相同,此时由于C的黑箱号Kc与Ka、Kb都不同,同时黑箱C的功能1、2中都使用了Kc,功能3中只输出比较结果,因此,C也无法利用自己的黑箱得到Y。
所以,利用黑箱的功能1、2就能够实现密钥传递。
数字签名及验证的过程如下:
首先发送方A设定需要签名的数据为R,A在自己的黑箱上调用功能1,向黑箱输入数据R和自己的黑箱号Ka,黑箱输出Y=f(R,Ka,Ka,S)。Y即为A对数据R的签名结果,A将R及Y同时发送给B;B接收到R后,在自己的黑箱上,调用功能3,输入从A方得到的R、Y及发送方的黑箱号Ka,黑箱内部计算G=f(R,Ka,Ka,S),比较G与Y,如果一致则黑箱输出1,否则输出0,输出1则为真,反之则为伪造签名,此时签名结束。
根据上述签名方法,第三者C也可以利用自己的黑箱功能3来验证这个签名的真伪,这里,A对R的签名结果为Y,B和C都只能利用自己的黑箱验证Y,不能生成Y。签名和验证的方法都是公开的,即B、C都知道方程:
Y=f(R,Ka,Ka,S)但是由于B、C都无法知道S,也就无法由R求出Y(见函数f的说明)。
另外,黑箱Kb功能1、2中强制使用了Kb,黑箱Kc功能1、2中强制使用了Kc,而两个黑箱的功能3都只输出一个比较结果,因此,B和C也无法利用自己的黑箱伪造签名。
所以,利用黑箱的功能1、3能够实现数字签名。
Claims (2)
1、一种密钥传递的方法,其特征在于,该方法包括以下各步骤:
(1).选择一个函数f
函数y=f(a,b,c,d)是一个公开的单向散列函数,它满足:如果定义全集
Id={(y,a,b,c)|y=f(a,b,c,d),a∈Z,b∈Z,c∈Z}
那么在d未知,已知f,且已知Id的任意一个子集Qd时,d是难以求解的,且Qd的补集中的任意一个元素也是难以求解的:
(2).为通信双方各制造一个黑箱,每个黑箱固化有相应的编号K,各黑箱的K值不同,黑箱内还固化一个数据S,各黑箱S不同,
黑箱利用上述第一步的函数f实现二项功能:
功能1:向黑箱输入R、Ki,黑箱根据上述第一步函数,计算出Y=f(R,Ki,K,S):
功能2:向黑箱输入R、Ki,黑箱根据上述第一步的函数,计算出Y=f(R,K,Ki,S);
上列算式中R为信息传递的发起方确定的一个任意数,K为固化在黑箱内的数,Ki为输入黑箱的编号;
(3).密钥传递
设发送方A的黑箱号为Ka,接收方B的黑箱号为Kb,发送方A任意选择一个数据R,然后调用上述第2步中黑箱的功能1,向黑箱输入数据R和接收方的黑箱号Kb,即上述功能1的Ki,黑箱输出Y=f(R,Kb,Ka,S),Y即为需要传递的密钥,然后A向B发送数据R,接收方B在自己的黑箱上调用功能2,输入R和发送方的黑箱号Ka,即上述功能2中的Ki,黑箱输出Y=f(R,Kb,Ka,S)。接收方B得到与发送方A相同的密钥Y,此时密钥Y传递结束。
2、一种数字签名的方法,其特征在于,该方法包括以下各步骤:
(1).选择一个函数f
函数y=f(a,b,c,d)是一个公开的单向散列函数,它满足:如果定义全集
Id={(y,a,b,c)|y=f(a,b,c,d),a∈Z,b∈Z,c∈Z}那么在d未知,已知f,且已知Id的任意一个子集Qd时,d是难以求解的,且Qd的补集中的任意一个元素也是难以求解的;
(2).为通信双方各制造一个黑箱,黑箱周化有相应的编号K,黑箱内还固化一个数据S,
黑箱利用上述第一步函数f完成二项功能:
功能1:向黑箱输入R、Ki,黑箱根据上述函数,计算出Y=f(R,Ki,K,S);
功能2:向黑箱输入R、Ki、Y,即功能1的计算结果,黑箱计算出G=f(R,Ki,Ki,S),将G与Y比较,如果相同,则输出1,否则输出0:
(3)、数字签名及验证
设发送方A的黑箱号为Ka,接收方B的黑箱号为Kb,设定需要签名的数据为R,A在自己的黑箱上调用功能1,向黑箱输入数据R和自己的黑箱号Ka,黑箱输出Y=f(R,Ka,Ka,S),Y即为A对数据R的签名结果,签名结束:
A将R及Y同时发送给B,B接收到R后,在自己的黑箱上,调用功能2,并输入从A方得到的R、Y及发送方的黑箱号Ka,黑箱内部计算G=f(R,Ka,Ka,S),将G与Y比较,如果两者一致则黑箱输出1,否则输出0,输出1则为真,反之则为伪造签名,此时签名验证结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN99125933A CN1099780C (zh) | 1999-12-10 | 1999-12-10 | 一种密钥传递及数字签名的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN99125933A CN1099780C (zh) | 1999-12-10 | 1999-12-10 | 一种密钥传递及数字签名的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1255002A CN1255002A (zh) | 2000-05-31 |
CN1099780C true CN1099780C (zh) | 2003-01-22 |
Family
ID=5284236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN99125933A Expired - Fee Related CN1099780C (zh) | 1999-12-10 | 1999-12-10 | 一种密钥传递及数字签名的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1099780C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1650893A4 (en) * | 2003-07-11 | 2011-07-06 | Canon Kk | METHOD, DEVICE AND PROGRAM FOR PROCESSING KEY INFORMATION |
DE602005000716T2 (de) * | 2005-04-04 | 2007-12-06 | Research In Motion Ltd., Waterloo | Sicherung einer Kommunikationsverbindung zwischen Geräten. |
WO2007137472A1 (fr) * | 2006-06-01 | 2007-12-06 | Nian Chen | Procédé d'authentification numérique et de commande de système d'entrée et système d'entrée utilisant ledit procédé |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1197248A (zh) * | 1996-09-25 | 1998-10-28 | 中国工商银行福建省分行 | 一种数字签名方法 |
US5889865A (en) * | 1995-05-17 | 1999-03-30 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
-
1999
- 1999-12-10 CN CN99125933A patent/CN1099780C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889865A (en) * | 1995-05-17 | 1999-03-30 | Certicom Corp. | Key agreement and transport protocol with implicit signatures |
US5896455A (en) * | 1995-05-17 | 1999-04-20 | Certicom Corporation | Key agreement and transport protocol with implicit signatures |
CN1197248A (zh) * | 1996-09-25 | 1998-10-28 | 中国工商银行福建省分行 | 一种数字签名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1255002A (zh) | 2000-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Winternitz | A secure one-way hash function built from DES | |
CN1258717C (zh) | 信息加密的方法 | |
CN109756893B (zh) | 一种基于混沌映射的群智感知物联网匿名用户认证方法 | |
CN1191703C (zh) | 宽带无线ip系统移动终端的安全接入方法 | |
CN1186580A (zh) | 在用户计算机设备u和网络计算机设备n之间计算机辅助交换密钥的方法 | |
CN106254324A (zh) | 一种存储文件的加密方法及装置 | |
JP2008532389A (ja) | 認証のための小型の公開鍵を用いたデジタル署名 | |
CN101383707A (zh) | 一种轻量级认证系统及其关键算法 | |
CN1455341A (zh) | 远程更改通讯密码的方法 | |
CN1922816A (zh) | 单向认证 | |
CN1575006A (zh) | 认证系统及id产生装置 | |
CN100461670C (zh) | 应用于分组网络的基于h.323协议的终端接入方法 | |
CN1571335A (zh) | 一种应用于组播通信系统中的源认证方法 | |
CN111797431A (zh) | 一种基于对称密钥体制的加密数据异常检测方法与系统 | |
CN1472914A (zh) | 一种高效快捷的公钥加密方法 | |
Saepulrohman et al. | Data integrity and security of digital signatures on electronic systems using the digital signature algorithm (DSA) | |
CN1456993A (zh) | 一种用户计算机之间交换密钥的方法 | |
CN1099780C (zh) | 一种密钥传递及数字签名的方法 | |
CN113556225A (zh) | 一种基于哈希及密钥交换的高效psi方法 | |
Lakshmi et al. | Medical image encryption using enhanced Rivest Shamir Adleman algorithm | |
CN114567448A (zh) | 一种协同签名方法以及协同签名系统 | |
CN111310210B (zh) | 基于口令和匿签密的双重认证对称可搜索加密方法 | |
CN109981289B (zh) | 隐式证书下的椭圆曲线数字签名算法的批认证方法 | |
CN111800384A (zh) | 基于区块链的金融服务应用管理方法及装置 | |
CN111723405A (zh) | 一种去中心化的多重数字签名/电子签章方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |