[发明专利]一种离散高斯噪声的并行生成方法及硬件结构在审
申请号: | 202111240344.6 | 申请日: | 2021-10-25 |
公开(公告)号: | CN113986196A | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 傅玉祥;沈思睿;李丽;宋文清;王鑫宇;何书专;李伟 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F7/58 | 分类号: | G06F7/58;G06F21/46 |
代理公司: | 南京泰普专利代理事务所(普通合伙) 32360 | 代理人: | 张帆 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 离散 噪声 并行 生成 方法 硬件 结构 | ||
本发明提供了一种离散高斯噪声的并行生成方法及硬件结构,属于密码学算法硬件设计领域,包括:真随机数缓冲区、随机比特寄存器、比特搜索模块、结果输出处理模块、控制状态机、结果缓冲区。本发明的提出了一种基于Knuth‑Yao算法的离散高斯噪声的生成方法及硬件结构,可以生成格密码学中所需要的离散高斯噪声。本发明在保证噪声分布的密码学安全性的同时,降低了采样时延,提高了并行度,并减少了查找的空间复杂度,提高了格密码算法的运行效率。
技术领域
本发明涉及密码学硬件实现技术领域,具体涉及一种离散高斯噪声的并行生成方法及硬件结构。
背景技术
在现代密码学技术中,环错误学习(Ring Learning With Errors,RLWE)问题是一项重要的技术。离散高斯分布(Discrete Gaussian Distribution)是环错误学习问题中的一个重要组成部分。环错误学习问题基于多项式空间中Y=A*s+e的求解。其中多项式e称为RLWE实例,其各项系数符合离散高斯分布。因此,快速采样离散高斯噪声在基于RLWE的密码学算法硬件加速中十分重要。
由于离散高斯分布在整数域上的特性,无法直接生成。通常使用算法将均匀分布转化为离散高斯分布。其中常用的算法有:累计分布表(Cumulative Distribution Table,CDT)、拒绝采样算法和Knuth-Yao算法。其中Knuth-Yao算法具有早停和随机游走的特性,并且预存储数据少于CDT算法,使得其在生成非均匀整数分布上具有性能优势。
现有的基于Knuth-Yao算法的离散高斯噪声的硬件实现中,并没有像算法描述一样构造一颗离散分布生成(Discreate Distribution Generating,DDG)树,而是直接在二进制化的概率密度表上执行随机游走算法。
在现有的Knuth-Yao算法的硬件实现中,主要侧重于二进制矩阵的压缩和高效存储中,缺少对扫描过程的频度进行分析和优化。经实验发现,二进制矩阵的遍历过程存在严重的不均衡问题。
综上,如何设计一种生成速度快、并行度高、存储小的离散高斯噪声生成方法及硬件实现,是现有密码学硬件技术研究中亟需解决的问题。
发明内容
发明目的:本发明提供一种离散高斯噪声的并行生成方法,并进一步提出一种实现上述方法的硬件结构,可以生成格密码学中所需要的离散高斯噪声。本发明在保证噪声分布的密码学安全性的同时,降低了采样时延,提高了并行度,并减少了查找的面积,提高了格密码算法的运行效率,从而有效解决上述背景技术中存在的技术问题。
技术方案:提出一种离散高斯噪声的并行生成方法,该方法步骤如下:
步骤一:使用真随机数发生器生成的随机比特,作为算法的输入
步骤二:根据需要定义离散高斯分布的标准差、精度和截尾范围,构造二进制概率矩阵,并计算矩阵每一列的汉明重量;
步骤三:执行矩阵形式的Knuth-Yao算法,扫描整个二进制概率矩阵,直到命中对应点;
步骤四:返回命中点所对应的值,并使用一个随机比特作为该值的符号位,该结果为算法采样到的离散高斯噪声值。
上述步骤一中,每个随机比特都符合独立的均匀分布,具有0.5的概率值为0,具有0.5的概率值为1。
上述步骤三扫描二进制概率矩阵过程中,比较该列的汉明重量与当前扫描值d。当该列的汉明重量小于扫描值d时,该列中的随机比特不会被命中,跳过该列的扫描并将扫描值d减去该列的汉明重量。当该列的汉明重量大于扫描值d时,该列中的随机比特会被命中。此时只扫描该列中的1值,忽略无效的0值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111240344.6/2.html,转载请声明来源钻瓜专利网。