[发明专利]适用于RSA加密算法的MZI阵列计算模乘方法在审
申请号: | 202310368359.3 | 申请日: | 2023-04-09 |
公开(公告)号: | CN116418517A | 公开(公告)日: | 2023-07-11 |
发明(设计)人: | 李荣江;宁振虎 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 王兆波 |
地址: | 100024 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 rsa 加密算法 mzi 阵列 计算 方法 | ||
1.适用于RSA加密算法的MZI阵列计算模乘方法,其特征在于,该方法包括如下步骤,RSA加密计算时使用预先生成好的公私钥对,公钥对(N,e)用于将明文转化为密文发送对方,私钥对(N,d)用于将密文转化为明文进行读取接收,加解密的核心运算是将明文分组后,明文分组与公钥对进行模乘运算形成密文,密文分组与私钥对进行模乘运算形成明文;
将待加密的数据其中一个分组表示为A,来便于表述使用MZI进行模乘运算的过程;将A作为需要加密的明文,大素数B以及模数N作为公钥对进行表述;将A,B,N分别转化成二进制数,每8位为一个单元用于构造适合光子计算的大数模乘计算矩阵,A和B两个二进制大数需要在前补0达到长度一样且长度为m字节;密文A转化为从低位字节到到高位字节分别为a[0],a[1],…,a[m-1],B转化为从低位字节到到高位字节分别为b[0],b[1],…,b[m-1],N转化为从低位字节到到高位字节分别为n[0],n[1],…,n[m-1];
将明文A构造成适合于MZI阵列计算m阶下三角矩阵A1,其对角线上皆为a[0],第一行左往右依次为a[0],0,…,0,第二行为a[1],a[0],…,0,依次类推直至第m行为a[m-1],a[m-2],…,a[0];
将明文A构造适合于MZI阵列计算的m阶上三角矩阵A2,其对角线上皆为a[m-1],第一行从左往右依次为a[m-1],a[m-2],…a[1],a[0],第二行为0,a[m-1],a[m-2],…a[2],a[1],依次类推直至第m行0,0,…0,a[m-1];
将公钥B构造适合于MZI阵列计算的m维列向量B1,从上到下依次为b[0],b[1],…,b[m-1];
根据所构造的这些适合于MZI阵列计算的矩阵A1,A2及向量B1,获取MZI阵列进行计算所需的权重矩阵;包括从B1向量中提取第i行参数,并基于第i行参数生成对应的m阶权重矩阵并加载至MZI阵列中;
将适合于MZI阵列计算的A1矩阵第i行元素作为输入向量输入至MZI阵列输入端,通过输入端输入向量进行向量权重矩阵的线性运算,得到输出向量,重复运行MZI阵列,得到m个输出向量,输出向量中包含1个元素,共同构成m阶列向量C1;用相同方法将A2矩阵作为输入端,得到m阶列向量C2;
将适合于MZI阵列计算的C1向量与C2向量作为输入端向量,输入至取模MZI阵列,根据模数N来计算权重矩阵,从N中提取第i字节作为参数,生成相应的m阶权重矩阵加载至取模MZI阵列中,以用于取模运算;
从光子计算芯片输出向量中提取对应位数值,进行相应的移位运算并求和,得到明文A与公钥B乘积并取模N的大数模乘计算结果,多轮计算后便得到明文A所对应的密文,从而完成加密运算的过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310368359.3/1.html,转载请声明来源钻瓜专利网。