🎆【Hash函数】量子安全的参数Hash函数
2022-4-7
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:43 AM
Parent item
领域
该函数专门为区块链设计,可以抵抗量子攻击,具备抗碰撞性,且雪崩效应明显,当输入改变1比特的信息时,输出结果将产生50%的变化。该函数基于希尔伯特第十问题,即在未知数个数大于整数多项式方程个数且方程组含有3次以上的多项式时,求解该证书多项式方程的整数根,该问题无算法可解。

算法步骤

  1. 准备一组和输入文件相关的十进制整数:,每个数字具有固定的位数组成一个块,表示块的位数是,相当于切割的块数
  1. 准备一个矩阵:,向量,其中为系数 ???和例子有出入,例子中是
  1. 计算哈希:,其中函数没有限制定义的形式,例如可以采用: ,输出的hash大小为
其他处理:由于形成循环序列的规则,在大文件中,某些项很可能为零。为了避免在算法的基本版本中出现这种情况,我们使用循环移位。在另一个版本中,我们可以将零分量替换为固定数字,固定数字也可以是参数。
综上,我们构建了一个带参数的哈希方案,其中参数为:素数 、向量维度 、块大小 、项生成规则

举例

  1. 构造参数:一个素数,例如4049,向量维度 = 4, m = 4,块大小 =6,项生成规则窗口大小是2),系数集合
  1. 把文件分割成块,例如文件长度是32位,以6位长度分割后是:
  1. 生成系数 ,
    1. 设置初始向量
      1. 根据计算
        1. 接下来读取文件的2个块:34和16,计算:
          1. 计算
            1. 计算
              1. 相加
                1. 重复上面的计算,算出最后结果是
                2.  
                   
                   
              密码学
            2. 密码学算法
            3. Hash
            4. 【Hash函数】Toeplitz哈希【Hash函数】PerfectHash: 完美哈希函数
              目录