美文网首页
一:密码学

一:密码学

作者: Ray_lawq | 来源:发表于2019-01-24 15:53 被阅读0次

    1.密码加密:(目的:加密容易,解密难)

    • 对称加密:使用一个key加密和解密,key 非常重要,如果一旦泄露,后果不堪设想
    • 非对称加密:一对公钥和私钥组成,使用公钥加密,私钥解密(也可以使用私钥加密,公钥解密);例如客户端(公钥加密)和服务器(私钥解密)交互。
    • 公钥是公开的,私钥比较重要,所以私钥加密,公钥解密这种方法使用的比较多的场景就是 “签名”(私钥签名,公钥验签)。
    • 加密是为了三方获取到关键数据,而签名是为了三方劫持和串改数据(保证服务器是直接的服务,客户端是直接的客户端)
      例如:


      加密和签名
    1. 非对称加密的加密效果强,所以比较耗时,通常不会加密大块的数据,只会加密关键数据;例如:客户端的输入密码等等。
    2. 使用场景:使用A2加密用户输入的密码,整个报文参数使用md5加密以后,使用B1签名,一起传给服务器

    2:RSA 对称加密

    原根:质数X^y(任意数)% Z = Z(以内的正整数),则X为Z原根; 例如 3^y % 17 = (1 ~ 16),则 3是17 的原根(知道y 求值非常容易,知道值求y,y就会回有很多种可能了 -> 加密容易解密难),所以把这个数学方案到了加密领域。而这种求y的过程(解密过程)被称为离散对数问题
    
    质数
    互质:2个数除了1 以外,没有其他的公因数;例如 4 和 5 公因数只有1 ,那么4和5 是互质的
       1. 2个数中一个为质数,那么这2个数一定互质
       2. 小于质数的正整数都与这个质数互质
    
    欧拉函数:求一个正整数n,在小于n的正整数里边有多少个和n是互质的?φ(n)表示
        1.当n为质数的时候φ(n) = n-1
        2.当n可以分解为2个互质的整数之积,那么φ(n) = φ(A * B) = φ(A) * φ(B) 
        3.当A,B都为质数,那么φ(n) =φ(A * B) = φ(A) * φ(B) = (A-1) * (B - 1)
    
    欧拉定理
    如果M和N互质,m的φ(n)次方减1可以被n整除:m^φ(n) %n ≡ 1
    如果n为质数 那么 m^φ(n) %n ≡ 1 -> m^(n - 1) %n ≡ 1(费马小定理)
    
    • 公示转换:


      欧拉定理转换
      模反元素
    • 当公式3 中的φ(n) 等于公式5 中的x( x= φ(n))的时候,那么就产生了右边的公式: m^e*d %n ≡ m

      1. 首先在欧拉函数中,m和n互质;模反元素中:e和x 互质,d是e对于x的模反元素,而 x= φ(n)
      2. 所以 e和φ(n) 互质,d 是e 相对于φ(n)的模反 元素(这种情况下,m和n不用互质也成立,只要m小于n)

    3:RSA诞生(秘钥交换 + 欧拉定理)

    RSA数学原理
    • 公式可以转换转换条件:
      1. m < n
      2. d是e相对与n 的模反元素
    原理介绍

    相关文章

      网友评论

          本文标题:一:密码学

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