• RSA加密算法


    一、密码与加密

      传统密码加密算法是秘密的

      现代密码系统加密算法是公开的,密钥是秘密的

      • 对称加密,加密解密都是一个密钥
      • 非对称加密,加密解密是不同的密钥

    二、RSA加密算法

    1、RSA非对称加密系统

      公钥:用来加密,是公开的

      私钥:用来解密,是私有的

      

    2、RSA加密算法过程

    • 随机选取两个质数p和q
    • 计算n=pq
    • 选取一个与φ (n)互质的小奇数e,φ (n)=(p-1)(q-1)
    • 对模φ (n),计算e的乘法逆元d,即满足(e*d) mod φ (n) = 1
    • 公钥(e, n)    私钥(d, n)

      加密过程:c = (m^e) mod n

      解密过程:m = (c^d) mod n

    3、RSA加密算法测试

    In[1]:p = 53
    In[2]:q = 59
    In[3]:n = p * q
    In[4]:fai = (p-1)*(q-1)   # 欧拉函数
    In[5]:e = 3   # 与fai互质的小奇数
    In[6]:d = 2011  # 求得逆元d,满足(e*d)mod fai = 1
    In[7]:(e*d) % fai
    Out[9]: 1
    In[10]:print(e,n)   # 这两个组成公钥
    3 3127
    In[11]:print(d,n)  # 这两个组成私钥 
    2011 3127
    In[12]:m = 87   # 定义要传输的明文
    In[13]:c = (m**e) % n   # 加密得到密文
    In[14]:c
    Out[14]: 1833
    In[15]:(c**d) % n   # 解密得到明文
    Out[15]: 87
    

      

  • 相关阅读:
    30分钟掌握ES6/ES2015的核心内容(上)
    rem 响应式用法
    angular框架MVVM
    vue3 + vite + elmentui
    vue3 + vite + elmentui
    vue3 + vite 开发新项目
    滚动条滚动加一个进度条
    jquery 截取页面 url ,切换新的url 跳转
    h5,css3
    前端模板预编译技术
  • 原文地址:https://www.cnblogs.com/xiugeng/p/9766220.html
Copyright © 2020-2023  润新知