System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 哈希值计算装置、哈希值计算方法以及哈希值计算程序制造方法及图纸_技高网

哈希值计算装置、哈希值计算方法以及哈希值计算程序制造方法及图纸

技术编号:41226700 阅读:6 留言:0更新日期:2024-05-09 23:44
哈希值计算装置(10)使用将k比特的密钥K和比特数量少于k比特的n比特的明文块P作为输入而输出n比特的密文的块加密E,计算2n比特的哈希值H。函数计算部(22)计算函数CF,所述函数CF针对k‑n比特的输入值M*、n比特的输入值S[1]和n比特的输入值S[2],对块加密E依次进行多次处理,计算n比特的输出值S’[1]和n比特的输出值S’[2]。哈希值计算部(23)根据输出值S’[1]和输出值S’[2]计算哈希值H。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术涉及计算哈希值的技术。


技术介绍

1、哈希函数是将任意长度的数据作为输入而输出固定长度的数据的函数。哈希函数被用作构建公开密钥加密和篡改检测算法这样的加密算法时的部件。

2、作为哈希函数的设计方法,具有aes等使用块加密的方法。aes记载于非专利文献1。aes是advanced encryption standard(高级加密标准)的缩写。

3、块加密e是将n比特的明文块p和k比特的密钥k作为输入而输出n比特的密文块c的函数。当固定密钥k时,块加密e成为n比特的置换。当变更密钥k时,块加密e成为其他n比特的置换。

4、如aes代表的那样,通常n=128,k=128、192或者256。

5、哈希函数的安全性具有单向性、抗第二原像性、抗碰撞性和伪随机预言性。公开密钥加密和篡改检测算法这样的加密算法是假定哈希函数满足这些安全性而设计的。而且,哈希函数是以满足这些安全性的方式设计的。

6、哈希函数h满足单向性是指,在给出哈希函数h的输出值y时,在计算量上很难找到成为y=h(m)的输入值m。

7、哈希函数h满足抗第二原像性是指,在给出哈希函数h的输入值m时,在计算量上很难找到与成为h(m)=h(m’)的输入值m不同的输入值m’。

8、哈希函数h满足抗碰撞性是指,在计算量上很难找到成为h(m)=h(m’)的不同的2个输入值m、m’。

9、哈希函数h满足伪随机预言性是指,在使作为哈希函数h的部件的块加密e理想化的情况下,无法识别成作为理想的哈希函数h的随机预言。理想化的块加密e从密钥长度k、明文的块长度n的全部块加密中随机地选择出1个。更详细的定义记载于非专利文献3。

10、如果哈希函数满足伪随机预言性,则哈希函数满足单向性、抗第二原像性和抗碰撞性。此外,如果哈希函数满足抗碰撞性,则哈希函数满足抗第二原像性和抗碰撞性。

11、哈希函数的输出长度通常为256比特。但是,块加密的大小n通常为128比特。因此,在根据块加密设计哈希函数时,以成为块加密的输出长度的倍数的方式设计。这样的哈希函数被称作倍数块长度哈希函数。

12、哈希函数的设计指标之一有内存大小。内存大小记录计算哈希函数时的中间值。如果是软件,则内存大小越小,ram大小越小,如果是硬件,则内存大小越小,电路大小越小。ram是random access memory(随机存取存储器)的缩写。

13、在使用n比特的明文块和k比特的密钥的块加密的情况下,一定需要n+k比特的内存。因此,关于倍数块长度哈希函数的内存大小,n+k比特最小。

14、倍数块长度哈希函数的安全性级别是破坏哈希函数的安全性所需的计算量的log2的值。倍数块长度哈希函数的最佳安全性级别根据生日攻击为n比特。

15、在非专利文献2中示出倍数块长度哈希函数。该倍数块长度哈希函数使用满足k>n的关系的块加密,满足抗碰撞性。该倍数块长度哈希函数的安全性级别为n比特,内存大小为3n+k比特。

16、在该倍数块长度哈希函数中,使用输入长度为n+k比特、输出长度为2n比特的固定长度输入输出的倍数块长度压缩函数。该倍数块长度哈希函数具有反复处理倍数块长度压缩函数的结构。关于该倍数块长度压缩函数,并行处理为了计算输出1和输出2使用的块加密。因此,在该倍数块长度压缩函数中,需要记录输出1的内存和用于计算输出2的内存,合计需要3n+k比特。

17、在专利文献1中,示出倍数块长度哈希函数。该倍数块长度哈希函数使用满足k≥2n的关系的块加密,满足伪随机预言性。该倍数块长度哈希函数的安全性级别为n比特,内存大小为2n+k比特。

18、该倍数块长度哈希函数使用去除非专利文献2中的前馈运算而得到的结构。因此,在该倍数块长度哈希函数中,也与非专利文献2的倍数块长度哈希函数同样地,使用并行处理块加密的结构。

19、在非专利文献3中示出倍数块长度哈希函数。该倍数块长度哈希函数使用满足k>n的关系的块加密,满足伪随机预言性。该倍数块长度哈希函数的安全性级别为n比特,内存大小为3n+k比特。

20、该倍数块长度哈希函数使用非专利文献2的结构。因此,在该倍数块长度哈希函数中,也与非专利文献2的倍数块长度哈希函数同样地,使用并行处理块加密的结构。

21、现有技术文献

22、专利文献

23、专利文献1:日本特开2012-068436号公报

24、非专利文献

25、非专利文献1:national institute of standards and technology(nist).announcing the advanced encryption standard(aes).fips pub 197,2001.

26、非专利文献2:shoichi hirose.some plausible constructions of double-block-length hash functions.fse 2006.lncs 4047.springer.p.210-225

27、非专利文献3:yusuke naito.optimally indifferentiable double-block-length hashing without post-processing and with support for longer key thansingle block.latincrypt 2019.p.65-85


技术实现思路

1、专利技术要解决的课题

2、现有的倍数块长度哈希函数的内存大小需要为2n+k比特以上。不存在内存大小为最小的n+k比特且安全性级别为n比特的倍数块长度哈希函数。

3、本专利技术的目的在于,能够构建必要的内存大小较小的倍数块长度哈希函数。

4、用于解决课题的手段

5、本专利技术的哈希值计算装置使用将k比特的密钥k和比特数量少于k比特的n比特的明文块p作为输入而输出n比特的密文的块加密e,计算2n比特的哈希值h,其中,该哈希值计算装置具有:

6、函数计算部,其计算函数cf,所述函数cf针对k-n比特的输入值m*、n比特的输入值s[1]和n比特的输入值s[2],对所述块加密e依次进行多次处理,计算n比特的输出值s’[1]和n比特的输出值s’[2];以及

7、哈希值计算部,其根据由所述函数计算部计算出的所述输出值s’[1]和所述输出值s’[2]计算所述哈希值h。

8、专利技术效果

9、在本专利技术中,针对输入值m*、输入值s[1]和输入值s[2],对块加密e依次进行多次处理,计算输出值s’[1]和输出值s’[2]。即,对块加密e依次进行处理而不是并行处理。由此,能够减小必要的内存大小。

本文档来自技高网...

【技术保护点】

1.一种哈希值计算装置,所述哈希值计算装置使用将k比特的密钥K和比特数量少于k比特的n比特的明文块P作为输入而输出n比特的密文的块加密E,计算2n比特的哈希值H,其中,

2.根据权利要求1所述的哈希值计算装置,其中,

3.根据权利要求2所述的哈希值计算装置,其中,

4.根据权利要求1~3中的任意一项所述的哈希值计算装置,其中,

5.根据权利要求4所述的哈希值计算装置,其中,

6.根据权利要求1~3中的任意一项所述的哈希值计算装置,其中,

7.根据权利要求6所述的哈希值计算装置,其中,

8.一种哈希值计算方法,在所述哈希值计算方法中使用将k比特的密钥K和比特数量少于k比特的n比特的明文块P作为输入而输出n比特的密文的块加密E,计算2n比特的哈希值H,其中,

9.一种哈希值计算程序,所述哈希值计算程序使用将k比特的密钥K和比特数量少于k比特的n比特的明文块P作为输入而输出n比特的密文的块加密E,计算2n比特的哈希值H,其中,

【技术特征摘要】
【国外来华专利技术】

1.一种哈希值计算装置,所述哈希值计算装置使用将k比特的密钥k和比特数量少于k比特的n比特的明文块p作为输入而输出n比特的密文的块加密e,计算2n比特的哈希值h,其中,

2.根据权利要求1所述的哈希值计算装置,其中,

3.根据权利要求2所述的哈希值计算装置,其中,

4.根据权利要求1~3中的任意一项所述的哈希值计算装置,其中,

5.根据权利要求4所述的哈希值计算装置,其中,

6.根据权利要求1~3中的...

【专利技术属性】
技术研发人员:内藤祐介
申请(专利权)人:三菱电机株式会社
类型:发明
国别省市:

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

1