CN1492316A - 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 - Google Patents
一种蒙格玛丽模乘算法及其模乘、模幂运算电路 Download PDFInfo
- Publication number
- CN1492316A CN1492316A CNA031567541A CN03156754A CN1492316A CN 1492316 A CN1492316 A CN 1492316A CN A031567541 A CNA031567541 A CN A031567541A CN 03156754 A CN03156754 A CN 03156754A CN 1492316 A CN1492316 A CN 1492316A
- Authority
- CN
- China
- Prior art keywords
- register
- algorithm
- result
- ram
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
for i=0 to s-1 //开始外循环 { C1=0 //进位清零 for j=0 to s-1 //将y的第i位与x的第j位相乘后,与S的第j (C1,T1)=S[j]+x[j]y[i]+C1 位和进位C1相加,结果赋给T1和C1,再将T1 S[j]=T1 的值赋给S的第j位,以j为循环变量 (C1,T1)=S[s]+C1 //将S的第s位与C1相加 S[s]=T1 //将相加的和赋给S的第s位 S[s+1]=C1 //将相加的进位赋给S的第s+1位,得到y[i]与x 相乘的结果,并存入S C1=0 m=S[0]n’[0]mod2k //按公式计算m值 (C1,T1)=S[0]+mn[0] //将S[0]加上mn[0],结果赋给T1和C1 for j=1 to s-1 //将得到的S的第j位与mn[j]及进位C1相加, (C1,T1)=S[j]+mn[j]+C1 结果赋给T1和C1,再将T1的值赋给S的j-1 S[j-1]=T1 位,以j为循环变量 (C1,T1)=S[s]+C1 //将上一循环结束时的C1值与S的第s位相加 S[s-1]=T1 //将相加的和赋给S的第s-1位 S[s]=S[s+1]+C1 //将相加的进位加S的第s+1位赋给S的第s位 } (因为(S+mn)/R是通过取(S+mn)的高s位计 算,因此第二次内循环中包含了一次移位运算) C1=0 //开始返回结果的选择运算 for j=0 to s-1 //通过循环,运算S-N (C1,y[j])=S[j]-n[j]-C1 (C1,y[s])=S[s]-C1 if C1=0 then return y[j] //如果运算无借位,即S>N,返回结果为S-N else return S[j] 如果有借位,返回结果为S
for i=0;i<s;i++ //令i为0,开始外循环,每次循环i值加1,当i等 { 于s时,即出循环;步骤100 (C1,T1)=S[0]+x[0]y[i] //将S的第0位加上x第0位与y第i位的积, 结果的低位赋给T1,高位赋给C1;步骤102 (C,T2)=C1+S[1] //将C1加上S的第1位,和赋给T2,进位赋给C; 步骤104 m=T1n′[0]mod R //将T1与n’[0]相乘后,求其对模2k的余数(即取 低位),结果赋给m;步骤106 (C1,T1)=T1+mn[0]; //将T1加上m与n[0]的积,结果的低位赋给T1, 高位赋给C1;步骤108 for j=1;j<s;j++ //令j=1,开始内循环,每次循环j值加1,当j 等于s时,退出循环;步骤110 (C1,T1)=T2+x[j]y[i]+C1 //将T2与x的第j位与y的第i位的积以及进 位C1相加,低位赋给T1,高位赋给C1;步骤112 (C,T2)=S[j+1]+C1+C //将S的第j+1位与C1及C相加,和赋给T2, 进位赋给C;步骤114 (C1,T1)=T1+mn[j] //将T1加上m与n[j]的积,低位赋给T1,高位 赋给C1;步骤116 S[j-1]=T1 //将T1的值赋给S的第j-1位,并结束本次内 循环;步骤118 (C1,T1)=T2+C1 //将T2加上C1,和赋给T1,进位赋给C1;步骤 120 S[s-1]=T1 //将T1值赋给S的s-1位;步骤122 S[s]=C1+C //将C1加上C,和赋给S的第s位,并结束本次 } 外循环;步骤124 C=0 //给C重新赋零值;步骤124 for j=0;j<s;j++ //令j=0,开始循环,每次循环j值加1,当j等于s 时,退出循环;步骤126 (C,y[j])=S[j]-n[j]-C //将S的第j位减去n的第j位和借位C,差赋给 y的第j位,借位赋给C;步骤128 (C,y[s])=S[s]-C //将S的第s位减去借位C,差赋给y的第s位,借 位赋给C;步骤130 if C=0 then return y[i] //如果借位C为零,返回y,否则返回S;步骤132 else return S[j]
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03156754 CN1259617C (zh) | 2003-09-09 | 2003-09-09 | 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 03156754 CN1259617C (zh) | 2003-09-09 | 2003-09-09 | 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1492316A true CN1492316A (zh) | 2004-04-28 |
CN1259617C CN1259617C (zh) | 2006-06-14 |
Family
ID=34240840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 03156754 Expired - Lifetime CN1259617C (zh) | 2003-09-09 | 2003-09-09 | 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1259617C (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100435091C (zh) * | 2006-03-01 | 2008-11-19 | 成都卫士通信息产业股份有限公司 | 大数模幂系统的硬件高基实现方法 |
CN101170406B (zh) * | 2006-10-27 | 2010-10-06 | 北京中电华大电子设计有限责任公司 | 双核公钥密码算法运算协处理器的一种实现方法 |
CN101083525B (zh) * | 2005-12-30 | 2011-11-16 | 英特尔公司 | 密码处理单元以及乘法器 |
CN101631025B (zh) * | 2009-08-07 | 2012-07-04 | 彭艳兵 | 一种加速rsa加解密的方法 |
CN102646033A (zh) * | 2011-02-21 | 2012-08-22 | 中国科学院研究生院 | 模乘运算的实现方法和装置 |
CN102999313A (zh) * | 2012-12-24 | 2013-03-27 | 飞天诚信科技股份有限公司 | 一种基于蒙哥马利模乘的数据处理方法 |
CN103226461A (zh) * | 2013-03-26 | 2013-07-31 | 中山大学 | 一种蒙哥马利模乘方法及其电路 |
CN103873722A (zh) * | 2012-12-10 | 2014-06-18 | 佳能株式会社 | 通信装置及其控制方法 |
CN104573544A (zh) * | 2013-10-28 | 2015-04-29 | 上海复旦微电子集团股份有限公司 | 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 |
CN104598199A (zh) * | 2015-01-07 | 2015-05-06 | 大唐微电子技术有限公司 | 一种用于智能卡的Montgomery模乘器的数据处理方法及系统 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN107038018A (zh) * | 2016-02-03 | 2017-08-11 | 谷歌公司 | 访问多维张量中的数据 |
CN107196764A (zh) * | 2017-07-19 | 2017-09-22 | 龙迅半导体(合肥)股份有限公司 | 一种rsa加解密处理方法和装置 |
CN107896142A (zh) * | 2017-10-11 | 2018-04-10 | 大唐微电子技术有限公司 | 一种执行模幂运算的方法及装置、计算机可读存储介质 |
CN109933304A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
US10504022B2 (en) | 2017-08-11 | 2019-12-10 | Google Llc | Neural network accelerator with parameters resident on chip |
CN112506468A (zh) * | 2020-12-09 | 2021-03-16 | 上海交通大学 | 支持高吞吐多精度乘法运算的risc-v通用处理器 |
CN115348002A (zh) * | 2021-05-12 | 2022-11-15 | 中国科学院声学研究所 | 一种基于多字长乘法指令的Montgomery模乘快速计算方法 |
-
2003
- 2003-09-09 CN CN 03156754 patent/CN1259617C/zh not_active Expired - Lifetime
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083525B (zh) * | 2005-12-30 | 2011-11-16 | 英特尔公司 | 密码处理单元以及乘法器 |
CN100435091C (zh) * | 2006-03-01 | 2008-11-19 | 成都卫士通信息产业股份有限公司 | 大数模幂系统的硬件高基实现方法 |
CN101170406B (zh) * | 2006-10-27 | 2010-10-06 | 北京中电华大电子设计有限责任公司 | 双核公钥密码算法运算协处理器的一种实现方法 |
CN101631025B (zh) * | 2009-08-07 | 2012-07-04 | 彭艳兵 | 一种加速rsa加解密的方法 |
CN102646033B (zh) * | 2011-02-21 | 2015-08-19 | 中国科学院信息工程研究所 | 提供了加密和签名功能的rsa算法的实现方法和装置 |
CN102646033A (zh) * | 2011-02-21 | 2012-08-22 | 中国科学院研究生院 | 模乘运算的实现方法和装置 |
US9516013B2 (en) | 2012-12-10 | 2016-12-06 | Canon Kabushiki Kaisha | Communication apparatus, method of controlling the same and storage medium for transmitting image file to a network address |
CN103873722B (zh) * | 2012-12-10 | 2018-07-03 | 佳能株式会社 | 通信装置及其控制方法 |
CN103873722A (zh) * | 2012-12-10 | 2014-06-18 | 佳能株式会社 | 通信装置及其控制方法 |
CN102999313B (zh) * | 2012-12-24 | 2016-01-20 | 飞天诚信科技股份有限公司 | 一种基于蒙哥马利模乘的数据处理方法 |
CN102999313A (zh) * | 2012-12-24 | 2013-03-27 | 飞天诚信科技股份有限公司 | 一种基于蒙哥马利模乘的数据处理方法 |
CN103226461B (zh) * | 2013-03-26 | 2016-07-06 | 中山大学 | 一种用于电路的蒙哥马利模乘方法及其电路 |
CN103226461A (zh) * | 2013-03-26 | 2013-07-31 | 中山大学 | 一种蒙哥马利模乘方法及其电路 |
CN104573544B (zh) * | 2013-10-28 | 2017-09-12 | 上海复旦微电子集团股份有限公司 | 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 |
CN104573544A (zh) * | 2013-10-28 | 2015-04-29 | 上海复旦微电子集团股份有限公司 | 数据的防攻击方法及装置、rsa模幂运算方法、装置和电路 |
CN104598199A (zh) * | 2015-01-07 | 2015-05-06 | 大唐微电子技术有限公司 | 一种用于智能卡的Montgomery模乘器的数据处理方法及系统 |
CN104951279A (zh) * | 2015-05-27 | 2015-09-30 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN104951279B (zh) * | 2015-05-27 | 2018-03-20 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
CN107038018B (zh) * | 2016-02-03 | 2019-07-19 | 谷歌有限责任公司 | 访问多维张量中的数据 |
CN107038018A (zh) * | 2016-02-03 | 2017-08-11 | 谷歌公司 | 访问多维张量中的数据 |
US10838724B2 (en) | 2016-02-03 | 2020-11-17 | Google Llc | Accessing data in multi-dimensional tensors |
US10228947B2 (en) | 2016-02-03 | 2019-03-12 | Google Llc | Accessing data in multi-dimensional tensors |
CN107196764A (zh) * | 2017-07-19 | 2017-09-22 | 龙迅半导体(合肥)股份有限公司 | 一种rsa加解密处理方法和装置 |
US10504022B2 (en) | 2017-08-11 | 2019-12-10 | Google Llc | Neural network accelerator with parameters resident on chip |
US11501144B2 (en) | 2017-08-11 | 2022-11-15 | Google Llc | Neural network accelerator with parameters resident on chip |
US11727259B2 (en) | 2017-08-11 | 2023-08-15 | Google Llc | Neural network accelerator with parameters resident on chip |
CN107896142A (zh) * | 2017-10-11 | 2018-04-10 | 大唐微电子技术有限公司 | 一种执行模幂运算的方法及装置、计算机可读存储介质 |
CN109933304A (zh) * | 2019-03-20 | 2019-06-25 | 四川卫士通信息安全平台技术有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
CN112506468A (zh) * | 2020-12-09 | 2021-03-16 | 上海交通大学 | 支持高吞吐多精度乘法运算的risc-v通用处理器 |
CN115348002A (zh) * | 2021-05-12 | 2022-11-15 | 中国科学院声学研究所 | 一种基于多字长乘法指令的Montgomery模乘快速计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1259617C (zh) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1492316A (zh) | 一种蒙格玛丽模乘算法及其模乘、模幂运算电路 | |
Doröz et al. | Accelerating fully homomorphic encryption in hardware | |
CN1248102C (zh) | 模乘法的电路及其方法 | |
Kuang et al. | Low-cost high-performance VLSI architecture for Montgomery modular multiplication | |
KR100522262B1 (ko) | 선형 변환을 효과적으로 수행하기 위한 방법 및 장치 | |
CN102866878B (zh) | 加速对特性2椭圆曲线密码系统的计算的方法 | |
CN1677917A (zh) | 基于循环缓冲的流式密码设计 | |
Lai et al. | Elixir: High-throughput cost-effective dual-field processors and the design framework for elliptic curve cryptography | |
CN1227859C (zh) | 同步数据流发生器、生成数据流的方法、加密器站、解密器站及消费电子装置 | |
CN1471665A (zh) | 增速密码法与装置 | |
CN1489726A (zh) | 模乘方法及装置及模乘计算单元 | |
CN1242321C (zh) | 应用蒙哥马利算法的幂剩余运算器 | |
CN1648853A (zh) | 多字乘法-累加电路和蒙哥马利模乘法-累加电路 | |
Paksoy et al. | Faster NTRU on ARM cortex-M4 with TMVP-based multiplication | |
JP4180024B2 (ja) | 乗算剰余演算器及び情報処理装置 | |
US7046800B1 (en) | Scalable methods and apparatus for Montgomery multiplication | |
Peng et al. | Streamlined NTRU prime on FPGA | |
CN101304312B (zh) | 一种适用于精简指令集处理器的加密单元 | |
CN114138235A (zh) | 软硬协同的分段扫描式蒙哥马利模幂计算系统及可读存储介质 | |
CN1230736C (zh) | 智能卡模乘器vlsi结构的计算机实现方法 | |
CN112491543A (zh) | 基于改进的蒙哥马利模幂电路的ic卡解密方法 | |
CN1133297C (zh) | 一种文件加密处理方法 | |
JP2006023647A (ja) | 乗算剰余演算器及び情報処理装置 | |
CN111092718A (zh) | 加密方法、装置及电子设备 | |
JP2002358010A (ja) | べき乗剰余演算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180110 Address after: The 300463 Tianjin FTA test area (Dongjiang Bonded Port) No. 6865 North Road, 1-1-1802-7 financial and trade center of Asia Patentee after: Xinjin Leasing (Tianjin) Co.,Ltd. Address before: 100083 No. 40, Haidian District, Beijing, Xueyuan Road Patentee before: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201010 Address after: 100094 No. 6 Yongjia North Road, Beijing, Haidian District Patentee after: DATANG MICROELECTRONICS TECHNOLOGY Co.,Ltd. Address before: 300463 Tianjin FTA pilot area (Dongjiang Bonded Port), Asia Road 6865 financial and Trade Center North District 1-1-1802-7 Patentee before: Xinjin Leasing (Tianjin) Co.,Ltd. |
|
CX01 | Expiry of patent term | ||
CX01 | Expiry of patent term |
Granted publication date: 20060614 |