RSA算法简介(RSA算法原理)
RSA加解密需要两个钥匙,一个公钥一个私钥。
1.使用publicKey可以对数据进行加密
2.使用privateKey才能对数据进行解密
单方向传输
用公钥加密的数据,只有私钥能解开(可用于加密);
同时,使用私钥加密的数据,只有公钥能解开(签名)。但是速度很慢(比私钥加密慢100到1000倍),
公钥的主要算法有RSA,还包括Blowfish,Diffie-Helman等
公钥与私钥
1.权威数字认证机构(CA)给所有通信主体(个人或组织)颁发公钥和私钥,彼此配对,分别唯一。
2.私钥好比数字指纹,同时具有解密和加密功能。个人保管,不公开。
3.公钥好比安全性极高的挂号信箱地址,公开。
公私钥加解密举例
设若甲有一份需保密的数字商业合同发给乙签署。经过如下步骤:
1. 甲用乙的公钥对合同加密。
2. 密文从甲发送到乙。
3. 乙收到密文,并用自己的私钥对其解密。
4. 解密正确,经阅读,乙用自己的私钥对合同进行签署。
5. 乙用甲的公钥对已经签署的合同进行加密。
6. 乙将密文发给甲。
7. 甲用自己的私钥将已签署合同解密。
8. 解密正确,确认签署。
公私钥加解密说明
从以上步骤,我们知道:
1. 用公钥加密的密文能且只能用与其唯一配对的私钥才能解开。
2. 如果某份密文被解开,那么肯定是密文的目标信息主体解开的。
3. 私钥因其唯一标识所有者的属性,被用于数字签名,具有法律效力。
IOS对Security.framework的封装,实现RSA非对称加密解密。可获取公钥和私钥,可对数据进行公钥和私钥的加解密。 这种方式需要对密匙对进行处理, 根据public key生成证书, 通过private key生成p12格式的密匙.
iOS中使用RSA加密解密简单实现
1.在开发工程中可以添加RSA加解密库(地址https://github.com/524429264/Objective-C-RSA )
2.在线生成RSA密钥对(http://web.chacuo.net/netrsakeypair )
RSA密钥对3.导入#import "RSA.h"头文件以及添加第二步生成的公私钥,调用对应的加解密方法
实际调用4.以下为加解密后的结果
加解密结果在此感谢各位读者的来访,您的关注是我写作分享的最大动力。
http://songshuhui.net/archives/84941
网友评论