zoukankan      html  css  js  c++  java
  • RSA算法小记

    学习来源:http://www.cnblogs.com/vamei/p/3480994.html

    小记:

    一、数学基础:

      欧拉Phi函数:Φ(n)=总数(从1到n-1中与n互质的整数) 

    (1)欧拉定理:对互质的正整数 a,n,有a^(Φ(n))-1能被n整除 

        当n是质数p时,Φ(p)=p-1,有特殊情况,即小费马定理:a^(p-1)-1 能被n整除

    (2)关于欧拉函数的推论:Φ(mn)=Φ(m)Φ(n)

    (3)(ab)|(n)=(a|n)(b|n)

    二、RSA算法的加密和解密

    1、任选互质的 p、q,求积:n=pq

    2、求得 k=Φ(n)=(p-1)(q-1)

    3、任选与 k互质的 d

    4、取整数 e,使得 ed=kt+1,即 (ed)|k=1

    则 公钥: d  n  (e用来算乘方,d用来取余)  密钥:e   n  (d用来求乘方,n用来取余)

    注意:n应尽量大,这样不易被破解;n应大于被加密数的最大值,否则不同数被加密后可能一样,这样就无法解密还原了。总之,n应尽量大。

            由此也可知,只能加密小于n的数

    例:

    以p=2,q=7为例,则n=14,k=6;

    取d=5,由ed|k=1即5e|6=1可取e=11;

    则 公钥:5,14;          密钥:11,14

    数据 2 用公钥 5,14 加密得到 (2^5)|14=4,用 11,14解密得 (4^11)|14=2

    注意:n应大于被加密数的最大值,否则不同数被加密后可能一样,这样就无法解密还原了:如 3|14=17|14=3,这样对被加密的3和17无法还原,因为其密文一样。

  • 相关阅读:
    android获得屏幕高度和宽度
    Android中RelativeLayout各个属性的含义
    Android JNI知识简介
    Android结束进程方法
    android开发中的图片资源问题
    android framework下public.xml中添加资源问题
    I'm back
    test,exec,match,replace方法区别 正则
    fiddler抓包工具 https抓取 ios手机端抓取
    前端优化方案
  • 原文地址:https://www.cnblogs.com/z-sm/p/3488425.html
Copyright © 2011-2022 走看看