加密和解密方法以及加密和解密装置的制作方法

文档序号:7572320阅读:284来源:国知局
专利名称:加密和解密方法以及加密和解密装置的制作方法
技术领域
本发明涉及对普通文本进行加密的加密方法和加密装置以及对密码文本进行解密的解密方法和解密装置。
众所周知,当通讯和记录时,对信息进行加密以确保信息保密,信息被加密为没有意义的信息然后传送或记录在记录介质上,当已加密的信息被收到时,再被解密以得到原始的信息。
这里主要有两种加密/解密方法秘密密钥密码系统和公开密钥密码系统,在秘密密钥密码系统中,使用相同的密钥来进行加密和解密,加密一方和解密一方具有相同的秘密密钥。另一个方面,公开密钥密码系统在加密一方和解密一方使用不同的密钥,在加密一方使用的密钥对公众是公开的,而在解密一方使用的密钥是保密的。
已知的作为秘密密钥密码系统是数据加密标准(DES)中规定的加密/解密算法,该数据加密标准在美国是标准的加密/解密方法,在DES系统中,加密/解密算法对公众是公开的,而保密程度仅由加密密钥来维持。加密/解密算法公布于众的理由在于即使当算法已经知道了,在没有加密密钥的情况下,解密仍需要大量的计算量,而且采用高速计算单元,计算仍将需要几百多年或几千多年的时间才能完成。
加密基本上是通过换位组合和替代来实现的。换位组合,即改变字符的顺序;替代,即按照规定的规则用另一个字符替代一个字符。加密/解密算法和加密密钥说明字符的顺序如何被改变和哪个字符被哪个字符替换。
除了DES系统以外,各种在安全性和速度方面比较优秀的加密/解密系统已经被开发展出来,例如已知的在美国专利号4,982,429和5,103,479和日本未审查的专利公开号1-276189的专利文献中公开的加密/解密系统(MULTI2系统)。
国际标准化组织(ISO)在ISO9979/0009中也规定了加密系统并且在ISO/IEC10116中规定了加密使用模式。
在MULTI2加密系统中,输入数据是64位长且输出数据也是64位长,加密使用的256位工作密钥是由256位系统密钥和64位数据密钥产生的,加密级数是正整数。


图12所示为在MULTI2系统中的加密算法的结构轮廓。如图12所示,256位工作密钥Kw是在使用64位数据密钥Ks和256位系统密钥J的加密算法内产生的,该操作被称为密钥表处理并由加密算法执行装置C实施,产生的工作密钥Kw提供给加密算法的执行装置F,以对输入的64位字组普通文本进行加密。加密算法执行装置C和加密算法执行装置F执行相同的加密算法。
MULTI2系统的基本加密算法上文中已经描述了。通过事先在统计处理过程中计算字符或字出现的频次分布,然后在得到的密码文本中通过计算字符串模式的频次分布与事先计算的频次分布的匹配情况从而找到最初的普通文本。
有一种操作模式,在这种模式中,通过将64位加密字组和随后要输入的64位数据之间进行逻辑异或运算产生加密码文本本。该加密模式被称为密码字组链接CBC模式,加密算法执行装置F执行CBC模式加密/解密算法。
在通信系统中,用于通信的数据单元事先被确定,如分组通信,在这种通信系统中,当使用64位为一组的字组加密系统且输入的数据单元不能被一组中的比特数整除时,会出现比特数少于一组的分数数据,该分数数据在输出反馈(OFB)模式中被处理。
分数数据,如果有的话,提供给加密算法执行装置G,然后使用在OFB模式下由工作密钥Kw产生的随机数进行加密。当一字组具有64位时,采用这种配置对比特数少于一个字组的数据进行加密从而得到密码文本。CBC模式和OFB模式被称为加密使用模式。
图13示出了在MULTI2系统中解密算法的基本配置。如图13所示,256位工作密钥Kw在使用64位数据密钥Ks和256位系统密钥J的加密算法中产生,工作密钥的产生是在密钥表处理过程中完成的,其中使用的是与在加密一方使用的相同的加密算法。加密算法是由加密算法执行装置C实现,产生的工作密钥Kw提供给解密算法执行装置f,对输入的64位密码文本进行解密。
在这个解密算法中,在加密算法执行装置F中执行的加密算法中的换位和替代操作以其相反的顺序被处理。
以OFB模式加密的密码文本提供给加密算法执行装置g然后使用由工作密钥Kw产生的随机数进行解密。使用这种配置,64位一字组的密码文本被解密并获得最初的64位一字组的普通文本,解密算法执行装置f执行CBC模式解密算法。
下文中参看图14A和图14B描述加密使用模式,图14A示出了CBC模式中的加密和解密的概略配置,图14B示出了在OFB模式中的加密和解密的概略配置。
在CBC模式中,如图14A所示,第i个普通文本字组M(i)被输入到逻辑异或电路101,然后与经寄存器(REG)103反馈和延迟的一个字组之前的密码文本字组C(i-1)进行逻辑异或。经逻辑异或后的数据通过加密算法执行装置102使用按照数据密钥Ks产生的工作密钥进行加密,该加密的第i个密码字组C(i)表示如下C(i)=EKs(M(i).EOR.C(i-1))这里EKs(m)表示m是用Ks进行加密,EOR表示逻辑异或操作。
密码文本字组C(i)被发送并被接收方所接收,该接收的密码文本字组C(i)被解密算法执行装置111使用依照数据密钥Ks产生的工作密钥进行解密并提供给逻辑异或电路113。被寄存器(REG)112延迟的一个字组之前的密码文本字组C(i-1)被输入到逻辑异或电路113,然后在两个输入之间进行逻辑异或运算。在这种情况下,在发送方和接收方使用相同的数据密钥Ks,第i个普通文本字组M(i)从逻辑异或电路113中获得,第i个普通文本字组M(i)表示如下M(i)=DKs(C(i).EOR.C(i-1))这里DKs(C)表示,C用Ks进行解密。
在OFB模式中,第i个普通文本字组M(i)被输入到逻辑异或电路105。使用依照数据密钥Ks产生的工作密钥而转换成随机数的加密算法执行装置104的输出也被输入到逻辑异或电路105,加密算法执行装置104的输出由寄存器103延迟一字组,然后反馈给加密算法执行装置104,使用随机数加密的密码文本字组C(i)从逻辑异或电路105输出。
密码文本字组C(i)被传送并由接收一方接收。接收的密码文本字组C(i)接到逻辑异或电路114。使用依照数据密钥Ks产生的工作密钥,加密算法执行装置115的输出被转换为随机数,加密算法执行装置115的输出也接到逻辑异或电路114。加密算法执行装置115的输出被寄存器(REG)112延迟一字组,然后反馈给加密算法执行装置115。在这种情况下,提供给逻辑异或电路114的随机数和提供给逻辑异或电路105的随机数相同,解密的第i个普通文本字组M(i)从逻辑异或电路114中获得。
图15示出了具有上述加密使用模式的加密/解密系统的概略配置。在图15中,发送一方配置有用于加密数据的加扰器100,输入数据由加扰器100加扰,即加密然后被发送。加扰过的发送数据通过例如在空间的传送路径被传送然后在接收方被接收。在接收方配置有去扰器110,加扰过的发送数据被去扰器去扰,即解密以获得最初的数据然后输出。
加扰器100具有CBC模式加密部件和OFB模式加密部件,CBC模式加密部件包括一个作为加密算法执行装置以对输入数据(普通文本)进行加密的加密器102,寄存器103和逻辑异或电路101;OFB模式加密部件包括一个作为加密算法执行装置的加密器104和逻辑异或电路105。加扰器100也配置有加密器106,以从数据密钥和系统密钥中产生工作密钥,产生的工作密钥提供给加密器102和104。
由于加密器102,104和106可以使用相同的加密算法,一个加密器能够代替三个加密器。由于CBC模式和OFB模式加密部件的操作已经描述过了,所以其描述被省略。
去扰器110具有CBC模式解密部件和OFB模式解密部件。CBC模式解密部件包括一个作为解密算法执行装置的解密器111,以对输入的接收到的数据(密码文本)进行解密,一个寄存器112,和逻辑异或电路113;OFB模式解密部件包括一个作为加密算法执行装置的加密器115和逻辑异或电路114。去扰器110也同样配置加密器116,用以从数据密钥和系统密钥中产生工作密钥,该产生的工作密钥也提供给解密器111和加密器115。
由于加密器115和116能使用同样的加密算法,一个加密器能代替两个加密器。由于CBC模式和OFB模式解密部件的操作已经描述过了,所以其描述被省略。
在图15中示出的加密/解密系统中,当加密一方执行加密算法时,解密一方要执行解密算法,并且加密算法产生解密需要的工作密钥。换言之,解密一方需要配置硬件部分,以执行解密算法和加密算法。因此,解密一方必须比加密一方配有较大规模的硬件部分。
当加密/解密系统用于广播系统例如卫星广播系统中时,和发送设备相比较,接收设备的费用会增加,那么广播系统就不能被广泛地传播。
依此,本发明的目的是提供一加密/解密系统和加密/解密装置,其中,用特定加密算法加密的密码文本被具有简单配置的接收方所解密。
前述目的在本发明的一个方面通过提供加密方法来实现,该加密方法包括通过执行解密算法产生工作密钥的工作密钥产生步骤和使用在工作密钥产生步骤中产生的工作密钥并依照特定的加密方法对普通文本进行加密而产生密码文本的加密步骤。
前述的目的在本发明的另一方面通过提供解密方法来实现,该解密算法包括通过执行解密算法产生加密使用的工作密钥的工作密钥产生步骤和使用在工作密钥产生步骤产生的工作密钥并依照解密算法对密码文本进行解密而获得最初的普通文本的解密步骤。
前述的目的在本发明的另一方面通过提供加密/解密方法来实现,该加密和解密方法包括通过执行解密算法产生工作密钥的加密工作密钥产生步骤,在加密一方实现该步骤;使用在工作密钥产生步骤产生的工作密钥并依照特定的加密算法对普通文本进行加密而产生密码文本的加密步骤,该步骤在加密一方完成;通过执行解密算法产生加密用的工作密钥的解密工作密钥产生步骤,该步骤在解密一方完成;使用在工作密钥产生步骤产生的工作密钥并依照解密算法对密码文本进行解密以获得普通文本的解密步骤,该步骤是在解密一方实现的。
前述的目的在本发明的另一方面通过提供加密装置实现,该装置包括使用密钥信息执行解密算法而产生工作密钥的密钥表装置和使用由所述密钥表装置产生的工作密钥并依照特定的加密算法对普通文本进行加密以产生密码文本的加密装置。
前述的目的在本发明的另一方面通过提供解密装置实现,该解密装置包括通过执行解密算法产生加密用的工作密钥的密钥表装置和使用由密钥表装置产生的工作密钥并依照解密算法对密码文本进行解密以获得最初普通文本的解密装置。
前述的目的在本发明的另一个方面通过提供加密/解密装置实现的,该加密/解密装置包括加密一方和解密一方。在加密一方配有通过执行解密算法产生工作密钥的加密密钥表装置,和使用由加密密钥表装置产生的工作密钥并依照特定的加密算法对普通文本进行加密以产生密码文本的加密装置;在解密一方配置有通过执行解密算法产生加密装置使用的工作密钥的解密密钥表装置,和使用由解密密钥表装置产生的工作密钥并依照解密算法对密码文本进行解密以获得普通文本的解密装置。
依照本发明的加密方法和解密方法,解密需要的工作密钥能够通过执行解密算法产生。因此,执行产生工作密钥的解密算法的装置和执行解密密码文本的解密算法的装置能在一个单元里执行,这样解密一方的配置能够简化。
另外,当普通文本使用在OFB模式下通过执行解密算法产生的随机数进行加密时,由于在OFB模式下加密的电文能使用由执行解密算法产生的随机数进行解密,上述的单元也能做为执行解密算法以产生OFB模式下的随机数的装置。因此解密一方的配置能进一步地简化。
当本发明应用到广播系统时,系统的费用通过简化接收方的配置而减少,因此促进了广播系统的广泛应用。
图1是按照本发明实施例的使用加密方法和解密方法的加密装置和解密装置的方框图。
图2是本发明加密方法中使用的加密算法的方框图。
图3是本发明解密方法中使用的解密算法的方框图。
图4是本发明加密方法中应用的加扰器的框图。
图5是本发明解密方法中应用的去扰器的框图。
图6是本发明加密方法和加密装置使用的加密算法的框图。
图7是本发明的解密方法和解密装置使用的解密算法的框图。
图8是图6所示加密算法所使用的基本函数的细节。
图9是在图8所示基本函数中用于计算函数π2的配置的细节。
图10是本发明密钥表处理算法的框图。
图11A示出了加密器核心而图11B示出了解密器核心。
图12是通常的加密算法。
图13是通常的解密算法。
图14A所示为在加密使用模式,CBC模式的配置,图14B所示为加密使用模式,OFB模式的配置。
图15所示为通常加密/解密系统的配置。
图1是按照本发明实施例的加密/解密装置的概略配置框图,该装置使用包括加密使用模式的加密/解密方法。本发明的加密方法是在发送方完成的而本发明的解密方法是在接收方完成的。
在图1中,发送方配置有加扰器1,输入的数据被加扰器加扰,即被加密然后发送,加扰的传送数据通过传送路径例如在空间中被传送,然后在接收方被接收。接收方配置有去扰器2,加扰的传送数据被去扰器2去扰,即被解密以获得最初的数据。
发送数据(接收数据)的格式是,例如,在ISO/IEC13818指定的传送流(TS),传送流具有188字节的数据包结构,每一个数据包通常包括4字节的数据包头,并随后跟着184字节的有效负载,一用于加上16字节奇偶位的伪周期被附加到数据包上以校正传输错误,这种类型的数据包重复地出现以形成传送流。
传送流的数据包头包括数据包属性信息。例如数据包的识别(PID)信息,它指出数据包内容,视频数据,音频数据,或其它数据串;传送加扰控制(TSC)信息,它指出数据是否被加密。当从检测数据包头的结果中确定接收的数据没有被加密时,传送流就通过延迟部件从去扰器2中输出。延迟部件规定的延迟时间等于在去扰器2去扰所需要的时间。
去扰器1包括CBC模式加密部件和OFB模式加密部件。CBC模式加密部件包括作为加密算法执行装置以对输入普通文本进行加密的加密器12,对加密器12的输出延迟一字组的寄存器(reg)13,和逻辑异或(EX-OR)电路11;OFB模式加密部件包括作为解密算法执行装置的解密器14和逻辑异或(EX-OR)电路15,加扰器1也配置有作为解密算法执行装置以从数据密钥和系统密钥产生工作密钥的解密器16。产生的工作密钥提供给加密器12和解密器14。
加扰器1的操作将描述如下。
在CBC模式,开关装置30和开关装置31被开到“a”端的位置,输入的字组数据(普通文本)被接到逻辑异或(EX-OR)电路11。它和寄存器13的输出进行异或将加密器12的输出延时一字组。异或(EX-OR)电路11的计算后的输出被输入到作为加密算法执行装置的加密器12,加密器12通过使用工作密钥执行加密算法对普通文本进行加密,加密的电文通过开关装置31发送。
当分成的字组在OFB模式进行加密时,输入的数据已经成为分数。在OFB模式下,开关装置30和31被开到“b”端,输入字组数据(普通文本)被接到逻辑异或(EX-OR)电路15,它和解密器14的输出随机数进行异或然后被加密。在这种情况下,解密器14使用工作密钥执行解密算法和输出随机数,加密的电文通过开关装置31被传输。
加到加密器12和解密器14的工作密钥是在加密之前,通过使用数据密钥和系统密钥在解密器16中执行解密算法产生的。
由于在加密处理中解密器14和16不同时使用,并且它们能使用相同的解密算法,所以一个解密器能作为两个解密器14和16共用。
在接收方配置的去扰器2具有CBC模式解密部件和OFB模式解密部件。CBC模式解密部件包括作为解密算法执行装置以对输入的接收到的数据(密码文本)进行解密的解密器21,对输入的接收到的数据延迟一字组的寄存器22,和逻辑异或(EX-OR)电路23;OFB模式解密部件包括作为解密算法执行装置的解密器25和逻辑异或(EX-OR)电路24。去扰器2也配置有从数据密钥和系统密钥产生工作密钥的解密器26,产生的工作密钥送往解密器21和解密器25。
去扰器2的操作将在下面描述。
当接收的数据在CBC模式下已被加密时,开关装置32和开关装置33被开到“a”端,输入的字组数据(密码文本)被施加到解密器21。由解密器26所产生的与加密使用的工作密钥相同的工作密钥送往解密器21。通过使用该工作密钥执行解密算法将密码文本解密。解密的字组数据被输入到逻辑异或(EX-OR)电路23。该解密的字组数据和接收到的被寄存器(reg)22延迟一字组的密码文本进行异或操作,该计算的结果被解密以获得最初的普通文本,然后该电文通过开关装置33输出。
当已经成为分数的并在OFB模式下进行加密的密码文本在OFB模式下进行解密时,两开关装置32和33被开到“b”端,接收的字组数据(密码文本)被输入到逻辑异或(EX-OR)电路24,接收的字组数据和解密器25的输出随机数进行逻辑异或然后被解密。在这种情况下,解密器25使用由解密器26产生的工作密钥执行解密算法并输出和发送方相同的随机数,解密的普通文本通过开关装置33传送。
提供给解密器21和解密器25的工作密钥是在解密之前,通过使用与发送方相同的数据密钥和相同的系统密钥执行解密算法产生的。
这就要求在加扰器1和去扰器2中的解密器14和解密器25使用相同的解密算法,解密器16和解密器26使用相同的解密算法。当在加扰器1内一个解密器作为解密器14和16共用时,解密器25和解密器26使用相同的解密算法。
在加扰器1中,在解密器14中使用的解密算法可以等于对在加密器12内使用的加密算法进行解密的解密算法。当解密算法按上述设置时,在去扰器2中解密器21和解密器25可以使用相同的解密算法。这就意味着,在去扰器2中解密器21,25,和26可以使用相同的算法。
由于解密器21,25,和26在解密过程中不同时使用,一个解密器可作为解密器21,25,和26共用,本发明的特点是在于共同地使用上述的解密器,实质上简化了去扰器2的配置,即,解密装置的配置。
本发明加密方法中使用的加密算法将参考图2描述如下。
在图2所示的本发明的加密算法中,输入数据被分组为有64位且输出数据也分组为具有64位,加密用的256位工作密钥由256位系统密钥和64位数据密钥产生,加密级数是正整数。
256位工作密钥Kw是使用64位工作密钥Ks和256位系统密钥并执行解密算法产生的,该操作被称为密钥表处理并由解密算法执行装置E3执行,该产生的工作密钥Kw送到加密算法执行装置E6以对输入的64位普通文本进行加密。在解密算法执行装置E3执行的解密算法需要能够对由加密算法执行装置E6执行的加密算法进行解密。
通过事先在统计处理过程中计算字符或字出现的频次分布以及在得到的上文描述的加密的密码文本中通过计算频次分布的匹配条件和字符串图案的频次分布从而找到最初的普通文本。因此,采用CBC模式,在该模式中,通过将64位加密过的字组和下一步将要输入的64位普通文本之间进行逻辑异或计算产生密码文本。加密算法执行装置E6实现这种CBC模式加密算法。
在数据单元事先被决定的系统中,例如,当64位被加密为一个字组而不能被一字组内的位数整除的数据单元被输入时,这里出现了少于一字组位数的分数数据,这种分数数据在OFB模式中处理。
分数数据,如果有的话,被送往解密算法执行装置E7,并且使用在OFB模式下的256位工作密钥产生的随机数进行加密。在使用这种配置时,当64位被加密作为一字组时,具有少于一字组位数的数据被加密从而获得密码文本。CBC模式和0FB模式都被称为加密使用模式。
如上所述,在产生工作密钥Kw的解密算法执行装置E3内使用的解密算法和在作为OFB模式加密装置的解密算法执行装置E7内使用的解密算法完全相同。实际上一个解密算法执行装置进行这两个操作。
图4所示为加扰器1的配置,其中一个解密算法执行装置做两个操作。在图4中,解密器14(16)作为图1所示的解密器14和16,同时EX-OR11(15)作为图1所示的两个异或电路。
在图4中,在加密处理之前,64位数据密钥事先写入数据密钥寄存器17并且每个系统的256位系统密钥被写入系统密钥寄存器18。为了增加保密程度,数据密钥在几秒或数10秒内被更新。
在这种情况下,开关装置42和43被置到端“a”,存储在数据寄存器17内的64位数据密钥和存储在系统密钥寄存器18内的256位系统密钥提供给解密器14(16),通过在解密器14(16)内执行解密算法产生256位工作密钥,该工作密钥被写入工作密钥寄存器19。
当工作密钥产生时,开关装置41和44两者被置到端“b”,成组的64位输入数据被输入到EX-OR11(15)电路,然后与被寄存器13延迟了一字组的密码数据进行逻辑异或运算,计算结果被输入到加密器12,然后通过使用从工作密钥寄存器19读出的工作密钥执行加密算法,从加密器12输出的密码文本是CBC模式密码文本,其后通过开关装置44输出。当打开电源时执行初始化,寄存器13被设置为最初的值。
当分数数据被输入时,开关装置42和43两端被置到端“c”且开关装置41和44两者也被置到端“C”,被寄存器13延迟的加密的数据通过开关装置42输入到解密器14(16),然后使用从工作密钥寄存器送到解密器14(16)的工作密钥通过执行解密算法将其转换为随机数。由解密器14(16)产生的随机数通过开关装置41被输入到EX-OR11(15),然后与分数输入数据进行逻辑异或操作从而加密,在OFB模式下以这种方式加密的密码文本通过开关装置44输出。
本发明解密方法使用的解密算法将参照图3在下面加以描述。如图3所示,使用64位数据密钥Ks和256位系统密钥J通过执行解密算法产生一个256位工作密钥Kw。工作密钥是在密钥表处理中产生的,在密钥表处理中使用与加密方相同的解密算法。解密算法执行装置D3执行解密算法。产生的工作密钥Kw被施加到解密算法执行装置D6以对输入的,CBC模式的64位字组的密码文本进行解密。
在解密算法中,在图2所示的加密算法执行装置E6内执行的加密算法指定的换位和替代以相反的顺序被执行。
在OFB模式,加密的密码文本被提供给解密算法执行装置D7,然后使用由工作密钥Kw产生的随机数对其解密,解密算法执行装置D7执行与图2所示的在解密算法执行装置E7内使用的相同的解密算法。
如上所述,在产生工作密钥Kw的解密算法执行装置D3内使用的解密算法和在作为OFB模式加密装置的解密算法执行装置D7内使用的解密算法相同,而且它也和在对密码文本进行解密的解密算法执行装置D6内使用的解密算法相同。在解密中,一个解密算法执行装置执行这三类操作。
图5所示为去扰器2的配置,其中一个解密算法执行装置执行这三类操作。在图5中,一解密器21(25,26)充当图1中所示的解密器21,25和26,EX-OR23(24)充当图1中所示的两个EX-OR。
在图5中,64位数据密钥事先写入数据密钥寄存器27而256位系统密钥事先写入到系统密钥寄存器28。
在这种情况下,开关装置50和51两者被置到“a”端,存储在数据密钥寄存器27的64位数据密钥和存储在系统密钥寄存器28内的256位系统密钥提供给解密器21(25,26),在解密器21(25,26)内通过执行解密算法产生256位工作密钥,该工作密钥被写入到工作密钥寄存器29。
当工作密钥产生并被存储在工作密钥寄存器29内时,开关装置50和51和开关装置52均被开到在CBC模式下的“b”端。接收的64位字组密码数据通过开关装置50输入到解密器21(25,26),在解密器21(25,26)中使用从工作密钥寄存器29读出的工作密钥通过执行解密算法进行解密,解密的数据被输入到EX-OR23(24),并和通过开关装置52输入到EX-OR23(24)并且由寄存器22延迟了一个字组的接收到的数据进行逻辑异或操作。在CBC模式下加密的密码文本被解密以产生最初的普通文本。
当被加密的分数数据输入时,开关装置50和52均被置到“c”端,接收到的被寄存器延迟一字组的数据通过开关装置50被输入到解密器21(25,26),然后使用从工作密钥寄存器29提供给解密器21(25,26)的工作密钥通过执行解密算法将其转换为随机数。由解密器21(25,26)产生的该随机数输入到EX-OR23(24),并和从开关装置52输入的接收的加密的分数数据进行异或操作。在OFB模式加密的密码文本被解密以产生普通文本。
如上所述,在完成本发明的解密方法的装置(去扰器2)中由于执行解密算法的一个解密器能够充当三个解密器,所以实质上简化了它的配置。
由加密器执行的加密算法和由解密器执行的解密算法的细节将参照图6和11在下边详细地描述。
图6所示为加密算法。具有64位的输入数据被划分为高32位数据和低32位数据然后被输入到包括4个计算级60和4个计算级61的第一个8个加密级,在4个计算级60和61中使用不同的函数。
在4个计算级60的第一级中,函数π1施加到输入高32位数据和输入低32位数据。随后在第二级,函数π2被施加给第一级的输出。此时,32位的工作密钥K1输入到第二级且使用该工作密钥K1进行第二级的计算。
在第三级,函数π3施加到第二级的输出,两个32位工作密钥K2和K3输入到第三级,使用工作密钥K2和K3进行第三级的计算。随后,在第四级,函数π4施加到第三级的输出,32位工作密钥K4输入到第四级,使用工作密钥K4执行第四级计算。
在下一个四个计算级61的第一级,函数π1被施加到计算级60的输出。随后,在第二级,函数π2施加到第一级的输出。32位的工作密钥K5输入到第二级并且使用工作密钥K5进行第二级的计算。
在第三级,函数π3施加到第二级的输出,两个32位工作密钥K6和K7输入到第三级,使用工作密钥K6和K7进行第三级的计算。随后,在第四级,函数π4施加到第三级的输出,32位的工作密钥K8输入到第四级,并且使用工作密钥K8进行第四级计算。
如上所述,256位的工作密钥被划分为八个32位密钥K1到K8,并且施加到计算级。包括加密的高32位数据和加密的低32位数据的64位数据被输入到下一八个加密级62。在这八个加密级中执行和上述八加密级相同的计算从而得到具有高32位和低32位的64位更随机的输出数据。
如图所示,八个加密级的操作能被重复所期望的次数,并不局限为两次,越多次数的重复操作,输出数据越随机,输出数据具有越高的加密程度。
在计算级的每一级执行的每一个函数规定了替代规则,即按照某一规则一个字符被另一个字符替换;同时规定了换位原则,即字符变化的顺序。
图7所示为解密算法,其中,在上述加密算法规定的计算从输出侧以相反的次序执行。换言之,在八个加密级的第一个四个计算级63的第一级,函数π4施加到被划分为较高32位数据和较低32位数据的64位加密的输入数据,并使用32位工作密钥K8。随后,在第二级,函数π3施加到第一级的输出数据,并使用工作密钥K7和K6。其后,在第三级,函数π2施加到第二级的输出数据,并使用工作密钥K5。在第四级,函数π1施加到第三级的输出数据。
在随后的四个计算级64中,使用工作密钥K4至K1以相同的方式执行这样四个计算。
在级连到上述八个加密级的八个加密级65中执行相同的操作,获得具有较高32位和较低32位的被解密的64位输出数据。在八个加密级的重复操作次数应设置为等于加密算法中重复的操作次数。
在计算级执行的计算的细节将参考图8在下面加以描述,并以加密算法中的计算级60作为实例。
在第一计算级中使用函数π1,将划分的高32位输入数据不经计算而输出,而低位数据要与高位数据按位进行异或运算并将运算结果作为低位数据输出。
随后在第二计算级中使用函数π2,工作密钥K1加到具有232的模的低32位数据“x”上以产生x+K1。该结果x+K1此处和后文用“y”表示,被循环左移一位,用232为模计算的y-1加到该结果中从而得到“z”,“z”被循环左移四位再和“z”的每一位进行逻辑异或运算,计算结果和高32位数据异或作为高位输出数据输出,低32位数据按原样输出而没有经过任何计算。
在第三计算级中用函数π3,工作密钥K2被加到以232为模的高32位数据“x”上产生x+X2。结果x+K2,此处和后文中用“y”表示,被循环左移二位,然后用232为模计算的y+1加到该结果中以得到“z”。“z”被循环左移八位并和“z”按位逻辑异或以得到结果“a”。
工作密钥K3加到以232为模的“a”上以产生a+K3。结果a+k3,以后表示为b,被循环左移一位,然后-b被加到以232为模的该结果中以得到“c”。“c”被循环左移16位并与“a”和“x”按位进行逻辑或运算后的结果进行逻辑异或运算。计算结果和低32位数据按位行进行异或运算,然后作为低32位数据输出,高32位数据照原样输出没有经过任何计算。
在第四计算级中用函数π4,工作密钥K4被加到以232为模的低32位数据“x”上以产生x+K4。该结果x+K4,此处和后文中表示为“y”,被循环左移两位,然后用232为模计算的y+1被加到该结果中。计算结果和高32位数据进行逻辑异或并作为高32位数据输出,低32位数据按原样输出而没有经过任何计算。
在上述的计算中,一个字符被其它字符替代的替换是通过将工作密钥K1至K4加到数据上实现的,而改变字符顺序的换位是由循环移动数据实现的。通过执行这样的替代和换位算法将普通文本随机化和加密。
在解密中,替代和换位算法和加密时执行的替代和换位相反从而得到最初的普通文本。
上述的操作将参考图9并以函数π2为例进一步地详细描述。
在图9中,输入的低32位数据“x”和32位工作密钥K1在第一个32位加法器80中相加,其和数据“y”被输出。和数据“y”在第一循环左移位器81中被循环左移一位,然后在第二32位加法器82中再加上第一循环左移位器81的输出。在第三个32位加法器84中,-1加到其和上以获得数据“z”。在第二循环左移位器85中数据“z”被循环左移四位,然后也输入到逻辑异或电路86。第二循环左移位器85的输出,数据“z”和高32位数据被输入到逻辑异或电路86逐位进行异或运算。
逻辑异或电路86的计算结果被输入到下一级作为高32位数据。低32位数据按原样输入到下一级而没有经过任何计算。
图10所示为从64位数据密钥和256位系统密钥产生256位工作密钥的密钥表处理算法。
如图10所示,在密钥表处理算法中,两组四个计算级66和67和一个计算级相互级连。
换言之,在第一个四计算级66的第一级中,函数π4被施加到被分为高32位和低32位的64位数据密钥上,并使用32位系统密钥J4。随后,在第二级中,函数π3被施加到第一级输出数据,并使用系统密钥J3和J2,同时高32位数据作为工作密钥K1输出。然后,在第三级中,函数π2施加到第二级的输出数据,并使用系统密钥J1,同时低32位数据被输出作为工作密钥K2。函数π1施加到在第四级中第三级的输出数据,同时高32位数据被输出作为工作密钥K3。
在下一个四计算级67的第一级内,函数π4被施加到计算级66的输出数据,并使用32位系统密钥J8,同时低32位数据被输出作为工作密钥K4。随后,在第二级中,函数π3被施加到第一级的输出数据,并使用系统密钥J7和J6,同时高32位数据被输出作为工作密钥K5。随后,在第三级,函数π2被施加到第二级的输出数据,并使用系统密钥J5,同时低32位数据被输出作为工作密钥K6。函数π1施加到在第四级内第三级输出数据,同时高32位数据被输出作为工作密钥K7。
在随后的计算级68内,函数π4被施加到计算级67的输出数据,并使用32位系统密钥J4,同时低32位数据被输出作为工作密钥K8。
执行上述加密算法的加密器重复地执行图6所示加密算法的基本部分。当图6所示的四计算级被视为加密器核心时,通过重复地使用图11A所示的加密器核心,能够完成加密器的加密算法。工作密钥Ks1至Ks4首先输入到加密器核心,工作密钥Ks5至Ks8在第二次时输入。
执行上述加密算法的解密器重复地执行图7所示解密算法的基本部分,当图7所示的四计算级被视为解密器核心时,通过四次使用图11B所示的解密器核心四次能够完成解密器的解密算法。工作密钥Ks8至Ks5首先输入到解密器核心,工作密钥Ks4至Ks1在第二次时输入。
通过重复地操作解密器核心2又1/4次,能够完成图10所示密钥表处理算法能被完成。在这种情况下,系统密钥取代工作密钥被输入,同时数据密钥也被输入。
如上所述,加密算法仅用加密器核心执行,而解密算法和密钥表处理算法也仅用解密器核心执行。因此,硬件的规模能够缩小,这在去扰器中是极好的优点。
当本发明应用的去扰器使用在广播系统的接收机中时,广播系统要求每一个用户具有包括去扰器的接收机,由于接收机的费用能够减少,因此可以提高广播系统的应用范围。
在上述的描述中,64位字组普通文本使用64位数据密钥和256位系统密钥进行加密以生成64位字组密码文本,而64位字组密码文本使用64位数据密钥和256位系统密钥进行解密以再产生最初的普通文本。本发明并不仅仅局限具有这些比特位的电文和密钥,而且能够应用到具有任何比特位数的电文和密钥。
进而,本发明并不局限于重复上述的换位和替换的加密/解密方法,而且能应用到其它的加密/解密方法。
本发明能应用到电缆TV系统、卫星通讯系统和其它网络系统,通过以通讯数据传送或使用预付卡装置或电话使用户获得系统密钥和数据密钥,从而这些系统的构成使得仅有那些已经付费的用户才能对传送的信息进行解密。
权利要求
1.一种加密方法,包括通过执行解密算法产生工作密钥的工作密钥产生步骤;和使用所述工作密钥产生步骤中产生的工作密钥依照特定的加密算法对普通文本进行加密以产生密码文本的加密步骤。
2.一种解密方法,包括通过执行解密算法产生为加密使用的工作密钥的工作密钥产生步骤;和使用所述工作密钥产生步骤中产生的工作密钥依照所述的解密算法对密码文本进行解密以获得最初普通文本的解密步骤。
3.一种加密/解密方法,包括通过执行解密算法以产生工作密钥的加密工作密钥产生步骤,该步骤是在加密一方执行的;使用在所述工作密钥产生步骤中产生的工作密钥依照特定的加密算法对普通文本进行加密以产生密码文本的加密步骤,该步骤是在加密一方完成的;通过执行所述解密算法以产生为加密使用的工作密钥的解密工作密钥产生步骤,该步骤是在解密一方完成的;和使用在所述工作密钥产生步骤中产生的工作密钥依照所述的解密算法对所述密码文本进行解密以获得所述普通文本的解密步骤,该步骤是在所述的解密一方完成的。
4.一种加密装置,包括使用密钥信息通过执行解密算法以产生工作密钥的密钥表装置;和使用在所述密钥表装置中产生的工作密钥依照特定的加密算法对普通文本进行加密以产生密码文本的加密装置。
5.一种解密装置,包括通过执行解密算法以产生加密使用的工作密钥的密钥表装置;和使用所述密钥表装置产生的工作密钥依照所述解密算法对密码文本进行解密以获得最初普通文本的解密装置。
6.一种加密/解密装置,包括在加密一方配置有通过执行解密算法产生工作密钥的加密密钥表装置;和使用所述加密密钥表装置产生的工作密钥依照特定的加密算法对普通文本进行加密以产生密码文本的加密装置;在解密一方配置有通过执行所述解密算法产生所述加密装置使用的工作密钥的解密密钥表装置;和使用所述解密密钥表装置产生的工作密钥依照所述解密算法对所述密码文本进行解密以获得所述普通文本的解密装置。
全文摘要
在发送方使用的加扰器中,从数据密钥和系统密钥产生工作密钥的解密器使用的解密算法与在OFB模式下为加密而在解密器中使用的解密算法相同。在这种情况下,在接收方的去扰器中,从数据密钥和系统密钥产生工作密钥的解密器能够同样使用在OFB模式下为加密而在解密器中使用的解密算法。另外,另一个解密器也能使用相同的解密算法。因此,一个解密器可以充当这三个解密器使用,从而解密器配置的规模能够减小。
文档编号H04L9/14GK1168041SQ9710485
公开日1997年12月17日 申请日期1997年2月23日 优先权日1996年2月23日
发明者江成正彦 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1