首页 > 专利 > 杭州电子科技大学 > 基于改进的蒙哥马利模幂电路的IC卡解密方法专利详情

基于改进的蒙哥马利模幂电路的IC卡解密方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-11-24
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-03-30
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-06-07
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-11-24
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202011328491.4 申请日 2020-11-24
公开/公告号 CN112491543B 公开/公告日 2022-06-07
授权日 2022-06-07 预估到期日 2040-11-24
申请年 2020年 公开/公告年 2022年
缴费截止日
分类号 H04L9/08H04L9/00G06F7/575G06F7/556G06F7/552 主分类号 H04L9/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 1
引用专利数量 1 被引证专利数量 0
非专利引证 1、2010.07.15徐江涛等.蒙哥马利算法在RSA公钥算法中的应用《.电子设计工程》.2013,(第09期),全文.;
引用专利 US2010177887A 被引证专利
专利权维持 2 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 王煜聪、王敏杰、孙玲玲、高恒洋、闫泽昊 第一发明人 王煜聪
地址 浙江省杭州市下沙高教园区2号大街 邮编 310018
申请人数量 1 发明人数量 5
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
杭州君度专利代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
杨舟涛
摘要
本发明公开了基于改进的蒙哥马利模幂电路的IC卡解密方法,本发明选择了RL二进制扫描作为模幂的实现方式,使用了改进的高性能蒙哥马利模乘器来实现解密系统。先进行全硬件实现的参数预计算,再通过高性能的蒙哥马利模幂电路计算RSA解密结果,整个系统结合多种侧信道攻击防御方法,采用了随机进行伪操作来抵抗SPA,随机盲化密钥来抵抗DPA。并行计算模乘和模平方抵抗时间攻击,模幂末尾连续计算两次抵抗FIA。本发明既提高了IC卡密文解密应用场景的灵活性,又克服了常规蒙哥马利模幂模块计算周期较长的问题,大大提高了电路性能和系统安全性。
  • 摘要附图
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图1
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图2
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图3
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图4(a)
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图4(b)
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图4(c)
    基于改进的蒙哥马利模幂电路的IC卡解密方法
  • 说明书附图:图5
    基于改进的蒙哥马利模幂电路的IC卡解密方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-06-07 授权
2 2021-03-30 实质审查的生效 IPC(主分类): H04L 9/08 专利申请号: 202011328491.4 申请日: 2020.11.24
3 2021-03-12 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.基于改进的蒙哥马利模幂电路的IC卡解密方法,其特征在于:改进了蒙哥马利模幂电路,包括改进的蒙哥马利模乘器、n’[0]计算模块、mont2计算模块、指数盲化模块、真随机数生成模块和模式寄存器模块;所述改进的蒙哥马利模乘器将乘数A与被乘数B按照128‑bits进行分组,具体计算过程如下:
s
1.在外循环中对被乘数B进行遍历,将乘数A的最低组与被乘数B的每一组相乘,低
128‑bits放在S0中,高128‑bits放在进位R0中;并对前一次内循环完成的两个高位R0和R1进行相加,低位放在S1,高位放至R0;
s
2.将s1中得到的S0与模数N的欧拉函数最低组n’[0]相乘,将低128‑bits赋值给中间值m;同时将1得到的S1与上级更新的结果t进行相加,低位放至S1,高位放至R1;
s
3.将s2中得到的m与模数N最低组相乘,并与s1中的S0相加,得到新的S0,高位赋值给R0;同时将2中得到的S1赋值到结果t的次高组,R0+R1赋值给最高组;
s
4.进入内循环,对a进行遍历,将a与b进行遍历乘法,并与s3中的R0和前一级得到的t的迭代值相加,得到新的S0和R0;
s
5.在内循环中,将s3得到的m与遍历的模数n循环相乘,并于前级内循环的R1、S0相加,得到新的R1、S0;
s
6.内循环最后,将t按组更新为S0;
解密方法具体包括以下步骤:
步骤1、系统输入
向所述蒙哥马利模幂电路输入加密后的IC卡密文M、解密位宽长度length、两个素数p、q和密钥E,p与q乘积的位宽等于解密位宽长度length;
步骤2、配置模式寄存器
根据解密位宽长度length对模式寄存器进行配置;
步骤3、预计算参数
3.1、根据素数p和q,使用改进的蒙哥马利模乘器计算模数N与欧拉函数fan;
3.2、使用n’[0]计算模块计算模数N的最低字n’[0];
3.3、使用mont2计算模块计算基数R和常数2的蒙哥马利形式mont2;
3.4、将基数R和常数2的蒙哥马利形式mont2输入改进的蒙哥马利模乘器计算参数R^2;
步骤4、计算盲化的密钥
指数盲化模块根据真随机数生成模块产生的随机数随机选择1、2、4、8、16、32倍的欧拉函数fan,再将原密钥E与选择的随机倍数的欧拉函数fan进行分组相加,得到盲化后的密钥D;
步骤5、转换乘数的域
使用改进的蒙哥马利模乘器将密文M由自然域转换到蒙哥马利域,得到转换后的密文M’:
M’=Mont(M,R^2,N);
步骤6、随机并行的R‑L模幂计算
将基数R与密文M’作为输入,使用两个改进的蒙哥马利模乘器并行计算R‑L模幂环节中的模乘与模平方,根据以下公式进行模乘与模平方的计算:
Rr=Mont(M’r‑1,Rr‑1,N);
M’r=Mont(M’r‑1,M’r‑1,N);
其中,r=1,2…length,R0=R,M’0=M’;
并在指数为“0”时,随机进行模平方的计算,防御简单功耗攻击和差分功耗攻击;
对每一比特计算完成后,得到结果result:
result=Rlength;
步骤7、转换结果的域
将步骤6得到的蒙哥马利域的结果result送入改进的蒙哥马利模乘器中,将result从蒙哥马利域转换成自然域,得到自然域的结果result’:
result’=Mont(result,1,N);
步骤8、冗余计算
将步骤7得到的自然域结果result’再次与模数N进行冗余计算,防御外部注入攻击;
步骤9、解密输出
完成上述解密与防御侧信道攻击的步骤后,改进的蒙哥马利模幂电路向外输出明文result’,完成IC卡密文M的解密。
说明书

技术领域

[0001] 本发明属于可信计算领域,涉及基于改进的蒙哥马利模幂电路的IC卡解密方法。

背景技术

[0002] RSA作为最广泛应用的公钥加密算法,其数据加密和数字签名的应用在信息安全领域扮演着重要的角色。随着计算机技术的高速发展,RSA标准密钥的长度越来越大,这对RSA算法的实现提出了更高的要求。尤其是现代IC技术的发展,促使IC卡、USB Key等小型电子设备在电子商务领域得到越来越多的应用;因而将RSA协处理器嵌入到这些小型硬件中,对电子商务高度发达的今天将具有重大的现实意义。
[0003] 经RSA算法加密后的IC卡密码系统的安全性取决于大数分解的困难性,所以通常IC卡加密系统中RSA 算法的位数都很高,一般需要取到1024位以上才能保证安全性。IC卡密问的解密方法有多种实现的方式,既可以通过软件实现也可以通过硬件实现。使用软件处理大数的运算速度比较慢,硬件实现方式有更多的优势,表现在速度更快、更安全、更稳定、成本更低、成品体积更小等众多优点。而1985年蒙哥马利提出了一种新的算法,这种算法通过将模幂运算的除法运算转化成了更简单的加法运算和移位运算,在此算法的基础上,利用硬件实现IC卡密文的解密变得更加简单,同时伴随着微电子水平的提高,硬件实现方式得到快速发展。
[0004] 然而随着信息安全性的要求越来越高,目前已知的蒙哥马利模幂电路不论在主频还是防御侧信道攻击方面的表现都无法满足当前需求,提出一种更优化的蒙哥马利大数模幂电路来完成更高安全性的IC卡密文解密方法迫在眉睫。

发明内容

[0005] 针对现有技术的不足,本发明提出了基于改进的蒙哥马利模幂电路的IC卡解密方法,通过优化蒙哥马利模幂电路中的模乘器,配合多种防御侧信道攻击方法,提高系统的计算速度与安全性,实现更快速、更高安全性的IC卡密文解密。
[0006] 现有的蒙哥马利模乘器通常包括预计算环节、迭代环节和进位计算环节,基于改进的蒙哥马利模幂电路的IC卡解密方法,所述改进的蒙哥马利模幂电路包括改进的蒙哥马利模乘器、n’[0]计算模块、mont2计算模块、指数盲化模块、真随机数生成模块和模式寄存器模块。其中改进的蒙哥马利模乘器在现有技术的基础上增加了一组寄存器,实现预计算环节与进位计算环节的并行处理。
[0007] 具体包括以下步骤:
[0008] 步骤1、系统输入
[0009] 向所述蒙哥马利模幂电路输入加密后的IC卡密文M、解密位宽长度length、两个素数p、q和密钥E,p与q乘积的位宽等于解密位宽长度length。
[0010] 步骤2、配置模式寄存器
[0011] 根据解密位宽长度length对模式寄存器进行配置。
[0012] 步骤3、预计算参数
[0013] 3.1、根据素数p和q,使用改进的蒙哥马利模乘器计算模数N与欧拉函数fan;
[0014] 3.2、使用n’[0]计算模块计算模数N的最低字n’[0];
[0015] 3.3、使用mont2计算模块计算基数R和常数2的蒙哥马利形式mont2;
[0016] 3.4、将基数R和常数2的蒙哥马利形式mont2输入改进的蒙哥马利模乘器计算参数R^2。
[0017] 步骤4、计算盲化的密钥
[0018] 指数盲化模块根据真随机数生成模块产生的随机数随机选择1、2、4、8、16、32倍的欧拉函数fan,再将原密钥E与选择的随机倍数的欧拉函数fan进行分组相加,得到盲化后的密钥D。
[0019] 步骤5、转换乘数的域
[0020] 使用改进的蒙哥马利模乘器将密文M由自然域转换到蒙哥马利域,得到转换后的密文M’:
[0021] M’=Mont(M,R^2,N)。
[0022] 步骤6、随机并行的R‑L模幂计算
[0023] 将基数R与密文M’作为输入,使用两个改进的蒙哥马利模乘器并行计算R‑L模幂环节中的模乘与模平方,根据以下公式进行模乘与模平方的计算:
[0024] Rr=Mont(M’r‑1,Rr‑1,N);
[0025] M’r=Mont(M’r‑1,M’r‑1,N);
[0026] 其中,r=1,2…length,R0=R,M’0=M’。
[0027] 并在指数为“0”时,随机进行模平方的计算,防御简单功耗攻击和差分功耗攻击。
[0028] 对每一比特计算完成后,得到结果result:
[0029] result=Rlength。
[0030] 步骤7、转换结果的域
[0031] 将步骤6得到的蒙哥马利域的结果result送入改进的蒙哥马利模乘器中,将result从蒙哥马利域转换成自然域,得到自然域的结果result’:
[0032] result’=Mont(result,1,N)。
[0033] 步骤8、冗余计算
[0034] 将步骤7得到的自然域结果result’再次与模数N进行冗余计算,防御外部注入攻击。
[0035] 步骤9、解密输出
[0036] 完成上述解密与防御侧信道攻击的步骤后,改进的蒙哥马利模幂电路向外输出明文result’,完成IC卡密文M的解密。
[0037] 本发明具有以下有益效果:
[0038] 1、通过配置模式寄存器,可以根据不同场景的需求灵活改动解密信息的位宽长度,适用范围广,适用性强。
[0039] 2、采用改进型的蒙哥马利模乘器作为核心部件,可以提高整个系统加解、密计算的性能,加快了计算速度。
[0040] 3、提出双随机化防御侧信道攻击的方案,配合冗余计算,可以防御三种不同类型的攻击,提高安全性的同时,增加了系统的主频率,提高计算速度。
[0041] 4、整个解密过程完全硬件实现,所有参数都通过硬件电路计算得到,减少系统复杂性的同时,克服了软件处理大数的运算速度比较慢的缺陷,提高了计算性能。

实施方案

[0049] 以下结合附图对本发明作进一步的解释说明;
[0050] 下表为本实施例的系统平台参数:
[0051]参数 实施条件
系统硬件平台 Inter i5‑9400
运行环境 Ubuntu 16.04
编程语言 Verilog
仿真工具 VIVADO2019.1、modelsim2010
[0052] 本实施例的硬件环境是CPU Intel(R)Core(TM)CPU i5‑9400@2.90GHz,在Linux16.04系统下进行,实验手段包括开源加解密工具对比和仿真验证,开源工具为RSATool2v17,仿真工具包括VIVADO2019.1和modelsim2010。
[0053] 如图1所示,为本实施例使用的改进的蒙哥马利模幂电路,包括改进的蒙哥马利模乘器、n’[0]计算模块、mont2计算模块、指数盲化模块、真随机数生成模块和模式寄存器模块。
[0054] 现有技术中的蒙哥马利算法需要做大数乘法和大数加法,比如对1024bit的a,b,N,需要做1024x1024‑bit乘法,和2048bit加法,并且其中间结果的位数也多达2048bits,消耗的硬件资源无法估量,不适合硬件方式实现,因此需要对其进行适当的优化。在实际应用中,对于大数运算,经常把数分割成多个字,即多精度数,每次只计算出部分值,而不是一次计算出原始算法中的u值。
[0055] 如图2所示,改进的蒙哥马利模乘器在现有技术的基础上增加了一组寄存器,通过反复利用已定义的寄存器变量减少寄存器定义和使用的总量,同时通过重新排布流水线和算法时序,将关键路径的加法拆解为多拍的加法树操作,然后优化无依赖操作的方法,实现预计算环节与进位计算环节的并行处理,改进的蒙哥马利模乘器具体算法如下:
[0056]
[0057] 设计了128位的booth乘法器来减少运算需要的时钟数。并且对部分积生成电路进行改进,减少了部分逻辑门的使用。
[0058] 准备待解密的IC卡密文M和密钥E,其解密位宽长度为length。
[0059] 步骤1、参数预计算
[0060] 1.1、向改进的蒙哥马利模乘器输入两个素数p、q,p与q乘积的位宽等于解密位宽长度length计算得到模数N与欧拉函数fan;
[0061] 1.2、向n’[0]计算模块输入模数N,在固定周期数后得到输出的逆元的最低字n’[0],图3为n’[0]计算模块的硬件电路图;
[0062] 1.3、使用mont2计算模块计算参数R和mont2,用于后续的乘数域转换以及R‑L模幂计算中;具体计算方法为:向mont2计算模块输入模数N,根据解密位宽长度length,将中间r‑1变量初始为2 ,经过一次循环得出R,两次循环得出mont2,最后mont2计算模块同时输出R和mont2。
[0063] 1.4、将mont2计算模块计算得到的参数R输入改进的蒙哥马利模乘器计算得到参数R^2。
[0064] 步骤三、加密计算
[0065] 指数盲化模块根据真随机数生成模块产生的随机数随机选择1、2、4、8、16、32倍的欧拉函数fan,再将原密钥E与选择的随机倍数的欧拉函数fan进行分组相加,得到盲化后的密钥D。
[0066] 步骤四、防御侧信道攻击
[0067] 4.1、在密钥E盲化的过程中,通过Euler函数的推论并引入真随机数,使得每次解密过程中的密钥都不同,并且真随机数使得‘0’位的功耗也十分随机,有效防御差分功耗攻击。
[0068] 4.2、使用两个改进的蒙哥马利模乘器并行‘0’和‘1’的模乘与模平方,即同时执行模乘和模平方,使得每一位的处理速度都是恒定的,防御计时攻击。并在指数为“0”时,随机进行模平方的计算,对密钥的‘0’位引入了随机性的伪操作以及伪赋值,使操作‘0’的功耗与操作‘1’的功耗除了硬件布局布线外完全一致,部分为‘0’的密钥位随机的执行模乘操作,让攻击者无法分析出哪一位是‘0’,有效抵抗简单功耗攻击。
[0069] 4.3、对整个模幂模块最后的蒙哥马利域变换为自然域的步骤连续做了两次,并且在第二次反变换之前又计算了一次模数N的值,确保比较的正确性。引入了随机盲化密钥的方案后,使得密钥长度和过程中的功耗波动都变化较大,这样可以使得运算过程中想在第二次计算完模数N后再次进行注入攻击的时机难以确定。
[0070] 如图4(a)所示,使用开源的RSA加密软件对字符串“hello world”进行加密,通过上述步骤可以将加密后的字符成功解密,如图4(b)所示;图4(c)为解密过程中模数N、欧拉函数fan、模数N的最低字n’[0]、基数R、常数2的蒙哥马利形式mont2以及基数R的平方的仿真波形图。
[0071] 如图5所示,本方法中,电路主频可以达到600MHz,而现有技术中的单一侧信道防御功能的蒙哥马利模幂电路的主频一般在200‑300MHz左右,本方法不仅实现了多种侧信道攻击的防御,提高了加密的安全性,还提高了电路的整体性能,提高运算速度。
[0072] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润色,这些改进和润色也应视为本发明保护范围内。

附图说明

[0042] 图1为实施例中使用的防御多种侧信道攻击的蒙哥马利模幂电路框图;
[0043] 图2为实施例中改进的蒙哥马利模幂器实现的状态跳转图;
[0044] 图3为实施例中n’[0]计算模块。
[0045] 图4(a)为实施中使用的开源加解密工具对比图;
[0046] 图4(b)为实施例中解密结果的仿真波形图;
[0047] 图4(c)为实施例中各个中间参数的仿真波形图;
[0048] 图5为实施例中系统通过DC综合通过后的时序结果。
专利联系人(活跃度排行)
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号