本发明专利技术提供了一种蒙哥马利模乘装置和嵌入式安全芯片,所述蒙哥马利模乘装置包括:第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A;次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B;第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。该蒙哥马利模乘装置和嵌入式安全芯片可以避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间。
【技术实现步骤摘要】
本专利技术涉及密码学中非对称密钥算法领域,尤其涉及一种蒙哥马利模乘装置及具 有其的嵌入式安全芯片。
技术介绍
信息安全的安全保障基于安全算法,安全算法有一类是非对称密钥算法。非对称 密钥算法的基本运算是大数的模乘运算,模乘运算算法中效率高、便于实现的算法是蒙哥 马利模乘算法。蒙哥马利模乘使用过程中需要把普通数转换成蒙哥马利数,然后在根据系 数进行蒙哥马利模乘运算,那么转换过程中需要用到转换系数,该转换系数一般通过大数 模幂算法计算得到,使得现有的嵌入式安全芯片中需要进行复杂的大数运算,那么嵌入式 安全芯片中的算法需要花费较多的运行时间和资源。
技术实现思路
本专利技术的目的旨在至少解决上述技术缺陷之一,提供一种蒙哥马利模乘装置及具 有其的嵌入式安全芯片。 本专利技术提供一种蒙哥马利模乘装置,所述蒙哥马利模乘装置包括: 第一存储模块,用于存储两个第一预设参数,和第二预设参数,其中第一预设参数 为常数1; 第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A; 次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第 一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为 W-4,W= (J)(N),巾是欧拉函数,N是蒙哥马利模乘中模数,第二预设参数只与模数N有关, 次方计算函数为计算IT1数的多少次方的函数,R与IT1关于模数N互逆; 第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥 马利模乘转换系数; 第二存储模块,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输入 参数NA和第二输入参数NB; 第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥 马利模乘转换系数,得到最终模乘结果。 从上述装置的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系。即不 同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数, 从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间, 另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否 为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数 域多个情况下,该算法的优势会更明显。 本专利技术提供还一种嵌入式安全芯片,所述嵌入式安全芯片包括:上述的蒙哥马利 模乘装置。 从上述芯片的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系,即不 同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数, 从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间, 另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否 为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数 域多个情况下,该算法的优势会更明显。【附图说明】图1为本专利技术蒙哥马利模乘装置一种实施例的结构示意图;图2为本专利技术蒙哥马利模乘装置另一种实施例的结构示意图;图3为本专利技术次方计算模块一种实施例的结构示意图; 图4为本专利技术编码单元一种实施例的结构示意图;图5为本专利技术第二蒙哥马利模乘模块第一种实施例的结构示意图;图6为本专利技术第二蒙哥马利模乘模块第二种实施例的结构示意图;图7为本专利技术第二蒙哥马利模乘模块第三种实施例的结构示意图; 图8为本专利技术嵌入式安全芯片一种实施例的结构示意图。【具体实施方式】 为了使本专利技术所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合 附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用 以解释本专利技术,并不用于限定本专利技术。 本专利技术提供一种实施例的蒙哥马利模乘装置10,如图1所示,所述蒙哥马利模乘 装置10包括: 第一存储模块1,用于存储两个第一预设参数,和第二预设参数,其中第一预设参 数为常数1 ; 第一蒙哥马利模乘模块2,用于根据两个第一预设参数,得到第一运算结果A; 次方计算模块3,用于根据所述第一蒙哥马利模乘模块2输出的第一运算结果A、 第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为 W-4,W= (i>(N),巾是欧拉函数,N是蒙哥马利模乘中模数,模数位长通常取值为192、239、 521、1024、2048;第二预设参数只与模数N有关,次方计算函数为计算I^1数的多少次方的函 数,R与IT1关于模数N互逆; 第一蒙哥马利模乘模块2,还用于根据第一运算结果A和第二运算结果B,得到蒙 哥马利模乘转换系数; 第二存储模块4,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输 入参数NA和第二输入参数NB; 第二蒙哥马利模乘模块5,用于根据所述第一输入参数NA、第二输入参数NB和蒙 哥马利模乘转换系数,得到最终模乘结果。 在具体实施中,第一蒙哥马利模乘模块2和第二蒙哥马利模乘模块5中军保存蒙 哥马利模乘函数,次方计算模块3中保存次方计算函数,所述蒙哥马利模乘装置实现的功 能如下:获取两个第一预设参数,和第二预设参数,其中第一预设参数为常数1 ;根据两个 第一预设参数和蒙哥马利模乘函数,得到第一运算结果A,第一运算结果A=MontF(1,1); 根据第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B, 其中,第二预设参数为W-4,W=巾(沁,巾是欧拉函数,N是蒙哥马利模乘中模数,第二预设 参数只与模数N有关,次方计算函数CoeffEx为计算IT1数的多少次方的函数,第二运算结 果B=CoefTEx(A,W-4),R与IT1关于模数N互逆;根据第一运算结果A、第二运算结果B和 所述蒙哥马利模乘函数,得到蒙哥马利模乘转换系数D,D=MontF(A,B),即D=R2;根据 第一输入参数NA、第二输入参数NB、蒙哥马利模乘转换系数和所述蒙哥马利模乘函数,得 到最终模乘结果RE,RE是第一输入参数NA和第二输入参数NB关于模数N的模乘结果。 从上述装置的方案可以看出,次方计算模块只与蒙哥马利模乘模块有关系。即不 同的模数N,通过调用不同次数的蒙哥马利模乘模块,就能得到蒙哥马利模乘的转换系数, 从而避开大数模幂方式的计算转换系数,而且不需要事先计算好系数,可以节省存储空间, 另外在没有复杂大数库基础上,也能完成非对称密钥运算,以及可用于检查一个大数是否 为素数的必要条件和可用于检查蒙哥马利模乘算法正确性。如果计算的数越来越长,素数 域多个情况下,该算法的优势会更明显。 在具体实施中,如图2所示,所述第一存储模块1包括常数存储器11,第一寄存器 12 ;所述常当前第1页1 2 3 4 本文档来自技高网...
【技术保护点】
一种蒙哥马利模乘装置,其特征在于:所述蒙哥马利模乘装置包括:第一存储模块,用于存储两个第一预设参数,和第二预设参数,其中第一预设参数为常数1;第一蒙哥马利模乘模块,用于根据两个第一预设参数,得到第一运算结果A;次方计算模块,用于根据所述第一蒙哥马利模乘模块输出的第一运算结果A、第一预设参数、第二预设参数和次方计算函数,得到第二运算结果B,其中,第二预设参数为W‑4,W =φ(N),φ是欧拉函数,N是蒙哥马利模乘中模数,第二预设参数只与模数N有关,次方计算函数为计算R‑1 数的多少次方的函数,R与 R‑1关于模数N互逆;第一蒙哥马利模乘模块,还用于根据第一运算结果A和第二运算结果B,得到蒙哥马利模乘转换系数;第二存储模块,用于存储所述第一运算结果A、蒙哥马利模乘转换系数、第一输入参数NA和第二输入参数NB;第二蒙哥马利模乘模块,用于根据所述第一输入参数NA、第二输入参数NB和蒙哥马利模乘转换系数,得到最终模乘结果。
【技术特征摘要】
【专利技术属性】
技术研发人员:于松亮,陈金强,徐浩,
申请(专利权)人:深圳国微技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。