
iOS怎么使用模和指数进行RSA加密
1个回答
展开全部
首先确认你要加密的数据有多大,如果比较大建议先使用对称算法进行加密,将对称算法的密钥使用RSA加密即可。
现在定义:
你所拿到的公钥模为 N,指数为E
N的位长度为 len(N)
N占用的字节数为 k = (len(N)+7)/8
要加密的数据为D (可以是你原始的数据或者对称算法密钥)
如果你的加密数据比较小的话也可以直接进行RSA加密,比较小的意思为:被加密数据的长度必须能够满足填充条件,如果采用PKCS1_1.5的填充方式,D占用的字节要小于 k-11
运算过程很简单: 将D进行填充到D1, 要求D1所占用的字节数为 k (即同N的长度相同)
则计算密文E的过程为 DE = (D1 ^ E) % N ( ^ 表示指数运算)
在程序中实现建议你采用一些现成的库,如果有OpenSSL则可以网上搜索一下,资料应该不少。
如果没有的话可以直接引入一些大数计算的库直接进行模指运算(别分开,太慢)。
现在定义:
你所拿到的公钥模为 N,指数为E
N的位长度为 len(N)
N占用的字节数为 k = (len(N)+7)/8
要加密的数据为D (可以是你原始的数据或者对称算法密钥)
如果你的加密数据比较小的话也可以直接进行RSA加密,比较小的意思为:被加密数据的长度必须能够满足填充条件,如果采用PKCS1_1.5的填充方式,D占用的字节要小于 k-11
运算过程很简单: 将D进行填充到D1, 要求D1所占用的字节数为 k (即同N的长度相同)
则计算密文E的过程为 DE = (D1 ^ E) % N ( ^ 表示指数运算)
在程序中实现建议你采用一些现成的库,如果有OpenSSL则可以网上搜索一下,资料应该不少。
如果没有的话可以直接引入一些大数计算的库直接进行模指运算(别分开,太慢)。

2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |