U8国际 U8国际官方网站 体育APP下载哈希值计算方法及其数字签名方法
栏目:U8体育 发布时间:2025-08-18
  u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口   本发明公开了一种哈希值计算方法,包括构建基于分组粗粒化玻色采样的哈希函数的模型,包括构建生成算法、分组粗粒化玻色采样算法和洗牌算法,输

  u8,u8国际,u8国际官方网站,u8国际网站,u8国际网址,u8国际链接,u8体育,u8体育官网,u8体育网址,u8注册,u8体育网址,u8官方网站,u8体育APP,u8体育登录,u8体育入口

U8国际 U8国际官方网站 U8体育APP下载哈希值计算方法及其数字签名方法

  本发明公开了一种哈希值计算方法,包括构建基于分组粗粒化玻色采样的哈希函数的模型,包括构建生成算法、分组粗粒化玻色采样算法和洗牌算法,输入通过生成算法生成一系列符合玻色采样的输入,将结果分别输入到分组粗粒化玻色采样算法模型中得到一系列最大概率标签,使用洗牌算法对得到的结果进行打乱得到哈希值。本发明还公开了一种包括所述哈希值计算方法的字签名方法。本发明生成了一种基于物理系统的量子特性的密码学单向函数,安全高效地确认了数字签名的准确性和安全性,而且不会受到外界的攻击。

  2)将步骤1)得到的二进制值x作为输入数据,输入到哈希值计算方法中,得到最终的哈希值计算结果,

  3)将步骤2)得到的哈希值计算结果作为固定的数字签名,完成最终的数字签名,

  S1.构建基于分组粗粒化玻色采样的哈希函数的模型,包括构建生成算法g、分组粗粒化玻色采样算法和洗牌算法G,

  所述的分组粗粒化玻色采样算法,具体为求出最大概率标签,最大概率标签μ1对应着一种连续粗粒化玻色采样方案,最大概率标签μ2对应着一种间隔粗粒化玻色采样方案,其中,μ1和μ2中的一个被选中为单光子情况下的实际最大概率标签,对于多光子情况,其中最大概率标签v是多光子情况下出现的标签,求出最大概率标签包括如下步骤,

  A.定义将N个不可区分的光子送入M个端口的输入配置和输出配置,具体为将N个不可区分的光子送入M个端口中,定义输入配置和输出配置为,

  B.求测量线性光学网络输出状态的玻色采样概率分布集,具体为测量输出状态

  后得到采样概率分布,该采样概率分布如下所示,

  其中T是输出,是输出状态,U为均匀M×M线性光学网络酉矩阵,sM表示输入中占据第m个端口的光子数,tM表示输出中占据第M个端口的光子数,N为光子的数量,M为端口的数量,Per是矩阵积和式,

  C.将玻色采样概率分布集分组为单光子分布集合和多光子分布集,具体方法为,

  根据玻色采样是否在个N端口检测到光子,将玻色采样概率分布集分为单光子分布集

  D.对单光子分布集和多光子分布集分别进行粗粒化,得到单光子和多光子分布集的最大概率标签,具体方法为,

  (1)对于单光子分布集,使用两种粗粒化方式计算单光子分布集的最大概率标签,第一种使

  最终,两种方案得到的最大概率标签μ1和μ2中的一个作为单光子最大概率标签μ,

  (2)对于多光子分布集,使用一种相交的粗粒化方式计算多光子分布集的最大概率标

  所述的生成算法g,具体为输入数据x到生成算法g中,生成算法g经过处理后输出若干个数据{x1(x2)…,xk},玻色采样的输入x0,x时,依次计算

  S2.输入数据x到生成算法g中,生成算法g经过处理后输出若干个数据{x1(x2)…,xk},

  S3.将步骤S2产生的结果分别输入到分组粗粒化玻色采样算法中,得到一系列最大概率标签,具体为,给定固定值k,将步骤S2得到的输出x(j),作为分组粗粒化玻色采样算法的输入,将会得到这个输入对应的单光子的最大概率标签和以及多光子的最大概率标签vj,重复步骤S3共L次,得到的最大概率标签处理方法如下,a.若L次得到的都相同,此时

  S4.使用洗牌算法G对S3得到的结果进行打乱,得到哈希值,具体为洗牌算法G包括一个range串和若干个scratch串,range串为分组粗粒化玻色采样的单光子最大概率标签,scratch串为分组粗粒化玻色采样的多光子最大概率标签,步骤S4具体为,根据步骤S3得到的输出{μ1,μ2,...,μk}和{v1(v2)...,vk},令{μ1,μ2,...,μk}为洗牌算法G的range串,{v1(v2)...,vk}为洗牌算法G的scratch串,将range串和scratch串进行打乱,最终得到打乱之后的数据作为哈希值。

  [0002]当前社会的发展更加趋向于无纸化办公和数字化办公。无纸化办公对于现在的环境保护和办公效率的提高都具有重要的作用。在无纸化办公和数字化办公中,为了保证数据和隐私的安全性,需要频繁进行签名确认。但是,在签名确认这一流程中,容易出现泄漏签名、被别人代签等问题,因此需要采用数字签名的方法。数字签名是信息的发送者才能产生的、别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。同时,数字签名也是一种类似写在纸上的、普通的物理签名,同时还是使用了公钥加密领域的技术来实现的、用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,从而可以真实准确地验证信息。数字签名是非对称密钥加密技术与数字摘要技术的应用。

  [0003] 在现在的加密技术中,哈希函数作为密码学的重要组成部分,在数字签名、密码保护和密钥共享等多种应用发挥了重要作用。现在经典的哈希函数在安全性方面主要分为两类,一种基于复杂性理论,一种基于Merkle‑Damgard结构。前者结构安全但效率不高,后者的哈希函数在实践中得到了广泛的应用,如MD4、MD5、SHA‑0、SHA‑1、SHA‑2、SHA‑3、HAVAL‑128和RIPEMD等。然而,上述的哈希函数均可能会受到各种潜在的攻击,产生的密码和函数不具备单一性和安全性,从而导致数据的泄露或盗取的问题。

  [0004] 本发明的目的之一在于提供一种哈希值计算方法,该方法通过将玻色采样的输出分布分组粗粒化,然后生成哈希值,而且安全准确,可靠性高。

  [0005] 本发明的目的之二在于提供一种基于所述哈希值计算方法的数字签名方法,将哈希值作为高效准确的数字签名。

  [0007] S1 .构建基于分组粗粒化玻色采样的哈希函数的模型,包括构建生成算法g、分组粗粒化玻色采样算法和洗牌算法G,

  [0009] S3.将步骤S2产生的结果分别输入到分组粗粒化玻色采样算法中,得到一系列最大概率标签,

  [0010] S4.使用洗牌算法G对S3得到的结果进行打乱,得到哈希值。

  [001 1] 步骤S1所述的分组粗粒化玻色采样算法,具体为求出最大概率标签,对于单光子情况,最大概率标签μ1对应着一种连续粗粒化玻色采样方案,最大概率标签μ2对应着一种间隔粗粒化玻色采样方案,μ1和μ2中的一个被选中为单光子情况下的实际最大概率标签,对于

  [0013] A.定义将N个不可区分的光子送入M个端口的输入配置和输出配置,

  [0015] C.将玻色采样概率分布集分组为单光子分布集合多光子分布集。

  [0016] D.对单光子分布集和多光子分布集分别进行粗粒化,得到单光子和多光子分布集的最大概率标签。

  [0017] 步骤A所述的定义将N个无区分的光子送入M个端口的输入配置和输出配置,具体为将N个不可区分的光子送入M个端口中,定义输入配置和输出配置为,

  [0022] 步骤B所述的求测量线性光学网络输出状态的玻色采样概率分布集,具体为测量输出状态

  后得到采样概率分布,该采样概率分布如下所示,

  [0025] 其中T是输出,是输出状态,U为均匀M×M线性光学网络酉矩阵,sM表示输入中占据第m个端口的光子数,tM表示输出中占据第M个端口的光子数,N为光子的数量,M为端口的数量,Per是矩阵积和式。

  [0026] 步骤C所述的将玻色采样概率分布集分组为单光子分布集合多光子分布集,具体方法为,

  [0027] (1)根据玻色采样是否在个N端口检测到光子,将玻色采样概率分布集分为单光子

  [0028] (2)对于单光子分布集,使用两种粗粒化方式计算单光子分布集的最大概率标签。第一种使用连续粗粒化玻色采样方案,将单光子分布集 划分为d个不相交的子集

  最终,两种方案得到的最大概率标签μ1和μ2中的一个作为单光子最大概率标签μ。

  [0029] 对于多光子分布集,使用一种相交的粗粒化方式计算多光子分布集的最大概率标签。将多光子分布集 划分为M个相交的子集 其中,

  [0030] 步骤S1所述的生成算法g,具体为输入数据x到生成算法g中,生成算法g经过处理后输出若干个数据{x1 (x2) . . . ,xk} ,玻色采样的输入x0,x时,依次计算

  [0032] 步骤S3所述的将步骤S2产生的结果分别输入到分组粗粒化玻色采样算法中,得到一系列最大概率标签,具体为,给定固定值k,将步骤S2得到的输出x(j) ,作为分组粗粒化玻色采样算法的输入,将会得到这个输入对应的单光子的最大概率标签 和 以及多光子的最大概率标签vj ,重复步骤S3共L次,得到的最大概率标签处理方法如下,

  [0035] c.若L次得到的 不完全相同且N次得到的 也不完全相同,此时令j,j‑1,并重新步骤S2的计算,

  [0039] 步骤S4使用洗牌算法G对步骤S3得到的结果进行打乱,将得到的哈希值作为数字签名,具体为洗牌算法G包括一个range串和若干个scratch串,range串为分组粗粒化玻色采样的单光子最大概率标签,scratch串为分组粗粒化玻色采样的多光子最大概率标签,步骤S4具体为,根据步骤S3得到的输出{μ1 ,μ2, . . . ,μk}和{v1 (v2) . . . ,vk} ,令{μ1 ,μ2, . . . ,μk}为洗牌算法G的range串, {v1 (v2) . . . ,vk}为洗牌算法G的scratch串,将range串和scratch串进行打乱,range串为分组粗粒化玻色采样的单光子最大概率标签,scratch串为分组粗粒化玻色采样的多光子最大概率标签,最终得到打乱之后的数据作为哈希值。

  [0042] 2)将步骤1)得到的二进制值x作为输入数据,输入到上述哈希值计算方法中,得到最终的哈希值计算结果,

  [0043] 3)将步骤2)得到的哈希值计算结果作为固定的数字签名,完成最终的数字签名。

  [0044] 本发明提供的这种哈希值计算方法及其数字签名方法,生成了一种基于物理系统的量子特性的密码学单向函数,安全高效地确认了数字签名的准确性和安全性,而且不会受到外界的攻击。

  [0046] 图2为本发明的基于分组粗粒化玻色采样的哈希函数的模型结构示意图。

  [0049] 图5为本发明的基于所述哈希值计算方法的数字签名方法流程示意图。

  [0050] 如图1为本发明的哈希值计算方法流程示意图。一种基于分组粗粒化玻色采样的哈希函数及其数字签名方法,该方法包括如下步骤,

  [0051] S1 .构建基于分组粗粒化玻色采样的哈希函数的模型,包括构建生成算法g、分组粗粒化玻色采样算法和洗牌算法G,

  [0053] S3.将S2步骤产生的结果分别输入到分组粗粒化玻色采样算法中,得到一系列最大概率标签,

  [0054] S4.使用洗牌算法G对S3得到的结果进行打乱,得到哈希值。

  [0055] 如图2为本发明的基于分组粗粒化玻色采样的哈希函数的模型结构示意图。哈希值计算方法包括生成算法g、玻色采样方法、分组粗粒化方法和洗牌算法G。输入数据x到生成算法g中,生成算法g经过处理后输出若干个数据{x1 (x2)…,xk} ,输出的若干个数据依次

  经过玻色采样和分组粗粒化后输出数据 和 输出的数据经过洗牌算法G后生成最后的哈希值y,哈希值作为最后的数字签名数据。

  [0056] 如图3为本发明的一种连续粗粒化玻色采样方案示意图。图3的分布是一个标签的连续分布,标签bin0、标签bin1和标签bin2均为连续分布。

  [0057] 如图4为本发明的一种间隔粗粒化玻色采样方案示意图。一种间隔粗粒化玻色采样方案,具体为每d分配给一个标签bin0、标签bin1或标签bin2,d为概率分成的个数,一个简单的粗粒化方法是将概率分为d个不相干子集 其中 为标签,

  [0061] C.将玻色采样概率分布集分组为单光子分布集合多光子分布集,

  [0062] D.对单光子分布集和多光子分布集分别进行粗粒化,得到单光子和多光子分布集的最大概率标签。

  [0063] 进一步地,步骤A所述的定义将N个无区分的光子送入M个端口的输入和输出,具体为将N个无区分的光子送入M个端口中,玻色采样作为提出的哈希函数的关键步骤,关系到算法的性能。考虑在非稀释条件下的玻色采样,在合理的复杂性理论假设下,模拟输出端的光子分布样本对于经典计算机来说是很难计算的。那么定义输入和输出为, S, s1 ,

  示输出中占据第m个端口的光子数,N为光子的数量,M为端口的数量。需要注意的是,由于玻色采样的输入是单光子Fock态,那么sm的范围是0或1。

  [0067] 为了模拟玻色采样,将线性光学网络描述为一个均匀(Haar)的M×M的酉矩阵U。对于给定的S,输出状态为

  [0069] 因此,步骤B所述的求测量线性光学网络输出状态的玻色采样概率分布集,具体为测量输出状态

  后得到采样概率分布,该概率分布如下所示,

  [0071] 其中T是输出,是输出状态,U为均匀M×M线性光学网络酉矩阵,sM表示输入的光子数占据第m个端口,tM表示输出的光子数占据第M个端口,N为光子的数量,M为端口的数量,Per是矩阵积和式。

  [0072] 进一步地,步骤C所述的将玻色采样概率分布集分组为单光子分布集合多光子分布集,具体方法为,

  子Fock态的情况, 是多光子Fock态的情况,在分组粗粒化玻色采样中,

  单光子和多光子的区分并不是光子探测器检测到了多少光子,而是是否在N个端口中检测到了光子。单光子情况下占据N个不同端口,而多光子情况下占据的端口模式数小于N,N为光子的数量。因此,不需要检测一个端口中有多少光子,而是用光子探测器测量每个ti在玻色采样中是否为零或非零。

  [0074] 步骤D所述的对单光子分布集和多光子分布集分别进行粗粒化,得到单光子和多光子分布集的最大概率标签,具体方法为,

  [0075] 粗粒化玻色采样作为提出的哈希函数的关键步骤,必须具有不可逆的特性,即给定线性光学网络酉矩阵U和最大概率标签μ,如果要计算输入配置S,有两个难点解决。首先,输出状态

  的计算依赖于计算积和式Per( S, T) ,已知计算积和式是#P‑完全问题,难以计算。那么在给定输出配置T和线性光学网络酉矩阵U的情况下,无法计算输入配置。第二,最大概率标签μ是最可能的粗粒化分布,那么用最大概率标签μ来反推输出配置T比较困难。然而,玻色采样的实验依赖于大规模的采样次数,多光子输出的检测比较困难。为了减少样本量和利用多光子的情况,因此采用了分组粗粒化玻色采样。

  [0076] (1)对于单光子分布集,使用两种粗粒化方式计算单光子分布集的最大概率标签。第一种使用连续粗粒化玻色采样方案,将单光子分布集 划分为d个不相交的子集

  [0077] (2)对于多光子分布集,使用一种相交的粗粒化方式计算多光子分布集的最大概

  [0078] 需要注意的是,μ和v是最大概率标签的理论值,在实验中,如果两个或两个以上的标签的概率差距较小,而其中一个是真正的最大概率标签,那么最大概率标签是不确定的。

  [0079] 步骤S1所述的洗牌算法G,具体为使用Fisher‑yates shuffle(FYS)算法进行洗牌,洗牌算法G包括一个range串和若干个scratch串,每次从range串中取出第scratch串,直到所有的range串取完为止,在经典洗牌算法中,scratch是随机生成的,但是在本算法中,range串为分组粗粒化玻色采样的单光子最大概率标签,scratch串为分组粗粒化玻色采样的多光子最大概率标签。

  [0080] 步骤S1所述的生成算法g,具体为输入数据x到生成算法g中,生成算法g经过处理后输出若干个数据{x1 (x2)…,xk} ,玻色采样的输入x0,x时,依次计算

  [0081] 步骤S3所述的将步骤S2产生的结果分别输入到分组粗粒化玻色采样算法中,得到一系列最大概率标签,具体为,给定固定值k,将S2步骤得到的输出x(j) ,作为分组粗粒化玻色采样算法的输入,将会得到这个输入对应的单光子的最大概率标签 和 以及多光子的最大概率标签vj ,重复S3步骤L次,由于玻色采样过程中的采样的误差,得到的每次得到的最大概率标签不完全一样,处理方法如下,

  [0084] c.若L次得到的 不完全相同且N次得到的 也不完全相同,此时令j,j‑1,重新步骤S2计算,

  [0088] 步骤S4使用洗牌算法G对步骤S3得到的结果进行打乱,将得到的哈希值作为数字

  [0089] 如图5为本发明的基于所述哈希值计算方法的数字签名方法流程示意图。该方法包括如下步骤,