美文网首页
RSA原理及应用学习小记

RSA原理及应用学习小记

作者: co5der | 来源:发表于2018-12-08 14:59 被阅读0次

RSA原理及应用


  • 密码学发展,经理了很长了编码加密,到后来的对称加密, 及上世纪70年代后的非对称加密RSA

  • RSA数学原理

    • 欧拉定理
    • 模反元素
    • 迪菲赫尔曼密钥交换,拆分欧拉定理
    Φ(n)                        k
  m      mod  n = 1            1    =  1,   1 * m = m,  m< n
    k * Φ(n)+1
  m            mod  n = m

  e * d  mod  X = 1    #e 与 x 互质,那么存在正整数d
  e * d = k * x + 1    # x 替换成 Φ(n),  e为加密用私钥部分, d为解密的公钥部分

    e*d                  
  m      mod n = m       =>  

           e                          d
  加密:  m      mode n  = C    解密  C     mode n = m


  # 公钥: n和e组成 (公开),  私钥: n和d租成,  明文 m, 密文 c, n一般取 1024个二进制位
  # Φ(n) n一般取 质数p1,p2  n=p1*p2, Φ(n)=(p1-1)*(p2-1)   由Φ(n)计算出 e, d
  • 终端用openssl 生成证书
    * openssl genrsa -out private.pem 1024  #生成 1024位的私钥
    * openssl rsa -in private.pem -pubout -out public.pem  #从私钥中提取公钥
    * #可以解析成明文查看,n = publicExponent: 65537, 还有 p1,p2等
    * openssl rsa -in private.pem -text -out private.txt 
    * #使用公钥 加密
    * openssl rsautl -encrypt -in msg.txt -inkey public.pem -pubin -out enc.txt 
    * #使用私钥 解密
    * openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt
    *
    * #用私钥签名加密
    * openssl rsautl -sign -in msg.txt -inkey private.pem -out enc.txt
    * #使用公钥验证签名
    * openssl rsautl -verify -in enc.txt -inkey public.pem -pubin -out dec2.txt
  
  • 证书转换成iOS程序可用的格式
  $ #用私钥 生成请求证书 的文件,需填写 相关信息,密码留空,  ssl的这个证书从正规机构购买,年费大几千
  $ openssl req -new -key private.pem -out rsacert.scr 

  $ #根据证书 导出代码可用的 der格式
  $ openssl x509 -outform der -in rsacert.crt -out rsacert.der

  $ #根据私钥,scr证书,提取p12私钥, 需要设置密码
  $ pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt

  • RSA的一些特点

    • 加密效率较低,计算较慢
    • 合适一些小数据的加密,不适合大数据加密
    • 已知e,n, e*d = Φ(n) *k +1, 要求d, 需对 大n因式分解 才能算出 Φ(n) , 进而算出 d
  • RSA的一些主要运用

    • 加密 对称加密的 密钥key
    • 用于签名, 如ssl,ipa,apk 签名等

相关文章

  • RSA原理及应用学习小记

    RSA原理及应用 密码学发展,经理了很长了编码加密,到后来的对称加密, 及上世纪70年代后的非对称加密RSA RS...

  • 密码学第二次实验报告:RSA算法

    实验题目 RSA算法 实验目的 了解公钥算法基本原理和RSA算法的原理。了解RSA算法在数据加密和数字签名中的应用...

  • Java 实现 RSA 加密

    本文介绍 RSA 加密的原理、示例、安全性分析及 Java 语言实现。 目录 RSA 简介原理示例安全性常见用途 ...

  • RSA算法原理(作者: 阮一峰)

    RSA算法原理(一) RSA算法原理(二) RSA C算法实现【 看雪安全论坛】

  • Redis缓存总结

    Redis 原理及应用(1)--数据类型及底层实现方式redis学习(八)——redis应用场景 --不错哦 Re...

  • 前后端API交互数据加密——AES与RSA混合加密完整实例

    RSA加密、解密、签名、验签的原理及方法 前后端API交互数据加密——AES与RSA混合加密完整实例 看完这篇文章...

  • RSA签名认证

    RSA可汗学院第一章 RSA加密 RSA加密原理第一章 RSA加密原理第二章 如何生成RSA公钥私钥 生成类似支付...

  • 机器学习的发展史

    关于机器学习的详细内容:机器学习入门:概念原理及常用算法 (本课程主要讲解机器学习的概念、原理和应用场景,以及机器...

  • iOS开发之签名原理

    导读 iOS App 签名的原理RSA算法原理(一)RSA算法原理(二) 对称加密 过程如下: 数据发送方选择一种...

  • 我整理的网上讲解详细的文章

    讲算法的 RSA算法原理(一) RSA算法原理(二) 网络协议 iOS网络协议----HTTP/TCP/IP浅析 ...

网友评论

      本文标题:RSA原理及应用学习小记

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