一种用于大数乘法的数论变换电路制造技术

技术编号:24352259 阅读:52 留言:0更新日期:2020-06-03 01:50
本发明专利技术公开了一种用于大数乘法的数论变换电路,包括主控单元,接收变换前数据并存储入主存,向地址生成单元发送数论变换开始信号;主存,存储数论变换前\中\后的数据;基16运算单元,实现16点的数论变换并存入第一随机存储器;地址生成单元,生成取数地址,将取数地址作为存储地址发送给转置及旋转因子相乘单元,生成旋转因子只读存储器地址发送给旋转因子只读存储器;转置及旋转因子相乘单元,读取第一随机存储器中矩阵,完成矩阵的转置,以及矩阵和旋转因子的点乘并根据存储地址将结果存入主存;旋转因子只读存储器读取旋转因子发送给转置及旋转因子相乘单元。本发明专利技术实现786432bits数字乘法的数论变换,提高运算利用率,节省电路逻辑及存储资源。

A number theory transformation circuit for multiplication of large numbers

【技术实现步骤摘要】
一种用于大数乘法的数论变换电路
本专利技术涉及一种用于乘法的电路结构,特别是涉及一种用于大数乘法的数论变换电路。
技术介绍
在信息安全日益重要的今天,现代加密手段层出不穷,已有科学家研究超过100kbit(超过106356)的加密手段。在加密算法中,常用的运算有加法、减法、乘法、平方、取模等。其中乘法和平方运算数量占到了整个运算的53%-62%。因此,大数乘法的硬件加速是当前加密领域的一个需要攻克的难题。大数乘法除了传统的长乘法,Karatsuba算法、Toom-Cook算法和-Strassen算法。传统的长乘法算法复杂度为O(n2),Karatsuba算法的算法复杂度为O(n1.58),Toom-Cook算法的算法复杂度为O(n1.46),–Strassen算法的算法复杂度为O(n·logn·loglogn)。以上算法的复杂度依次减低,实现复杂度依次增加。–Strassen算法的核心是将两数数论变换后相加,再将合做逆数论变换,通过数论变换,把大数乘法转换为大数加法。数论变换是传统的数字傅里叶变换(DFT)在有限域上的一般化。数本文档来自技高网...

【技术保护点】
1.一种用于大数乘法的数论变换电路,其特征在于,包括:/n主控单元,接收变换前数据并存储入主存,向地址生成单元发送数论变换开始信号;/n主存,存储数论变换前的数据或者变换中的中间数据或者变换后的结果数据;/n基16运算单元,根据地址生成单元发送的取数地址从所述主存中取数,实现16点的数论变换并存入第一随机存储器;/n地址生成单元,接收数论变换开始信号生成取数地址发送给所述基16运算单元,将所述取数地址作为存储地址发送给转置及旋转因子相乘单元,生成旋转因子只读存储器地址发送给旋转因子只读存储器;/n转置及旋转因子相乘单元,读取第一随机存储器中所述基16运算单元计算得到的矩阵,完成矩阵的转置,以及...

【技术特征摘要】
1.一种用于大数乘法的数论变换电路,其特征在于,包括:
主控单元,接收变换前数据并存储入主存,向地址生成单元发送数论变换开始信号;
主存,存储数论变换前的数据或者变换中的中间数据或者变换后的结果数据;
基16运算单元,根据地址生成单元发送的取数地址从所述主存中取数,实现16点的数论变换并存入第一随机存储器;
地址生成单元,接收数论变换开始信号生成取数地址发送给所述基16运算单元,将所述取数地址作为存储地址发送给转置及旋转因子相乘单元,生成旋转因子只读存储器地址发送给旋转因子只读存储器;
转置及旋转因子相乘单元,读取第一随机存储器中所述基16运算单元计算得到的矩阵,完成矩阵的转置,以及矩阵和旋转因子的点乘并根据存储地址将结果存入所述主存;
第一随机存储器,存储所述基16运算单元计算得到的矩阵;
和旋转因子只读存储器,由所述旋转因子只读存储器地址读取旋转因子发送给所述转置及旋转因子相乘单元。


2.根据权利要求1所述的用于大数乘法的数论变换电路,其特征在于,所述转置及旋转因子相乘单元包括依次连接的转置单元、第二随机存储器和旋转因子相乘单元,所述转置单元读取所述第一随机存储器中所述基16运算单元计算得到的矩阵,完成矩阵的转置并存入第二随机存储器,所述旋转因子相乘单元从所述第二随机存储器读取矩阵的...

【专利技术属性】
技术研发人员:华斯亮张猛蛟徐健卞九辉张静亚洪学鹍张慧国刘玉声
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏;32

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

1