加密/解密方法和使用多仿射密钥系统的验证方法及装置的制作方法

文档序号:7583802阅读:228来源:国知局
专利名称:加密/解密方法和使用多仿射密钥系统的验证方法及装置的制作方法
技术领域
本发明涉及一种加密方法、一种加密通信方法和加密通信系统,它们都采用不能够被容易地破密的流密码。
到目前为止已知有一种能够简便和快速地处理数据的流加密方法。
一种流加密方法是产生用于位串{mi}的随机数序列{ri},然后通过Ci=mi(xor){ri}的运算产生密文{Ci},其中(xor)表示异或。
但是常规的流加密方法不能获得相对于已有的明文破密的足够保护。人们已经发明各种方法来避免该已有的明文破密。但是,这些方法不能够完全保护流密码防止已有的明文破密。
另外,尽管可以利用伪随机数产生流密码,但是不能够保证安全性,并且加密密钥可以被通过已有的明文破密而容易地确定。
例如,作为一种随机数产生方法的利蒙(Lehmer)方法是利用公式ri=(ari-1+b)(mod m)对于整数(a、b和m)确定一个随机数,其中初值被设为r0,因此可以产生一个流密码。在这种情况下,整数a、b和m是加密密钥。
但是,随机数序列{ri}可以容易地由已有的明文破密而确定,利用该序列可以容易地确定整数a、b和m。
因此,即使采用特殊的算法来产生伪随机数,如果有足够多的编码数据,也可以通过指定不确定的因子来找到加密密钥。另外,保密码不能够用仅仅一次的整数乘法的公式表示。
考虑到流密码中的缺点,一种所谓的无序密码在几年前就出现了。该无序密码是一种密码系统,其特点是具有高度保密性,并且随机数序列{xi}是由如下的二次多项式所产生的,其中采用实数x0的初值、实数a、b和cxi=ax2i-1+bxi-1+c
众所周知,数字序列{xi}表示一种非常复杂的无序状态。在这种情况下,a、b和c被作为加密密钥。
多个这样的随机数序列{yi}、{zi}、...被制备并且用于字符序列{mi}的编码由如下方程所定义Ci=(xi)(xor)(yi)(xor)(zi)(xor)…(xor)mi其中(xi)表示xi的整数部分。
在该方法中,实数的随机数序列被部分地掩蔽,并且仅仅一部分信息被用于加密,使得难以确定加密密钥。根据该加密方法,一个优点是由于高速加密已经仅仅通过软件实现而不使用作为在数据加密标准(DES)下的专门制备的芯片。
但是,其仍然具有一个缺点,即,即使当采用无序密码时,除非用实数进行两次或更多次的乘法运算,否则不能够完成加密,因此加密过程的运算需要较长的时间。并且,由于实数运算根据编译程序或处理器的型号而以不同方式进行,无序密码本质上具有对处理器型号的依赖性,其导致在应用程序上缺乏通用性。
相应地,在此需要一种能够进行高速加密并提供不能被破密的密码的加密技术。另外,还需要一种具有通用应用程序的加密技术。
本发明已经被实现以解决上述问题,本发明的一个目的是提供一种具有通用的应用程序的加密方法和加密系统,其能够进行高速加密,从而可以产生不能被破密的密码。
在权利要求1中所述的本发明是第一实施例,并且针对于一种加密方法,其包括根据多仿射密钥系统产生随机数序列{ri}的随机数产生步骤;改写步骤,其在每一次多仿射密钥系统的使用次数到达在随机数产生步骤中产生的预定数值时改写多仿射密钥系统,并且在随机数产生步骤中再次使用一系列被改写的多仿射密钥系统;以及加密步骤,其通过在随机数产生步骤中产生的随机数序列与要被加密的明文进行异或运算而产生密文{Ci}。
在具有上述特征的第一实施例中,利用多仿射密钥系统产生用于加密的随机数,该多仿射密钥系统的内容在每次多仿射密钥系统的使用次数到达预定数字时被自动改写。如果试图非法破密密文的第三者暂时地解密用于产生随机数的密钥,而该密钥被改写,并且最终该第三者不能够破密该密文。因此,用该方法能够实现高度保密性的加密/解密。
另外,在权利要求2中所述的本发明是该第一实施例,并且针对于根据权利要求1的加密方法,其中改写步骤是在每次多仿射密钥系统的使用次数c到达一上限数字n时,根据如下公式改写多仿射密钥系统的系数a和b,该公式是K[i].a=K[j].a×K[i].a+K[j].b和K[i].b=K[j].a×K[i].b+K[j].b,其中a和b是整数,c是多仿射密钥系统的使用次数,n是多仿射密钥系统的使用次数的上限(使用寿命)数值,该多仿射密钥系统由四个整数K={a,b,c,n}所表达,该密钥的运算被表达为K(x)=ax+b,多仿射密钥系统由多个仿射密钥所构成,并且i和j是整数。
该第一实施例指出本发明的多仿射密钥系统的一个特征。在该实施例中,由多个仿射密钥所构成的多仿射密钥系统由四个整数来定义,包括两个整数a和b、使用次数c以及密钥使用寿命n。从而出现多仿射密钥系统的特殊形式。
另外,在权利要求3中所述的本发明是第二实施例,其针对于根据权利要求1的加密方法,其中该随机数产生步骤包括多仿射密钥系统产生方法,其用于根据给定的密钥数据和初始随机数序列数据产生多仿射密钥系统;以及随机数产生步骤,其根据由多仿射密钥系统产生方法所产生的多仿射密钥系统产生一个随机数序列{ri}。
该第二实施例示出一种情况,其中多仿射密钥系统不是简单地在加密方法中给出而是从密钥数据和初始随机数序列中产生,从而提供一种具有高度保密性的加密方法。
另外,在权利要求6中所述的本发明是该第一实施例,并且针对于一种加密/解密方法,其包括第一随机数产生步骤,其根据多仿射密钥系统产生一个随机数序列{ri};第一改写步骤,其在每次多仿射密钥系统的使用次数到达在第一随机数产生步骤中的预定数值时,改写多仿射密钥系统,并且在第一随机数产生步骤中再次使用一系列改写的多仿射密钥系统;加密步骤,其用于从在第一随机数产生步骤中产生的随机数序列与要被加密的明文之间的异或运算中产生一密文{Ci};第二随机数产生步骤,其根据多仿射密钥系统产生该随机数序列{ri};第二改写步骤,其在每次多仿射密钥系统的使用次数到达在第二随机数产生步骤中的预定数字时,改写多仿射密钥系统,并且在第二随机数产生步骤中再次使用一系列改写的多仿射密钥系统;以及解密步骤,其执行在第二随机数产生步骤中产生的随机数序列与在加密步骤中加密的密文{Ci}之间的异或运算,把该密文解密为明文。
如上文所述,第一实施例不仅指出一种加密步骤,而且指出用于通过从多仿射密钥系统中类似产生的随机数,把密文解密为明文的解密步骤。在此,相同的随机数由多仿射密钥系统按照类似于加密步骤的过程产生,并且相同的改写在加密和解密步骤之间执行。另外,其示出加密和解密是通过异或执行的。
在权利要求8中所述的本发明是第四实施例,并且针对于一种通信装置,其包括随机数产生装置,其用于根据在存储器中的多仿射密钥系统产生一个随机数序列{ri};改写装置,其用于在每次多仿射密钥系统的使用次数到达在该随机数产生装置中的预定数值时,改写多仿射密钥系统,并且在该随机数产生装置中再次使用一系列改写的多仿射密钥系统;加密装置,其用于通过执行在该随机数产生装置中产生的随机数序列与要被加密的明文之间的异或运算而产生一密文{Ci};以及发送装置,其用于把由加密装置所加密的密文通过网络发送到另一个通信装置。
如上文所述,该第四实施例示出一种情况,其中使用本发明的多仿射密钥系统的加密/解密被通过网络应用于通信装置,并且可以通过多仿射密钥系统的自动改写功能建立具有高度保密性的通信系统。
另外,在权利要求9中所述的本发明是第五实施例,并且针对于一种根据权利要求8的通信装置,其中该随机数产生装置还包括多仿射密钥系统产生装置,其用于根据给定的初始随机数序列数据产生一系列多仿射密钥系统。
第五实施例提供一种具有高度保密性的通信装置,其中多仿射密钥系统不是在处理过程的开始时给出,而是由给定的初始随机数序列数据所产生。
另外,在权利要求12中所述的本发明是第七实施例,并且针对于一种验证方法,其包括发送步骤,其从验证方向被验证方发送一个初始随机数序列和通信文本;随机数产生步骤,其在被验证方根据由发送步骤所发送的初始随机数序列利用预先给出的多仿射密钥系统产生一个随机数序列;加密步骤,其在被验证方根据通过随机数产生步骤所产生的随机数序列加密该通信文本,以获得加密通信文本,并且把该加密通信文本发送到验证方;以及验证步骤,其在验证方利用预先给出的多仿射密钥系统根据初始随机数序列产生该随机数序列,根据该随机数序列解密由加密步骤产生的加密通信文本,以获得解密通信文本,并且由验证方根据被解密的通信文本是否等于在发送步骤中发送的通信文本而执行对被验证方的验证。
第七实施例是把本发明的多仿射密钥系统应用到一种信用卡的验证方法中,并且在此提供一种验证方法,通过该方法能够在具有高度保密性的通信上对个人等等进行验证。
在权利要求14中所述的本发明是第九实施例,并且针对于一种计算机程序,其以可执行的形式记录在一介质中,该介质可以由具有处理器的计算机所读取,并且在执行时装载到计算机存储器以操作该计算机,该程序包括第一指令方法,用于向计算机的处理器发出一个指令,以根据给定的多仿射密钥系统产生一个随机数序列{ri};第二指令方法,其用于向计算机的处理器发出一个指令,以在每次该多仿射密钥系统的使用次数达到由第一指令方法发出的指令确定的预定数值时,改写多仿射密钥系统,并且还向计算机处理器发出一个指令,以再次按第一指令方法的指令使用一系列被改写的多仿射密钥系统;以及第三指令方法,用于向计算机的处理器发出一个指令,以通过执行由第一指令方法的指令所产生的随机数序列与要被加密的明文之间的异或运算来产生一密文{Ci}。
第九实施例是运行于计算机上的一个计算机程序,其采用本发明的多仿射密钥系统。在图中具体示出的应用程序使得可以进行对作为对象的任何数字数据的加密/解密并且实现高度的保密性。
另外,在权利要求20中所述的本发明是第十实施例,其针对于一种介质记录/再现设备,其包括旋转装置,其用于在读取和写入中以规定速度旋转记录介质并且支承该介质;输入装置,用于从外部输入规定的信息;随机数产生装置,用于根据一系列多仿射密钥系统产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置,其用于根据来自随机数产生装置的随机数序列加密来自输入装置的规定信息,并且输出该加密信息;记录装置,用于把来自加密装置的加密信息记录地记录介质上;读取装置,用于读取记录在记录介质上的加密信息;解密装置,用于根据来自随机数产生装置的随机数序列解密由读取装置所读取的加密信息,并且输出该解密信息;以及输出装置,用于把由解密装置输出的解密信息输出到外部。
第十实施例在介质记录/再现设备中应用本发明的多仿射密钥系统,该介质记录/再现设备在作为对象的存储有数字数据的记录介质上执行记录和再现,并且本发明的多仿射密钥系统可应用于接受数字数据的任何记录介质,例如软盘和磁光盘(MO),并且保持高度保密性。
在权利要求23中所述的本发明是第十一实施例,并且针对于一种光盘记录/再现设备,包括旋转装置,用于在读取和写入中以规定的速度旋转并支承一光盘介质;照射装置,用于在读取和写入中用光束在规定的位置照射该光盘;随机数产生装置,用于根据一系列多仿射密钥系统产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置,其用于根据来自随机数产生装置的随机数序列加密从外部给出的规定信息,并且输出该加密信息;记录装置,用于利用光束照射装置照射到由旋转装置所旋转的光盘介质的规定位置而记录该加密信息;读取装置,用于通过检测由光束照射装置照射到被旋转装置所旋转的光盘的规定位置的光束的反射光,而读取该加密信息;以及解密装置,用于根据来自随机数产生装置的随机数序列解密由读取装置所读取的加密信息,并且输出该解密信息。
第十一实施例是把本发明的多仿射密钥系统应用到介质记录/再现设备中,该介质记录/再现设备在作为对象的存储有数字数据的光盘上执行记录和再现。这意味着记录/再现设备例如从其上记录/再现运动图像等等的CD-R(可记录光盘)和DVD(数字化视频光盘)中执行记录和再现,从而提供一种光盘记录/再现设备,其利用能够自动改写的多仿射密钥系统阻止第三者进行再现和记录,从而使著作权得到切实的保护。
在权利要求26中所述的本发明是第十二实施例,其针对于一种无线电发射/接收设备,其用于通过射频发射信号和接收信号与其它无线电发射/接收设备进行语音通信等等,其包括随机数产生装置,用于根据一系列多仿射密钥系统产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置,其用于根据来自随机数产生装置的随机数序列加密对应于所提供语音信号的数字信号,并且输出该加密信号;发射信号调制装置,用于调制该加密信号,以输出一射频的第一高频信号,并且通过天线元件发射该输出信号;接收信号解调装置,用于解调通过天线元件接收的一射频的第二高频信号,并且输出该解调信号;解密装置,用于根据来自随机数产生装置的随机数序列解密从接收信号解调设备提供的解调信号,并输出该解密信号;以及语音信号输出装置,用于把来自解密装置的解密信号转换为语音信号,并且输出该语音信号。
第十二实施例指出一种情况,其中本发明的多仿射密钥系统被应用于所谓的便携式电话,并且在此提供一种无线电发射/接收设备,其通过利用具有自动改写功能的多仿射密钥系统,良好地防止第三者窃听。
本发明的另外的目的和优点将在下文中描述,并且其中一部分目的和优点可以从该描述中显而易见,或者可以通过本发明的实践而获得。本发明的目的和优点可以通过在下文中特别指出的工具及组合而实现和获得。
包含在本说明书中并构成说明书的一部分的附图示出本发明当前的优选实施例,并且结合上文给出的一般描述和下文给出的优选实施例的具体描述,用于解释本发明的原理。


图1为示出作为根据本发明第一和第四实施例的共同实施例的加密通信系统的系统结构的方框图;图2为说明本发明第一和第四实施例的加密通信控制过程的视图;图3为说明本发明第五实施例的加密通信控制过程的视图4为说明本发明第六实施例的加密通信控制过程的视图;图5为说明采用本发明第七实施例的加密方法的验证过程的一个实例的视图;图6是用于描述使用根据本发明第一实施例的多仿射密钥系统的加密的流程图;图7是用于描述使用根据本发明第一实施例的多仿射密钥系统的解密的流程图;图8是用于描述使用根据本发明第二实施例的多仿射密钥系统的加密的流程图;图9是用于描述使用根据本发明第二实施例的多仿射密钥系统的解密的流程图;图10为示出伴随有使用根据本发明第八实施例的多仿射密钥系统的加密/解密的用于网络通信的通信装置;图11为示出由应用计算机程序执行的基本操作的流程图,其中使用根据本发明第九实施例的多仿射密钥系统执行加密/解密。
图12为示出该应用程序的主菜单的屏幕显示;图13是用于读取应用程序的密钥文件的屏幕显示;图14是用于读取应用程序的加密文件的屏幕显示;图15A和15B为示出应用程序的开始屏幕和结束屏幕的视图;图16是用于产生应用程序的加密文件的屏幕显示;图17是用于选择作为应用程序解密的对象的加密文件的屏幕显示;图18A和18B为示出应用程序的开始屏幕和结束屏幕的视图;图19是用于产生应用程序的解密文件的屏幕显示;图20是用于产生应用程序的密钥文件的屏幕显示;图21为示出计算机系统的外观的视图,在该计算机系统中执行使用根据本发明第九实施例的多仿射密钥系统进行加密/解密的应用计算机程序;图22为示出象软盘这样的盘设备的结构的方框图,该设备伴随有使用根据本发明第十实施例的多仿射密钥系统进行加密/解密;图23为示出光盘图像记录/再现设备的结构的方框图,该设备伴随有使用根据本发明第十一实施例的多仿射密钥系统进行加密/解密;图24为示出移动电话的结构的方框图,该移动电话伴随有使用根据本发明第十二实施例的多仿射密钥系统进行加密/解密。
下面将参照附图具体描述根据本发明的实施例。在下文所述的实施例中,一种加密方法、加密通信方法和具有通用应用程序的加密通信系统能够进行高速处理,并且通过提供其中一个理想的随机数序列仅使用一次的流密码使得不可能进行破密。
下面将按如下次序描述第一至第十二实施例。
第一至第三实施例是其中一种加密/解密方法。
第四至第六实施例是采用加密/解密方法的第一至第三通信装置中的装置。
第七实施例是采用该加密/解密方法的一种验证方法。
第八实施例是采用加密/解密方法的一种网络系统(路由器等)。
第九实施例是采用加密/解密方法的一种应用计算机程序。
第十实施例是采用加密/解密方法的一种磁盘驱动器。
第十一实施例是采用加密/解密方法的一种光盘记录/再现设备。
第十二实施例是采用加密/解密方法的一种移动电话。
《第一实施例》第一实施例指出一种采用本发明的多仿射密钥系统的加密和解密方法。在该实施例中,一种适合于流加密的产生随机数的原理已经被研究,以消除常规流密码的缺陷,从而能够实现加密/解密,其提供一种实际上不能够被破密的密码,并且能够进行高速处理,其采用下文中所述的加密方法。下面将概述本实施例的加密。
在本实施例中,采用多仿射密钥系统执行流加密,流加密不能够获得相对于已有的明文破密的充分保护,并且通常还未被使用(多仿射密钥系统是本发明的一个特征,多个多仿射密钥系统的每一个系数被用作为一个密钥,并且每次当密钥的使用次数超过预定数字时,该密钥(系数)被改写,因此可以阻止试图破密的第三者)。
沙诺(Shanon)已经证明没有对于佛纳姆(Vernam)密码的破密方法,该佛纳姆密码是一种流密码,其中一个理想的随机数仅被采用一次。这意味着如果消除已有的明文破密,则可以建立一种能够高速处理的理想加密法,并且可以找到一种高质量随机数序列的产生方法。
本发明设计出一种伪随机数产生方法,不能把不确定系数方法应用于该方法中,并且通过用由该产生方法产生的随机数产生一个流密码可以实现具有高度可靠性的加密。
特别地,在本发明中,一个具有高质量的随机数序列被通过利用多仿射密钥系统而产生,另外该多仿射密钥系统的系数在每次经过多仿射密钥系统的规定产生次数之后重新开始时被改写。即,在每次经过多仿射密钥系统的规定产生次数之后重新开始时被改写的多仿射密钥系统被用作为加密/解密中的密钥,它难以被第三者所破密,另外多个多仿射密钥系统被准备并且多个密钥被交叉引用,以在改写中自动更新它们的系数,从而避免被采用不确定系数方法的第三者所破密。
即,本发明提供一种方法,其中密钥的使用寿命被确定并且旧的密钥(多仿射密钥系统的系数)被新的密钥所自动改写,即,一种采用由多仿射密钥系统所产生的高质量随机数序列{ri}的方法,并且该序列被用于加密/解密中。下面将对用于本实施例中的多仿射密钥系统进行描述。
根据本发明的仿射密钥对应于用于产生加密中所用的随机数序列的多仿射密钥系统的系数。一个仿射密钥在每次使用该多仿射密钥系统产生随机数序列的次数达到规定次数之后重新开始时被自动更新,从而理想地排除被第三者破密的可能。
假设一个有限域F,该有限域F可以通过指定一个整数集合和在该集合上的运算而实现。例如,有限域F可以表达为F=z/(p)(p是一个质数)或者一个指数p的伽罗瓦域。在有限域F上的仿射密钥可以由四个整数K={a,b,c,n}所表达,并且仿射密钥K在整数x∈F上的作用被定义如下K(x)=ax+b
其中c表示计数仿射密钥被使用的次数的计数器,并且n表示仿射密钥可以被重复使用的次数的上限(使用寿命)。仿射密钥产生利蒙方法的伪随机数。
实践上,多仿射密钥系统被采用,其中采用多个仿射密钥而不是单个仿射密钥。
多仿射密钥系统包括当密钥数目被设为M时,多个仿射密钥{K[i]}(0≤i≤M-1)和一个示出密钥改写处理的过程在结构表达式的意义上为过程w(i,j整数)过程w(i,j整数);K[i].a=K[j].a×K[i].a+K[j].b;K[i].b=K[j].a×K[i].b+K[j].b;其中在当前所考虑的有限域内进行乘法和加法运算。
在该过程中,要被改写的第i个仿射密钥K[i]的系数a可以被根据在改写中作为参考的第j个仿射密钥K[j]的系数a和b而改写。
另外,要被改写的第i个仿射密钥的K[i]的系数可以被根据第j个仿射密钥K[j]的系数a和b而改写。
加密可以通过软件实现,并且当该软件被启动时每个K[i]可以根据这样或那样的方法来初始化。除非特别声明,K[i].b=3用于下文中所述的推理。即使当在加密开始时进行控制使得一个仿射密钥被初始化,密文也不能够实际被破密,如下文中所述。下面将利用图6和7的流程图描述作为本发明第一实施例的由多仿射密钥系统进行明文的加密/解密的过程。
在图6中,其中示出作为通信文本的明文{mi}被加密为密文{Ci}的过程。在此,随机数序列的初值x0被给出,并且一个随机数序列根据如下规则产生。即,首先,步骤i至v被执行,然后步骤ii至v被重复执行,从而执行随机数序列的产生和从通信文本的字节串{mi}产生密文Ci。
步骤i随机数序列的初值x0被给定为i=0。
即,首先,随机数序列的初值x0被添加到密文的开头,以相互同步。从而,多仿射密钥系统K被设置以初始化Ki和x(S51)。
步骤ii接着一个明文mi被读入(S52),并且根据如下过程利用仿射密钥K[i]产生随机数序列{ri}(S53和S54)。
xi=K[i](xi-1),K[i].c=K[i].c+1接着,如果K[kn].c等于或小于次数的设置数值n,由于不需要密钥更新,因此执行所产生的随机数序列{ri}与要被加密的密文{Ci}之间的异或(S60和S61),从而所获得的密文{Ci}被输出(S62)。
ci=mi(xor)(xnand 255)步骤iii另外,在此n表达为x的高8位,从而被用于下一阶段中的仿射密钥K被指定(S55)。
j=(xnshr 8)and(M-1)其中M表示密钥的数目并且是2的次幂。
步骤iv如果K[i].c≥K[i].n,w(i,j)被执行,结果为K[i].c=0。
即,如果该次数达到需要改写的次数,则执行用于改写的过程w(i,j),并且多仿射密钥系统的系数a和b被改写(S57至S59)。
步骤V设i=j。
程序流返回到步骤ii,并且从步骤ii至步骤v的处理对随后的通信文本重复执行。在图6的流程图中,上述过程对应于从步骤S62到步骤S52的程序。即,在随后的处理中,当自动改写多仿射密钥系统和随机数序列时,进行加密/解密处理。
在这种情况下,由于多仿射密钥系统{K[i]}在其它通信方按照相同的方式改写,因此只要保持同步,双方可以共享公共密钥信息,因此可以双向地进行通信而不在通信文本中包含加密密钥信息。下面利用图7的流程图,描述由本发明的多仿射密钥系统对密文的解密处理。密文的解密方法的过程可以被认为几乎与密文的产生方法相同。
即,需要产生与在与密文被产生的情况中相类似的随机数序列,并且相应地,当多仿射密钥系统K的设置以及i和x的初始化(S71)与加密的步骤S51不相同时,则不能够获得相同的随机数序列{ri}。
因此,产生随机数序列的过程(S72至S75)需要与在加密中随机数序列的产生过程(S52至S55)相同,另外仿射密钥的改写(S76至S79)还与加密中的改写(S56至S59)相同。
最后将对解密部分进行描述。当在加密中,执行明文mi与随机数序列{ri}之间的异或(S60至S62),在解密中,执行密文{Ci}与所获得的随机数序列{ri}之间的异或(S80至S82),从而产生该原始明文mi,该部分也非常类似于加密中的部分。毕竟,即使说加密和解密基本互为相同也没有错。由上述方法用多仿射密钥系统产生的随机数序列{ri}具有非常长的周期。根据实验,即使当采用两个仿射密钥时,周期超过M2。当采用三个或更多的仿射密钥时,周期太长而不能测量。另外,可以肯定不存在可能在利蒙方法中产生问题的随机数序列的高度非密的晶状结构。
从上文描述中,利用多仿射密钥系统产生流密码的多仿射密钥系统加密显然具有非常高的保密性。
以这种方式,由采用多仿射密钥系统的方法所产生的随机数序列{ri}是理想的随机数序列,重复周期长得可以不被考虑,并且由该方法所产生的随机数序列不仅可以用于加密而且用于各种类型的处理,并具有良好的结果。
例如,在利用蒙特卡洛法(Monte Carlo method)的数值积分中同样可以获得良好的结果,并且即使在需要极大量计算时间的通常的运算中,当利用上述方法中产生的随机数重复进行规定次数的运算时,如果估计每个运算结果,则可以用小的计算量获得具有小的误差的良好结果。因此,通过把如此获得的随机数序列应用于使用随机数的各种处理中,可以获得具有一致性的良好结果。
在本实施例中,随机数序列{ri}是具有16位或更多数位的整数值。低8位被用于加密,而高8位与加密无关,并且被用作为用于选择密钥数目的数据。高8位的数据是不能够从密钥的外部看出的信息。
在本实施例的加密中,密钥的数目是不确定的,并且即使密钥的数目增加,也不会对加密的速度产生可见不良影响。密钥的数目通常在2到28=256的范围内。该加密被执行,而仿射密钥被按照给定的概率连续更新。因此难以确定一个密钥。当一个密钥不能够被确定时,本实施例的密码可以被看作为一个佛纳姆密码,其在理论上不能够被破密,并且被作为没有破密方法的密码。在下文所述的实施例中,如下方法被采用,以实现高速的加密/解密,并考虑上述的情况,因此一次乘法足以用于产生一个随机数。另外,可以实现按照给定概率进行的仿射密钥的更新,而不要求需要相对较长的计算时间的二次乘法和一次除法。
当密钥的更新的上限是一个常数N=K[i].n时,平均要采用2/N次的整数乘法以更新一个密钥。即,每字节的整数乘法次数的的平均数是{1+(2/N)=(N+2)/N}。当N=3时,平均次数的数值是1.666...。即,加密密钥越长,则保密性越高,平均每个字节的整数乘法次数小于2次。
从对密码的解密者的角度来看K[i].a和K[i].b是4字节的完全未知数字,并且如果在加密中采用分别具有3个字节的随机数,当N=3时,该密钥被改写。从而,仿射密钥系统具有极高的保密性。
当ni=K[i].n是根据关于一密钥的信息而随机设置时,密钥使用寿命较长,并且平均来说密钥的处理速度增加。尽管密码相应地较容易被破密,但是由于如下原因该密码可以被认为是不可能被破密的。
一些仿射密钥具有ni=3的使用寿命。该密钥相对频繁地被改写。一个密钥的改写在概率上对直接在改写之后的随机数的产生具有影响。即使当该密钥仅被用一次时,此后一个多仿射密钥系统自己产生一个完全不同的随机数序列。乘法次数的平均数是1+(2/M)∑1/(ni)(M仿射密钥的数目)。
在M=32的情况下其数值是1.0618,ni=3的密钥数目为5的量级,随机数{ni}的范围在3≤ni≤500的范围内。而该数值取决于随机数{ni}产生的方式,实际上不会超过1.1。即,与上述具有最高保密性的情况相比可以实现速度增加50%的高速处理。
另外,当仿射密钥的数目增加时,由于比最初情况具有更多的密钥,因此保密的程度增加,但是加密速度略有下降。相应地,只要CPU的主高速缓冲存储器仍然可以接受,则仿射密钥的数目越大越好。
当采用上述加密方法时,可以获得即使保密度更高加密处理速度也不会降低的良好效果。下面将对上文所述的实施例的加密方法的保密性进行说明。
仅有佛纳姆密码是已经被证明无法破密的。佛纳姆加密技术需要与明文长度相同的理想随机数序列作为密钥,这是不切实际的。本实施例的密码是一种可行的密码,它从佛纳姆密钥改进而得,解决了这样一个问题,因此本实施例的密钥在下文的意义上来说,具有理想的保密性。
即,考虑在本实施例的加密中采用多仿射密钥系统K={K[i]}。如果所有仿射密钥K[i].n的使用寿命例如为3,那么在这一点上,建立一种具有3字节的密文的理想保密性。
被实验所验证的理由在下文中描述。顺便提一下,假设有一个密钥的情况,如果密文的保密性可以在该情况中得到证明,则同理显然可以应用于多仿射密钥系统的情况。
现在,假设用一个仿射密钥K执行步骤下处理。
步骤i任意产生分别为8位整数的随数机序列r1、r2和r3。按如下方法准备仿射密钥。
步骤iiK={a,b,c,n}被设置,并且高8位由a2表示,低8位由a1表示。类似地,b的高8位由b2表示,低8位由b1表示。一个随机数的初值x0也被认为包括高8位x02和低8位x01。即,a=256×a2+a1,b=256×b2+b1,x0=256×x02+x01其中高8位由256所乘,实际上是位移8位。
步骤iii在此,a1、a2、b1和b2中的一个被完全随机性地确定。例如,具体数值如a1=41被指定,并且进行如下处理,其中x01=ri。
步骤iv当除了被临时确定数值的a1以外的其它数值a2、b1、b2和x02被适当地选择,并且准备一个仿射密钥K,用该K产生的三个随机数可以与上述的r1、r2和r3相一致。这可以通过在简单程序上的实验而得到证实。
因此,即使用该算法进行解密,这导致解法的数目趋于无穷,因此破密者不可能从该解密得出的解法中确定正确的一个解法。
换句话说,对于3字节的密码,已经证明没有用于破密本实施例的密码的方法。
另外,当考虑一般的多仿射密钥系统K={K[i]},进一步假设所有仿射密钥的使用寿命K[i].n被设为3,通过如下方法可以证明由多仿射密钥系统产生的密码没有办法破密。
首先,假设分别具有3字节的随机数由K
所产生。在这一阶段,K
不能被确定。显然需要考虑随机数的更多字节以确定K

然后,假设由于3字节的加密已经完成,K
到达它使用寿命的终止时刻,并且由K[1]所改写。在这一点上,需要确定K[1]以确定K
。但是,K[1]在被使用3次以后由不同的密钥所改写,这使得它不可能被确定。
另外假设K[1]被改写为K[2]。然后,需要确定K[2]以确定K[1]。因此,可以知道为了确定多仿射密钥系统中的一个密钥除了同时确定所有仿射密钥之外没有其它办法。最终,除了一个接一个地考虑所有密钥的可能性之外没有其它破密方法。
当在此所用的多仿射密钥系统K={K[i]}中的密钥数目被设为N时,即使在p=65521的情况下,可能的多仿射密钥系统的系统数目大于p2N。即使在N=32的情况下,该系统的数目大于10308。
相应地,如果多仿射密钥系统中仅有一个密钥的使用寿命K[i].n为3,则实际上没有破密的方法,这导致这样的事实,即,无论其它密钥的寿命如何也不能破密本实施例的密码。下面将描述上述加密的实际模型。
在最保密的实例的实际模型中,有限域是F=z/(p),其中p=65521,仿射密钥的数目是32,改写的时间是K[i].n=3,其中K[i].c=K[i].a(mod3)。
在这种情况下的密钥是16位的64个整数。
需要一个初值附加到每个密文的开头。例如,可以预定在用一初值作为开始利用多仿射密钥系统产生随机数的处理被执行之后,规定的次数、所产生的随机数和在此时一个密钥的状态都被用于加密中。当采用该方法时,可以有效地阻止已有的明文破密。
在这种情况下,仿射密钥的总数是p64=177154870231886157858620069934376790722446967973923763783518231832493164386966500136024546606601968220026747033764476935688903023492832661352097060722233672900172754135561178064981930365383976109385015512075857247642376602652244723806550473215151769116448680094363960983119881751189736824953614518489621191681其中数字位的数目是309。该数目被认为是大于在整个宇宙中所有基本粒子的数目,因此实际上不可能进行破密。
在上述第一实施例中,描述了一种初值x0被附加到密文的开头的方法,但是,本发明不限于上述实施例,而是相同的密钥可以被重复地用于如下的方法中,在该方法中采用在组之间进行通信的应用程序。
《第二实施例》如图8和9中所示,该第二实施例不是用最初给定的多仿射密钥系统产生随机数,而是指出当随机数序列是用根据密钥H或初始矢量V产生的多仿射密钥系统而产生时的加密/解密方法。
在此时,在第二实施例中同样对作为一个实例采用与上述第一实施例相同的有限域的情况进行描述。在这种情况下,有“第一方法”和“第二方法”。下面将描述的一种方法适用于一个通信方与多个其它通信方{Bobj}进行通信的情况。在这种情况下,该通信方与其它通信方{Bobj}共享一个公共密钥H。其它通信方{Bobj}把一个包括十六进制表示的数值的初值v的初始矢量V附加到密文的开头。该密文被根据如下过程准备<第一方法>
步骤i图8为说明用根据本发明第二实施例的多仿射密钥系统进行加密的视图。
在图8中,其它通信方{Bobj}根据公共密钥H(51)和初始矢量V(52)执行多仿射密钥系统K(54)的生成(53)。
步骤ii随机数序列{ri}被通过利用具有在此处作为初值的随机数数值x0的多仿射密钥系统K产生(59和60),并且执行与该随机数序列{ri}的异或(62),以加密通信文本mi,从而输出密文{Ci}(63)。
步骤iii此后,如图8中所示,(V,Ci)被作为密文通过网络等发送到通信方。
作为本发明的一个特征的多仿射密钥系统K的改写处理(55和57)在每次多仿射密钥系统被使用预定次数之后自动进行,这使得第三方不可能进行破密。
接收该密文的通信方(艾丽丝)根据如下过程解密该密文。图9为说明用根据本发明第二实施例的多仿射密钥系统进行解密的视图。
步骤i在图9中,在解密的情况下,初始矢量V和密文Ci首先被接收(63),然后,与加密中一样,多仿射密钥系统K(54)被根据密钥H(51)和初始矢量V(52)产生(53)。
步骤ii然后,在多仿射密钥系统被产生的时刻,随机数数值x0被用作为初值与多仿射密钥系统K一同产生随机数序列{Ri}(59)。密文的解密通过执行随机数序列{ri}与输入密文{Ci}之间的异或运算(71)而进行,从而输出一加密明文mi(61)。
作为本发明的一个特征的多仿射密钥系统的改写处理(55和57)被在每次多仿射密钥系统被使用预定次数之后自动进行,这使得第三者不可能进行破密。
通过上述处理,可以实现密文的解密。
由于不具有公共密钥H的第三者不能够得知任何关于多仿射密钥系统K的情况,因此第三者不能够对该密文解密。另外,由于该方法每次使用事实上不同的密钥,因此可以永远保证保密性。但是,具有130字节的初始矢量在每次解密时被附加到密文的开头。
根据一个应用这部分的处理可以简化如下。即,初值x0和关于密钥变换的信息(α和β)被附加到密文{Ci}的开头,并且新的多仿射密钥系统K被利用该附加的初值x0和信息(α和β)从公共密钥H中产生,从而可以执行加密。
下面将描述在这种情况下的通信控制的过程<第二方法>
步骤i其它通信方{Bobj}利用初值v和密钥H加密密钥变换信息(α,β),其中该变换信息包括两个十六进制表示的数字,该初值是一个十六进制表示的数字。即,该密钥变换信息(α,β)是按照(mod p)计算的,以被加密为(α’,β’)。
步骤ii利用密钥变换信息(α’,β’)从该密钥H产生多仿射密钥系统K。
另外,从密钥H={H1,...,H64}和多仿射密钥系统Ki=α’Hi+β’(modp)准备一个新的多仿射密钥系统K={K1,...,K64}。
步骤iii然后,利用根据该算法产生的多仿射密钥系统K产生随机数ri以制备明文mi的密文C。作为密文的[v,α,β,C]被提供在网络上以所该密文发送到通信方。
在密文被解密的情况下,类似地,利用通过由密钥变换信息(α’,β’)进行公共密钥H的变换产生的仿射密钥产生随机数ri,以执行解密。在这种情况下,一个密钥H的可用次数是p3=281281747415761。根据第二方法,原始的密文仅仅被密钥变换信息增加6字节的长度,这不同于第一方法的情况。
《第三实施例》第三实施例指出一种通过简化用于随机数产生中的计算方法增加处理速度的实施例。即,当使用z/(p)(p=65521)作为一个有限域时,与整数乘法一同进行(mod p)的计算。由于(mod p)的计算是通过一次或多次的整数乘法而在延迟时序中进行的,考虑该计算(mod p)是否可以由更高速度的“and(216-1)”等所代替。如果该替换能够进行,则该运算实际上意味着执行整数的(mod 216)的计算。
当所有计算都用一个方法执行时,其中该计算用“and(216-1)”等所代替,该多仿射密钥系统被逐步地退化,并且密钥所有成分有时变为“0”。即,在该计算中,非常可能不保持密钥的复杂性。相反,在随机数序列ri的产生中,仅有一次整数乘法在如下方程xi=(K[i].a×xi-1+K[i].b)and(216-1)中计算,并且密钥的改写按常规用(mod p)计算,从而随机数相对较好。
但是,同样在上述实施例中,在K[i].b=0的情况下,计算仅仅是一个整数乘法,并且如果K[i].a是偶数,则要被产生的随机数很可能是0。因此,在K[i].b=0的情况下,K[i].b=0被强制改写为K[i].b=1。
另外,在K[i].a=0的情况下,由于相同的密钥被重复使用,因此K[i].a被改为17,其中乘法周期较长。数字17是对于p=65521的一个原根。当该部分被改进时,处理的速度被增加50%或更多。
在下文中,按步骤对加密算法进行描述。讨论一种多仿射密钥系统K={K[i]},其中K[i]={a,b,c,n}。在(modp)中计算的随机数被用作为{a,b,c,n}。另外,p=65521被设置。
在此,对于整数x仿射密钥K[i]的函数假设如下K[i](x)=(K[i].a×x+K[i].b)and(215-1)上文中已经描述当该计算被应用于密钥的改写时,不能够保持密钥的复杂性。另外,由于有时在要被产生的随机数中出现混乱,尽管这样的概率很低,这时用于改写的过程w(α,β)在第三实施例中按照如下方式改变<pre listing-type="program-listing"><![CDATA[K[i].a=(K[j].a×K[i].a+K[j].b)mod p;K[i].b=(K[j].a×K[i].b+K[j].b)mod p;if K[i].b=0 thenbeginK[i].b=1;if K[i].a=0 thenbeginK[i].a=17;end;end;end;]]></pre>通过上述改变,加密被加速,并且多仿射密钥系统的复杂性可以被保持。顺便提一下数字17是其中一个原根,并且其它原根产生类似的效果。
(计算机)处理的单位被设为16位,这是因为控制部分的处理单位是16位(字节单位)的,并且因为在该处理中16位被分为上8位和下8位。在16位中的最大质数是p=65521,因此采用该数值。在控制部分中的处理单位不是字节单位的情况下,该处理单元不限于上述的一种。下文示出一种在能够以最高速度加密的第三实施例中用于加密的过程。
通信方(艾丽丝)和其它通信方(鲍勃)共享一个密钥H,并且通信文本mi被从一个通信方发送到另一个通信方。在下文中,将对仿射密钥的数目为64的情况进行描述。但是,本质上该数字不限于这一具体数字。
步骤i
通信方(艾丽丝)首先准备一个以十六进制表示的初值v以及一个初始矢量V,该矢量是具有作为其成分的随机数的128个整数。
步骤ii通信方利用初值v和密钥H来加密该初始矢量V。该结果是按照(modp)计算的,作为一个多仿射密钥系统K。
另外多仿射密钥系统K[i].n被使用密钥H设置如下K[i].n=(i=0,1,2,3,4)K[i].n={K[i].a(mod 500)}+3(5≤i≤63)步骤iii在此通信方采用随机数x0作为初值,并且使用根据上述加密方法的多仿射密钥系统K把通信文本mi加密为密文{Ci}。
步骤iv最后,通信方通过网络把{V,C}发送到其它通信方。
按这种方式,由于除了该通信方和其它通信方之外的第三者不知道作为密钥信息的密钥H,因此该第三者不能获得多仿射密钥系统K。由于存在许多{初始矢量V},因此在每次加密时使用不同的仿射密钥K。另外,用两个不同的仿射密钥K产生的随机数序列{ri}被认为是不具有相关性的,这使得已有的明文破密变得无用。当其它通信方接收到通信文本时,按照如下过程对该密文进行解密步骤i其它通信方(鲍勃)利用具有初值x0的公共密钥K加密K’。结果,其它通信方通过在(mod p)中设置H=K(K’)可以获得与该通信方(艾丽丝)所具有的多仿射密钥系统相同的多仿射密钥系统。
另外,H[i].n也如上文所述用K设置。
步骤ii当C被用H加密时,接着可以获得通信文本M。
按这种方式,可以实现高速加密,与第一实施例相比处理速度可以约增加2.5个因子,其中安全性受到高度重视。例如,当用最新的高速个人计算机(由英特尔公司制造,装有具有450MHz的工作时钟的CPUpentium II)对具有10485K字节的文件执行加密时,证实该加密以0.84秒的量级完成。这意味着加密可以按照100M位每秒的速度进行处理。这表示该加密的速度是所有现存加密系统的3倍或更多倍。
在该实施例中所述的多仿射密钥系统加密系统确定一种用于产生具有8位的随机数序列的装置。尽管该装置是仅仅用软件来实现的,但是随机数可以按照100M位每秒的速度产生。该随机数具有如下几个优点·随机数以比利蒙方法的速度更高的速度产生,其中该处理是用质数p(mod p)执行的;·该随机数在质量上比由利蒙方法产生的随机数更好;·由上述算法产生的随机数序列具有非常长的周期,因此该序列实际上可以被认为是没有周期的;·即使仿射密钥的数目增加,以产生更复杂的随机数序列,处理速度也不会下降,以及·即使仿射密钥的一部分被改为由更高次的多项式所构成的密钥,以致使随机数提高,实际上几乎不会发生速度下降。
对于这些特点,即使当制造一个专用芯片以执行上述加密处理时,该芯片可以被用于其它类型的高速随机数序列的产生,其中一个类型可以利用蒙特卡洛法的实时应用。
《第四实施例》如图1所示,在第四实施例指出一种加密系统的结构实例,其中上述加密方法的被具体采用,并且该结构是采用使用第一实施例的多仿射密钥系统的基本加密/解密方法的一种结构。图1为示出由上述加密方法实现数据通信的数据通信系统的结构的示意图。
在图1中,通信方10被通过网络N连接到其它通信方20、30和40。由于通信方10、其它通信方20、30和40具有相互类似的结构,因此示出作为例子的通信方10的具体结构。顺便,其它通信方具有类似的结构,因此可以进行上述加密/解密过程。
通信方的通信装置10是包括控制部分11,用于根据存储在用于保存通信数据的ROM 12、RAM 13、存储器14中的控制程序控制整个装置;加密电路15,不仅用于加密保存在存储器14中的通信文本,而且解码从接收器/驱动器电路18接收的加密信息;仿射密钥产生部分16,用于产生并保存加密中的仿射密钥;随机数产生电路17,用于根据由仿射密钥产生部分16所保存的仿射密钥产生随机数;以及接收器/驱动器电路18,不但用于把密文通过网络N从加密电路15发送到其它通信方,而且从其它通信方接收加密信息等等。在具有这种功能的通信系统中的第一通信控制过程在图2中示出。该在图2中所示的第一通信控制过程是这样一种方法,其中可以执行高速加密通信,并且连续使用一仿射密钥并自动改写。该通信过程适用于一对一的通信,例如在一个公司中部门与部门之间的通信,在一个公司中总公司与分公司之间的通信,等等。
现在,假设先决条件是公共多仿射密钥系统K分别由两个装置的多仿射密钥系统产生部分16所保存,并且随机数产生电路17利用多仿射密钥系统K产生随机数序列{r1,r2,r3,...}。相应地,数据ABC的加密/解密是X(ABC)={A(xor)r1},{B(xor)r2},{C(xor)r3}。
多仿射密钥系统在每次执行如图2中所示的通信时被改写。另外,发射器端和接收器端分别具有改写后的仿射密钥,并且两端都分别用改写的仿射密钥产生随机数序列,并且利用所产生的随机数序列执行加密/解密。
即,多仿射密钥系统在每次新的通信执行时被改写,并且改写后的多仿射密钥系统被保存在仿射密钥产生部分16中。因此,由于密钥信息是不固定的,因此可以建立具有非常高的保密性的加密方法。
但是,由于可以设想,例如当在通信上出现故障时两个仿射密钥互不相同,需要在从一方发出请求时提供一个序列,该序列导致仿射密钥中的公共性的恢复。
作为这样一种序列,甚至通过从一端发射仿射密钥,在各端的仿射密钥可被复位为在预定的初始设置条件中设置的仿射密钥的这种情况可能是可接受的。
根据该方法,由于原则上没有在发射端和接收端之间的通信中传输密钥信息,另外,密钥信息在每次新的通信执行时被改变,因此可以实现具有非常高的可靠性并且实际上是不可能被破密的加密。另外,同样在这种情况下,通过用上述方法执行加密,能够以非常高的速度进行加密处理。
《第五实施例》如图3中所示,该第五实施例指出一种通信系统,其中多仿射密钥系统Kα,...等等被用于加密/解密,该多仿射密钥系统Kα,...等等是通过把预先与随机数序列α,...等等一同存储的多仿射密钥系统K变换为在每次通信中所传送的初始矢量V而产生的。在图3中示出在具有这样一种功能的通信系统中的第二通信控制过程。图3中所示的第二通信控制过程是一个实例,其中多仿射密钥系统通过随机数和一种方法所变换,其中作为基础的多仿射密钥系统K被固定地保存在发射器和接收器端(例如,保存在ROM 12中),并且在每次通信中多仿射密钥系统分别由随机数α,β和γ所变换。例如,该方法适用于对指向许多不确定的对方的通信进行加密,例如移动电话通信内容的加密。
该方法把多仿射密钥系统K固定地保存在发射器端和接收器端,作为一个先决条件。通过用多仿射密钥系统K加密随机数序列α,β和γ而获得的数值被用作为用于数据加密中的多仿射密钥系统Kα、Kβ和Kγ。因此,发射器端把用于加密中的随机数序列α与通信文本(ABC)的密文(A’B’C’)一同发送。因此,在接收器端,通过利用多仿射密钥系统K加密随机数序列α而获得的随机数序列被用作为一个新的多仿射密钥系统Kα,以解密该密文(A’B’C’)。
在发射器端,由于在随机数产生电路17中产生的随机数被在每次通信中改变,因此密钥信息的格式也被该随机数所改变,从而可以获得能够坚实地抵制现有的明文破密的密文。另外,可以实现高速加密。同时,与上述实施例相同,如果随机数序列α,β和γ由分别具有16位或更多位的整数所构成,则低8位可以用于加密。
《第六实施例》
如图4中所示,第六实施例指出一种通信系统,其中在每次通信中通过在发射器端和接收器端之间发射密钥H和随机数序列α和β,可以在两端之间交换多仿射密钥系统K。在图4中示出在具有这样一种功能的通信系统中的第三通信控制过程。图4中所示的通信控制过程是这样一种方法,其中当新的通信开始时多仿射密钥系统K分别由两端所共享,并且在每一端用共享的多仿射密钥系统执行加密。尽管该方法需要用于交换密钥的时间,但是通过用于象WWW(万维网)这样的信息浏览器的加密中可以保持高的加密效果。
在第三通信控制过程中,一种用于共享多仿射密钥系统的过程首先在每次利用德费尔-赫尔曼(Diffel-Helman)密钥交换开始新的通信时执行。
具体来说,当对于一个密钥H定义一种运算作为多长度整数或有限扩展域z/p的开端并且随机数序列是α和β时,首先发射器端产生一个密钥Hα并把密钥H和Hα发送到接收器端,如图4中所示。在接收器端,从已经在接收器端接收的密钥H和Hα产生多仿射密钥系统K=(Hα)β。
接着,接收器端把用来产生用于加密的多仿射密钥系统K的一个密钥Hβ发送回发射器端。在发射器端,根据该发射器端所接收的密钥Hβ产生用于加密的多仿射密钥系统K=(Hα)β。
然后,发射数据ABC、DEF、GHI、...被在用多仿射密钥系统K加密之后发射,并且该发射数据被在接收器端用多仿射密钥系统K解密。
在上述第三通信控制过程中,尽管需要1至2秒的时间段来进行密钥交换,但是由于密钥信息被在每次新的通信开始时改变,因此提供具有低的解密可能性的高度保密性的加密。顺便,该方法适用于低频通信。
同时,尽管在上述本实施例中多仿射密钥系统是在每次通信中发送,但是不限于这种情况,并且例如还可以是控制使得多密钥交换仅仅在该日的第一次通信中进行,或者多仿射密钥系统交换以固定的时间间隔进行。
另外,另一个变型方法是没有密钥交换,其中仿射密钥不是随机性地交换,而密钥交换以循环的方式进行,其中预定类型的仿射密钥被依次代替,使得按照规定的周期返回到起始密钥。也就是说,即使密钥以循环的方式改变,其中相同的密钥被在固定的循环间隔中使用,破密实际上也是不可能的,使得可以保持高度保密性。
另外,通过这种方法,即使在发射器和接收器的各端上的仿射密钥的状态存在差别,也可以容易地实现在各端上的仿射密钥之间的匹配。例如,特定的数字被预先附加到各个密钥上,然后该特定数字可以被相互通知,以便于相互匹配仿射密钥。
《第七实施例》第七实施例在图5中示出,并且指出上述本发明的加密/解密方法的具体应用,例如,对于利用通信线路用于象信用卡这样的个人验证的验证方法。下面将描述对于特定的其它通信方的验证方法,其中采用这样用于密文的加密方法和通信控制过程。基本上没有针对于使用上述多仿射密钥系统的密文的破密方法。相应地,一种验证方法可以通过利用密文对特定的其它通信方进行验证,而第三者不能够解密验证的内容。
也就是说,用于验证的关键字等等被作为用于加密的多仿射密钥系统K给予验证对象(被验证方108),并且使用该多仿射密钥系统K加密的信息被送回验证方107,并且该送回的信息被解密。因此,由于第三者不能够解密用于加密的密钥,并且即使通信内容是第三者已知的内容,用于验证的关键字也不能够被破密,因此可以提供一种具有非常高的可靠性和高度保密性的验证方法。
作为第一种验证方法,例如,一个预定的初始矢量V被给予如图5中所示的被验证方108(例如,信用卡的成员),并且在验证时,验证方107发送一个用预定的初始矢量V产生的随机数序列HV和通信信息M发送到被验证方108。被验证方108通过利用所接收的随机数序列HV和已经给予被验证方108的预定初始矢量产生一个用于加密的多仿射密钥系统K,并且把用验证方108通过利用所产生的多仿射密钥系统K加密通信文本M而产生的密文M’发送回验证方107。另一方面,验证方107利用随机数序列HV和初始矢量V产生用于加密的多仿射密钥系统K,并且利用所产生的多仿射密钥系统K对从被验证方108接收的密文M’解密。如果密文M’被正确解密,则被验证方108被验证为真实的被验证方。
作为第二验证方法,验证方107首先把一个初始矢量V和规定的通信文本M发送到被验证方108。被验证方108利用给予被验证方108的多仿射密钥系统K根据该初始矢量V产生一个新的随机数序列{ri},使用所产生随机数序列{ri}加密一通信文本M,并把其结果发送回验证方107。验证方107使用与被验证方108的多仿射密钥系统相类似的多仿射密钥系统K根据初始矢量V产生一个新的随机数序列{ri},并且使用所产生的随机数序列解密所接收的密文M’。如果该密文M’被正确解密,则被验证方108被验证为真实的被验证方。
下面描述一个具体实例。作为验证的对象,提出如下情况。顺便说一下,应用的对象不限于下文的这些实例,而是任何确定一个个人或特定的电子设备的验证都被自然地包含在该对象中。应用的对象是(1)用于上述对关于电子交易的验证信息的加密的多仿射密钥系统的应用,其中采用象互联网这样的通信方法;(2)用于上述对一个作为许可接收付费电视广播的关键字加密的多仿射密钥系统的应用;(3)对用于识别一个特定的电子设备的验证信息的多仿射密钥系统的应用,其中电子设备分别具有唯一的多仿射密钥系统。例如,这可以被称为用于上述对用于象便携式电话这样的无线电设备的通信许可的验证进行加密的多仿射密钥系统的应用,以便提高关于无线电设备的通信许可的保密性;以及(4)对关于个人的验证信息的多仿射密钥系统的应用,其中个人分别具有唯一的多仿射密钥系统。
下面参照图5具体描述用于验证的通信控制过程。图5为示出利用上述加密方法的验证过程的一个实例的视图。基本的通信控制过程类似于第三通信控制过程。
验证对象(被验证方)108被给予一个初始矢量V作为一个唯一的验证信息,这是验证的先决条件。该初始矢量V例如可以登记在作为验证对象的个人标识卡或电子设备中。另外,个人的指纹被预先读取,并且可以对从该指纹数据获得的结果进行傅利叶变换,以作用为初始矢量V。在这种情况下,不需要在电子设备中存储验证信息,这提高了保密性。
假设公共多仿射密钥系统预先被验证方107和作为验证对象的被验证方108所掌握。验证方107检索初始矢量V,该初始矢量V已经在被验证方108上执行验证过程开始之前被给予图5中所示的被验证方108。另外,在发射端的验证方107定义一个关于初始矢量V的运算,作为多长度整数或有限扩展域z/p的开端,并且首先产生HV,并且当验证方107产生HV时,把(V,M)发送到在接收端的被验证方108(验证对象),其中在图5中的M表示通信文本。
已经接收(V,M)的被验证方108从(V,M)中的V产生多仿射密钥系统K。
如此产生的多仿射密钥系统K被用作为通信文本的加密。接着,通常利用所产生的多仿射密钥系统K加密的通信文本M而产生的密文M’被发送回验证方107。
与被验证方108一侧相同,在验证方107一侧,多仿射密钥系统K被通过利用初始矢量V而产生。另外,已经从被验证方108接收的密文M’被利用所产生的多仿射密钥系统K而解密。在此时,如果K(M)=M’,则判断该验证方是真实的,如果为否,则判断该被验证方是假的。
同时,在用于验证的通信控制过程之前难以进行被验证方的识别的情况中,可以使验证之前的通信控制过程采取查询用于识别被验证方的信息(例如,被验证方的标识号信息)的过程,以获得该标识号信息,然后,根据该标识号信息检索被验证方的多仿射密钥系统。
即使在这样的一种控制中,由于采用用于验证的加密方法,其中仅仅标识信息被发送,并且没有发送多仿射密钥系统,因此多仿射密钥系统不被破密,从而可以获得具有非常高的保密性的验证。
另外,作为另一种验证方法,验证方107首先把一个初始矢量V和规定的通信文本M发送到被验证方108。被验证方108可以根据初始矢量V产生一个新的随机数序列{ri},然后把通过利用所产生随机数序列加密已经接收的通信文本M而产生的密文M’发送回验证方107。
然后,验证方107利用初始矢量V产生一个新的随机数序列{ri},并且利用所产生随机数序列解密已经从被验证方108接收的密文M’。如果解密正确,则判断该验证对象是真实的。
当通过上述任何一种加密方法获得的密文被按照类似于上述过程的过程进行解密时,并且然后根据解密是否正确而执行验证,从而可以实现具有高度保密性的验证。
《第八实施例》第八实施例在图10中示出,并且指出一种用于采用本发明的加密/解密方法的网络系统中的路由设备。
在图10中,示出多个连接到采用具有上述多仿射密钥系统的加密/解密方法的网络的通信装置171和172,以及路由设备173。在通信装置171和172中,控制部分175连接到执行上述处理的应用程序174以及加密控制部分176、发射/接收部分177和网络控制部分178,这三者在功能上构成控制部分175,它们分别连接到使用多仿射密钥系统的随机数产生电路179、加密/解密部分180、和网络控制器181。另外,网络控制器181连接到网络NW,例如提供于公司的办公室中规定区域内的局域网等等。
具有这种结构的通信装置171和172根据使用本发明的多仿射密钥系统的随机数序列按照上述各种模式执行信息的加密/解密,并且允许通过网络NW进行数据的发射/接收,并保持高度的保密性。
另外,在路由设备173中,第一网络控制器181连接到第一网络NW,第二网络接口182连接到不同于第一网络NW的外部网络N,控制部分175用于控制组件的操作,并且加密控制部分176、发射/接收控制部分177和网络控制部分178,所有这三个部分是控制部分175的功能部分,它们分别连接到使用多仿射密钥的随机数产生部分179、加密/解密部分180和网络控制器181。
在这种结构中,路由设备173连接在不同的局域网之间,并且控制通信装置的连接,以及根据控制部分175的控制在多个网络之间路由。在这种情况下,在路由设备中,除了原始功能之外还可以获得如下功能根据由随机数产生部分179利用本发明的多仿射密钥系统,按照上述设置条件在控制部分的加密控制部分176的控制下,仅仅对给定的信息加密,因此如此准备的密码可以传送到其它通信装置171和172或外部网络N。另外,利用本发明的多仿射密钥系统从来不会发生不能对发送到外部网络的信息和从外部网络接收的信息进行加密/解密的情况,从而在网络NW内的信息可以对外界保密。在这种情况下的一种加密/解密方法不限于第一至第三实施例中所示的方法,而且可以采用使用多仿射密钥系统的各种实施例,这使得可以用快速的处理良好地保持密秘。
《第九实施例》如图11至21中所示,第九实施例指出一种计算机程序,它作为使得利用多仿射密钥系统的加密/解密方法可在计算机上执行的应用计算机程序,该计算机包括可以存储程序的介质和装载该计算机程序的计算机装置。
图11为示出应用程序的基本操作的流程图,图12为示出程序的主菜单的屏幕显示,图13是用于密钥文件的读取的屏幕显示,图14是用于加密文件的读取的屏幕显示,图15A和15B为示出加密的开始屏幕和结束屏幕的视图,图16是用于加密文件的产生的屏幕显示,图17是用于选择作为解密的对象的加密文件的屏幕显示,图18A和18B为示出开始屏幕和结束屏幕的视图,图19是用于解密文件的产生的屏幕显示,图20是用于密钥文件的产生的屏幕显示,以及图21为示出执行该程序的计算机系统的外观视图。
使用本发明的多仿射密钥系统的加密/解密方法例如可以作为个人计算机上的应用计算机程序而有效地实现。计算机具有必要的功能包括用于加密/解密的各种设置,读取和存储加密和解密文本,并且程序能够进行象文本的压缩/解压缩这样的操作。
在下文中,将主要根据该流程图参照操作屏幕依次描述基本操作。
已经被初始化(S101)的程序呈现出如图12中所示的一个主菜单,例如,在图21中所示的计算机系统132、133和134的屏幕131上(S102)。在该菜单屏幕上,显示用于读取密钥文件的读取密钥102、用于加密的编码按键103、用于解密的解码按键104、用于设置密钥数目的密钥数目105、密钥改写次数106、用于产生新的密钥文件的制作密钥107、以及用于查询有关操作的问题按键108。如果进行输入(S103),这根据流程图中所示的程序流进行处理。
现在,将给出基于该程序的一个文档文件的加密/解密过程的程序操作。首先,用于加密/解密的多仿射密钥系统的数目105被输入(S121),并且用于本发明的多仿射密钥系统的自动改写的使用次数限度数目106被输入(S122)。接着,用于产生加密/解密所用的随机数的密钥文件被指定,密钥信息存储的位置被指定在屏幕109上(S104),如图13中所示,从而,如此指定的密钥文件被读取(S105)。接着,读取要被加密的文件,其是在图14中所示的屏幕111上指定的文件(S107)。当读取完成时,出现图15A的等待加密启动指令的屏幕,并且如果单击确定,则执行加密(S110)。接着,如图15B所示出现加密结束的屏幕并且与处理时间一同显示(S111)。加密的具体内容就是上述第一实施例中所示的处理过程。
接着,显示如图15B中所示的查询被加密文件应当存储的位置的屏幕114,如果位置被指定,则写入加密文件(S113)。
类似地,在解密中,要被解密的文件在图17的屏幕121上指定(S114),并且在读取被加密文件之后(S115),图18A的显示解密开始的确定按键被按下以执行解密(S117),然后处理时间段和处理的结束在图18B的屏幕上显示(S118)。当在图19的屏幕124上指定解密文件被写入的位置时(S119),已经被解密的明文文件被写入在指定位置(S120)。
另外,该程序可以产生一个新的多仿射密钥系统(S123),并且如果在图20的屏幕125上指定一个存储位置,则所产生的新密钥被写入在该存储位置中(S125)。
如上文所述,根据该程序,使用多仿射密钥系统的加密/解密具有非常高的保密性,并且例如通过在计算图20的计算机系统上进行简易的操作可以进行高速处理,例如,象文件的压缩/解压缩一样。
顺便说一下,该应用程序例如可以存储在能够由计算机所读取的介质中,另外,该应用程序也可以预先存储在图21的计算机系统132中的ROM存储区域等等中。当然,只要保证等价的功能和效果,该程序也可以存储在网络上。
《第十实施例》如图22中所示,第十实施例指出一种伴随有使用多仿射密钥系统的加密/解密的用于记录介质的记录/再现设备。
用于记录介质的记录/再现设备例如是一种用于可卸下或不可卸下的记录介质的设备,该记录介质比如软盘、硬盘或磁光盘,并且其基本结构在图22中示出。即,该记录/再现设备包括对外界的接口部分151和用于控制其所连接的组件的整个操作的控制部分152,其中该控制部分152包括加密控制部件153、写入控制部分154、驱动控制部分155、解密控制部分156和读取控制部分157,另外还包括连接到控制部分152的组件的使用多仿射密钥系统的随机数产生部分161、加密部分162、盘驱动器165、使用多仿射密钥系统的随机数产生部分163和解密部分164,并且还包括连接到加密部分162的写入头167和连接到解密部分164的读取头168。
通过这种结构,在介质读取/再现设备中,在记录过程中,该记录介质166被盘驱动器165驱动规定的转数。在控制部分152的控制下通过接口151提供的规定信息被根据由随机数产生部分161在加密部分162中利用多仿射密钥系统产生的随机数序列所加密,并且这种加密信息的写入是由写入头167执行的。
另外,在读取中,上述加密信息从由盘驱动器165所旋转的记录介质166中通过读取头168读取,该加密信息被在解密部分164中根据由随机数产生部分163利用多仿射密钥系统产生的随机数序列而解密,并且通过接口部分151输出到外部。
在读/写操作中的加密/解密的实施例中,不但可以用于第一至第三实施例,而且还可以用于该实施例的各种变型。即,多仿射密钥系统可以是预先存储的,或者多仿射密钥系统可以由从接口部分151给出的密钥H所指定。
另外,加密/解密可以在任何时刻在读/写操作中自动执行,并且可以根据用户的设置选择性地执行。根据本发明,在任何应用情况中,通过使用自动改写的多仿射密钥系统可以提供一种具有非常高的保密性的介质记录/再现设备,其非常难以被破密。
《第十一实施例》第十一实施例在图23中示出,并且指出一种伴随有使用本发明的多仿射密钥系统的加密/解密的光盘记录/再现设备。
该实施例把本发明的加密/解密应用于光盘记录/再现设备,其中用聚焦光把数据(信息)记录在作为记录介质的光盘(例如,DVD-RAM)340上,或者再现记录在光盘340中的数据。
在图23中,光盘记录/再现设备包括用于控制整个操作的CPU 390、通过数据总线和数/模转换器391连接到CPU的存储器397,作为一种信息的记录系统还包括多仿射加密部分394、使用与多仿射密钥系统加密部分394相关联的多仿射密钥系统的随机数产生部分393、数据产生电路374和激光控制器373,另外还包括激光头部分365。另外,作为信息的再现系统,该光盘记录/再现装置包括数据再现电路378、误差纠正电路392、随机数产生电路395和解密部分396。另外,作为驱动系统,该光盘记录/再现设备包括用于驱动光头的线性电机366、驱动线圈367、以及用于控制线性电机366的线性电机控制电路368和用于控制电机支承并旋转置于光头附近的光盘340的电机控制电路364。另外,作为光学系统,该光盘记录/再现设备包括用于控制光头365的激光聚焦在光盘340上的聚焦控制电路387和用于控制跟踪的跟踪控制电路388。
在这样一种结构中,在光盘340上的信息的记录是如下进行的。换句话说,规定信息被输入地记录在光盘340上,该光盘由在CPU 390的控制下的电机控制电路364所驱动的电机以规定转数旋转,然后该信息被提供给加密部分394,其中该信息被用基于多仿射密钥系统的随机数序列所加密,该多仿射密钥系统在每次该密钥被使用预定次数后被改写。另外,加密信息被发送到数据产生电路374,并且该信息被替换为用于记录的激光信息。记录是用光头365在光盘的特定记录区上执行的。
当然,在这种情况中,在多仿射加密部分394中的加密可以通过具有上述本发明的实施例的特点的处理过程所进行。例如,不但可以使多仿射密钥系统总是在处理之前预先准备,而且密钥也可以在每次该密钥要被用外部加密密钥H替换时产生。
另外,记录在光盘340中的信息的再现是以如下方式进行的。即,根据旋转系统和光学系统的读取操作,通过光头从光盘340的特定区域读取的加密信息被通过数据再现电路378的再现信号所代替,其中该加密信息被根据从利用多仿射密钥系统的随机数产生电路395产生的随机数序列所解密,并且作为再现信号输出,其中该多仿射密钥系统在每次多仿射密钥系统的使用次数到达预定次数时被改写。
在这种情况下的加密/解密的具体细节可以用上述的各个实施例来解释。即,作为一个实例,用于产生随机数的多仿射密钥系统可以被预先存储在存储器393等等中,或者它可以在每次写入时被从外部提供的密钥H重新设置,这与第二实施例中相同。
如上文所述,在光盘记录/再现设备中同样,当应用利用具有本发明的自动改写功能的多仿射密钥系统的加密/解密时,可以提供一种具有高度保密性的难以被第三者所读取的光盘记录/再现设备。
《第十二实施例》第十二实施例在图24中示出,并且指出一种具有使用本发明的多仿射密钥系统的加密/解密的无线电发射/接收设备,例如便携式电话。
无线电发射/接收设备的基本结构在图24中示出,并且包括天线201、双工器202、射频接收增益可变放大器203、射频频带限制滤波器204、频率转换器205、中频频带限制滤波器206、中频接收增益可变放大器207、调制/解调部分208、中频发射增益可变放大器211、频率转换器212、射频频带滤波器213、射频发射增益可变放大器214、功率放大器215、隔离器216、声音编码器287和扩音器288。
下面将对在具有这种结构的发射器/接收器中的接收进行描述。从基站发射的前向链路信号被天线201所接收,由双工器202对在接收信号频带内的信号成分滤波,在射频接收增益可变放大器203中放大或衰减,由射频频带限制滤波器204再次对不必要的信号成分滤波,在频率转换器205中从射频频带频率变换为中频频带,再次由中频频带限制滤波器206对不必要的信号成分滤波,在中频接收增益可变放大器207中再次放大或衰减,并输出到调制/解调部分208。
调制/解调部分208例如包括正交解调部分281、模/数转换器282、信息信号解调部分283、信息信号调制部分284、数/模转换器285、和正交调制部分286。在该结构中,在正交解调部分281中正交解调的信号被在模/数转换器212中转换,不但在信号解调部分284中解调为信息信号,而且还从该部分283中输出。在根据由随机数产生电路291使用多仿射密钥系统产生的随机数序列解密之后,该输出信号被从解密部分292中作为解密信号输出。
因此,利用多仿射密钥系统可以实现具有非常高的保密性的加密信息的解密,该多仿射密钥系统在每次多仿射密钥系统的作用次数达到预定次数时被改写。另外,在这种情况下的解密可以按照根据上述任何一个具体实施例的形式执行。作为一个实例,指定第二实施例的情况,其中密钥H和初始矢量V被与密文一同接收,对应于它们的仿射密钥在需要时产生,随机数序列也可以用仿射密钥产生,最终用该随机数序列执行解密。因此,用新的仿射密钥解密可以对每个通信有效。
下面对无线电发射器/接收器的发射进行描述。从移动台发射的反向链路信号被给予声音编码器287,并且通过从随机数产生部分290利用多仿射密钥系统产生的随机数序列在加密部分289中加密。一加密信号被信号调制部分284所调制,并从中输出。该输出信号被在数/模转换器285中转换,在正交调制部分286中正交调制,在中频发射增益可变放大器211中放大或衰减,在频率转换器212中从中频频带频率转换为射频频带,在射频频带限制滤波器213中对不必要的信号成分滤波,在射频发射增益可变放大器214中再次放大或衰减,在功率放大器215中再次放大,在双工器202中再次仅对发射信号频带内的信号成分滤波,最终从天线201发射到空中。
按这种方式,由于不可能被第三者所破密,因此使用多仿射密钥系统加密的无线电信号具有高度的保密性,其中该多仿射密钥系统在每次多仿射密钥的使用次数达到预定数字时被改写,另外,不用说,加密的实施例可以是上述的具体实施例。例如,多仿射密钥系统可以被预先存储在存储器等等中,或者可以根据密钥H和初始矢量V从解调部分产生新的一个多仿射密钥系统,该密钥H和初始矢量V是在正在进行的通信中从其它通信方提供的,如在第二实施例中所述。在这种情况下,是用对通信方唯一的仿射密钥可以执行伴随有加密/解密的通信,因此,可以实现具有极高保密性的通信。
在象便携式电话这样的无线电发射/接收设备中,如上文中具体所述,使用本发明的多仿射密钥系统的加密部分和解密部分被采用,从而可以实现具有高速度和非常高的保密性的语音通信。
根据本发明,如上文所述,在此提供一种具有各种应用的加密方法和加密系统,其中不但能够进行高速加密,而且使得第三者不可能破密。
另外,由于应用使用随机数和多仿射密钥系统的流加密,因此可以建立一种高度保密性、高速度的加密方法,并且抵制已有的明文破密。
在密文通信中,由于用于加密的多仿射密钥系统在通信方之间共享,因此可以传输密文而不传输用于加密的密钥信息,并且可以实现非常难以被破密的具有高度保密性的加密通信。
另外,在第五实施例中(图3),由于仿射密钥被在每次通信中改变,并且通信文本被用改变的仿射密钥所加密/解密,因此可以实现非常难以被破密的具有高度保密性的加密通信。
另外,在第六实施例中(图4),由于控制使得用于加密的密钥信息在通信之前由双方所共享,并且仿射密钥被在每次通信时改变,因此可以实现非常难以被破密的具有高度保密性的加密通信。
另外,在第七实施例中(图5),由于从验证方发送的通信文本被用预先给予被验证方的多仿射密钥系统所加密,并且密文被送回到验证方,并且在验证方的解密根据类似的过程进行,如果解密能够正确执行,则判断该被验证方是真实的,这样可以实现高度保密的验证。
另外,在第九实施例中(图11至21),由于多仿射密钥系统的加密/解密是在计算机程序上进行的,因此通过非常简单的操作可以实现高度保密性、高速度的加密/解密。
另外,在第十和第十一实施例中(图22和23),由于用于多仿射密钥系统的加密/解密电路被提供在用于一介质的记录/再现设备中,因此可以容易地实现非常高保密性的信息的记录/再现。
另外,在第十二实施例中(图24),当用于多仿射密钥系统的加密/解密电路提供于象便携式电话这样的无线电发射器/接收器中时,可以容易地实现高度保密性的语音通信等等。
本领域内的专业人员将容易发现其中优点和变型。因此,本发明不限于在此所示出和描述的特定的具体细节和代表性的实施例。相应地可以作出各种变型,而不脱离由所附权利要求及其等价表述所定义的总的发明思想的精神和范围。
权利要求
1.一种加密方法,其特征在于包括随机数产生步骤(S51、S52、S53、S54和S55),其根据多仿射密钥系统(K)产生随机数序列{ri};改写步骤(S56、S57、S58和S59),其在每次当多仿射密钥系统的使用次数达到在随机数产生步骤中产生的预定数值时改写多仿射密钥系统,以在随机数产生步骤中使用一系列被改写的多仿射密钥系统(K’、K”、...);以及加密步骤(S60、S61和S62),其通过执行在随机数产生步骤中产生的随机数序列与要被加密的明文{mi}之间的异或运算而产生密文{Ci}。
2.根据权利要求1所述的加密方法,其特征在于,该改写步骤(S56、S57、S58和S59)是在每次多仿射密钥系统的使用次数c到达一上限数字n时,根据如下公式改写多仿射密钥系统的系数a和b,该公式是K[i].a=K[j].a×K[i].a+K[j].b和K[i].b=K[j].a×K[i].b+K[j].b,其中a和b是整数,c是多仿射密钥系统的使用次数,n是多仿射密钥系统的使用次数的上限(使用寿命)数值,该多仿射密钥系统由四个整数K={a,b,c,n}所表达,该密钥的运算被表达为K(x)=ax+b,多仿射密钥系统由多个仿射密钥所构成,并且i和j是整数。
3.根据权利要求1所述的加密方法,其特征在于,该随机数产生步骤包括多仿射密钥系统产生方法(53),其根据给定的密钥数据(H和51)和初始随机数序列数据(V和52)产生多仿射密钥系统(K);以及随机数产生步骤(S51、S52、S53、S54和S55),其根据由多仿射密钥系统产生装置所产生的多仿射密钥系统(K和54)产生一个随机数序列{ri}。
4.根据权利要求1所述的加密法,其特征在于,该随机数产生步骤包括多仿射密钥系统产生步骤(53),其根据给定的密钥数据(H和51)和密钥变换信息(α和β)产生多仿射密钥系统(K);以及随机数产生步骤(S51、S52、S53、S54和S55),其根据由多仿射密钥系统产生装置所产生的多仿射密钥系统(K和54)产生一个随机数序列{ri}。
5.根据权利要求1所述的加密方法,其特征在于该随机数产生步骤包括第二随机数产生步骤(S53、S54和S55),其在随机数序列{ri}被从多仿射密钥系统[i]中产生时,通过计算一计算公式Xn=(K[i].a×Xi-1+K[i].b)and(216-1)产生随机数序列{ri},以及该改写步骤包括改写操作的第二改写步骤(S57、S58和S59),当执行改写时,如果K[i].b=0,则K[i].b=1,并且如果K[i].a=0,则K[i].a被改写为原根。
6.一种加密/解密方法,其特征在于,包括第一随机数产生步骤(S51、S52、S53、S54和S55),其根据多仿射密钥系统(K)产生一个随机数序列{ri};第一改写步骤(S56、S57、S58和S59),其在每次多仿射密钥系统的使用次数达到在第一随机数产生步骤中的预定数值时,改写多仿射密钥系统,并且在第一随机数产生步骤中再次使用一系列改写的多仿射密钥系统(K’、K”、...);加密步骤(S60、S61和S62),其用于从在第一随机数产生步骤中产生的随机数序列与要被加密的明文(mi)之间的异或运算中产生一密文{Ci};第二随机数产生步骤(S73、S74和S75),其根据多仿射密钥系统(K)产生该随机数序列{ri};第二改写步骤(S76、S77、S78和S79),其在每次多仿射密钥系统的使用次数到达在第二随机数产生步骤中的预定数值时,改写多仿射密钥系统,并且在第二随机数产生步骤中再次使用一系列改写的多仿射密钥系统(K’、K”、...);以及解密步骤(S80、S81和S82),其执行在第二随机数产生步骤中产生的随机数序列与在加密步骤中加密的密文{Ci}之间的异或运算,把该密文解密为明文(mi)。
7.根据权利要求6所述的加密/解密方法,其特征在于,该第一和第二随机数产生步骤包括多仿射密钥系统产生步骤(53),其根据给定的密钥数据(H和51)和初始随机数序列数据(V和52)产生多仿射密钥系统(K);以及随机数产生步骤(59和60),其根据由多仿射密钥系统产生装置所产生的一系列多仿射密钥系统(K和54)产生一个随机数序列{ri}。
8.一种通信装置,其特征在于包括随机数产生装置(16、17和101),其用于根据在存储器中的多仿射密钥系统(K)产生一个随机数序列{ri};改写装置(16和101),其用于在每次多仿射密钥系统的使用次数到达在该随机数产生装置中的预定数值时,改写多仿射密钥系统,并且在该随机数产生装置中再次使用一系列改写的多仿射密钥系统(K’、K”、...);加密装置(15和101),其用于通过执行在该随机数产生装置中产生的随机数序列与要被加密的明文(mi)之间的异或运算而产生一密文{Ci};以及发送装置(18和101),其用于把由加密装置所加密的密文通过网络发送到另一个通信装置。
9.根据权利要求8所述的通信装置,其特征在于,该随机数产生装置还包括多仿射密钥系统产生装置(103),其用于根据给定的初始随机数序列数据(α、β和γ)产生一系列多仿射密钥系统(Kα、Kβ、Kγ、…)。
10.一种通信系统包括至少执行发射的第一通信装置(105);和至少通过通信线路从第一通信装置接收信号的第二通信装置(107),其特征在于包括第一传送装置(105),用于从第一通信装置把一密钥(H)和利用第一随机数(α)加密该密钥而获得的第一加密密钥(Hα)传送到第二通信装置;第二传送装置(106),用于从第二通信装置,把根据从第一接收设备接收的密钥(H)和第一加密密钥(Hα)利用第二随机数(β)加密该密钥而获得的第二加密密钥(Hβ)传送到第一通信装置;加密装置(105),用于根据从第二通信装置接收的第二加密密钥和第一加密密钥产生一个多仿射密钥系统(K),利用根据多仿射密钥系统产生的随机数序列把一明文(A、B和C)加密为一密文,并且把该密文(A’、B’和C’)从第一通信装置传送到第二通信装置;以及解密装置(106),用于根据从第一通信装置接收的第一加密密钥和第二加密密钥产生该多仿射密钥系统(K),利用根据该多仿射密钥系统产生的一随机数序列解密从该加密装置接收的密文,并输出该明文。
11.一种路由器设备(173),其连接到在规定区域中的第一网络(NW)和与第一网络(NW)不同的第二网络,并且按照规定的协议控制规定信息的传送,其特征在于包括随机数产生装置(179),用于根据一系列多仿射密钥系统(K、K’、K”)产生随机数序列,该多仿射密钥系统在每次多仿射密钥系统的使用次数的数目达到一预定数字时被改写;加密装置(180),用于根据由随机数产生装置产生的随机数序列把至少从第一网络(NW)和第二网络(N)中的一个接收的规定信息加密,并输出一密文;解密装置(180),用于根据由随机数产生装置产生的随机数序列把至少从第一网络(NW)和第二网络(N)中的一个接收的密文解密,并输出解密文本;以及传送装置(181和182),用于把至少加密装置的密文和解密装置的解密文本中的一个传送到第一网络(NW)和第二网络(N)中的至少一个。
12.一种验证方法,其特征在于包括发射步骤(107),其从验证方(107)向被验证方(108)发送一个初始随机数序列(V)和通信文本(M);随机数产生步骤(108),其在被验证方利用根据由发送步骤所发送的初始随机数序列预先给出的多仿射密钥系统(K)产生一个随机数序列;加密步骤(108),其在被验证方根据通过随机数产生步骤所产生的随机数序列加密该通信文本(M),以获得加密通信文本(M’),并且把该加密通信文本(M’)发送到验证方;以及验证步骤(107),其在验证方,利用预先给出的多仿射密钥系统根据初始随机数序列产生该随机数序列,根据该随机数序列解密由加密步骤产生的加密通信文本,以获得解密通信文本(M”),并且根据被解密的通信文本(M”)是否等于在发送步骤中发送的通信文本(M)而由验证方执行对被验证方的验证。
13.一种验证方法,其特征在于包括初始随机数给出步骤(107),其预先从验证方(107)把一个初始随机数序列(V)给予被验证方(108);发送步骤(107),其在验证方把利用初始随机数序产生的随机数序列(HV)和一通信文本(M)发送到被验证方;回送步骤(108),用于根据由初始随机数给出步骤所给出的初始随机数序和由发送步骤所发送的随机数序列产生一个多仿射密钥系统,通过利用该多仿射密钥系统加密在发送步骤中发送的通信文本产生一加密的通信文本(M’),并且把该加密的通信文本(M’)从被验证方回送到验证方;以及验证步骤(107),其在验证方通过利用根据初始随机数序产生的多仿射密钥系统和该随机数序列,对由回送步骤中回送的加密通信文本进行解密,产生解密的通信文本,并且在验证方,由验证方根据被解密的通信文本(M”)是否等于该通信文本(M)而执行对被验证方的验证。
14.一种计算机程序,其以可执行的形式记录在一介质(134)中,该介质可以由具有处理器的计算机(132)所读取,并且该程序在执行时装载到计算机存储器以操作该计算机,其特征在于该程序包括第一指令方法(S110、S51、S52、S53、S54和S55),用于向计算机的处理器发出一个指令,以根据给定的多仿射密钥系统(K)产生一个随机数序列{ri};第二指令方法(S110、S56、S57、S58和S59),其用于向计算机的处理器发出一个指令,以在每次该多仿射密钥系统的使用次数达到由第一指令方法发出的指令确定的预定数值时,改写多仿射密钥系统,并且还发出一个指令,以再次由第一指令方法的指令使用一系列被改写的多仿射密钥系统(K’、K”、...);以及第三指令方法(S110、S60、S61和S62),其用于向计算机的处理器发出一个指令,以通过执行由第一指令方法的指令所产生的随机数序列与要被加密的明文(mi)之间的异或运算来产生一密文{Ci}。
15.一种计算机程序,其以可执行的形式记录在一介质(134)中,该介质可以由具有处理器的计算机(132)所读取,并且该程序在执行时装载到计算机存储器以操作该计算机,其特征在于该程序包括第一指令方法(S110和S117),用于向计算机的处理器发出一个指令,以根据给定的一系列多仿射密钥系统(K、K’、K”、...)产生一个随机数序列{ri},该一系列多仿射密钥系统在每次多仿射密钥系统的使用次数到达一预定数字时被改写;第二指令方法(S110),其用于向计算机的处理器发出一个指令,以根据由第一指令方法发出的指令产生的随机数序列对给定的明文(mi)加密;以及解密装置(180),用于根据由第一指令方法产生的随机数序列解密给定的密文(Ci),并把一解密文本(mi)输出到该计算机的处理器。
16.一种记录介质,其可以由具有处理器的计算机(132)所读取,并且其中存储在执行时装载到计算机存储器以操作该计算机的程序,其特征在于包括第一指令方法(S110、S51、S52、S53、S54和S55),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以根据给定的多仿射密钥系统(K)产生一个随机数序列{ri};第二指令方法(S110、S56、S57、S58和S59),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以在每次该多仿射密钥系统的使用次数达到由第一指令方法的指令确定的预定数值时,改写多仿射密钥系统,并且还发出一个指令,至于再次按第一指令方法的指令使用一系列被改写的多仿射密钥系统(K’、K”、...);以及第三指令方法(S110、S60、S61和S62),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以至于通过执行由第一指令方法的指令所产生的随机数序列与要被加密的明文(mi)之间的异或运算来产生一密文{Ci}。
17.一种记录介质,其可以由具有处理器的计算机(132)所读取,并且其中存储在执行时装载到计算机存储器以操作该计算机的程序,其特征在于包括第一指令方法(S110和S117),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,通过使该计算机执行该程序,以至于根据一系列多仿射密钥系统(K、K’、K”、...)产生一个随机数序列{ri},该一系列多仿射密钥系统在每次多仿射密钥系统的使用次数到达一预定数字时被改写;第二指令方法(S110),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以至于根据由第一指令方法的指令产生的随机数序列对给定的明文(mi)加密;以及解密装置(180),其通过使该计算机执行该程序,用于根据由第一指令方法产生的随机数序列解密给定的密文(Ci),并把一解密文本(mi)输出。
18.一种具有处理器的计算机装置(132),其该处理器上有装载在存储器中的规定程序,其特征在于包括第一指令方法(S110、S51、S52、S53、S54和S55),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以根据给定的多仿射密钥系统(K)产生一个随机数序列{ri};第二指令方法(S110、S56、S57、S58和S59),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以在每次该多仿射密钥系统的使用次数达到由第一指令方法的指令确定的预定数值时,改写多仿射密钥系统,并且还发出一个指令,以至于再次按第一指令方法的指令使用一系列被改写的多仿射密钥系统(K’、K”、...);以及第三指令方法(S110、S60、S61和S62),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以至于通过执行由第一指令方法的指令所产生的随机数序列与要被加密的明文(mi)之间的异或运算来产生一密文{Ci}。
19.一种具有处理器的计算机装置(132),其该处理器上有装载在存储器中的规定程序,其特征在于包括第一指令方法(S110和S117),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以至于根据一系列多仿射密钥系统(K、K’、K”、...)产生一个随机数序列{ri},该一系列多仿射密钥系统在每次多仿射密钥系统的使用次数到达一预定数字时被改写;第二指令方法(S110),其通过使该计算机执行该程序,用于向计算机的处理器发出一个指令,以至于根据由第一指令方法的指令产生的随机数序列对给定的明文(mi)加密;以及解密装置(180),其通过使该计算机执行该程序,用于根据由第一指令方法产生的随机数序列解密给定的密文(Ci),并把一解密文本(mi)输出。
20.一种介质记录/再现设备,其特征在于包括旋转装置(165),其用于在读取和写入中以规定速度旋转记录介质(166)并且支承该介质;输入装置(151),用于从外部输入规定的信息;随机数产生装置(152、153、156、161和163),用于根据一系列多仿射密钥系统(K、K’、K”、...)产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置(162),其用于根据来自随机数产生装置的随机数序列加密来自输入装置的规定信息,并且输出该加密信息;记录装置(152、154和167),用于把来自加密装置的加密信息记录到记录介质上;读取装置(152、157和168),用于读取记录在记录介质上的加密信息;解密装置(156和164),用于根据来自随机数产生装置的随机数序列解密由读取装置所读取的加密信息,并且输出该解密信息;以及输出装置(151),用于把由解密装置输出的解密信息输出到外部。
21.根据权利要求20所述的介质记录/再现设备,其特征在于,该随机数产生装置包括改写装置(161、163、S56、S57、S58和S59),用于在每次多仿射密钥系统的使用次数c到达一上限数字n时,根据如下公式改写多仿射密钥系统的系数a和b,该公式是K[i].a=K[j].a×K[i].a+K[j].b和K[i].b=K[j].a×K[i].b+K[j].b,其中a和b是整数,c是多仿射密钥系统的使用次数,n是多仿射密钥系统的使用次数的上限(使用寿命)数值,该多仿射密钥系统由四个整数K={a,b,c,n}所表达,该密钥的运算被表达为K(x)=ax+b,多仿射密钥系统由多个仿射密钥K所构成,并且i和j是整数。
22.根据权利要求20所述的介质记录/再现设备,其特征在于,该随机数产生装置具有多仿射密钥系统产生装置(161和163),用于根据从该输入装置给出的密钥数据(H和51)产生多仿射密钥系统(K)。
23.一种光盘记录/再现设备,其特征在于包括旋转装置(364),用于在读取和写入中以规定的速度旋转并支承一光盘介质;照射装置(365和373),用于在读取/写入中用光束在规定的位置照射该光盘;随机数产生装置(393和394),用于根据一系列多仿射密钥系统(K、K’、K”、...)产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置(162),其用于根据来自随机数产生装置的随机数序列加密从外部给出的规定信息,并且输出该加密信息;记录装置(373、374和365),用于利用光束照射装置照射到由旋转装置所旋转的光盘介质的规定位置而记录该加密信息;读取装置(365和378),用于通过检测由光束照射装置照射到被旋转装置所旋转的光盘的规定位置的光束的反射光,而读取该加密信息;以及解密装置(396),用于根据来自随机数产生装置的随机数序列解密由读取装置所读取的加密信息,并且输出该解密信息。
24.根据权利要求23所述的光盘记录/再现设备,其特征在于,该随机数产生装置包括改写装置(S56、S57、S58和S59),用于在每次多仿射密钥系统的使用次数c到达一上限数字n时,根据如下公式改写多仿射密钥系统的系数a和b,该公式是K[i].a=K[j].a×K[i].a+K[j].b和K[i].b=K[j].a×K[i].b+K[j].b,其中a和b是整数,c是多仿射密钥系统的使用次数,n是多仿射密钥系统的使用次数的上限(使用寿命)数值,该多仿射密钥系统由四个整数K={a,b,c,n}所表达,该密钥的运算被表达为K(x)=ax+b,多仿射密钥系统由多个仿射密钥K所构成,并且i和j是整数。
25.根据权利要求23所述的光盘记录/再现设备,其特征在于,该随机数产生装置具有多仿射密钥系统产生装置(161和163),用于根据从该光盘记录/再现设备的外部给出的密钥数据(H和51)产生多仿射密钥系统(K)。
26.一种无线电发射/接收设备,其用于通过射频发射信号和接收信号与其它无线电发射/接收设备进行语音通信等等,其特征在于包括随机数产生装置(290和291),用于根据一系列多仿射密钥系统(K、K’、K”、...)产生一随机数序列{ri},该多仿射密钥系统在每次随机数序列产生次数的数字到达预定数字时被改写;加密装置(289),其用于根据来自随机数产生装置的随机数序列加密对应于所提供语音信号的数字信号,并且输出该加密信号;发射信号调制装置(202、206、215、213和208),用于调制该加密信号,以输出一射频的第一高频信号,并且通过天线元件(201)发射该输出信号;接收信号解调装置(283),用于解调通过天线元件(201)接收的一射频的第二高频信号,并且输出该解调信号;解密装置(292),用于根据来自随机数产生装置的随机数序列解密从接收信号解调设备提供的解调信号,并输出一解密信号;以及语音信号输出装置(288),用于把来自解密装置的解密信号转换为语音信号,并且输出该语音信号。
27.根据权利要求26所述的无线电发射/接收设备,其特征在于,该随机数产生装置包括改写装置(S56、S57、S58和S59),用于在每次多仿射密钥系统的使用次数c到达一上限数字n时,根据如下公式改写多仿射密钥系统的系数a和b,该公式是K[i].a=K[j].a×K[i].a+K[j].b和K[i].b=K[j].a×K[i].b+K[j].b,其中a和b是整数,c是多仿射密钥系统的使用次数,n是多仿射密钥系统的使用次数的上限(使用寿命)数值,该多仿射密钥系统由四个整数K={a,b,c,n}所表达,该密钥的运算被表达为K(x)=ax+b,多仿射密钥系统由多个仿射密钥K所构成,并且i和j是整数。
28.根据权利要求26所述的无线电发射/接收设备,其特征在于,该随机数产生装置包括多仿射密钥系统产生装置(290和291),用于根据包含在来自所接收信号解调装置的解调信号中的密钥数据(H和51)和初始随机数序列数据(V和52)产生多仿射密钥系统(K);以及随机数产生装置(290和291),用于根据由该多仿射密钥系统产生装置所产生的多仿射密钥系统(K和54)产生随机数序列{ri}。
29.一种随机数产生装置,其特征在于,包括初始随机数给出装置(16),用于给出一随机数序列的初值(x0和52);第一随机数产生装置(59),用于通过从一多仿射密钥系统(K)计算具有由该初始随机数给出装置所给出的初值的随机数序列,从而产生一个新的随机数序列{ri};以及第二随机数产生装置(59),用于通过直接在该多仿射密钥系统改写之前利用一系列改写的多仿射密钥系统(K、K’、K”、...)计算一随机数序列,从而产生一个新的随机数序列,而该多仿射密钥系统在每次该多仿射密钥系统的使用次数到达一预定数字时被改写。
全文摘要
在加密/解密方法中,根据给定的多仿射密钥系统K产生随机数序列{r
文档编号H04L9/22GK1272010SQ9912598
公开日2000年11月1日 申请日期1999年12月10日 优先权日1999年4月28日
发明者铃木秀一 申请人:富士软件Abc株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1