首页> 中国专利> 加密装置和加密方法及解密装置和解密方法以及用于记录程序的计算机可读取记录媒体

加密装置和加密方法及解密装置和解密方法以及用于记录程序的计算机可读取记录媒体

摘要

为在加密过程中进行其他数据的加密,配置存储器55,其针对用于从使用加密键K的加密模块51反馈至选择器54的反馈线65被并行设置。当在明文块数据Mi的处理过程中发生了对其他数据明文块数据Ni进行处理的中断IT时,将中断IT发生时的密文块数据Ci存储于暂存器56中,当明文块数据Ni的处理结束时,通过由选择器选择存储器55所存储的密文块数据Ci,并开始明文块数据Mi+1的处理。

著录项

  • 公开/公告号CN1343411A

    专利类型发明专利

  • 公开/公告日2002-04-03

    原文格式PDF

  • 申请/专利权人 三菱电机株式会社;

    申请/专利号CN00805031.7

  • 发明设计人 反町亨;时田俊雄;

    申请日2000-12-22

  • 分类号H04L9/10;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人马铁良;张志醒

  • 地址 日本东京都

  • 入库时间 2023-12-17 14:19:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-02-29

    未缴年费专利权终止 IPC(主分类):H04L9/10 授权公告日:20080430 终止日期:20101222 申请日:20001222

    专利权的终止

  • 2008-04-30

    授权

    授权

  • 2002-04-03

    公开

    公开

  • 2002-03-27

    实质审查的生效

    实质审查的生效

说明书

技术领域

本发明所涉及的是一种加密解密装置以及加密解密方法,特别是在数据的加密、解密过程中,能够进行其他数据的加密、解密处理。

现有技术

图43是基于加密块连锁模式(cipher block chaining mode,以下称CBC模式)的加密装置的示意图。

在图43所示的CBC模式加密方法中,是以块为单位输入64位明文块数据Mi,并通过使用加密键K的加密模块51进行加密,然后再将此加密后的密文块数据Ci与下一个明文块数据Mi+1进行“异”逻辑演算,并将“异”逻辑演算的结果作为下次加密处理的输入,提供至使用加密键K的加密模块51。于是,通过反复此处理使彼此链接,就能将整个明文M加密成密文C。

图44是采用CBC模式的解密装置的示意图。

图44所示的解密装置,是用来对由图43所示的加密装置所加密的密文进行解密的装置。密文块数据C1输入到使用加密键K的解密模块71,并与初始值IV进行“异”逻辑演算,解密成明文块数据M1。当输入密文块数据C2时,则在使用加密键K的解密模块71解密,然后与先前输入并储存在暂存器111的密文块数据C1进行“异”逻辑演算,进而解密成明文块数据M2

在这里,暂存器111亦可设置于选择器73的内部。

如果明文块数据以Mi(i=1,2,……,n)表示,密文块数据以Ci(i=1,2,……,n)表示,使用加密键K的加密处理以EK表示,使用加密键K的解密处理以DK表示的话,则CBC模式可以用以下公式表示:

C1=EK(M1  EXR  IV)

Ci=EK(Mi  EXR  Ci-1)  (i=2,3,  ……,n)

M1=DK(C1) EXR  IV

Mi=DK(Ci)  EXR  Ci-1(i=2,3,  ……,n)

这里,EXR表示“异”逻辑演算。IV(Initial Value)为初始值,在最初的加密和解密处理时被使用。初始值IV在加密端和解密端采用相同的值。

图45是输出反馈模式(Output Feedback Mode,以下称OFB模式)的加密装置示意图。

图46是OFB模式的解密装置的示意图。

图47是加密反馈模式(Cipher Feedback Mode,以下称CFB模式)的加密装置示意图。

图46是CFB模式的解密装置的示意图。

在这里,暂存器111亦可设置于选择器73的内部。

图49是用CBC模式的加密装置对明文M和明文N进行加密处理步骤的示意图。

在这里,对明文M由明文块数据M1、明文块数据M2、和明文块数据M3所构成,而明文N只由明文块数据N1所构成的情况进行说明。

当开始明文块数据M1的加密处理后,则密文块数据C1在被输出的同时,密文块数据C1还被用于明文块数据M2的加密处理。如此,密文块数据Ci被反馈到明文块数据Mi+1的加密处理中进行连锁处理。因此,明文块数据M1到明文块数据M3的加密处理未结束,就不能进行明文块数据N1的加密处理。

图50与图49同样,表示以CBC模式进行加密处理的情况。

在图50中,表示了为准备明文块数据M1、明文块数据M2、和明文块数据M3所花费时间的情况。另一方面,加密处理在下一个明文块数据Mi+1准备完成前结束,会出现空闲的时间(例如T1~T2、T3~T4的时间)。如此,即使是出现空闲时间,由于密文块数据Ci必须反馈到下一个明文块数据Mi+1进行链锁处理,所以明文块数据N1的加密不得不等到明文块数据M3的处理结束后再进行。

图51是数据保密处理和保证数据完整性处理的示意图。例如,明文M是利用OFB模式的加密装置被加密成密文C。利用CBC模式的加密装置演算出认证码P,并将认证码P附加在密文C的最后。当接收到被加密、且附加了认证码P的数据时,利用OFB模式的解密装置从密文C解密成明文M,同时利用CBC模式的解密装置从密文C演算出认证码P,并与传送来的认证码P比较是否相同,由此可以确认传送来的C是否被篡改。

图52是图51所示的保密处理和认证码演算处理步骤的示意图。

明文块数据M1~明文块数据M3依序加密成密文块数据C1~密文块数据C3。然后,依序输入密文块数据C1~密文块数据C3从而演算出认证码P。

在图42~图48所示的各模式的加密装置和解密装置中,由于必须将前一块数据的加密、解密数据反馈到下一个块数据的加密、解密处理上,所以一旦加密处理或解密处理开始后,只要整个处理不结束,就不能开始其他的加密处理或解密处理。这样一来,如果先前开始了的加密、解密处理需要很长时间的话,则以后开始的加密、解密处理就要等很长的时间。

另外,当加密、解密处理所需要的时间比准备加密、解密数据所需要的时间短时,则加密、解密装置会出现空闲时间。

而且,当进行保密处理和保证完整性处理时,必须在进行保密处理之后再进行保证完整性处理,因而处理很花费时间。

本发明理想的实施方式的目的,是提供一种在进行某数据的加密、解密处理过程中,能对其他数据进行加密、解密处理的加密装置、解密装置、加密方法和解密方法。

另外,在本发明理想的实施方式中,可以对优先权较高的数据优先进行加密、解密处理。

另外,在本发明理想的实施方式中,可以高速并行地进行保密处理和保证保证完整性处理。

发明内容

本发明的加密装置,用于进行第1处理数据和第2处理数据的加密处理,其特征在于:

包括存储加密处理状态的存储器,

用于在第1处理数据的加密处理结束之前开始第2处理数据的加密处理,在开始第2处理数据的加密处理时将第1处理数据的加密处理状态存储于所述存储器中,当再开始第1处理数据的加密处理时,首先将加密装置的加密处理状态恢复到存储器所存储的第1处理数据的加密处理状态后再开始第1处理数据的加密处理。

所述加密装置,其特征还在于:

在第2处理数据的加密处理结束之前再开始第1处理数据的加密处理,当再开始第1处理数据的加密处理时所述存储器存储第2处理数据的加密处理状态,当再开始第2处理数据的加密处理时,首先将加密装置的加密处理状态恢复到存储器所存储的第2处理数据的加密处理状态后再开始第2处理数据的加密处理。

以所述第1处理数据是第1明文,所述第2处理数据是第2明文为特征。

以所述加密装置通过中断开始第2处理数据的加密处理为特征。

本发明的加密装置,用于对构成明文M的明文块数据Mi(i=1,2,3,……)和构成明文N的明文块数据Nj(j=1,2,3,……)进行加密,其特征在于:包括

机构,用于在明文M的加密处理过程中接收在明文M的加密处理结束之前的明文N的加密要求;

加密单元,用于对明文块数据Mi进行加密处理并输出密文块数据Ci

反馈回路,用于将加密单元所输出的密文块数据Ci通过反馈线反馈到加密单元;

存储器,与反馈回路的反馈线并行设置,当由于接收所述明文N的加密要求,开始明文N的某一明文块数据的加密处理,而紧接在明文块数据Mi之后,不继续接着进行所述明文块数据Mi+1的加密处理时,用于存储被反馈的密文块数据Ci

选择器,当明文块数据Mi+1继续接着明文块数据Mi进行加密时,用于选择由所述反馈回路的反馈线所反馈的密文块数据Ci并提供至反馈回路,当所述明文块数据Mi+1不是继续接着明文块数据Mi进行加密,而是接着明文N的某一明文块数据进行加密时,用于选择所述存储器所存储的密文块数据Ci并提供至反馈回路。

所述存储器,其特征在于:包括

对应多件明文的多个暂存器;

根据加密处理的明文而对暂存器进行转换的转换器。

本发明的加密方法,其特征是包括以下步骤:

利用加密模块所输出的密文块数据Ci(i=1,2,3,……)对第1明文M的明文块数据Mi(i=1,2,3,……)进行加密;

在所述明文块数据Mi的加密过程中或是明文块数据Mi的加密之后,将用于第1明文M的明文块数据Mi+1加密的密文块数据Ci存储于存储器;

在将用于所述明文块数据Mi+1加密的密文块数据Ci存储于存储器之后,对第2明文N的至少1个明文块数据进行加密;

在对所述第2明文N的至少1个明文块数据进行加密之后,输入存储器所存储的用于明文块数据Mi+1加密的密文块数据Ci,并利用加密模块对第1明文M的明文块数据Mi+1进行加密。

本发明的加密装置,用于通过加密单元将由1个以上明文块数据所组成的明文加密成密文,并针对密文生成为保证密文完整性的认证码,其特征在于:包括

加密部,具有在通过加密单元对明文块数据进行加密后,将加密单元输出的密文块数据Ci反馈至加密单元的第1反馈回路,并用于输入明文块数据,而且通过第1反馈回路反馈密文块数据Ci进行加密处理,输出密文块数据;

认证码生成部,具有用于反馈认证码演算中间结果的第2反馈回路,每当从加密部输出密文块数据时,用于输入密文块数据,进行数据处理,并通过第2反馈回路反馈认证码演算中间结果,从而生成为保证密文完整性的认证码。

所述加密部和认证码生成部,兼用单一加密模块和单一反馈回路并交互进行加密处理和认证码生成处理,同时

所述单一反馈回路,其特征在于:包括

用于分别记录并输出加密处理和认证码生成处理结果的存储器;

用于为交互进行加密处理和认证码生成处理,而从存储器交互选择加密处理和认证码生成处理的结果,并输出至加密模块的选择器。

本发明的加密方法,用于通过加密单元将由1个以上明文块数据所组成的明文加密成密文,并针对密文生成为保证密文完整性的认证码,其特征在于:包括

加密步骤,具有在通过加密单元对明文块数据进行加密后,将加密单元输出的密文块数据Ci反馈至加密单元的第1反馈步骤,并输入明文块数据,而且通过第1反馈回路反馈密文块数据Ci进行加密处理,输出密文块数据;

认证码生成步骤,具有反馈认证码演算中间结果的第2反馈步骤,每当从加密步骤输出密文块数据时,输入密文块数据,进行数据处理,并通过第2反馈步骤反馈认证码演算中间结果,从而生成为保证密文完整性的认证码。

本发明的解密装置,用于进行第1处理数据和第2处理数据的解密处理,其特征在于:

包括存储解密处理状态的存储器,

用于在第1处理数据的解密处理结束之前开始第2处理数据的解密处理,在开始第2处理数据的解密处理时将第1处理数据的解密处理状态存储于所述存储器中,当再开始第1处理数据的解密处理时,首先将解密装置的解密处理状态恢复到存储器所存储的第1处理数据的解密处理状态后再开始第1处理数据的解密处理。

所述解密装置,其特征还在于:

在第2处理数据的解密处理结束之前再开始第1处理数据的解密处理,当再开始第1处理数据的解密处理时所述存储器存储第2处理数据的解密处理状态,当再开始第2处理数据的解密处理时,首先将解密装置的解密处理状态恢复到存储器所存储的第2处理数据的解密处理状态后再开始第2处理数据的解密处理。

以所述第1处理数据是第1密文,所述第2处理数据是第2密文为特征。

以所述解密装置通过中断开始第2处理数据的最初块数据的解密处理为特征。

本发明的解密装置,用于对构成密文C的密文块数据Ci(i=1,2,3,……)和构成密文D的密文块数据Dj(j=1,2,3,……)进行解密,其特征在于:包括

机构,用于在密文C的解密处理过程中的任一时间接收密文D的解密要求;

解密单元,用于对密文块数据Ci进行解密处理并输出明文块数据Mi

反馈回路,用于将为解密密文块数据Ci+1的密文块数据Ci通过反馈线反馈到解密单元;

存储器,与反馈回路的反馈线并行设置,当由于接收所述密文D的解密要求,开始密文D的某一密文块数据的解密处理,而紧接在密文块数据Ci之后,不继续接着进行所述密文块数据Ci+1的解密处理时,用于存储被反馈的密文块数据Ci

选择器,当密文块数据Ci+1接着密文块数据Ci继续进行解密时,用于选择由所述反馈回路的反馈线所反馈的密文块数据Ci并提供至反馈回路,当所述密文块数据Ci+1不是接着密文块数据Ci继续进行解密,而是接着密文D的某一密文块数据进行解密时,用于选择所述存储器所存储的密文块数据Ci并提供至反馈回路。

所述存储器,其特征在于:包括

对应多件密文的多个暂存器;

根据解密处理的密文而对暂存器进行转换的转换器。

本发明的解密方法,其特征是包括以下步骤:

利用解密模块对第1密文C的密文块数据Ci(i=1,2,3,……)进行解密;

在所述密文块数据Ci的解密过程中或是密文块数据Ci的解密之后,将第1密文C的密文块数据Ci+1解密用的密文块数据Ci存储于存储器;

在将所述密文块数据Ci+1解密用的密文块数据Ci存储于存储器之后,对第2密文D的至少1个密文块数据进行解密;

在对所述第2密文D的至少1个密文块数据进行解密之后,输入存储器所存储的用于密文块数据Ci+1解密的密文块数据Ci,并利用解密模块对第1密文C的密文块数据Ci+1进行解密。

本发明的解密装置,用于将由1个以上密文块数据所组成的密文解密成明文,并针对密文生成为确认密文完整性的认证码,其特征在于:包括

解密部,具有在通过解密模块对数据进行解密后,将所生成的模块输出块数据Ti反馈至解密模块的第1反馈回路,并用于输入密文块数据,而且通过第1反馈回路反馈模块输出块数据Ti进行解密处理,输出明文块数据;

认证码生成部,具有用于反馈认证码演算中间结果的第2反馈回路,并用于输入与输入到解密部的密文块数据相同的密文块数据,进行数据处理输出认证码演算中间结果,并通过第2反馈回路反馈认证码演算中间结果,从而生成为确认密文完整性的认证码。

所述解密部和认证码生成部,兼用单一解密模块和单一反馈回路并交互进行解密处理和认证码生成处理,同时

所述单一反馈回路,其特征在于:包括

用于分别记录并输出解密处理和认证码生成处理结果的存储器;

用于为交互进行解密处理和认证码生成处理,而从存储器交互选择解密处理和认证码生成处理的结果,并输出至解密模块的选择器。

本发明的解密方法,用于将由1个以上密文块数据所组成的密文解密成明文,并针对密文生成为确认密文完整性的认证码,其特征在于:包括

解密步骤,具有在通过解密模块对数据进行解密后,将所生成的模块输出块数据Ti反馈至解密模块的第1反馈步骤,并输入密文块数据,而且通过第1反馈回路反馈模块输出块数据Ti进行解密处理,输出明文块数据;

认证码生成步骤,具有用于反馈认证码演算中间结果的第2反馈步骤,并输入与输入到解密步骤的密文块数据相同的密文块数据,进行数据处理输出认证码演算中间结果,并通过第2反馈步骤反馈认证码演算中间结果,从而生成为确认密文完整性的认证码。

本发明的加密装置,用于对构成明文M的明文块数据Mi(i=1,2,3,……)和构成明文N的明文块数据Nj(j=1,2,3,……)进行加密,其特征在于:包括

机构,用于在明文M的加密处理过程中接收在明文M的加密处理结束之前的明文N的加密要求;

加密模块,用于将加密处理了的数据作为模块输出块数据Ti进行输出;

反馈回路,用于将加密模块所输出的模块输出块数据Ti通过反馈线反馈到加密模块;

存储器,与反馈回路的反馈线并行设置,当由于接收所述明文N的加密要求,开始明文N的某一明文块数据的加密处理,而紧接在明文块数据Mi之后,不继续接着进行所述明文块数据Mi+1的加密处理时,用于存储被反馈的模块输出块数据Ti

选择器,当明文块数据Mi+1继续接着明文块数据Mi进行加密时,用于选择由所述反馈回路的反馈线所反馈的模块输出块数据Ti并提供至反馈回路,当所述明文块数据Mi+1不是继续接着明文块数据Mi进行加密,而是接着明文N的某一明文块数据进行加密时,用于选择所述存储器所存储的模块输出决数据Ti并提供至反馈回路。

所述存储器,其特征在于:包括

对应多件明文的多个暂存器;

根据加密处理的明文而对暂存器进行转换的转换器。

本发明的加密方法,其特征是包括以下步骤:

利用加密模块所输出的模块输出块数据Ti(i=1,2,3,……)对第1明文M的明文块数据Mi(i=1,2,3,……)进行加密;

在所述明文块数据Mi的加密过程中或是明文块数据Mi的加密之后,将用于第1明文M的明文块数据Mi+1加密的模块输出块数据Ti存储于存储器;

在将用于所述明文块数据Mi+1加密的模块输出块数据Ti存储于存储器之后,对第2明文N的至少1个明文块数据进行加密;

在对所述第2明文N的至少1个明文块数据进行加密之后,输入存储器所存储的用于明文块数据Mi+1加密的模块输出块数据Ti,并利用加密模块对第1明文M的明文块数据Mi+1进行加密。

本发明的加密装置,用于将由1个以上明文块数据所组成的明文通过加密模块加密成密文,并针对密文生成为保证密文完整性的认证码,其特征在于:包括

加密部,具有在通过加密模块对明文块数据进行加密后,将加密模块输出的模块输出块数据Ti反馈至加密模块的第1反馈回路,并用于输入明文块数据,而且通过第1反馈回路反馈模块输出块数据Ti进行加密处理,输出密文块数据;

认证码生成部,具有用于反馈认证码演算中间结果的第2反馈回路,每当从加密部输出密文块数据时,用于输入密文块数据,进行数据处理,并通过第2反馈回路反馈认证码演算中间结果,从而生成为保证密文完整性的认证码。

所述加密部和认证码生成部,兼用单一加密模块和单一反馈回路并交互进行加密处理和认证码生成处理,同时

所述单一反馈回路,其特征在于:包括

用于分别记录并输出加密处理和认证码生成处理结果的存储器;

用于为交互进行加密处理和认证码生成处理,而从存储器交互选择加密处理和认证码生成处理的结果,并输出至加密模块的选择器。

本发明的加密方法,用于将由1个以上明文块数据所组成的明文通过加密模块加密成密文,并针对密文生成为保证密文完整性的认证码,其特征是包括以下步骤:

加密步骤,具有在通过加密模块对明文块数据进行加密后,将加密模块所输出的模块输出块数据Ti反馈至加密模块的第1反馈步骤,并输入明文块数据,而且通过第1反馈回路反馈模块输出块数据Ti进行加密处理,输出密文块数据;

认证码生成步骤,具有用于反馈认证码演算中间结果的第2反馈步骤,每当从加密步骤输出密文块数据时,用于输入密文块数据,进行数据处理,并通过第2反馈步骤反馈认证码演算中间结果,从而生成为保证密文完整性的认证码。

本发明的解密装置,用于对构成密文C的密文块数据Ci(i=1,2,3,……)和构成密文D的密文块数据Dj(j=1,2,3,……)进行解密,其特征在于:包括

机构,用于在密文C的解密处理过程中的任一时间接收密文D的解密要求;

解密模块,用于将经过解密处理的数据作为模块输出块数据Ti进行输出;

反馈回路,用于将从解密模块输出的模块输出块数据Ti通过反馈线反馈到解密模块;

存储器,与反馈回路的反馈线并行设置,当由于接收所述密文D的解密要求,开始密文D的某一密文块数据的解密处理,而紧接在密文块数据Ci之后,不继续接着进行所述密文块数据Ci+1的解密处理时,用于存储被反馈的模块输出块数据Ti

选择器,当密文块数据Ci+1接着密文块数据Ci继续进行解密时,用于选择由所述反馈回路的反馈线所反馈的模块输出块数据Ti并提供至反馈回路,当所述密文块数据Ci+1不是接着密文块数据Ci继续进行解密,而是接着密文D的某一密文块数据进行解密时,用于选择所述存储器所存储的模块输出块数据Ti并提供至反馈回路。

所述存储器,其特征在于:包括

对应多件密文的多个暂存器;

根据解密处理的密文而对暂存器进行转换的转换器。

本发明的解密方法,其特征是包括以下步骤:

利用从解密模块输出的模块输出块数据Ti(i=1,2,3,……)对第1密文C的密文块数据Ci(i=1,2,3,……)进行解密;

在所述密文块数据Ci的解密过程中或是密文块数据Ci的解密之后,将第1密文C的密文块数据Ci+1解密用的模块输出块数据Ti存储于存储器;

在将所述密文块数据Ci+1解密用的模块输出块数据Ti存储于存储器之后,对第2密文D的至少1个密文块数据进行解密;

在对所述第2密文D的至少1个密文块数据进行解密之后,输入存储器所存储的用于密文块数据Ci+1解密的模块输出块数据Ti,并利用解密模块对第1密文C的密文块数据Ci+1进行解密。

本发明的解密装置,用于将由1个以上密文块数据所组成的密文通过解密单元解密成明文,并针对密文生成为确认密文完整性的认证码,其特征在于:包括

解密部,具有将密文块数据Ci反馈至解密单元的第1反馈回路,并用于输入密文块数据,而且通过第1反馈回路反馈密文块数据Ci进行解密处理,输出明文块数据;

认证码生成部,具有用于反馈认证码演算中间结果的第2反馈回路,并用于输入与输入到解密部的密文块数据相同的密文块数据,进行数据处理输出认证码演算中间结果,并通过第2反馈回路反馈认证码演算中间结果,从而生成为确认密文完整性的认证码。

所述解密部和认证码生成部,兼用单一解密模块和单一反馈回路并交互进行解密处理和认证码生成处理,同时

所述单一反馈回路,其特征在于:包括

用于分别记录并输出解密处理和认证码生成处理结果的存储器;

用于为交互进行解密处理和认证码生成处理,而从存储器交互选择解密处理和认证码生成处理的结果,并输出至解密模块的选择器。

本发明的解密方法,用于将由1个以上密文块数据所组成的密文通过解密单元解密成明文,并针对密文生成为确认密文完整性的认证码,其特征是包括以下步骤:

解密步骤,具有将密文块数据Ci反馈至解密单元的第1反馈步骤,并输入密文块数据,而且通过第1反馈回路反馈密文块数据Ci进行解密处理,输出明文块数据;

认证码生成步骤,具有用于反馈认证码演算中间结果的第2反馈步骤,并输入与输入到解密步骤的密文块数据相同的密文块数据,进行数据处理输出认证码演算中间结果,并通过第2反馈步骤反馈认证码演算中间结果,从而生成为确认密文完整性的认证码。

所述加密处理,以采用块密码算法为特征。

所述解密处理,以采用块密码算法为特征。

所述存储器,以下述内容为特征:将

第1处理数据的加密中间结果,和

为加密第1处理数据所使用的加密键,

作为加密处理的状态而进行存储。

所述存储器,以下述内容为特征:将

第2处理数据的解密中间结果,和

为解密第2处理数据所使用的解密键,

作为解密处理的状态而进行存储。

本发明的加密装置,其特征在于:

包括

输入数据进行加密,并输出密码数据的加密部;

输入加密部所输出的密码数据,并生成为保证密文完整性的认证码的认证码生成部,

认证码生成部,在加密部完成数据加密之前,既开始认证码的生成。

本发明的解密装置,其特征在于:

包括

输入数据进行解密,并输出解密数据的解密部;

输入解密部所输入的数据,并生成为保证密文完整性的认证码的认证码生成部,

认证码生成部,在解密部完成数据解密之前,既开始认证码的生成。

本发明的加密方法,其特征在于:

包括

输入数据进行加密,并输出密码数据的加密步骤;

输入加密步骤所输出的密码数据,并生成为保证密文完整性的认证码的认证码生成步骤,

认证码生成步骤,在加密步骤完成数据加密之前,既开始认证码的生成。

本发明的解密方法,其特征在于:

包括

输入数据进行解密,并输出解密数据的解密步骤;

输入解密步骤所输入的数据,并生成为保证密文完整性的认证码的认证码生成步骤,

认证码生成步骤,在解密步骤完成数据解密之前,既开始认证码的生成。

另外,本发明是以用于在计算机上实现所述加密装置的各部处理以及所述加密方法的各步骤处理的程序为特征。而且,以记录其程序的计算机可读取的记录媒体为特征。

另外,本发明是以用于在计算机上实现所述解密装置的各部处理以及所述解密方法的各步骤的程序为特征。而且,以记录其程序的计算机可读取的记录媒体为特征。

附图说明

图1是实施方式1中CBC模式的加密装置示意图。

图2是CBC模式的加密装置的操作顺序示意图。

图3是CBC模式的加密装置的操作流程图。

图4是选择器54的操作流程图。

图5是转换器57的中断处理流程图。

图6是存储器55的另一例的示意图。

图7是存储器55的中断处理流程图。

图8是存储器55的另一例的示意图。

图9是优先权处理示意图。

图10是优先权处理示意图。

图11是优先权处理示意图。

图12是存储器55与反馈线66的并行设置图。

图13是图12的加密装置的操作顺序示意图。

图14是存储器55与反馈线67的并行设置图。

图15是图14的加密装置的操作顺序示意图。

图16是OFB模式的加密装置示意图。

图17是图16的加密装置的操作顺序示意图。

图18是CFB模式的加密装置示意图。

图19是图18的加密装置的操作顺序示意图。

图20是CBC模式的解密装置示意图。

图21是图20的解密装置的操作顺序示意图。

图22是OFB模式的解密装置示意图。

图23是图22的解密装置的操作顺序示意图。

图24是CFB模式的解密装置示意图。

图25是图24的解密装置的操作顺序示意图。

图26是保存键的CBC模式的加密装置示意图。

图27是CBC模式的加密装置的操作顺序示意图。

图28是保存键的CBC模式的解密装置示意图。

图29是实施方式2中具有加密部100和认证码生成部200的加密装置示意图。

图30是具有加密部100和认证码生成部200的加密装置的操作顺序示意图。

图31是具有加密部100和认证码生成部200的加密装置的流程图。

图32是将加密部100和认证码生成部200合二为一的加密装置示意图。

图33是将加密部100和认证码生成部200合二为一的加密装置的操作顺序示意图。

图34是具有解密部300和认证码生成部400的解密装置示意图。

图35是将解密部300和认证码生成部400合二为一的解密装置示意图。

图36是将解密部300和认证码生成部400合二为一的解密装置的操作顺序示意图。

图37是实施方式2中具有加密部100和认证码生成部200的加密装置示意图。

图38是具有解密部300和认证码生成部400的解密装置示意图。

图39是使用加密键K的加密模块51的代表性结构图。

图40是加密装置及解密装置的硬件实现示意图。

图41是加密装置及解密装置的硬件实现示意图。

图42是由应用程序46调用加密程序47的示意图。

图43是传统的CBC模式的加密装置示意图。

图44是传统的CBC模式的解密装置示意图。

图45是传统的OFB模式的加密装置示意图。

图46是传统的OFB模式的解密装置示意图。

图47是传统的CFB模式的加密装置示意图。

图48是传统的CFB模式的解密装置示意图。

图49是传统的加密顺序示意图。

图50是传统的加密顺序示意图。

图51是保密处理和完整性保证处理的说明图。

图52是传统的保密处理和完整性保证处理的操作顺序示意图。

实施方式

实施方式1

图1是本实施方式中CBC模式的加密装置示意图。

本实施方式的加密装置,是由选择器54、“异”逻辑电路58、使用加密键K的加密模块51、和存储器55所构成。“异”逻辑电路58和使用加密键K的加密模块51构成加密单元52。选择器54、“异”逻辑电路58、和使用加密键K的加密模块51,通过反馈线65、反馈线66、和反馈线67构成反馈回路。由使用加密键K的加密模块51加密的密文块数据Ci,通过反馈回路被再输入“异”逻辑电路58,并在“异”逻辑电路58生成模块输入数据Si。然后,所生成的模块输入数据Si被提供至使用加密键K的加密模块51。

存储器55,与反馈线65并行设置。存储器55由暂存器56和转换器57构成。转换器57用于转换使用加密键K的加密模块51的输出是输入至暂存器56或是忽略。此转换,例如是通过中断IT来进行。当发生中断IT时,转换器57连接E,当中断IT解除时,转换器57连接F。暂存器56输入并存储经由E传来的密文块数据Ci。存储在暂存器56的密文块数据Ci输出至选择器54。选择器54有A、B、C3个输入,并从其中选择某1个输入。这些选择是依据后述的中断IT。

图2是图1所示的加密装置的操作顺序示意图。

图3是图1所示的加密装置的操作流程图。

当该加密装置接通电源时,选择器54的输入设定为A,转换器57连接E。接着,如果有明文N的加密要求时,则发生中断IT,并且到明文N的加密要求解除为止,中断IT一直维持在发生(ON)状态。另外,明文M使用键K1加密,明文N使用键K2加密。而且,在中断IT发生或中断IT解除时,键K2或键K1被提供给加密模块51进行更改。

在时刻T0,提供键K1,开始明文块数据M1的加密处理。在时刻T0,当明文块数据M1的加密开始后,一旦从选择器54的输入A输入初始值IV,则选择器54转换到B。接着,在明文块数据M1使用键K1进行加密过程中的时刻X,发生了明文块数据N1要求加密的中断IT。到时刻T1为止,密文块数据C1被存储在存储器55。接着,由于中断IT的发生,在时刻T1,键K2被提供给加密模块51。同时,在时刻T1,选择器54设定输入为A。同时,在时刻T1,转换器57连接到F。在时刻T1之后,使用键K2对明文块数据N1进行加密,并输出密文块数据D1。在时刻Y,明文块数据N1的加密处理结束,中断IT被解除。由于该中断IT的解除,在时刻T2,键K1被提供给加密模块51,选择器54的输入转换到C,转换器57连接到E。由于选择器54转换到C,存储在存储器55的密文块数据C1为了明文块数据M2的加密而被输入,通过使用键K1的加密模块51对明文块数据M2进行加密,并输出密文块数据C2。在时刻T3之前,当选择器54的输入转换到B,并对明文块数据M3进行加密时,从反馈回路的反馈线65所反馈的密文块数据C2被输入,通过使用键K1的加密模块51明文块数据M3被加密,并输出密文块数据C3

另外,如果明文M和明文N的键相同(K1=K2),则在加密处理开始时只一次提供键即可。

使用图3的流程图对全体的操作进行说明。

在S1,开始或继续明文M的加密处理。到最后的块数据处理结束时,结束处理。在S2,监视在任意时刻的中断IT的发生。如果没有中断IT的发生,则继续S1的处理。当在明文块数据Mi的处理过程中发生了中断IT时,则在S3,将目前处理中的明文块数据Mi的密文块数据Ci存储于存储器55的暂存器56。在S4,由于中断IT,对有加密处理要求的明文N进行加密处理。该S4的加密处理,如S5所示,到中断IT的解除为止连续进行。当中断IT解除时,在S6,使用存储在存储器55的暂存器56中的密文块数据Ci对明文块数据Mi+1进行加密处理。其后的处理为返回S1,并继续加密处理。

图4是选择器54的操作处理示意图。

当接通电源时,如S11所示,将输入设定为A。在S12,当加密开始时,则在S13,将输入设定为B。即由反馈回路的反馈线65所反馈的密文块数据Ci被使用。在S14,当判定目前正处理的是最后的块数据时,则返回S11返回与接通电源时相同的状态。在S15,当确认了中断IT的发生时,则在S16,设定输入为A,当加密开始时,则在S18,设定输入为B。到中断IT解除为止,维持输入为B的状态进行操作。即由反馈回路的反馈线65所反馈的密文块数据Ci被使用。在S19,当探测到中断IT的解除时,则在S20,设定输入为C。通过将该输入设定为C,则存储在存储器55中的密文块数据Ci被输入。当基于该C输入的加密开始后,则返回S13设定输入为B。

由此,根据中断IT的发生,可以转换选择器54。

另外,明文M的加密处理,也可根据中断IT在任意时刻开始。

图5是转换器57的中断处理流程图。

当接通电源,而且,在其后最初的明文加密处理时,转换器57连接E。接着,在S31,当中断IT发生时,转换器57离开E连接F。接着,在S33,当探测到中断IT的解除时,转换器57离开F连接E。由此,从中断IT的发生到解除,转换器57将一直忽略密文块数据Ci。所以,在存储器55的暂存器56中,中断IT发生时所生成的密文块数据Ci将一直被储存。

如以上所述,图1~图5所示的加密装置,用于对构成明文M的明文块数据Mi(i=1,2,3,……)和构成明文N的明文块数据Nj(j=1,2,3,……)进行加密,表示在明文M的加密处理过程中接收在明文M的加密处理结束之前的明文N的加密要求的中断处理机构。

另外,图1~图5所示的加密装置,具有

加密模块51,用于进行明文块数据Mi的加密处理,并输出密文块数据Ci

反馈回路65、66,用于将从加密模块51输出的密文块数据Ci通过反馈线65反馈至加密单元52;

存储器55,与反馈回路的反馈线65并行设置,当由于根据所述中断处理接收所述明文N的加密要求,开始明文N的某一明文块数据的加密处理,而紧接在明文块数据Mi之后,不继续接着进行所述明文块数据Mi+1的加密处理时,用于存储被反馈的密文块数据Ci

另外,图1~图5所示的加密装置,具有

选择器54,当明文块数据Mi+1继续接着明文块数据Mi进行加密时,用于选择由所述反馈回路的反馈线65所反馈的密文块数据Ci并通过反馈回路提供至加密单元52,当所述明文块数据Mi+1不是继续接着明文块数据Mi进行加密,而是接着明文N的某一明文块数据进行加密时,用于选择所述存储器所存储55的密文块数据Ci并通过反馈回路提供至加密单元52。

存储器55是当中断IT发生时存储加密装置状态的存储器。通过存储器55存储加密处理的状态,即使在某数据的加密进行中进行了其他数据的加密,也可以再恢复某数据的加密处理。即通过利用存储在存储器55中的数据,可以将加密装置恢复到与加密中断时完全相同的状态,并继续进行中断了的加密处理。

图6是存储器55的另一例的示意图。

存储器55具有中断控制部52、输入转换器96、输出转换器97、和多个暂存器(REG1、2、3)。这样,通过多个暂存器可以接收多个中断。

图7是存储器55中断处理的操作示意图。

如果中断IT发生,则在S41,存储当前使用中的暂存器K的号码K。在S42,输入转换器96和输出转换器97连接暂存器K以外的暂存器1。在此状态下,继续明文N的加密。而且,监视在明文N的加密过程中是否发生了其他的中断。在S43,当探测出发生了其他的中断IT时,再调用自己本身的S40。如此一来,每当中断IT发生时,可以通过递归调用自己本身的S40处理,进行多层的中断处理。在S44,探测中断是否解除,当中断已解除时,利用所存储的号码K将输入转换器96和输出转换器97转换至暂存器K。在图6所示的情况下,因为有3个暂存器,所以可以进行3层的中断处理。

图8是存储器55的另一例示意图。

存储器55,具有存储栈64。存储栈64是先到后出(FIFO)型的暂存器。当在使用存储栈1过程中发生了中断IT时,存储栈1的数据移到存储栈2,其后的数据堆入存储栈1,当中断IT解除时,输出堆积在存储栈1的数据,存储栈2的数据返回存储栈1。图8所示的情况,表示了可以进行4层中断处理的情况。

如图6所示,在进行多层中断处理的情况下,可以对各中断赋予优先权。例如,中断IT1为优先权1,中断IT2为比优先权1低的优先权2,这样,当优先权1的中断IT1发生时,可以迟缓优先权2的处理。

图9表示优先权1的加密处理优先于优先权2的加密处理的情况。优先权1的加密处理首先结束。

图10表示优先权都相等时的加密处理情况。

当优先权都相等时,2个明文的各块数据交互进行加密。

图11表示优先权1的数据和2个优先权2的数据的加密情况。

如图9~图11所示,通过对中断赋予优先权,可以实现用户所希望的加密处理顺序。对急用数据和短数据,可以通过提高优先权而进行高效率的处理。

图12表示存储器55与反馈线66并行的情况。

“异”逻辑电路58和使用加密键的加密模块51构成了加密单元52。

图13是图12加密装置的操作顺序示意图。

第1选择器61和第2选择器62,通过以下的选择连接实现与图1的选择器54相同的选择动作。

第1选择器61+第2选择器62=选择器54

         A    +      D    =    A

         B    +      D    =    B

         A    +      C    =    C

         B    +      C    =    C

在图13,当第2选择器62选择D时,第1选择器61的选择(A或B)有效,当第2选择器62选择C时,输出存储器55的内容。

即第2选择器62,在希望使用存储器55的内容时(在中断IT解除并从明文N返回原明文M的加密时),选择C即可。

图14表示存储器55与反馈线67并行的情况。

图15是图14加密装置的操作顺序示意图。

当中断IT的发生时刻X是在“异”逻辑电路58进行“异”逻辑演算之前时,存储器55,存储通过“异”逻辑电路58进行“异”逻辑演算的模块输入数据Si。然后,加密明文块数据N1。接着,通过第2选择器62选择存储在存储器55中的模块输入数据Si,输入使用加密键K的加密模块51进行加密,并输出密文块数据C1

如图1、图12及图14所示,存储器55,可与反馈线65、反馈线66和反馈线67中的任意一条线并行设置。存储器55,当加密装置在某数据的加密处理过程中开始其他数据的加密时,存储其他数据开始加密之前的状态,在其他数据的加密处理结束时,只要加密装置能利用存储在存储器55中的数据恢复到原状态,存储器55设置在什么位置都可以。而且,存储器55设置在多个位置也可以。

如以上所述,本实施方式的加密装置,用于对由1个以上明文块数据Mi(i=1,2,3,……,m)所构成的第1处理数据(明文M)和由1个以上明文块数据Nj(j=1,2,3,……,n)所构成的第2处理数据(明文N)进行加密,其特征为:具有存储加密处理状态的存储器55,在第1处理数据的所有块数据(M1~Mm)加密处理结束之前开始第2处理数据的最初块数据N1加密处理的同时,当第2处理数据的最初块数据N1的加密处理开始时,将第1处理数据的加密处理状态(例如,密文块数据Ci)存储于所述存储器55,当重新开始第1处理数据的加密处理时,将加密装置的加密处理状态恢复至存储器所存储的第1处理数据的加密处理状态之后,再开始第1处理数据的加密处理。

所述加密装置,其特征还在于:在第2处理数据的所有块数据(N1~Nn)加密处理结束之前再开始第1处理数据的加密处理的同时,所述存储器55,在重新开始第1处理数据的加密处理时,存储第2处理数据的加密处理状态(例如,密文块数据Dj),当重新开始第2处理数据的加密处理时,将加密装置的加密处理状态恢复至存储器所存储的第2处理数据的加密处理状态之后,再开始第2处理数据的加密处理。

图16是OFB模式加密装置的结构图。

与图45相比,其特征是增加了存储器55。存储器55,存储从加密模块51输出的模块输出块数据T1

图16,是对构成明文M的明文块数据Mi(i=1,2,3,……)和构成明文N的明文块数据Nj(j=1,2,3,……)进行加密的加密装置,其特征是包括:中断处理机构,用于在明文M的加密处理过程中接收在明文M的加密处理结束之前的明文N的加密要求;加密模块51,用于将加密处理了的数据作为模块输出块数据Ti进行输出;反馈回路65、66,用于将加密模块51所输出的模块输出块数据Ti通过反馈线65反馈到加密模块;存储器55,与反馈回路的反馈线65并行设置,当由于接收所述明文N的加密要求,开始明文N的某一明文块数据的加密处理,而紧接在明文块数据Mi之后,不继续接着进行所述明文块数据Mi+1的加密处理时,用于存储被反馈的模块输出块数据Ti;选择器54,当明文块数据Mi+1继续接着明文块数据Mi进行加密时,用于选择由所述反馈回路的反馈线65所反馈的模块输出块数据Ti并通过反馈回路提供至加密模块51,当所述明文块数据Mi+1不是继续接着明文块数据Mi进行加密,而是接着明文N的某一明文块数据进行加密时,用于选择所述存储器所存储55的模块输出块数据Ti并通过反馈回路提供至加密模块51。

图17是图16的OFB模式加密装置的操作说明图。

在图17,图2CBC模式的操作变为OFB模式的操作,其他的操作与图2的操作相同。

图18是CFB模式的加密装置示意图。

与图47相比,其特征是设置了存储器55。存储器55,存储从“异”逻辑电路58输出的密文块数据Ci

而且,“异”逻辑电路58和使用加密键K的加密模块51构成了加密单元52。

图18,是对构成明文M的明文块数据Mi(i=1,2,3,……)和构成明文N的明文块数据Nj(j=1,2,3,……)进行加密的加密装置,其特征是包括:中断处理机构,用于在明文M的加密处理过程中接收在明文M的加密处理结束之前的明文N的加密要求;加密单元52,用于对明文块数据Mi进行加密处理并输出密文块数据Ci;反馈回路65、66,用于将加密模块所输出的密文块数据Ci通过反馈线65反馈给加密处理;存储器55,与反馈回路的反馈线65并行设置,当由于接收所述明文N的加密要求,开始明文N的某一明文块数据的加密处理,而紧接在明文块数据Mi之后,不继续接着进行所述明文块数据Mi+1的加密处理时,用于存储被反馈的密文块数据Ci;选择器54,当明文块数据Mi+1继续接着明文块数据Mi进行加密时,用于选择由所述反馈回路的反馈线65所反馈的密文块数据Ci并通过反馈回路提供至加密单元52,当所述明文块数据Mi+1不是继续接着明文块数据Mi进行加密,而是接着明文N的某一明文块数据进行加密时,用于选择所述存储器所存储55的密文块数据Ci并通过反馈回路提供至加密单元52。

图19是图18的CFB模式加密装置的操作说明图。

在图19,图2CBC模式的操作变为CFB模式的操作,其他的操作与图2的操作相同。

图20是CBC模式的解密装置示意图。

与图44相比,其特征是设置了存储器75。

存储器75,由暂存器76和转换器77构成。

而且,“异”逻辑电路78和使用键K的解密模块71构成了解密单元72。

另外,暂存器111可以设置在选择器74的内部。

图20所示的解密装置,用于对构成密文C的密文块数据Ci(i=1,2,3,……)和构成密文D的密文块数据Nj(j=1,2,3,……)进行解密,具有在密文C的解密处理过程中的任一时间接收密文D的解密要求的中断处理机构。

而且,图20所示的解密装置,还具有解密模块71,用于将密文块数据Ci的经过解密处理的数据作为模块输出块数据Ti进行输出;反馈回路85、111、82、86,用于将为解密密文块数据Ci+1的密文块数据Ci通过反馈线85、111、82反馈到解密单元72;存储器71,与反馈回路的反馈线85、111、82并行设置,当由于接收所述密文D的解密要求,开始密文D的某一密文块数据的解密处理,而紧接在密文块数据Ci之后,不继续接着进行所述密文块数据Ci+1的解密处理时,用于存储被反馈的块数据。

而且,图20所示的解密装置,还具有选择器74,当密文块数据Ci+1接着密文块数据Ci继续进行解密时,用于选择由所述反馈回路的反馈线85、111、82所反馈的密文块数据Ci并通过反馈回路提供至加密单元72,当所述密文块数据Ci+1不是接着密文块数据Ci继续进行解密,而是接着密文D的某一密文块数据进行解密时,用于选择所述存储器所存储的密文块数据Ci并通过反馈回路提供至加密单元72。

另外,在所述图20的说明中,虽然使用了[反馈线]、[反馈回路]的用词,但不是[将本身的输出变为本身的输入]的[反馈]的意思。在这里,[反馈]的意思,是当对密文块数据Ci进行解密之后,为对密文块数据Ci+1进行解密,而再提供密文块数据Ci的意思。

图21是图20解密装置的操作顺序示意图。

当使用加密键(也称为解密键)K1,对密文块数据C1进行解密的过程中发生中断IT时,密文块数据C1存储在存储器75的暂存器76中。其后,使用加密键(也称为解密键)K2,对密文块数据D1进行解密,得到明文块数据N1。然后,读出存储在存储器75的暂存器76中的密文块数据C1,进行密文块数据C2的解密,从而得到明文块数据M2。选择器74的操作,与图4所述内容相同。同时,转换器77的操作,与图5所示内容相同。

图22是OFB模式的解密装置示意图。

图22,是对构成密文C的密文块数据Ci(i=1,2,3,……)和构成密文D的密文块数据Dj(j=1,2,3,……)进行解密的解密装置,其特征在于:包括中断处理机构,用于在密文C的解密处理过程中的任一时间接收密文D的解密要求;解密模块71,用于将经过解密处理的数据作为模块输出块数据Ti进行输出;反馈回路85、86,用于将从解密模块71输出的模块输出块数据Ti通过反馈线85反馈到解密模块71;存储器75,与反馈回路的反馈线85并行设置,当由于接收所述密文D的解密要求,开始密文D的某一密文块数据的解密处理,而紧接在密文块数据Ci之后,不继续接着进行所述密文块数据Ci+1的解密处理时,用于存储被反馈的模块输出块数据Ti;选择器74,当密文块数据Ci+1接着密文块数据Ci继续进行解密时,用于选择由所述反馈回路的反馈线85所反馈的模块输出块数据Ti并通过反馈回路提供至解密模块71,当所述密文块数据Ci+1不是接着密文块数据Ci继续进行解密,而是接着密文D的某一密文块数据进行解密时,用于选择所述存储器所存储75的模块输出块数据Ti并通过反馈回路提供至解密模块71。

图23是图22OFB模式加密装置的操作说明图。

在图23,图21CBC模式的操作变为OFB模式的操作,其他的操作与图21的操作相同。

图24是CFB模式的解密装置示意图。

而且,“异”逻辑电路78和使用键K的解密模块71构成了解密单元72。

另外,暂存器111可以设置在选择器74的内部。

图24,是对构成密文C的密文块数据Ci(i=1,2,3,……)和构成密文D的密文块数据Dj(j=1,2,3,……)进行解密的解密装置,其特征在于包括:中断处理机构,用于在密文C的解密处理过程中的任一时间接收密文D的解密要求;解密模块71,用于将密文块数据Ci的经过解密处理的数据作为模块输出块数据Ti进行输出;反馈回路85、111、82、86,用于将为解密密文块数据Ci+1的密文块数据Ci通过反馈线85、111、82反馈到解密单元72;存储器75,与反馈回路的反馈线85、111、82并行设置,当由于接收所述密文D的解密要求,开始密文D的某一密文块数据的解密处理,而紧接在密文块数据Ci之后,不继续接着进行所述密文块数据Ci+1的解密处理时,用于存储被反馈的密文块数据Ci;选择器74,当密文块数据Ci+1接着密文块数据Ci继续进行解密时,用于选择由所述反馈回路的反馈线85、111、82所反馈的密文块数据Ci并通过反馈回路提供至解密模块71,当所述密文块数据Ci+1不是接着密文块数据Ci继续进行解密,而是接着密文D的某一密文块数据进行解密时,用于选择所述存储器所存储75的密文块数据Ci并通过反馈回路提供至解密模块71。

另外,在所述图24的说明中,[反馈线]、[反馈回路]的用词虽然被使用,但不是[将本身的输出变为本身的输入]的[反馈]的意思。在这里,[反馈]的意思,是当对密文块数据Ci进行解密之后,为对密文块数据Ci+1进行解密,而再提供密文块数据Ci的意思。

图25是图24的CFB模式加密装置的操作说明图。

在图25,图21CBC模式的操作变为CFB模式的操作,其他的操作与图21的操作相同。

图26是图1所示的CFB模式加密装置的改进例示意图。

图26的加密装置,增加了选择器154和存储器155。图1的情况,表示了键K1在中断IT解除时由外部提供的情况,在这里,对保存并再利用从外部一次提供的键K1的情况进行说明。

存储器155,由暂存器156和转换器157构成。转换器157,对是将加密键K输入至暂存器156还是忽略进行转换。此转换,例如,通过中断IT来进行。当中断IT发生时,则转换器157连接E,而当中断IT解除时,则转换器157连接F。暂存器156,对经过E而来的键K进行输入并存储。存储在暂存器156中的键K输出至选择器154。选择器154,选择A、C2个输入中的1个输入。这些选择,如后述那样依据中断IT。

图27是图26所示加密装置的操作顺序示意图。

当该加密装置接通电源时,选择器54和选择器154的输入设定为A,转换器57和转换器157连接E。接着,如果有明文N的加密要求时,则发生中断IT,并且到明文N的加密要求解除为止,中断IT一直维持在发生(ON)状态。另外,明文M使用键K1加密,明文N使用键K2加密。键K1或键K2被提供给加密模块51。

在时刻T0,键K1作为键KI被从外部提供。选择器154,由于连接A,所以将键KI作为键K输出给加密模块51。而且,由于转换器157连接E,键K1被存储于暂存器156。于是,开始明文块数据M1的加密处理。在时刻T0,当明文块数据M1的加密开始后,一旦从选择器54的输入A输入初始值IV,则选择器54转换到B。接着,在明文块数据M1使用键K1进行加密过程中的时刻X,发生了明文块数据N1要求加密的中断IT。到时刻T1为止,密文块数据C1被一直存储在存储器55。接着,由于中断IT的发生,在时刻T1,键K2作为键KI被从外部提供给加密模块51。选择器154,由于连接A,所以将键KI作为键K输出给加密模块51。同时,在时刻T1,选择器54设定输入为A。同时,在时刻T1,转换器57和转换器157连接到F。所以,键K2不在暂存器156存储。在时刻T1之后,使用键K2对明文块数据N1进行加密,并输出密文块数据D1。在时刻Y,明文块数据N1的加密处理结束,中断IT被解除。由于该中断IT的解除,在时刻T2,选择器54的输入转换到C,转换器57连接到E。所以,键K1作为键KI从暂存器156输出至选择器154,从选择器154键K1作为键K提供给加密模块51。另外,由于选择器54转换到C,存储在存储器55的密文块数据C1为了明文块数据M2的加密而被输入,通过使用键K1的加密模块51对明文块数据M2进行加密,并输出密文块数据C2。在时刻T3之前,当选择器54的输入转换到B,并对明文块数据M3进行加密时,从反馈回路的反馈线65所反馈的密文块数据C2被输入,通过使用键K1的加密模块51明文块数据M3被加密,并输出密文块数据C3

另外,在时刻T3之前,选择器154的输入转换到A。

对选择器154的操作处理进行说明。

当接通电源时,输入设定为A。而且,即使中断IT的发生被确认,输入也一直设定为A。到中断IT解除为止,选择器154,一直以输入为A的状态操作。选择器154,当探测到中断IT的解除时,输入设定为C。通过将该输入设定为C,存储在存储器55中的键K1作为键K被输入给加密模块51。当根据该C的键输入开始加密时,则选择器154设定输入为A。

这样,基于中断IT的发生,可转换选择器154。

接着,对转换器157的中断处理操作进行说明。

当接通电源,而且,其后最初的明文M加密处理时,转换器157连接E。明文M的键K1被存储于暂存器156。接着,在时刻X,中断IT发生时,在时刻T1转换器157离开E连接F,忽略明文N的键K2。接着,在时刻Y,探测到中断IT的解除时,在时刻T2,转换器157离开F连接E。由此,从中断IT的发生到解除,转换器157将一直忽略明文N的键K2。所以,在存储器155的暂存器156中,明文M的键K1将一直被储存。

图28,表示针对图20所示的解密装置,存储并再利用键K1情况的结构。

图28,针对图20增加了选择器174和存储器175。选择器174和存储器175的操作,与图26所示的选择器154和存储器155相同。

存储器55和存储器155,是在中断IT发生时存储加密装置状态的存储器的实例。如此,通过存储器55和存储器155存储加密处理的状态,即使在某数据的加密处理过程当中进行了其他数据的加密,也还可以再恢复到某数据的加密处理。即通过使用存储器55所存储的数据和存储器155所存储键K,可以使加密装置恢复到与加密中断时完全相同的状态,从而能继续中断了的加密处理。

这里,存储器155和存储器175,可以是与图6、图8所示的存储器55相同的结构。而且,虽未图示,但针对图16、图18、图22、图24,可以增加如图26、图28所示的结构存储键K1

另外,图26的存储器55和存储器155,由于进行同一操作,所以可以统一成1个存储器。而且,图28的存储器75和存储器175,也由于进行同一操作,所以可以统一成1个存储器。

如以上所述,本实施方式的解密装置,用于对由1个以上块数据Ci(i=1,2,3,……,m)所构成的第1处理数据(密文C)和由1个以上块数据Dj(j=1,2,3,……,n)所构成的第2处理数据(密文D)进行解密,其特征为:具有存储解密处理状态的存储器75,在第1处理数据的所有块数据(C1~Cm)解密处理结束之前开始第2处理数据的最初块数据D1解密处理的同时,当第2处理数据的最初块数据D1的解密处理开始时,将第1处理数据的解密处理状态存储于所述存储器,当重新开始第1处理数据的解密处理时,将解密装置的解密处理状态恢复至存储器75所存储的第1处理数据的解密处理状态之后,再开始第1处理数据的解密处理。

并且,所述加密装置,其特征还在于:在第2处理数据的所有块数据(D1~Dn)解密处理结束之前再开始第1处理数据的解密处理的同时,所述存储器74,在重新开始第1处理数据的解密处理时,存储第2处理数据的解密处理状态,当重新开始第2处理数据的解密处理时,将解密装置的解密处理状态恢复至存储器所存储的第2处理数据的解密处理状态之后,再开始第2处理数据的解密处理。

在这里,加密处理的状态,例如,

在图1的CBC模式中,是密文块数据Ci(以及键K1);

在图16的OFB模式中,是模块输出数据Ti(以及键K1);

在图18的CFB模式中,是密文块数据Ci(以及键K1),

同时,解密处理的状态,例如,

在图20的CBC模式中,是密文块数据Ci(以及键K1);

在图22的OFB模式中,是模块输出数据Ti(以及键K1);

在图24的CFB模式中,是密文块数据Ci(以及键K1)。

在所述的说明中,虽然对3个模式情况的加密装置和解密装置进行了说明,但所述的3个模式只是一例,也可以是这些模式的改进,或是,这些模式的变形。特别是,成为特征之处,是在加密、解密前面的块数据而生成的块数据Ci或Mi或Ti作为反馈数据被用于接着的块数据Mi+1或Ci+1的加密、解密处理的加密、解密方法中,设置存储加密、解密状态的存储器55,在其他数据的加密、解密处理之后利用块数据Ci或Mi或Ti可以重新恢复原状态。由此,不用特别顾及加密模式、解密模式。

另外,也可以不用中断IT,而用定时询问方式或取得令牌方式等的其他机构接收加密要求,进行2个以上加密、解密处理的交互并行处理。

而且,虽然表示了使用加密键K的加密、解密处理的情况,但不使用加密键K的加密、解密处理也可以。

实施方式2

在本实施方式中,对加密装置进行保密处理和数据完整性保证处理的情况进行说明。

所谓数据的保密处理,是指对数据进行加密,而即使数据被偷听或被盗也不使意思内容泄露。并且,所谓数据完整性保证,是指保证数据没有被他人置换。当传送数据时,希望在数据保密处理基础上保证数据的完整性进行传送。数据的保密处理,通过对数据加密来进行。数据完整性的保证处理,通过在数据最后附加认证码(MAC:Message Authentication Code),由验证其认证码而发现篡改来进行。

图29,表示通过OFB模式的加密部100进行保密处理,通过CBC模式的认证码生成部200生成认证码(MAC)的情况。

图29的加密装置,其通过加密模块51把由1个以上的明文块数据组成的明文加密成密文,并针对密文生成为保证密文完整性的认证码,其特征在于:包括

加密部100,具有通过加密模块51在对明文块数据进行加密后,将加密模块51输出的模块输出块数据Ti反馈至加密模块51的第1反馈回路65,并用于输入明文块数据,而且通过第1反馈回路65反馈模块输出块数据Ti进行加密处理,输出密文块数据Ci

认证码生成部200,具有用于反馈认证码演算中间结果Ti的第2反馈回路66,每当从加密部100输出密文块数据Ci时,用于输入密文块数据Ci,进行认证码演算处理,并通过第2反馈回路66反馈认证码演算中间结果Ti,从而生成为保证密文完整性的认证码P。

图30是图29所示加密装置的操作顺序示意图。

明文块数据M1,首先被加密成密文块数据C1。接着,明文块数据M2被输入,并加密成密文块数据C2。在加密该明文块数据M2的同时,输入密文块数据C1,开始认证码的演算。在时刻T1与T2之间进行明文块数据M2的加密和基于密文块数据C1的认证码演算。并且,在时刻T2与T3之间进行明文块数据M3的加密和基于密文块数据C2的认证码演算。在时刻T3,进行基于密文块数据C3的认证码演算,并输出认证码P。

图29的特征,是从“异”逻辑电路58输出的密文块数据Ci通过反馈线69输入“异”逻辑电路59。基于反馈线69通过结合OFB模式和CBC模式,如图30所示,由流水处理来进行保密处理和完整性认证处理。图52所示的情况,是到时刻T6花费了处理时间,而图30所示的情况,是到时刻T4就结束处理从而实现了高速处理。

图31是图29所示加密装置的操作流程图。

在S51,设块数据计数i为1。S52是加密部100的操作,加密部100,输入明文块数据Mi并加密明文块数据Mi,生成密文块数据Ci并输出密文块数据Ci。S53是认证码生成部200的操作,输入密文块数据Ci加密密文块数据Ci,演算认证码。S54,判断块数据计数i是否是表示最后的块数据n,如果不是最后的块数据,则在S55,增加块数据计数i,再返回S52的处理。即重复加密部100和认证码生成部200的处理。在S54,如果是最后块数据的处理结束了的情况,则之前在S53刚被演算的认证码为最终认证码,所以在S56,将该认证码附加到密文块数据Ci的最后。如图31所示,由于加密部100每生成密文块数据Ci时,认证码生成部200都输入密文块数据Ci并演算认证码,所以流水处理变为可能,从而实现高速处理。

图32,合并了图29所示的加密部100和认证码生成部200。即兼用加密部100和认证码生成部200的加密模块51,同时,兼用加密部100和认证码生成部200的“异”逻辑电路58和59。还兼用加密部100的反馈线65和认证码生成部200的反馈线66。

第1选择器61,在保密处理开始时选择初始值IV。第2选择器62,在完整性保证处理开始时选择初始值IV。第3选择器63,交互选择保密处理和完整性保证处理。第3选择器63通过设输入为E,可进行保密处理。而且,第3选择器63通过设输入为F,可进行完整性保证处理。

存储器93,存储从使用加密键K的加密模块51输出的模块输出数据Ti。存储器93,由输入转换器96、输出转换器97、第1暂存器98和第2暂存器99构成。输入转换器96和输出转换器97,同步于第3选择器63的转换,每当第3选择器63转换时输入转换器96及输出转换器97也转换。

图33是图32所示加密装置的操作顺序示意图。

在时刻T0和T1之间进行明文块数据M1的保密处理。在保密处理过程中所生成的模块输出数据存储于第1暂存器98。在时刻T1和T2之间进行基于密文块数据C1的认证码演算。由完整性保证处理所生成的认证码演算中间结果存储于第2暂存器99。接着,在时刻T2和T3之间,基于第1暂存器98所存储的模块输出数据和明文块数据M2进行明文块数据M2的保密处理。接着,在时刻T3和T4之间,第2暂存器99所存储的认证码演算中间结果和密文块数据C2被输入,进行认证码演算。通过重复这种处理,完成保密处理和完整性认证处理,输出密文和认证码P。图33所示的情况,是到时刻T6结束处理,虽然没有谋求时间的缩短,但如图32所示,由于兼用了使用加密键K的加密模块51、“异”逻辑电路58和反馈线67、68(反馈回路),所以可以缩小电路规模。

图34是具有OFB模式解密部300和CBC模式认证码生成部400的解密装置示意图。

该认证码生成部400与认证码生成部200的结构相同。

图34的解密装置,用于将由1个以上密文块数据所组成的密文解密成明文,并针对密文生成为确认密文完整性的认证码,其特征在于:包括

解密部300,具有在通过解密模块71对密文块数据Ci进行解密后,反馈所生成的模块输出块数据Ti的第1反馈回路65,并用于输入密文块数据Ci,而且通过第1反馈回路65反馈模块输出块数据Ti进行解密处理,输出明文块数据Mi

认证码生成部400,具有反馈认证码演算中间结果Ti的第2反馈回路66,并用于输入与输入到解密部300的密文块数据Ci相同的密文块数据,进行认证码演算处理输出认证码演算中间结果Ti,并通过第2反馈回路66反馈认证码演算中间结果Ti,从而生成为确认密文完整性的认证码Q。

密文块数据Ci,在输入至解密部300的“异”逻辑电路78的同时,通过反馈线69输入至认证码生成部400。基于这样的结构,解密部300和认证码生成部400同时并行地进行处理,处理速度得到提高。

图35,将图34所示解密装置的解密部300和认证码生成部400一体化。

图35表示兼用使用加密键K的解密模块71和反馈线87、88(反馈回路)的情况。

第1选择器81,在解密处理开始时选择初始值IV。第2选择器82,在完整性保证处理开始时选择初始值IV。第3选择器83,交互选择解密处理和完整性保证处理。第3选择器83通过设输入为E,可进行解密处理。而且,第3选择器83通过设输入为F,可进行完整性保证处理。

存储器93,存储从使用加密键K的加密模块51输出的模块输出数据Ti。存储器93,由输入转换器96、输出转换器97、第1暂存器98和第2暂存器99构成。输入转换器96和输出转换器97,同步于第3选择器83的转换,每当第3选择器83转换时输入转换器96及输出转换器97也转换。

图36是图35所示解密装置的操作顺序示意图。

在时刻T0和T1之间进行密文块数据C1的解密处理和将密文块数据C1存储于暂存器111。在解密处理过程中所生成的模块输出数据存储于第1暂存器98。在时刻T1和T2之间进行基于暂存器111所存储的密文块数据C1的认证码演算。由完整性保证处理所生成的认证码演算中间结果存储于第2暂存器99。接着,在时刻T2和T3之间,密文块数据C2存储于暂存器111,基于第1暂存器98所存储的模块输出数据和密文块数据C2进行密文块数据C2的解密处理。接着,在时刻T3和T4之间,第2暂存器99所存储的认证码演算中间结果和暂存器111所存储的密文块数据C2被输入,进行认证码演算。通过重复这种处理,输出明文和认证码Q。该认证码Q,与认证码P相比较,如果认证码Q与认证码P一致,则数据的完整性被认证。至此,解密处理和完整性认证处理结束。

图37将图290FB模式的加密部100作为了CBC模式的加密部100。

图37的加密装置,将由1个以上的明文块数据组成的明文加密成密文,并针对密文生成为保证密文完整性的认证码,其特征在于:包括

加密部100,具有通过加密单元52在对明文块数据进行加密后,反馈加密模块51输出的密文块数据Ci的第1反馈回路65,并用于输入明文块数据Mi,而且通过第1反馈回路65反馈密文块数据Ci进行加密处理,输出密文块数据Ci

认证码生成部400,具有用于反馈认证码演算中间结果Ti的第2反馈回路66,每当从加密部100输出密文块数据Ci时,用于输入密文块数据Ci,进行认证码演算处理,并通过第2反馈回路66反馈认证码演算中间结果Ti,从而生成为保证密文完整性的认证码P。

图38将图34OFB模式的解密部300作为了CBC模式的解密部300。

图38的解密装置,用于将由1个以上密文块数据所组成的密文解密成明文,并针对密文生成为确认密文完整性的认证码,其特征在于:包括

解密部300,具有反馈密文块数据Ci的第1反馈回路85、82,并用于输入密文块数据Ci,而且通过第1反馈回路85、82反馈密文块数据Ci进行解密处理,输出明文块数据Mi

认证码生成部400,具有反馈认证码演算中间结果Ti的第2反馈回路66,并用于输入与输入到解密部300的密文块数据Ci相同的密文块数据Ci,进行认证码演算处理输出认证码演算中间结果Ti,并通过第2反馈回路反馈认证码演算中间结果Ti,从而生成为确认密文完整性的认证码Q。

如以上所述,图29、图37所表示的加密装置,其特征在于:具有输入数据进行加密,并输出密数据的加密部,和输入加密部所输出的密数据并生成为保证密文完整性的认证码的认证码生成部,认证码生成部在基于加密部的数据加密结束之前开始生成认证码。

同时,图34、图38所表示的解密装置,其特征在于:具有输入数据进行解密,并输出解密数据的解密部,和输入解密部所输入的数据并生成为保证密文完整性的认证码的认证码生成部,认证码生成部在基于解密部的数据解密结束之前开始生成认证码。

另外,虽未图示,也可以使用OFB模式的加密部100或解密部300。

另外,虽未图示,也可以使用OFB模式或CFB模式的认证码生成部200。

图39是加密模块51或解密模块71的结构图。

加密模块51具有键调度部511和随机数据发生部512。键调度部511输入1个键K进而生成n个扩展键ExtK1~ExtKn。随机数据发生部512通过函数F和XOR电路发生随机数。函数F,输入扩展键并进行非线形数据变换。

在所述加密装置的加密模块51中,可以使用例如

(1)DES(Data Encryption Standard),或

(2)MISTY,国际公开号W097/9705(美国专利申请号08/83640)所公开的块密码算法,或

(3)KASUMI,以所述块密码算法MISTY为基础的64位块密码,作为下时代携带电话用国际标准密码(IMT2000)而被决定采用的块密码算法(详细内容参照http://www.3gpp.org/About-3GPP/3gpp.htm),或

(4)Camellia,日本专利申请号2000-64614(申请日2000年3月9日)所记载的块密码算法

等的块密码算法。而且,在所述解密装置的解密模块71中,也可以使用DES、MISTY、KASUMI或Camellia等的块密码算法。

图40是所述加密装置或解密装置的装饰形式示意图。

图40表示在FPGA或IC或LSI中所实现的所述加密装置及解密装置。即所述加密装置及解密装置可以由硬件来实现。而且,虽未图示,也可以通过印制电路板来实现。

图41表示由软件实现所述加密装置及解密装置的情况。

所述加密装置,可由加密程序47来实现。加密程序47存储在ROM(Read Only Memory)42(记录媒体的一例)。加密程序47也可以记录在RAM(Random Access Memory)或软盘或固定磁盘等的其他记录媒体上。而且,加密程序47也可以由计算机服务器上下载。加密程序47作为子程序运行。加密程序47,被从RAM45所存储的应用程序46通过子程序调用函数而调出执行。或是加密程序47,也可以通过中断控制部43所接收的中断的发生来启动。存储器55可以是RAM45的一部分。应用程序46、加密程序47,都是由CPU41来执行的程序。

图42表示应用程序46调用加密程序47的机构。

应用程序46,以键K、初始值IV、明文M和密文C为参数调用加密程序47。加密程序47,输入键K、初始值IV和明文M,返回密文C。当加密程序47与解密程序合一时,以键K、初始值IV、密文C和明文M为参数调用加密程序47。

而且,虽未图示,加密程序47也可以通过数字信号处理器、和由该数字信号处理器所读取并执行的程序来实现。即可以通过硬件和软件的组合来实现加密程序47。

图40、图41、图42,虽然主要说明了加密装置的情况,但解密装置也可以用同样的方式来实现。

图40及图41所示的加密装置及解密装置可以安装进电子设备。例如,可以安装进个人电脑、传真机、携带电话、摄象机、数字照相机、电视摄象机等的所有电子设备。特别是本实施方式特征的发挥在加密、解密多个信道的数据时很有效。或是在多个用户的数据随机到达并进行解密时,或是针对多个用户的数据随机发生,并对每个数据进行实时加密时有效。即与加密、解密数据的数量相比加密、解密装置的数量少时,所述实施方式的加密装置、解密装置非常有效。例如,对于必须支持大量客户机的服务器、必须配送大量携带电话数据的基站或线路控制器等,所述加密装置和解密装置都非常有效。

另外,可以不是加密处理彼此之间以及解密处理彼此之间的并行处理,而是加密处理和解密处理的并行处理。

另外,虽然表示了OFB模式的加密部(或解密部)和CBC模式的认证码生成部的组合情况,但OFB模式、CBC模式、CFB模式、这些模式的改进模式、以及其他模式的任何模式的组合也都可以。

另外,虽然表示了认证码生成部使用加密键K进行加密的情况,但认证码生成部也可以进行数据的搅乱、演算以及其他的数据处理。

如以上所述,根据本发明理想的实施方式,在明文M的加密过程中可以开始明文N的加密。并且,在密文C的解密过程中可以开始其他密文D的解密。

而且,根据本发明理想的实施方式,通过附加优先权可以根据优先权对加密、解密的数据进行高速处理。

而且,根据本发明理想的实施方式,通过保密处理和完整性保证处理的并行处理可以实现高速处理。并且,保密处理和完整性保证处理可以组合至1个硬件来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号