CN1099780C - 一种密钥传递及数字签名的方法 - Google Patents

一种密钥传递及数字签名的方法 Download PDF

Info

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
Application number
CN99125933A
Other languages
English (en)
Other versions
CN1255002A (zh
Inventor
张�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENSILUOKE DATA PROTECTION CENTER BEIJING
Original Assignee
SHENSILUOKE DATA PROTECTION CENTER BEIJING
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHENSILUOKE DATA PROTECTION CENTER BEIJING filed Critical SHENSILUOKE DATA PROTECTION CENTER BEIJING
Priority to CN99125933A priority Critical patent/CN1099780C/zh
Publication of CN1255002A publication Critical patent/CN1255002A/zh
Application granted granted Critical
Publication of CN1099780C publication Critical patent/CN1099780C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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则为真,反之则为伪造签名,此时签名验证结束。
CN99125933A 1999-12-10 1999-12-10 一种密钥传递及数字签名的方法 Expired - Fee Related CN1099780C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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