美文网首页
iOS之非对称加密算法

iOS之非对称加密算法

作者: 6ffd6634d577 | 来源:发表于2016-04-21 21:23 被阅读1113次

1、简介
1.1非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。
1.2非对称加密算法需要两个密钥:公开密钥(publickey) 和私有密(privatekey)
1.3公开密钥和私有密钥是一对
如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。
如果用私有密钥对数据进行加密,只有用对应的公开密钥才能解密。

2、特点
算法强度复杂,安全性依赖于算法与密钥。
加密解密速度慢。

3、与对称加密算法的对比
对称加密只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。
非对称加密有两种密钥,其中一个是公开的。

4、经典非对称加密算法:RSA算法
1977年,三位数学家Rivest、Shamir
和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法。

2、原理
1、找出两个‘很大’的质数:P & Q,一般长度是上百位。然后通过下面计算得到 N和 M;
N = P * Q
M = (P - 1) * (Q - 1)
2、找出整数E,E与M互质,即除了1之外,没有其他公约数
3、找出整数D,使用ED除以M余1,即(ED) % M = 1
4、经过上述准备工作之后,可以得到:
E是公钥,负责加密
D是私钥,,负责解密
N负责公钥和私钥之间的联系
5、加密算法,假定对X进行加密
(X^E)%N = Y
6、解密算法,根据‘费马小定理',可以使用以下公式完成解密
(Y^D)%N = X

3、RSA算法演练
1、RSA原理代码演示
2、RSA算法演练

  • (void)RSADemo{
    CryptorTools *tools = [[CryptorTools alloc] init];

// 加载公钥
NSString *pubPath = [[NSBundle mainBundle] pathForResource:@"rsacert.der" ofType:nil];
[tools loadPublicKeyWithFilePath:pubPath];

// 使用公钥加密
NSString *result = [tools RSAEncryptString:@"i love you"];
NSLog(@"%@",result);

// 加载私钥
NSString *privatePath = [[NSBundle mainBundle] pathForResource:@"p.p12" ofType:nil];
[tools loadPrivateKey:privatePath password:@"123"];

// 使用私钥解密
NSLog(@"%@",[tools
RSADecryptString:result]);
}

4、RSA应用场景
由于 RSA算法的加密解密速度要比对称算法速度慢很多,在实际应用中,通常采取
数据本身的加密和解密使用对称加密算法(AES)。
用RSA算法加密并传输对称算法所需的密钥。

相关文章

  • 3.1 DH算法简介

    非对称加密算法 - DH算法 DH算法是非对称加密算法的鼻祖,为非对称加密算法奠定了基础,主要用途是进行密钥交换。...

  • ios开发之证书和签名机制(一)

    非对称加密和摘要 1、非对称加密的特性和用法 1) 非对称加密算法(RSA):非对称加密算法指加密秘钥和解密秘钥是...

  • iOS之非对称加密算法

    1、简介1.1非对称加密是计算机通信安全的基石,保证了加密数据不会被破解。1.2非对称加密算法需要两个密钥:公开密...

  • 1. 常用的加密算法

    常用的加解密算法分三大类:非对称密钥加密算法、对称密钥加密算法、Hash加密算法 非对称密钥加密算法常见算法:RS...

  • 非对称加密之 - RSA

    一、什么是非对称加密算法? 非对称主要是相对于对称加密算法而言的。对称加密算法加解密使用同一个秘钥;非对称算法则有...

  • Android 拿到私钥字符串对目标字符串进行加密

    关于加密算法 分为对称和非对称加密算法,其中RSA是常用非对称加密算法。对称加密中AES高级加密标准使用Rijnd...

  • 非对称加密算法RSA 学习

    非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法。RSA是1977年由罗纳德·李维斯特(Ron Ri...

  • 认识下非对称加密

    什么是非对称加密? 非对称加密算法是一种密钥的保密方法。 非对称加密算法需要两个密钥:(publicly)和(pr...

  • 3.2 RSA算法简介

    非对称加密技术 -- RSA算法 RSA算法是流行最广泛的非对称加密算法,也是唯一的基于因式分解的非对称加密算法。...

  • 对称加密算法原理--OpenSSL演示、iOS代码运用及CCCr

    之前介绍了非对称加密算法,这篇文章介绍一下在非对称加密算法出现之前的对称加密算法,常见的对称加密算法、终端演示Op...

网友评论

      本文标题:iOS之非对称加密算法

      本文链接:https://www.haomeiwen.com/subject/wcntrttx.html