美文网首页
iOS RSA加密

iOS RSA加密

作者: MrSYLong | 来源:发表于2019-10-29 14:01 被阅读0次
简介

RSA加密算法是一种非对称加密算法。

根据报道,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。 因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。

知识点
  1. 不管明文长度是多少,RSA生成的密文长度总是固定的,等于密钥长度。
    (密钥长度越大,生成密文的长度就越大,加密的速度就越慢,而密文也就越难被破解掉)。
  2. 明文长度不能超过密钥长度,否则就会出问题。
    (使用分段加密,或结合对称加密,用对称加密对数据进行加密,用RSA对对称加密秘钥进行加密)。
  3. RSA加密每次结果是不一样的(加密时对加密内容使用了长度为11位的随机填充)。
  4. 密文长度不能大于密钥长度,如果进行分段加密,1024位(128字节)秘钥进行分段加密时,密文控制是117个字节,因为加密时对密文使用了长度为11个字节的填充(随机的),加起来就是128个字节。同理,如果是2048位密钥分段加密,每段密文可加密长度为256-11=244个字节。
  5. RSA本身不支持中文(一般使用URL编码来解决中文问题)。
注意

RSA加密前后端要协商好

  1. 填充类型
  2. 秘钥长度
RSA公钥、私钥的产生
  1. 寻找两个不相同的质数
    随意选择两个大的质数p和q,p不等于q,计算N=p*q;
质数:除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1该数本身两个正因数]的数)。
  1. 根据欧拉函数获取r
    r = φ(N) = φ(p)φ(q) = (p-1)(q-1)。
欧拉函数 φ(n)是小于或等于n的正整数中与n互质的数的数目。

如果两个或两个以上的整数的最大公约数是 1,则称它们为互质
  1. 选择一个小于r并与r互质的整数e
    选择一个小于r并与r互质的整数e,求得e关于r的模反元素,命名为d(ed = 1(mod r)模反元素存在,当且仅当e与r互质),e我们通常取65537。
  2. 销毁p和q
    此时我们的(N , e)是公钥,(N, d)为私钥,爱丽丝会把公钥(N, e)传给鲍勃,然后将(N, d)自己藏起来。一对公钥和私钥就产生了。
参考

iOS端RSA加密
iOS端基于RSA公钥加密和解密
RSA算法详解

相关文章

  • iOS中使用RSA加密

    iOS中使用RSA加密

  • iOS RSA2048本地生成密钥对

    iOS中生成RSA密钥字符串iOS使用OpenSSL进行RSA加密、验签的心得RSA_generate_key_e...

  • iOS-15 加密

    1iOS 常用加密方式讲解 - 简书 2iOS加密方式(RSA签名、加密、AES) - 简书

  • iOS RSA加密与解密 签名与验签(附Java端处理)

    本篇文章将涉及以下几个操作:1、iOS端使用RSA公钥加密,iOS端使用RSA私钥解密。2、iOS端使用RSA私钥...

  • RSA非对称加密

    RSA非对称加密 RSA非对称加密, 适用于Java和iOS 应用场景:用户登录时对登录密码进行加密 启动终端, ...

  • iOS 关于加密

    常见的iOS代码加密常用加密方式包括Base64加密、MD5加密、AES加密、RSA加密等。 Base64加密 B...

  • iOS学习-数据加密

    在iOS端使用RSA加密的记录 一、需求: SDK开发,使用RSA加密和后台进行数据交互,后台是PHP要求:1、p...

  • iOS之RSA加密解密与后台之间的双向加密详解

    原文iOS之RSA加密解密与后台之间的双向加密详解openssl生成RSA格式的公私钥,并转为pkcs8格式 序言...

  • ios RSA加密

    看这篇文章基本上就会使用了,当然并不深入到原理RSA加解密 RSA是一种非对称加密,它有一对密钥,分别称为 公钥和...

  • ios RSA加密

    后台给的公钥,私钥,不管是公钥加密私钥解密还是私钥加密公钥解密都是可以的,但是Mac 通过openssl生成的公钥...

网友评论

      本文标题:iOS RSA加密

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