加密装置与加密方法制造方法及图纸

技术编号:3532935 阅读:136 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种块数据加密装置,它包括将对块数据作许多分段后得到的各部分进行局部扩展的第一处理部以及对于此第一处理部输出的块数据进行比前述部分更广范围扩展的第二处理部。第一处理部具有对块数据作许多,分段后得到的各个部分数据作非线性变换处理的第一非线性处理部,第二处理部具有对第一非线性处理部输出的块数据将线性扩展处理施加到比前述部分数据更广范围数据上的第一线性扩展处理部;第一非线性变换处理部的至少一部分具有对上述部分数据作许多分段得到的细分段数据各加以非线性变换处理的第二非线性处理部,以及对第二非线性处理部输出的部分数据将线性扩展处理施加到比前述细分段数据更广范围数据上的第二线性扩展处理部。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及基于分块加密方式的加密装置与加密方法以及它的译码装置与译码方法,还涉及到此种加密/译码装置中所用的运算装置。在公用密钥的分块加密的代表性基本结构中有SPN型和Feistel型。对它们各个的差分/线性译码的强度评价与提高耐用性的设计方法正在研究中(文献V.Rijmen,J.Daemen,B.Preneel,A.Bosselaers,E.Dcwin,“The Cipher SHARK,”Fast Software Encryption,LNCS 1039,1996;文献青木和麻男、太田和夫,“最大平均差分确率及最大平均线形确率更严密的评价”,SCIS 96-4A,1996;文献松井充,“分块加密MISTY”,ISEC 96-11,1996)。SPN型的基本结构中由于能保证活性S-box数,易于确定用于实现所设强度的段数(文献),但当块长度增大,S-box的并行度提高时,扩展层的处理复杂化,存在降低速度的倾向。对上述问题作出改进的是SQUARE/Rijndael型加密(文献J.Daemen,L.R Knudsen,V.Rijmen,“The Block Cipher Square”,FastSolftware Encryption,LNCS 1267,1997;文献J.Daemen,V.Rijmen,“AES Proposol;Rijndael,“http://www.east.Kuleuven.ac.be/~rijmen/rijdael/rijndaeldoc V2.zip)。在这种加密中,将16个并行的S-box排列成4×4的矩阵形式,把线性扩展限制于同一列内来减少处理。此外,通过在线性扩展中将位的位置排列变换加以组合,在某段中的1位影响就能在2段后广拓到所有的位中,在4段中,活性S-box数将达到25个以上(相对于差分/线性译码而言可说是增强了)。但是由于存在着同一列内的位在下一段不混合的性质,就会有所谓SQUARE攻击的专用攻击方法(文献、)。这看来是源于在所谓扩展层只为一种的制约下来兼顾强度与效率两者的结果所致。结果在先有技术的分块加密方式中,SPN型结构对活性S-box数的下限容易估计,能够进行保证相对于差分/线性译码法强度的设计,在耐攻击性强这点来说是优越的。但是随着明码语句/加密语句的块长度增加,在S-box的并行度增高后,就有扩展层结合部的计算成本也增高的缺点。此外,取决于扩展层的设计,有可能使数据的扩展不均一。本专利技术是为了解决上述问题而提出的,其目的在于提供能抑制计算成本并且能作高度均匀扩展的加密装置与加密方法及其译码装置与译码方法,同时提供其中所用的运算装置。图1说明根据本专利技术加密方式的第一实施例的基本结构。图2说明有关加密强度。图3例示嵌套型的加密方式数据搅拌部的分层结构。图4例示加密装置的结构。图5例示S-box。图6例示扩大的S-box的内部结构。图7例示小MDS(最大距离分隔)。图8例示数据搅拌部的一段的结构。图9示明大MDS的一个例子。图10示明大MDS的另一例子。图11示明密钥次序表部的结构例。图12示明密钥次序表部的另一结构例。图13示明非线性变换层的内部结构例。图14示明非线性变换层内部结构的另一例。图15例示加法常数表。图16例示有限域乘法装置的结构。图17例示线性变换装置的结构。图18例示线性变换装置的结构。图19示明MDS矩阵生成装置的结构例。图20是示明MDS矩阵生成处理程序例的流程图。图21示明MDS矩阵生成装置的另一结构例。图22示明MDS矩阵生成处理程序另一例的流程图。图23是示明用于选择S-box与小MDS组合的处理程序例的流程图。图24例示译码装置的结构。图25例示扩大S-box的逆变换的内部结构。图26例示数据搅拌部的结构。图27例示密钥次序表部的结构。图28说明根据本专利技术的加密方式的第二实施例的基本结构。图29示明第二实施例中数据搅拌部的另一结构例。图30示明大MDS的另一例子。图31示明GF(24)上的乘法接线表示。图32示明大MDS的又一例子。图33说明大MDS的褶积。图34示明大MDS的再一例子。图35示明密钥次序表的又一结构例。图36示明密钥次序表的又一结构例。图37示明加法常数表的另一例子。图38示明译码装置的另一结构例。图39示明数据搅拌部的一段的逆变换的另一结构例。图40示明密钥次序表部译码时的再一结构例。图41示明利用加密方式的系统的一例。图42示明利用加密方式的系统的另一例。图43示明利用加密方式的系统的又一例。下面参照附图说明本专利技术的实施例。在此说明由局部的扩展(小扩展)与遍及整个分块宽度上的扩展(大扩展)相组合的,嵌套型(递归的)SPN结构的加密方式。在以下的说明中,首先以加密为中心进行说明,然后说明译码。此外,译码算法是加密算法的逆变换,密钥是加密与译码共用的密钥。再有,这一加密方式可由硬件或软件实现,在以下所示的结构例中,既可以作为加密装置(译码装置)的功能块图成立,也可以作为加密算法(译码算法)的功能模块图成立。图1示明嵌套型(递归的)SPN结构下加密方式(加密装置(或译码装置)或是加密算法(或译码算法)、加密处理装置)的基本结构例。如图1所示,嵌套型SPN结构中,由各段中并行排列的许多非线性变换模块(后述例子中的扩大S-box)2的各个进行局部的小扩展,继而由扩展模块(后述例子中的大MDS)3进行整个分块长度的大扩展,再由非线性变换模块2进行局部的小扩展…如此反复地进行到预定段数。非线性变换模块2由非线性变换模块4(后述例中的S-box)4与扩展模块(后述例中的小MDS)交错排列构成。亦即本实施例的嵌套型SPN结构是将小型的SPN结构(后述例中为2段SPN结构)递归地嵌入通常的SPN结构的S-box的部分中。根据这种嵌套型SPN结构,可以获得按分层保证分支数(分支数的分层性),能容易地保证活性的S-box数的下限这样的优越性质。此外,嵌套型SPN结构中,除以上所述外,由于有单纯清晰的结构而有易于进行强度评价的特性。图1中虽然是以4个并行的非线性变换模块2来表示局部的小扩展,但并行数并不局限于4而是可以用4以外的并行数。此外,这4个并行的非线性变换模块2的位数虽然是相等的,但并不局限于此,而是也可以将不同位数的非线性变换模块多个加以组合。再有,在此情形下,既可以使所有非线性变换模块2的位长不同,也可以使一部分小扩展的位长相同。还有,在此虽然用的是一种扩展模块3,但也可采用两种以上的扩展模块3。例如将遍及分块宽度的扩展模块3每隔1个替换为遍及2个非线性变换模块的扩展模块。另外,除将同一结构重复来形成构造的方法外,也可以仅仅替换一部分结构。可以使所有的非线性变换模块2的结构取同一结构,也可以使其中混合有不同的结构,这一点即使对于各扩展模块3、非线性变换模块4以及扩展模块5也是相同的。例如可以只是最初的输入段与最后的输出段与其他中间段取不同的内部结构。此外,这里虽然是2分层的嵌套结构,但也可以是3分层以上的嵌套结构(在3分层的情形,例如可使非线性变换模块4再成为SPN结构)。再有,例如可因非线性变换模块2而使分层结构相异。除此还可考虑种种变型。下面根据利用8位S-box的AES相当的128位分本文档来自技高网...

【技术保护点】
块数据加密装置,此装置包括:将对块数据作许多分割后得到的各部分进行局部搅拌的第一处理部;对于从上述第一处理部输出的块数据进行比前述部分更广范围扩展的第二处理部。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:大熊建司村谷博文川村信一佐野文彦
申请(专利权)人:株式会社东芝
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术