运用公共密钥完成通信的方法

文档序号:7574626阅读:305来源:国知局
专利名称:运用公共密钥完成通信的方法
技术领域
本发明涉及运用公共密钥在计算机网络上完成通信方之间密码通信的方法。
背景技术
今年来,迫切需要密文通信技术以使通信数据对在网络(诸如,互连网)上进行通信的第三方保密。
一种著名的密文通信技术是已知为RSA的公开密钥形式。在现有技术中已知的另一种密文通信技术是共享网络上通信方之间通信的密钥的过程。根据共享密钥的过程,发送方运用密钥对普通文本的通信数据进行加密,然后把密码通信数据发送到接收方。接着,接收方运用与发送方使用的同一密钥把接收到的密码通信数据解密成原来的通信数据。上面所用到的术语“方”表示通信的任何现有主体(existing body),例如,诸如与网络相连的终端等装置、装置的用户、操作装置的程序及其组合等。
例如,在由Rolf Blom所著的“NON-PUBLIC KEY DISTRIBUTION/Advancesin Cryptology:Proceeding of CRYPTO’82/Plenum Press,1983,pp.231-236”和由RolfBlom所著的“An Optimal Class of Symmetric Key Generation Systems/AdvancesinCrypotology:EUROCRYPT’84/Springer LNCS 209,1985,pp.335-338”(日本专利第5-48980号和美国专利第5,016,276号)中揭示了实现共享密钥过程的传统方法。
根据上面所揭示的提议,设立在网络上的中心或中央设备对每一方生成一种专用密钥(secret private key)以生成公共密钥,并把生成的专用密钥分配给每一方。当各方相互通信时,每一方将它们自己的专用密钥应用于其它方的标识符(姓名、地址等),生成各方共享的公共密钥。
在上述处理中,通过根据只由中心持有并为各方共用的中心算法变换每一方的标识符,生成每一方的专用密钥。
更具体地说,如果用函数P(x,y)来表示中心算法(其中,变量x,y分别表示两个任选的标识符),就建立其对称性由P(x,y)=P(y,x)所表示的中心算法。把函数P(x,i)(下面称为Pi(x))作为专用密钥分配给每一方,其中,例如当用函数P(x,y)的变量x,y中变量y的值来代替每一方的实际标识符i时,生成函数P(x,i)。当具有标识符i的一方后来与具有标识符j的一方进行通信时,具有标识符i的一方把另一方的标识符j施于它自己的专用密钥Pi(x),即,把变量x设为“j”,从而生成密钥Pi(j)。类似地,具有标识符j的一方把另一方的标识符i施于它自己的专用密钥Pj(x),从而生成密钥Pj(i)。由于中心算法具有上述的对称性,所以密钥Pi(j)等于密钥Pj(i)(Pi(j)=Pj(i))。因此,具有各自标识符i,j的各方获得一把公共密钥。
必须不应用上述运用公共密钥完成通信的处理来实际分解密钥。由于所有密钥都包含与中心算法相关的信息,所以使密钥难以分解是十分重要的,其中中心算法确定了在日本专利申请号第5-48980号中专门揭示的处理中的密钥。
由于通信的密钥根据传统的通信处理对通信数据(普通文本)本身作了加密,所以根据通信数据的特性可以分解密钥。一旦分解了密钥,那么各方联合起来用日本专利申请第5-48980中专门揭示的处理也可以分解中心算法。
因此,本发明的目的在于,提供一种运用密码系统中的公共密钥完成密码通信的方法,且增强了密钥对各种攻击形式的安全性。
本发明的另一个目的在于,提供一种运用在密码系统中的公共密钥完成密码通信的方法,其中通过为通信方所共有的秘密算法施于为通信方所特有的标识符,生成用于产生通信用的公共密钥的专用密钥,并把它分配给各个通信方。
发明概述为了达到上述目的,根据本发明提供一种执行通信的方法,其中运用对在网络中通信方之间的通信数据进行加密和解密的公共密钥发送和接收通信数据,其中网络包括多个通信方和中心,该方法包括下列步骤在发送端,用随机数数据作为密钥对通信数据进行加密,而且用公共密钥对随机数数据进行加密,并从发送端把加密的随机数数据以及加密的通信数据发送到接收端;而且在接收端,用公共密钥对加密的随机数数据进行解密,用经解密的随机数数据作为密钥对加密的通信数据进行解密。
根据本发明,在发送端,通过用随机数数据作为密钥加密通信数据,由公共密钥加密随机数数据,而且把加密的随机数数据和加密的通信数据发送到接收端。密钥的信息(即,要分解的对象)不包括在运用随机数数据对其进行加密的通信数据中,而是包括在由密钥对其进行加密的随机数数据里。由于随机数数据具有极少的特性信息,所以很难根据加密的随机数数据分解密钥。由于由随机数数据对通信数据进行加密,所以可以充分地保持通信数据的保密性。在接收端,运用为发送和接收端所共有的密钥可对随机数数据进行解密。通过把解密的随机数数据作为密钥,最终可对所需的通信数据进行解密。因此,执行密码通信而不会发生任何问题。
因此,根据本发明,对于各种形式的侵犯,在运用公共密钥在通信方之间进行密码通信的密码系统中的密钥都具有高度的保密性。
较佳的是,随机数数据是不能复制或者难以复制的一次通过随机数数据。更精确地说,一次通过随机数数据是其比特值在以相等的频率出现且不相关的随机数数据。根据由操作者将短语和语句手工输入计算机的定时,可以生成这种随机数数据。当用偶然的随机数数据作为密钥对通信数据加密和运用密钥对随机数数据加密时,很难分解密钥和通信数据,很难分解密钥数据和通信数据。
根据发送端通信方的给定处理,生成随机数数据。特别是,给定处理包括手工数据输入处理,并根据所述手工数据输入处理的定时生成的一次通过个人随机数数据。
由于根据由操作者将短语和语句手工输入计算机的定时而生成随机数数据,所以不能复制或者很难复制生成的随机数数据。因此,可以适当地生成一次通过个人随机数数据。
此外,根据本发明,该方法还包括下列步骤在网络的中心,通过根据只由中心持有并为通信方共有的中心算法变换为通信方特有的标识符,生成为通信方所特有的专用密钥;从中心向通信方分配生成的专用密钥;和通过把由每个通信方持有的专用密钥施于与其进行通信发送和接收通信数据的其它通信方的标识符,在每个通信方中生成公共密钥。
由于在密码系统中很难分解专用密钥和中心算法,所以很难分解密钥和通信数据,其中专用密钥为每个通信方所特有,在网络的中心,通过根据只由中心持有并为通信方共有的中心算法变换为通信方特有的标识符而生成专用密钥;把生成的专用密钥从中心分配到通信方;而且,通过把每个通信方持有的专用密钥施于另一方的标识符而在每个通信方中生成公共密钥。结果,保证了整个密码系统的保密性。
在标识符为每个通信方所特有并至少为与其进行通信的通信方所共有的情况下,标识符可以是姓名、地址、邮件地址或它在网络上的区域名,或者每个通信方的这些组合。
如果把通信方名称用作标识符,那么由于可能会出现许多类似的名称,所以不能很好地分散(即,易于使标识符分配局域化)标识符。通过用中心算法变换那些标识符所产生的通信方的多个专用密钥可能互相类似。结果,在所谓的差分作用下,可能分解专用密钥和中心算法。
根据本发明,中心算法包括用于对每个通信方的标识符作积分变换的积分变换算法,还包括下列步骤把专用密钥和积分变换算法从中心分配到每个通信方;通过把积分变换算法和每个通信方持有的专用密钥施于与其进行通信的其它通信方的标识符,生成公共密钥。由于是通过对每个通信方的标识符执行包含积分变换算法的中心算法而生成每一方的专用密钥,所以当把积分变换算法施于标识符时所产生的数据高度分散,还使专用密钥高度分散。因此,在差分作用等攻击下,难以分解专用密钥和中心算法。于是,增加了整个密码系统的保密性。由于每个通信方的专用密钥包括基于积分变换算法的元素,所以当不仅把专用密钥还把积分变换算法施于其它通信方的标识符时,由预先排除积分变换算法的中心算法的算法部分(如上所述,假设它是对称的)生成为互相进行通信的通信方所共有的公共密钥。
在本发明中,中心算法包括如上所述的积分变换算法,积分变换算法可以是傅里叶变换(包括快速傅里叶变换)、拉普拉斯变换、米勒变换、希尔伯特变换等。当运用这些变换中的任一种变换时,在解析无限区间内限定这些积分变换。由于在有限区间(即,在有限环上的傍系)中表示由根据本发明第一方面的积分变换算法变换的标识符,所以当运用计算机等使标识符的数据经受积分变换时,经变换的数据可能会混淆。
因此,根据本发明,积分变换算法最好包括带有加权函数的积分变换算法。通过在标识符经受积分变换时添加这种加权函数,可以阻止混淆。由于加权函数在能够阻止混淆的情况下任意地建立,所以当由包括带有加权函数的积分变换算法的中心算法变换标识符时生成的专用密钥包括基于加权函数的未知元素。结果,难以分解专用密钥和专用算法,因而增加了应用本发明的密码系统的保密性。
基本上如此建立加权函数,从而在标识符数据区间的两端处使其值趋于“0”。根据本发明的第一方面,由在中心生成的随机数数据以不可预测的模式确定加权函数。较佳的是,随机数数据包括一次通过随机数数据。运用随机数数据,通过确定加权函数的值在标识符数据区间内变化的方法(在标识符数据区间的两端使加权函数趋于“0”的方法)来确定加权函数。
运用以不可预测的模式确定的加权函数,想要侵入密码系统的人会发现很难预测加权函数。因此,增加了应用本发明第一方面的密码系统的保密性。特别是,如果由一次通过随机数数据确定加权函数,由于消除了随机数数据的再现性,进一步增加了密码系统的保密性。
虽然积分变换算法可以是任一种形式,但是积分变换算法最好包括本发明第一方面中的傅里叶变换算法。傅里叶变换是可由计算机快速和容易执行的积分变换,而且由傅里叶变换变换的数据一般易于被分散。如果傅里叶变换算法被用作积分变换算法,那么可以由标识符快速和容易地生成专用密钥,而且有效地使通信方的专用密钥高度分散,从而增加了密码系统的保密性。
此外,根据本发明,其中中心算法包括标识符变换算法的方法还包括下列步骤在中心,用为每个通信方所特有的一次通过个人随机数数据,使由中心算法变换的标识符随机化,从而生成专用密钥,并把包括用于删除包括在专用密钥中的随机化元素的算法和积分变换算法的标识符变换算法,以及每个通信方的专用密钥从中心分配到每个通信方;并且通过把每个通信方拥有的标识符变换算法和专用密钥施于与其进行通信的其它通信方的标识符,生成公共密钥。
通过用一次通过个人随机数数据修正表示由中心算法变换的标识符的数据序列位的值,或者重新排列数据序列,或者修正数据序列位的值和重新排列数据序列二者一起使用,执行随机变换的随机化。
因此,专用密钥包括由随机变换引起的元素以及中心算法。由于运用为每个通信方所特有和未知的一次通过个人随机数数据(不能复制或者很难复制的随机数数据)完成随机变换,所以每个通信方的专用密钥包括偶然元素。结果,更加加强了密码系统对各种形式侵犯的保密性。
被施于其它通信方的标识符的专用密钥包括由随机变换所引起的各个元素。因此,把专用密钥和包括用于删除那些元素的算法以及积分变换算法的标识符变换算法分配给每个通信方。对于通信,把标识符变换算法和专用密钥施于其它通信方的标识符,从而生成为互相进行通信的通信方所共享的公共密钥。
通过用一次通过个人随机数数据,重新排列表示由中心算法变换的标识符的数据序列,使由中心算法变换的标识符随机化。
较佳的是,数据序列包括多个无用位,而且通过用一次通过个人随机数数据使无用位的值随机化和全面地重新排列包括无用位的数据序列,使由中心算法变换的标识符随机化。
由于用一次通过个人随机数数据使表示由中心算法变换的标识符的数据序列的无用位的值随机化,而且全面地重新排列包括无用位的数据序列,想要侵入(即,想要分解密码系统)的人不能理解哪一部分所需数据包括无用位,以及哪一部分所需数据包括有用位。于是,对于这种侵入,密码系统是高度保密的。
根据每个通信方的给定处理,较佳的是,根据手工数据输入处理生成一次通过个人随机数数据,而且根据手工数据输入处理的定时生成一次通过个人随机数数据。
由于根据由操作者手工把短语和语句输入计算机的定时生成随机数数据,所以不能复制或者很难复制生成的随机数数据。可以适当地生成一次通过个人随机数数据。
此外,根据本发明,运用积分变换算法的方法还包括下列步骤在中心,用为每个通信方所特有的一次通过个人随机数数据,使由中心算法变换的标识符随机化,从而生成专用密钥,并从中心把专用密钥及包括用于删除包括在专用密钥中的随机化元素的算法的标识符变换算法分配给每个通信方;并且通过把每个通信方拥有的标识符变换算法和专用密钥施于与其进行通信的其它通信方的标识符,生成公共密钥。
由于通过用一次通过个人随机数数据(不能被复制或者很难被复制的随机数数据),使根据中心算法(它包括上述假设为对称的部分)变换的每个通信方的标识符随机化而在中心生成每个通信方的专用密钥,所以每个通信方的专用密钥包括各个偶然元素。结果,很难分解专用密钥和中心算法,而且对于各种侵入,密码系统都具有高度保密性。每个通信方的专用密钥包括由随机变换引起的元素。因此,把包括用于删除那些元素的算法的标识符变换算法和专用密钥分配给每个通信方。对于在通信方之间的通信,在每个通信方中,把标识符变换算法和专用密钥施于其它通信方的标识符,从而生成由通信方共享的公共密钥。
通过上述描述,根据本发明,通过用一次通过个人随机数数据重新排列表示由中心算法变换的标识符的数据序列,使由中心算法变换的标识符随机化。较佳的是,数据序列包括多个无用位,而且通过用一次通过个人随机数数据使多个无用位的值随机化和全面地重新排列包括无用位的数据序列,使由中心算法变换的标识符随机化。于是,增加了根据本发明的密码系统的保密性。
根据每个通信方的给定处理,生成一次通过个人随机数数据。更精确地说,给定处理包括手工数据输入处理,并且根据手工数据输入定时生成一次通过个人随机数数据。于是,可以适当地生成一次通过个人随机数数据。


图1是对其运用根据本发明的密钥完成通信的方法的密码系统的方框图;图2是示出如图1所示密码系统基本结构的构思的方框图;图3是如图1所示密码系统的操作顺序的流程图;图4是详细示出在如图3所示的操作顺序中步骤1的流程图;图5是详细示出在如图3所示的操作顺序中步骤2的流程图;图6是详细示出如图3所示的操作顺序中步骤3和4的流程图;图7是详细示出如图3所示的操作顺序中步骤3和5的流程图;和图8是用于执行如图6和7所示步骤的计算机的方框图。
执行本发明的最佳模式参照图1和2,首先描述应用了以本发明的密钥完成通信的方法的密码系统。
如图1所示,密码系统包括作为系统基本主要组成部分的中心或中央设备1、对密码系统预定相互间进行通信的多个通信方2和通过它能将中心1和通信方2相连而互相进行通信的网络3(诸如互连网、个人计算机通信网络等)。中心1和通信方2包括用于完成实际通信和数据处理的计算机(诸如个人计算机)以及这些计算机的用户。
在网络3上的密码系统中(如图2所示),通信方2(由图2中的i,j,……表示)分别具有专用的标识符yi,yj……(后面将详细描述)。如果i≠j,那么yi≠yj。中心1将为通信方2所特有的并由中心1根据各个标识符yi,yj……(如果需要的话,下面将它称为“标识符yn”)生成的各个专用密钥Xi,Xj……(下面将详细描述,而且如果需要的话,下文将它称为“专用密钥Xn”)赋予通信方2(i,j……)。对于在任一方i,j之间的密码通信,运用通信方i,j的专用密钥Xi,Xj,为通信方i,j生成用于对通信数据进行加密(在发送端)和对通信数据进行解密(接收端)的公共密钥Kij。运用生成的公共密钥Kij在通信方i,j之间执行加密通信。
在详细描述密码系统之前,下面首先描述标识符yn。在本实施例中,每个通信方2的标识符yn可以包括为每个通信方2所共有和特有的任何属性,例如,姓名、地址、在网络上的邮件地址或区域名、或者每个通信方2的组合。实际上,中心1和每个通信方2的计算机处理标识符yn时把它作为已由有限环上的倍集加密的矢量数据。
下面,参照图3至8,描述执行上述密码通信的密码系统。
如图3所示,在中心1在准备阶段生成并分配专用密钥Xn之后,在通信方i,j之间执行密码通信。
在准备阶段中,当建立中心1或更新密码系统时(步骤1),中心1生成中心算法,它作为生成每个通信方的专用密钥的基础。
在这个实施例中,中心算法包括中心矩阵、加权函数和积分变换算法。积分变换算法是用于产生每个通信方2标识符yn数据的积分变换的算法。在这个实施例中,把傅里叶变换(更精确地说,快速傅里叶变换)用作积分变换算法。在现有技术中已知各种傅里叶变换,而中心1选择一种傅里叶变换来生成本实施例使用到的傅里叶变换算法。实际上,以矩阵来表示傅里叶变换算法以处理标识符yn的数据。
加权函数用于阻止混淆标识符yn的傅里叶变换,它是有限区间内的数据。加权函数是其值在标识符yn的数据区间的两端处趋于“0”的函数。中心矩阵是对称矩阵,更精确地说,是非奇对称矩阵。
运用一次通过随机数数据生成加权函数和中心矩阵。特别是,为了生成加权函数和中心矩阵(如图4所示),中心1根据操作者在中心1中的计算机上手工操作生成随机数数据(步骤1-1)。更精确地说,操作者把适当的短语、语句等输入中心1的计算机,然后计算机连续测量输入数据的时间,即,输入各个字的时间或者输入各个字的时间间隔。然后,计算机根据测得的输入数据的时间,以时间序列生成随机数数据。由于生成的随机数数据是基于依赖于手工操作的输入数据的时间(它包含了不确定因素),所以实际上,随机数数据缺乏再现性,而且是偶然的。因此,随机数数据是一次通过数据。
在生成一次通过随机数数据之后,中心1根据生成的一次通过随机数数据,确定加权函数和中心矩阵(步骤12)。特别是,中心1运用一次通过随机数数据,通过确定加权函数的值在标识符yn数据区间内变化的方式(即,加权函数在标识符yn数据区间的两端趋于“0”),确定加权函数。这样,以不可预测的模式确定加权函数。实际上,用对角矩阵表示加权函数。中心1运用一次通过随机数数据,通过确定矩阵诸元的值确定中心矩阵,同时保持矩阵对称性和非奇性。
把中心算法秘密存储在中心1中,其中所述中心算法包含中心矩阵、加权函数和如此形成的积分变换算法。特别是,把中心矩阵和加权函数保存在严格保密的存储器中,从而除了由中心1所指定的那些通信方以外,第三方(包括通信方2)不能得到。中心算法是为通信方2所共有的。
再参考图3,当把通信方2(i,j……)预定给密码系统时,中心1运用存储在中心1中的中心算法和每个通信方2的标识符yn,生成为每个通信方2所特有的专用密钥Xn和用于生成公共密钥Kij(后面将要描述)的标识符变换算法,而且把专用密钥Xn和标识符变换算法分配给每个通信方2(步骤2)。
特别是,在步骤2中,如图5所示,中心1把傅里叶变换算法和加权函数的矩阵施于每个通信方2的标识符yn的数据(矢量数据),从而以加权函数对标识符yn完成傅里叶变换(步骤2-1)。然后,中心1把在步骤2-1中生成的矢量数据乘以中心矩阵(步骤2-2)。使标识符yn的数据有冗余,从而在步骤2-2中生成的矢量数据包含多个有用位(useful bit)和多个其它无用位(unnecessary bit),其中的有用位是通过把加权函数、积分变换算法和中心矩阵施于主要作为标识符yn数据的位链(bittrain)生成的。
当中心1与每一方进行通信时(例如,在对通信方2作预定处理时),中心1生成为通信方2所特有的而且为通信方2所不知的一次通过个人随机数数据(步骤2-3)。特别是,用与当中心1生成一次通过随机数数据来确定加权函数和中心矩阵时相同的方法,操作者通过通信方2的计算机输入适当的短语、语句等,而中心1连续接收输入的数据。中心1的计算机测量输入数据的时间。中心1的计算机然后根据测得的输入数据时间生成个人随机数数据。由于用生成的一次通过随机数数据确定加权函数和中心矩阵,一次通过个人随机数数据缺乏再现性而具有偶然性。因此,个人随机数数据是为通信方2所特有的,而且是一次通过数据。因为不能精确地控制手工输入数据的时间,所以通信方不能知道个人随机数数据。
于是,中心1以在步骤2-3中生成的一次通过个人随机数数据使在步骤2-2中产生的矢量数据无用位的各值随机化(步骤2-4)。然后,中心1随机地重排由随机无用位和有用位构成的矢量数据,即,用一次通过个人随机数数据改变矢量数据的排列(步骤2-5)。通过这种方法,中心1使在步骤2-2中生成的矢量数据(通过中心算法从标识符yn变换而来)随机化。然后,中心1用随机矢量数据作为每个通信方2的专用密钥Xn。由矩阵(不一定是对称矩阵)特别是由其转置矩阵等于逆矩阵的矩阵表示随机变换或上述随机化。
中心1根据一次通过个人随机数数据、傅里叶变换算法和加权函数生成标识符变换算法(步骤2-6)。通过把用于删除在专用密钥Xn中反映出来的随机变换的元的算法(表示为代表随机变换的逆矩阵)、傅里叶变换算法和加权函数结合起来,即,通过把表示算法的矩阵、傅里叶变换算法和加权函数相乘,生成标识符变换算法。
通过通信,把由中心1如此生成的每个通信方2的专用密钥Xn和标识符变换算法分配给每个通信方2(参见图3中的步骤2)。上面详细描述了中心1中的准备阶段。
在生成每个通信方2的专用密钥Xn和标识符变换算法之后,中心1不存储(而是删除)与每个通信方2相对应的一次通过个人随机数数据和表示随机变换的矩阵。当每个通信方2接收到专用密钥Xn和标识符变换算法时,它将它们秘密存储在它自己的计算机的适当存储装置中。
在准备阶段之后,下面将要描述在任何通信方2之间执行的密码通信过程。假设,在通信方i,j(i≠j)(其中,通信方i作为发送方,而通信方j作为接收方)之间进行密码通信过程。
在密码通信过程中,发送方i根据由发送方i所持有的专用密钥Xi和标识符变换算法以及接收方j的标识符yj,生成由它自己和接收方j共享的公共密钥Kij(步骤3)。
特别是,如图6所示,发送方i把在发送方i的计算机上的发送方i的标识符变换算法施于接收方j的标识符yj,即,把标识符yj的矢量数据乘以标识符变换算法的矩阵(步骤3-1)。然后,发送方i计算在步骤3-1中生成的矢量数据和发送方i的专用密钥Xi(矢量数据)的内积(步骤3-2),生成为发送方i和接收方j所共有的公共密钥Kij。类似地,如图7所示,接收方j把在接收方j的计算机上的接收方j的标识符变换算法施于发送方i的标识符yi(步骤3-1),然后计算在步骤3-1中生成的矢量数据和接收方j的专用密钥Xj的内积(步骤3-2),生成为接收方j和发送方i所共有的公共密钥Kji。
由发送方i独立生成的公共密钥Kij和由接收方j独立生成的公共密钥Kji相同。
特别是,分别由发送和接收方i,j所持有的专用密钥Xi,Xj是通过把带有加权函数的傅里叶变换算法、中心矩阵和随机化施于各个通信方i,j的标识符yi,yj而产生的矢量数据,而且通过把带加权函数的傅里叶变换算法和用于删除在专用密钥Xi,Xj中反映出来的用于每个通信方i,j的随机变换的元的算法相结合产生标识符变换算法,该算法施于各个其它通信方j,i的标识符yj,yi以使通信方i,j生成公共密钥Kij,Kji。
因此,当在步骤3-2中计算内积时,消除了每个通信方i,j的随机变换的效果,而且作为计算结果所获得的公共密钥ij,Kji产生的内积等于通过把带有加权函数的傅里叶变换算法以及中心矩阵施于各个通信方i,j的标识符yi,yj生成的矢量数据和通过把带有加权函数的傅里叶变换算法施于各个其它通信方j,i的标识符yj,yi生成的矢量数据的内积。否则,如果假设分别由yi’,yj’(yi’,yj’是列矢量)表示通过把带有加权函数的傅里叶变换算法施于标识符yi,yj生成的矢量数据,而由C表示中心矩阵,则分别由Kij=(yj’)T·C·yi’,Kji=(yi’)T·C·yj’表示公共密钥Kij,Kji,其中T表示转置。
由于中心矩阵C是对称矩阵,所以公共密钥Kij,Kji显然互等(Kij=Kji)。因此,分别由各个通信方i,j生成的公共密钥Kij,Kji互相一致,从而通信方i,j可以共享公共密钥。
在生成为发送和接收方i,j所共有的公共密钥Kij(图3中的步骤3)之后,发送方i根据公共密钥Kij和要发送给接收方j的普通文本(语句、程序等)生成加密的通信文本。对于生成加密的通信文本,发送方i运用公共密钥Kij和一次通过随机数数据。
特别是,对于生成密文(如图6所示),发送方i根据输入数据的时间(即,把短语或语句的字手工输入到发送方i的计算机内的时间或时间间隔)生成一次通过随机数数据(下面称为“密码通信随机数数据”)(步骤4-1)。然后,发送方i运用公共密钥Kij作为固有密钥(intrinsic key)对一次通过密码通信随机数数据加密(步骤4-2)。例如,根据三阶段DES(时间加密标准)执行加密处理。发送方i还运用在步骤4-1中生成的一次通过密码通信随机数数据(在加密前)作为密钥,对普通文本加密(步骤4-3)。例如,根据三阶段DES执行加密处理,如在步骤4-2中的加密处理的情况一样。
把在步骤4-2中生成的加密的随机数数据和在步骤4-3中生成的加密的普通文本组合成一组,从而生成准备发送到接收方j的加密通信文本。于是,把生成的加密通信文本从通信方i的计算机发送到通信方j的计算机。
最好在每次执行密码通信处理时,生成并更新密码通信随机数数据。然而,可以在每次执行几个密码通信处理时更新密码通信随机数数据,即,在几个密码通信处理中运用相同的密码通信随机数数据。
在接收到加密的通信文本之后,接收方j运用为通信方i,j所共有的公共密钥Kji(=Kij)对加密的通信文本进行解密,以最后产生普通文本(图7中的步骤5)。
特别是,如图7所示,接收方j运用公共密钥Kji(=Kij)作为固有密钥以把接收到的加密的通信文本的加密随机数数据解密成加密的通信随机数数据(步骤5-1)。然后,运用经解密的密码通信随机数数据作为密钥,接收方j把加密的通信文本的密文解密成普通文本(步骤5-2)。接收方j最终可以理解来自发送方i的普通文本的内容。现在,完成在通信方i,j之间的密码通信处理。
在图8中,示出用于对密码通信进行上述处理的每个通信方2的计算机的方框图。
如图8所示,每个通信方2的计算机包括键盘4、由CPU、RAM、ROM等构成的主单元5和包括硬盘等的数据库6,其中数据库6用于存储专用密钥Xn、标识符变换算法、诸如语句、程序等普通文本以及加密通信文本。主单元5根据其功能包括用于生成公共密钥的公共密钥发生器7、用于对通信数据加密和解密的加密和解密处理器8、用于生成密码通信随机数数据的随机数发生器9和用于存储由公共密钥发生器7生成的公共密钥以及数据(诸如由随机数发生器9生成的密码通信随机数数据)的数据存储器10。
每个通信方2的计算机进行操作以对密码通信进行上述处理,具体如下对于生成公共密钥(步骤3),通过键盘向每个发送和接收方的计算机的主单元5指示要使用的专用密钥Xn和标识符变换算法。从数据库6向主单元5中的公共密钥发生器7读取已被指示的专用密钥Xn和标识符变换算法。从键盘4把与其进行通信的另一方的标识符yn输入到主单元5。公共密钥发生器7把标识符变换算法和专用密钥Xn施于输入的标识符yn的数据,生成公共密钥(步骤3-1,3-2)。然后,把生成的公共密钥存储在数据存储器10中。
在发送方的计算机中,把用于生成密码通信随机数数据的数据(短语、语句等的输入数据)从键盘4输入到主单元5。根据输入数据,随机数发生器9生成一次通过密码通信随机数数据(步骤4-1)并把生成的密码通信随机数数据存储在数据存储器10中。
在发送方的计算机中,通过键盘4向主单元5指示在数据库6中将要发送的普通文本,并且从数据库6向加密和解密处理器8读取指示的普通文本。加密和解密处理器8运用存储在数据存储器10中的公共密钥,对存储在数据存储器10中的密码通信随机数数据进行加密(步骤4-2),而且还运用密码通信随机数数据作为密钥对普通文本进行加密(步骤4-3)。在数据库6中,保存加密的随机数数据和加密的普通文本或密文作为加密的通信文本,之后被发送到接收方的计算机。
在接收方的计算机中,在数据库6中保存接收到的经加密的通信文本,然后读到加密和解密处理器8。加密和解密处理器8运用存储在数据存储器10中的公共密钥,把加密通信文本中的加密随机数数据解密回密码通信随机数数据(步骤5-1),而且运用经解密的密码通信随机数数据作为密钥,把加密通信文本中的加密普通文本解密回原始普通文本(步骤5-2)。把由加密和解密处理器8解密的普通文本保存在数据库6中。
如上所述,在根据本发明的密码系统中,当在准备阶段由中心1生成每个通信方2的专用密钥Xn时,使通信方2的标识符yn(诸如,姓名)经过傅里叶变换作为积分变换。因此,即使各个通信方的许多标识符yn相互类似,仍可较佳地分散(disperse)在那些标识符yn经受傅里叶变换时生成的数据,从而也高度地分散在那些数据经受中心矩阵变换时生成的专用密钥xn。结果,即使在所谓的差分作用(differential attack)下,也很难分解包含中心1的中心矩阵等的中心算法。
除了傅里叶变换之外,积分变换可以是拉普拉斯变换、米勒变换、希尔伯特变换等。然而,在所述实施例中,被用作积分变换的傅里叶变换(更精确地说,快速傅里叶变换)可有效地使专用密钥Xn高度分散,而且还能用计算机高速处理标识符yn。
由于把加权函数加入中心算法以生成专用密钥Xn,所以当在有限区间内使标识符yn的数据经受傅里叶变换时产生的数据可防止异常分散。此外,在中心算法中,除了中心矩阵和傅里叶变换算法之外,由于添加的加权函数对于想要侵入中心算法的未授权人员而言是未知的算术元素,很难分解中心算法。根据运用一次通过随机数数据以不可预测的形式生成加权函数这一事实,所以很难分解中心算法。
对于生成专用密钥Xn,根据为每个通信方2所特有的一次通过随机数数据,使标识符数据经受中心算法、随机化或者随机变换。结果,每个通信方2的专用密钥Xn包含为每个通信方2所特有的并基于不与其它通信方2的随机变换相关的随机变换的元素。因此,即使当多个通信方2互相合作试图根据由各个合作的通信方2所拥有的专用密钥Xn分解中心算法时,那些通信方2会发现很难分解中心算法。在随机变换中,标识符yn的数据经过傅里叶变换之后产生的数据、加权函数和中心矩阵的无用位的值由一次通过随机数据据随机化,然后重新排列随机无用位和有用位。对于任何侵入者而言,由于这些人不能识别专用密钥Xn的哪个部分数据包含那些无用位,所以他们很难分解中心算法。此外,为了使未授权的密码分解者能完全解开密码系统,未授权的密码分解者必须根据专用密钥Xn等的数据分解四个算法,即,中心矩阵、加权函数、傅里叶变换(积分变换)和随机变换。实际上不可能分解所有四个算法。
对于在密码系统中生成用于密码通信的公共密钥,必须把标识符变换算法和专用密钥Xn一起分配给每个通信方2,其中所述标识符变换算法包括用于删除在专用密钥Xn中反映出来的随机变换的元素的算法。然而,由于标识符变换算法是用于删除随机变换的元素的算法、傅里叶变换算法和加权函数的组合,所以也很难根据标识符变换算法逐个分解随机变换的算法、加权函数和中心1的中心算法的傅里叶变换算法。
结果,实际上不可能根据每个通信方2的公共密钥Xn等分解中心1的中心算法,这对于密码系统的保密性是最重要的。
对于执行在任意的通信方i,j之间的密码通信,不是运用公共密钥Kij直接对普通文本进行加密,而是运用不具备定位特性的一次通过密码通信随机数数据作为密钥,对普通文本加密,而且运用公共密钥Kij对作为密钥而用于对加密普通文本或密文进行解密的密码通信随机数数据进行加密。因此,即使第三方窃取加密的通信文本,第三方发现很难根据加密的通信文本分解公共密钥Kij。由于很难分解公共密钥Kij,所以对于第三方而言,很难获得包括在公共密钥Kij中的每个通信方2的专用密钥Xn的信息和包含在专用密钥Xn中的中心算法的信息。当运用密码通信随机数数据作为密钥对普通文本加密时,能够保证它的保密性。
因此,密码系统对于各种形式的侵入来说,都是高度保密的。在任意的通信方i,j之间的密码通信中,只要把通信方i,j自己的专用密钥Xi,Xj和标识符变换算法施于其它通信方的标识符yi,yj,通信方i,j就可以生成并共享公共密钥Kij,而不必加入中心1并要求在通信方i,j之间进行预先通信。因此,密码通信很简单,通用性极强且高度保密。标识符yn在上述的生成公共密钥Kij中起到重要作用这个构思与由A.Shamir在“Identity-based Cryptosystems and SignatureSchemes/Adavances in Cryptography:Proceeding of CRYPTO‘84/Springer LNCS196,1985,pp.47-53”中所揭示的原理相类似。
下面,将从更加理性的观点来描述根据本发明应用该方法的密码系统的效果。
在密码系统中,生成每个通信方2的专用密钥,而且根据线性变换或方案生成公共密钥。下面,将描述线性变换。
假设,Xif表示用于生成由f通信方2共享的公共密钥的通信方i的专用密钥。根据构成上述线性方案的一般原理,任意选择f-输入对称变换g(它是具有f个变量的对称函数),而且确定通信方i的专用密钥Xif为满足下述等式的f-l输入变换相对于通信方i的标识符yi的Xif(ξl,……,ξf-l)=g(yi,ξl,……,ξf-l),它是表示任一标识符的变量。可以找到线性变换,从而f输入对称变换g的核与多线性映射(f-线性映射)一致,而且基本上在伽罗瓦域上的矢量空间中限定它并概括成在环上的价值(a cost on a ring)。
密码系统是基于f=2这一假设,而且如下定义上述线性变换假设,E表示属于中心1的通信方组,I表示通信方的标识符组,K表示公共密钥组(见图1),而且Q表示具有单位元素的交换环,J表示在交换环Q上阶数m的傍系,而K表示在交换环Q上较高阶h的傍系,傍系J,K具有分别作为m-和h-列矢量的元素。如果交换环Q是域,那么傍系J,K是具有各自维数m,h的矢量空间。阶数m等于标识符的总数。
还假设,R表示用于从傍系I到傍系J的内映射(injective mapping)的线性变换,而且这里将它称为“一致变换”。一致变换基本上与对标识符数据完成带有加权函数的傅里叶变换(积分变换)相对应,而且还可以被扩展到包括随机变换(如下所述)。
根据上述假设,首先,任意选择和确定对称第Q个多线性映射(2-输入对称变换)g:J2→K从J2(傍系J的一组两个元素对)到公共密钥组K。对称第Q个多线性映射g等价于从任何两个经一致变换的任意标识符到与两个经一致变换的任意标识符相对应的公共密钥的变换。
对于给定的标识符yi(∈I),确定在交换环Q上具有h行m列的矩阵xi已满足等式xi·η=g(R(yi),η),其中η表示任一m列矢量,而且是傍系J的元素。
此外,对于给定的标识符yi(∈I),形成1-输入变换Xi(ξ)以满足等式Xi(ξ)=xi·R(ξ),其中ξ是组I的任一元素。
1-输入变换Xi(ξ)是通信方I的专用密钥,由下列等式表示Xi(ξ)=Vi(R(ξ))其中,运用上述矩阵xi把1-输入变换Vi限定为Vi(η)=xi·η。
如果有多个中心,那么用如上对每个中心确定的矩阵xi的总和代替在等式Vi(η)=xi·η中的“xi”。
从上述说明可见,运用限定的专用密钥Xi,等式Xa(yb)=Xb(ya)满足于任何通信方a,b∈E,即,当通信方a,b把其它方的标识符yb,ya输入它们自己的专用密钥Xa,Xb时,可以获得公共密钥Xa(yb)=Xb(ya)。
即使选择多变量多项式来代替多线性映射g,由于通过一组未知量的适当变换可以重写任一多项式作为线性多项式,而且可以把这种变换吸收在一致变换R中,所以这种多变量多项式也被本密码系统的线性变换所覆盖。此外,把一些变换称为线性变换和运算(诸如,指数函数)的合成。下面描述本密码系统的线性变换的性能和一致变换R的作用。
假设对于任一变换A,Cd(A)和Ce(A)分别表示变换A的描述的复杂性和变换A的评估的复杂性。此时,上述变换Xi、R、Vi满足下列等式和不等式Cd(Xi)=Cd(R)+Cd(Vi),Ce(Xi)≤Ce(R)+Ce(Vi)。
如果用w[比特]描述表示专用密钥的变换Xi的输人(标识符),那么变换Vi的描述的复杂性Cd(Vi)表示如下Cd(Vi)=h·m·w[比特]变换Vi的评估的复杂性Ce(Vi)表示如下Ce(Vi)=O(h·m)[Q-运算]。其中,O(h·m)[Q-运算]表示在交换环Q上的h·m阶,而且基本,可通过O(w2)[比特变换]来评估它的值,即,w2阶。当选择较小的交换环Q(即,伽罗瓦域GF[2])时,复杂性Ce(Vi)在程度上是低的。
因此,一致变换R的描述的复杂性Cd(R)和变换R的评估的复杂性Ce(R)决定了变换Xi描述的复杂性Cd(Xi)和变换Xi的评估的复杂性Ce(Xi)。
下面将描述一个或多个通信方j运用它们的专用密钥Xj试图破坏密码系统的情况。
显然,完全破坏密码系统意味着确定上述多线性映射g:J2→K。对于完全破坏密码系统,需要中心与通信方或与多线性映射g的阶数(它基本上等于标识符的总数m(=J的阶数))一样多的通信方合作。然而,实际上不可能获得这种合作。
下面讨论由一些通信方j确定通信方i的专用密钥Xi的可能性。对于这个问题,一致变换R起到重要作用(如下所述)。
首先,可以容易地获得声明“即使通信方的通信方组E的子集B的所有通信方j合作,而且通信方j∈B运用它们各自的专用密钥Xj的全部{Xj|j∈B},它们也不能获得任何有用的信息来确定在组E-B中的任一通信方i的专用密钥Xi”等于声明“对于在组E-B中的每个通信方i,一致变换R(yi)与在子集B中的通信方j的各个一致变换R(yj)的全部{R(yj)|j∈B}线性无关”。结果,根据信息原理,本密码系统的线性变换的保密性降低为组{R(yj)|i∈E}的任一子集U的线性相关。因此,在线性变换和线性代数组合之间存在着紧密的关系。对于评估线性变换的保密性,考虑由m行和n列(n=#E=e通信方E的总数)的奇偶校验矩阵H=(R(y1),…,R(yn))限定的线性代码LR={z∈Qn|H·z=0}十分重要,即,由在交换环Q上的n列矢量表示的一组代码字z,n列矢量和奇偶校验矩阵H的乘积为零。可以容易地得出,汉明加权S的代码字z(∈LR)的存在等价于通过s-1个通信方j合作可以获得某一通信方i的专用密钥Xi的这个事实。
使一致变换R个人化,即,使一致变换R为每个通信方所特有,使得密码系统能够抵抗破坏密码系统的企图(即使通过多个通信方的合作)。特别是,如果通信方i的一致变换R(yi)与试图破坏密码系统的各个通信方j(j∈B)的一致变换R(yj)的组{R(yj)|j∈B}和R(yi)=∑Cj·R(yj)(其中,Cj是合适的系数)成线性相关,则如从专用密钥的上述定义可见,通信方i的专用密钥Xi和通信方j(j∈B)的专用密钥Xi满足等式Xi=ΣCj·Xj。因此,试图破坏密码系统的通信方j的组B可以容易地知道另一方i的专用密钥Xi。然而,当使一致变换R个人化时,它为每个通信方所特有,这使得给定通信方j的组B很难找到具有能够分解另一专用密钥Xi的标识符yi的通信方j。换句话说,组B的通信方j根据由那些通信方j所拥有的专用密钥Xj的信息不能理解可以分解通信方的专用密钥Xi。相反,对于具有给定标识符yi的通信方i也很难找到包含可以分解它的专用密钥Xi的标识符yj的组B。因此,即使识别出具有要被分解的专用密钥Xi的通信方i,也不能识别哪些通信方互相合作以分解专用密钥Xi。于是,为了增加密码系统的复杂性和理论上的保密性,使一致变换R个人化是十分重要的。
可以选择各种线性变换实现一致变换R和个人化。一致变换R个人化的技术一般分为两大类。
在一种类型中,运用与线性代码LR(它是众所周知的代数或解析几何代码)相对应的一致变换R。在另一种类型中,对于每个通信方,都分别使一致变换R随机化。
根据先前的过程,如果为了保密而增加标识符的总数m,那么所需数据的数量将会很大。例如,假设Q=GF(q)带有本原元素α,h=1的伽罗瓦域,β是α的ξ次幂(logβ=ξ·logα),而且R(ξ)=[1,β,β2,…,βm-1]T,而且把I加密成{0,1,2,…,n-1}。由于这个一致变换R不是单向性的,所以它不是严格的线性变换。然而,一致变换R与R.Blom所著的论文“对称密钥生成系统的最佳类别”中提出的线性变换相对应。线性代码LR与Reed-Solomon代码相对应。在这种类型中,需要使网络中通信方的总数n小于在伽罗瓦域Q=GF(q)中的“q”。如果当n=1012时应用这种类型,那么最小的Q是GF(240),这需要大量的数据。后面的处理(其中对每一方的一致变换R随机化)是在上述实施例中由随机变换实现的处理。根据这个处理,即使标识符的总数m(它等于在本密码系统中的通信方总数n),也存在可用少量的数据快速处理的多个一致变换R。
根据与获得著名的渐近Varshamov-Gilber边界的处理相类似的处理,获得与渐近Varshamov-Gilber边界相对应的下列关系式m/n+r≤φ(b/n)其中,r=m·logq(q-1),φ是由下列等式定义的函数φ(u)=u·logq(q-1)-u·logqu-(1-u)logq(1-u)。
在上述不等式中,“b”表示试图破坏密码系统的通信方j的总数=#B)。
上述不等式确定破坏密码系统所需的通信方j的总数b的极限。不满足上述不等式的通信方的数量b表示不能破坏密码系统。
从上述不等式可得出,相对于任一数m,b,即使最多b个通信方j相互合作,也存在阻止通信方j分解另一个通信方i的专用密钥Xi的一致变换R。还可见到,一致变换R的个人随机性导致线性无关结构,同时在多种情况下满足上述条件。
因此,通过一致变换R的个人随机化大大增强了本密码系统的保密性。换句话说,一致变换R的个人随机化增加了一致变换R的描述的复杂度Cd(R)和变换R的评估的复杂度Ce(R),以及变换Xi的描述的复杂度Cd(Xi)和变换Xi的评估的复杂度Ce(Xi),从而保证密码系统的高度保密性。
实际上,如果Q=GF[2],m=8192和h=64,那么Cd(Xi)=64[K比特]。在这种情况下,运用160比特的公共密钥,可以在最多包括10120个通信方的密码系统中的两个任意通信方之间实现密码通信。如果以200MHz时钟运用32位CPU和640K字节存储器,那么在20ms内可以计算每个专用密钥。不能完全破坏该密码系统,除非8192个通信方互相合作。由于每个通信方的个人随机化,除非至少有256个通信方互相合作,否则不能获得另一通信方的专用密钥的任何信息。
在上述实施例中,除了加权函数和傅里叶变换算法之外,还建立了中心矩阵。然而,可以把加权函数本身用作中心算法。
虽然在上述实施例中把傅里叶变换用作积分变换,但是还可以应用各种其它积分变换,诸如拉普拉斯变换、米勒变换、希尔伯特变换等。
虽然已示出并详细描述了本发明的较佳实施例,但是应理解可以进行各种变化和变更,而不偏离所附权利要求书的范围。工业应用性作为一种在网络(诸如,互连网,个人计算机通信网络等)上的公共密钥系统,本发明作为简单和保密的密文通信方法是十分有用的。
权利要求
1.一种运用对在网络中的通信方之间的通信数据进行加密和解密的公共密钥完成通信以发送和接收通信数据的方法,其中所述网络包括多个通信方和中心,其特征在于,包括下列步骤用随机数数据作为密钥对通信数据进行加密,而且用发送端的公共密钥对随机数数据进行加密,并把来自发送端的加密随机数数据以及加密的通信数据发送到接收端;和在接收端用公共密钥对加密的随机数数据进行解密,而且用解密的随机数数据作为密钥对加密的通信数据进行解密。
2.如权利要求1所述的方法,其特征在于,所述随机数数据包括一次通过随机数数据。
3.如权利要求1或2所述的方法,其特征在于,在发送端,根据通信方的给定处理过程生成所述随机数数据。
4.如权利要求3所述的方法,其特征在于,所述给定的处理过程包括手工数据输入过程,并根据所述手工数据输入过程的定时生成所述一次通过个人随机数数据。
5.如权利要求1所述的方法,其特征在于,还包括下列步骤在网络的中心,通过根据只由所述中心持有并为各通信方共有的中心算法变换各通信方特有的标识符,生成各通信方所特有的专用密钥;把生成的专用密钥从所述中心分配到所述各通信方;和通过把由每一方通信方持有的专用密钥施于通过发送和接收通信数据与其进行通信的另一方的标识符,在每一方生成所述公共密钥。
6.如权利要求5所述的方法,其特征在于,所述中心算法包括对每一方的标识符执行积分变换的积分变换算法,还包括下列步骤把所述专用密钥和所述积分变换算法从中心分配到每一方;和通过把积分变换算法和由每一方持有的专用密钥施于与其进行通信的各一方的标识符,生成所述公共密钥。
7.如权利要求6所述的方法,其特征在于,所述积分变换算法包括带有加权函数的积分变换算法。
8.如权利要求7所述的方法,其特征在于,由所述中心生成的随机数数据以不可预测的模式确定所述加权函数。
9.如权利要求8所述的方法,其特征在于,所述随机数数据包括一次通过随机数数据。
10.如权利要求6或7所述的方法,其特征在于,所述积分变换算法包括傅里叶变换算法。
11.如权利要求6所述的方法,其特征在于,进一步包括下列步骤在所述中心,用每一方所特有的一次通过个人随机数数据,使由所述中心算法变换的标识符随机化,从而生成所述专用密钥,并把包括用于删除包括在所述专用密钥中的随机化元素的算法和所述积分变换算法的标识符变换算法,以及所述专用密钥从所述中心分配到每一方;和通过把每一方拥有的所述标识符变换算法和所述专用密钥施于与其进行通信的另一方的标识符,生成所述公共密钥。
12.如权利要求11所述的方法,其特征在于,通过用所述一次通过个人随机数数据,重新排列表示由所述中心算法变换的标识符的数据的序列,使由所述中心算法变换的所述标识符随机化。
13.如权利要求12所述的方法,其特征在于,所述数据序列包括多个无用位,而且通过用所述一次通过个人随机数数据使所述无用位的值随机化并全面地重新排列包括所述无用位的数据的序列,使由所述中心算法变换的所述标识符随机化。
14.如权利要求11所述的方法,其特征在于,根据每一方的给定处理,生成所述一次通过个人随机数数据。
15.如权利要求14所述的方法,其特征在于,所述给定的处理包括手工数据输入处理,而且根据所述手工数据输入处理的定时生成所述一次通过个人随机数数据。
16.如权利要求15所述的方法,其特征在于,还包括下列步骤在所述中心,用为每一方所特有的一次通过个人随机数数据使由所述中心算法变换的标识符随机化,从而生成所述专用密钥,并从所述中心向每一方分配所述专用密钥和包括用于删除包括在所述专用密钥中的随机化元素的算法的标识符变换算法;和通过把每一方拥有的所述标识符变换算法和所述专用密钥施于与其进行通信的另一方的标识符,生成所述公共密钥。
17.如权利要求16所述的方法,其特征在于,通过用所述一次通过个人随机数数据重新排列表示由所述中心算法变换的标识符的数据的序列,使由所述中心算法变换的所述标识符随机化。
18.如权利要求17所述的方法,其特征在于,所述数据序列包括多个无用位,而且通过用所述一次通过个人随机数数据使所述无用位的值随机化并全面地重新排列包括所述无用位的数据的序列,使由所述中心算法变换的所述标识符随机化。
19.如权利要求16所述的方法,其特征在于,根据每一方的给定处理,生成所述一次通过个人随机数数据。
20.如权利要求19所述的方法,其特征在于,所述给定的处理包括手工数据输入处理,并根据所述手工数据输入处理的定时生成一次通过个人随机数数据。
全文摘要
为了运用公共密钥完成在通信方i,j之间的密码通信,每个通信方i,j通过把原先从中心分配的标识符变换算法和专用密钥施于与其进行通信的另一方的标识符,生成公共密钥(步骤3)。在发送端,由公共密钥生成一次通过密码通信随机数数据并对其进行加密,运用随机数数据对普通文本进行加密,并把加密的随机数数据和加密的普通文本组合成加密的通信文本(步骤4)。在接收端,运用公共密钥对在加密的通信文本中的加密随机数数据进行解密,而且通过把经解密的随机数数据用作密钥对加密的普通文本进行解密(步骤5)。
文档编号H04L9/08GK1211363SQ97192374
公开日1999年3月17日 申请日期1997年2月19日 优先权日1996年2月21日
发明者马场芳美 申请人:卡式通讯系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1