加密处理方法技术

技术编号:39774632 阅读:8 留言:0更新日期:2023-12-22 02:22
本申请提供一种基于非对称加密算法的加密处理方法

【技术实现步骤摘要】
加密处理方法、加密处理电路、处理终端及存储介质


[0001]本申请涉及数据处理
,具体涉及一种基于非对称加密算法的加密处理方法

加密处理电路

处理终端及存储介质


技术介绍

[0002]RSA
(非对称加密算法)是目前应用最广泛的公钥加密系统,其主要是进行大整数的模幂运算,典型的比如
RSA1024

RSA2048
,随着安全需求的提高,
RSA4096
也越来越常见

大整数
RSA
的破解难度极大,但其加
/
解密的计算量也很大,且运算耗时很长,运算效率成为制约
RSA
应用的瓶颈

因此,人们对寻求大整数模幂运算的高效实现技术非常感兴趣

[0003]在构思及形成本申请的研究过程中,申请人至少发现以下问题,从算法理论上,
RSA
算法实现的复杂度被逐步优化降级,从求模幂,到求模乘,再到求乘法
/
加法
/
移位,对硬件实现已经比较友好,但是具体的实现电路,需要权衡资源和效率问题,多数方案的并行度不高,或者并行单元较小,时钟频率低

在资源复用和并行调度方面还不够完善


技术实现思路

[0004]为了缓解以上问题,本申请提供一种加密处理方法,包括:响应于获取非对称加密算法的待处理信息,读取所述非对称加密算法的密钥;基于非对称加密运算的运算表达式,采用二进制展开法,将幂指数按照所述密钥的位宽展开,将所述待处理信息和密钥代入所述运算表达式中的模幂运算,并转换为模乘运算;基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算;根据运算结果,对所述待处理信息进行解密或签名

[0005]可选地,所述密钥包括
noCRT
密钥;所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:调用至少两个乘法阵列进行串联,对所述模乘运算进行单线迭代计算,所述至少两个乘法阵列的总位宽之和与所述
noCRT
密钥的位宽数量相同

[0006]可选地,所述密钥包括
CRT
密钥;所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:调用至少两个乘法阵列,对所述模乘运算进行并行计算,每个乘法阵列的总位宽与所述
CRT
密钥的位宽数量相同

[0007]可选地,所述乘法阵列包括依次级联的多个乘法单元,所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算

[0008]可选地,所述响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算
的步骤包括:对于所述蒙哥马利模乘表达式中的求余模运算,在所述乘法阵列的每次迭代计算中,取最低位乘法单元的输出结果的迭代值来实现

[0009]可选地,对于所述蒙哥马利模乘表达式中的乘法运算,按照依次级联的多个乘法单元排布的乘法阵列,并行导入拆分的计算变量,以使所述乘法阵列的乘法单元同时执行乘法运算;并基于所述多个乘法单元的乘法计算,每级乘法单元的乘积与低一级乘法单元的进位相加,以实现所述乘法运算

[0010]可选地,对于除法运算,在所述乘法阵列的每次迭代计算中,每个乘法单元的输出结果向低一级乘法单元进位,以实现所述除法运算

[0011]可选地,所述响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算的步骤及之后包括:按照所述乘法单元在所述乘法阵列中的排列顺序,依次导入所述计算变量,以获取所述乘法阵列的输出结果作为所述模乘运算的结果

[0012]可选地,所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤中包括:执行前处理模式,计算初始值与预设展开值的积,以获取蒙哥马利初始表达式;基于
L

R
二进制展开法对所述蒙哥马利初始表达式进行幂指数迭代计算,以获取蒙哥马利迭代表达式;对所述蒙哥马利迭代表达式进行预设展开值的消除,获取所述模乘运算的计算结果

[0013]可选地,本申请还提供一种加密处理电路,包括模乘模块

模幂控制模块和参数配置模块;所述模乘模块包括至少两个乘法阵列,用于在所述模幂控制模块的控制下,对模乘运算进行计算,所述乘法阵列包括依次级联的多个乘法单元;所述模幂控制模块与所述参数配置模块连接,用于基于配置参数,以调用所述乘法阵列,通过所述模乘运算获取模幂运算结果;所述参数配置模块用于基于非对称加密算法的计算需求,基于蒙哥马利模乘表达式生成所述配置参数,并接收所述模幂运算结果

[0014]可选地,所述模乘模块包括至少两个乘法阵列;所述非对称加密算法为
CRT
模式时,调用所述至少两个乘法阵列,以对所述模乘运算进行并行计算,每个乘法阵列的总位宽与
CRT
密钥的位宽数量相同;所述非对称加密算法为
noCRT
模式时,调用所述至少两个乘法阵列进行串联,以对所述模乘运算进行单线迭代计算,所述至少两个乘法阵列的总位宽之和与
noCRT
密钥的位宽数量相同

[0015]可选地,所述模幂控制模块包括全局状态控制单元,所述全局状态控制单元与所述至少两个乘法阵列连接,用于进行所述至少两个乘法阵列的模幂调度

参数读写和初始化过程控制

[0016]可选地,所述模幂控制模块还包括乘法阵列输入管理单元,所述乘法阵列输入管
理单元与所述至少两个乘法阵列连接,用于管理所述乘法阵列的因数输入

[0017]可选地,所述模幂控制模块还包括流程调度单元,所述流程调度单元与所述全局状态控制单元连接,用于调整所述配置参数格式以及进行运算流程调度

[0018]可选地,所述模幂控制模块还包括幂指数管理单元,所述幂指数管理单元与所述乘法阵列输入管理单元连接,用于将幂指数按照二进制排列,以在运算过程中逐位顺序输出

[0019]可选地,所述模幂控制模块还包括初始化管理单元,所述初始化管理单元连接在所述全局状态控制单元与所述至少两个乘法阵列之间,用于调度所述至少两个乘法阵列进行初始化运算,以获取模参数的变体

[0020]可选地,所述模幂控制模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种加密处理方法,其特征在于,包括:响应于获取非对称加密算法的待处理信息,读取所述非对称加密算法的密钥;基于非对称加密运算的运算表达式,采用二进制展开法,将幂指数按照所述密钥的位宽展开,将所述待处理信息和密钥代入所述运算表达式中的模幂运算,并转换为模乘运算;基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算;根据运算结果,对所述待处理信息进行解密或签名
。2.
如权利要求1所述的加密处理方法,其特征在于,所述密钥包括
noCRT
密钥;所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:调用至少两个乘法阵列进行串联,对所述模乘运算进行单线迭代计算,所述至少两个乘法阵列的总位宽之和与所述
noCRT
密钥的位宽数量相同
。3.
如权利要求1所述的加密处理方法,其特征在于,所述密钥包括
CRT
密钥;所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:调用至少两个乘法阵列,对所述模乘运算进行并行计算,每个乘法阵列的总位宽与所述
CRT
密钥的位宽数量相同
。4.
如权利要求1所述的加密处理方法,其特征在于,所述乘法阵列包括依次级联的多个乘法单元,所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤包括:响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算
。5.
如权利要求4所述的加密处理方法,其特征在于,所述响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算的步骤包括:对于所述蒙哥马利模乘表达式中的求余模运算,在所述乘法阵列的每次迭代计算中,取最低位乘法单元的输出结果的迭代值来实现;和
/
或,对于所述蒙哥马利模乘表达式中的乘法运算,按照依次级联的多个乘法单元排布的乘法阵列,并行导入拆分的计算变量,以使所述乘法阵列的乘法单元同时执行乘法运算;并基于所述多个乘法单元的乘法计算,每级乘法单元的乘积与低一级乘法单元的进位相加,以实现所述乘法运算;和
/
或,对于除法运算,在所述乘法阵列的每次迭代计算中,每个乘法单元的输出结果向低一级乘法单元进位,以实现所述除法运算
。6.
如权利要求4所述的加密处理方法,其特征在于,所述响应于获取表征所述乘法单元的单元位宽的预设基值,将所述模乘运算中的计算变量按照所述预设基值拆分,以分别对应输入至每个乘法单元进行迭代运算的步骤及之后包括:按照所述乘法单元在所述乘法阵列中的排列顺序,依次导入所述计算变量,以获取所述乘法阵列的输出结果作为所述模乘运算的结果
。7.
如权利要求1‑6任一项所述的加密处理方法,其特征在于,所述基于蒙哥马利模乘表达式,调用至少两个乘法阵列,对所述模乘运算进行计算的步骤中包括:
执行前处理模式,计算初始值与预设展开值的积,以获取蒙哥马利初始表达式;基于
L

R
二进制展开法对所述蒙哥马利初始表达式进行幂指数迭代计算,以获取蒙哥马利迭代表达式;对所述蒙哥马利迭代表达式进行预设展开值的消除,获取所述模乘运算的计算结果
。8.
一种加密处理电路,其特征在于,包括模乘模块

模幂控制模块和参数配置模块;所述模乘模块包括至少两个乘法阵列,用于在所述模幂控制模块的控制下,对模乘运算进行计算,所述乘法阵列包括依次级联的多个乘法单元;所述模幂控制模块与所述参数配置模块连接,用于基于配置参数,以调用所述乘法阵列,通过所述模乘运算获取模幂运算结果;所述参数配置模块用于基于非对称加密算法的计算需求,基于蒙哥马利模乘表达式生成所述配置参数,并接收所述模幂运算结果
。9.
如权利要求8所述的加密处理电路,其特征在于,所述模乘模块包括至少两个乘法阵列;所述非对称加...

【专利技术属性】
技术研发人员:任培培郭超
申请(专利权)人:深圳大普微电子股份有限公司
类型:发明
国别省市:

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

1