[发明专利]运算方法、装置及设备有效
申请号: | 201910613478.4 | 申请日: | 2019-07-09 |
公开(公告)号: | CN112217643B | 公开(公告)日: | 2021-12-10 |
发明(设计)人: | 章庆隆;汤倩莹;戴望辰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 孙静;刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 运算 方法 装置 设备 | ||
1.一种运算方法,其特征在于,应用于运算系统,所述运算系统包括软件处理电路、硬件处理电路以及存储电路,所述软件处理电路用于通过执行软件程序来工作,所述存储电路中存储有秘密信息,所述方法包括:
所述软件处理电路获取运算任务,所述运算任务包括进行一次或多次运算;
所述软件处理电路根据所述运算任务生成所述运算任务对应的一条或多条调度指令,每条所述调度指令中包括一次运算的运算类型和标志位;
所述硬件处理电路收到所述一条或多条调度指令后,当所述调度指令中的所述标志位为有效值时,从所述存储电路中获取所述秘密信息,并根据所述秘密信息确定完成所述调度指令所对应的运算所需的一个或多个运算数据的数据地址,并根据所述数据地址获取所述一个或多个运算数据来完成每个所述调度指令所对应的运算,从而完成所述运算任务。
2.根据权利要求1所述的方法,其特征在于,根据所述秘密信息确定完成所述调度指令所对应的运算所需的一个或多个运算数据的数据地址,包括:
获取预设的第一关系,所述第一关系为用于存储所述一个或多个运算数据的寄存器与所述秘密信息之间的运算关系;
根据所述第一关系和所述秘密信息,确定寄存器;
将所述寄存器的地址确定为所述数据地址。
3.根据权利要求1或2所述的方法,其特征在于,所述一个或多个运算数据包括第一源操作数以及目标操作数,所述根据所述秘密信息确定完成所述调度指令所对应的运算所需的一个或多个运算数据的数据地址包括:所述第一源操作数的数据地址和所述目标操作数的数据地址。
4.根据权利要求2所述的方法,其特征在于,所述运算任务为点乘运算任务或者模幂运算任务;所述调度指令还包括循环次数i,所述i为在所述运算任务中所述运算当前被执行的次数,所述i为0至N-1之间的整数,所述N为所述秘密信息的二进制长度;
相应的,所述第一关系为寄存器的标识与所述秘密信息中第i位的数值之间的关系。
5.根据权利要求1-2、4任一项所述的方法,其特征在于,所述软件处理电路根据所述运算任务生成所述运算任务对应的一条或多条调度指令,包括:
所述软件处理电路在判断一次运算所需的一个或多个运算数据的数据地址中存在与所述秘密信息相关的数据地址时,将所述运算对应的调度指令中的标志位设置成有效值;
所述软件处理电路在判断一次运算所需的一个或多个运算数据的数据地址中不存在与所述秘密信息相关的数据地址时,将所述运算对应的调度指令中的标志位设置成无效值。
6.根据权利要求1-2、4任一项所述的方法,其特征在于,所述运算类型为模乘运算或者模加运算。
7.根据权利要求1-2、4任一项所述的方法,其特征在于,
所述秘密信息为RSA算法中的私钥,或者
所述秘密信息为椭圆曲线加密算法中的随机数。
8.一种运算装置,其特征在于,包括软件处理电路、硬件处理电路以及存储电路,所述软件处理电路用于通过执行软件程序来工作,所述存储电路中存储有秘密信息,其中,
所述软件处理电路用于,获取运算任务,所述运算任务包括进行一次或多次运算;
所述软件处理电路用于,根据所述运算任务生成所述运算任务对应的一条或多条调度指令,每条所述调度指令中包括一次运算的运算类型和标志位;
所述硬件处理电路用于,在收到所述一条或多条调度指令后,当所述调度指令中的所述标志位为有效值时,从所述存储电路中获取所述秘密信息,并根据所述秘密信息确定完成所述调度指令所对应的运算所需的一个或多个运算数据的数据地址,并根据所述数据地址获取所述一个或多个运算数据来完成每个所述调度指令所对应的运算,从而完成所述运算任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910613478.4/1.html,转载请声明来源钻瓜专利网。