美文网首页
RAC算法 & HASH算法

RAC算法 & HASH算法

作者: jackss | 来源:发表于2018-12-06 23:29 被阅读0次

    什么是RAC

    • RAC是一种非对称加密算法,公钥加密,私钥解密。

    扩展

    • 凯撒密码:明文对应暗文,通过暗文对明文进行解密。
    • 对称加密算法:加密、解密使用同一种算法(密钥)。密钥指加密和解密的规则。

    RAC特点

    • 相对安全(只传递公钥,不需要传递私钥,避免私钥在传输过程中被黑客获取)
    • 加密效率低
    • 加密数据小

    RAC组成

    欧拉函数
    • 表达式 :Φ(n)

    • 与n互质的个数 (因为:1~8和8互质的数有1357 所以 : φ(8) = 4)

    • 特点:
      1.当n是质数的时候,φ(n)=n-1。
      2.如果n可以分解成两个互质的整数之积,如n=AB则: φ(AB)=φ(A)* φ(B) 根据以上两点得到:如果N是两个质数P1 和 P2的乘积则φ(N)=φ(P1)* φ(P2)=(P1-1)*(P2-1)

    • 欧拉定理
      两个正整数m和n互质,那么m的φ(n)次方减去1,可以被n整除


      欧拉定理.png
    • 费马小定理
      欧拉定理的特殊情况:如果两个正整数m和n互质,而且n为质数!那么φ(n)结果就是n-1


      费马小定理.png
    • 模反元素
      如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。

    迪菲赫尔曼密钥交换
    • 通过拆分数学公式的形式交互秘钥


      迪菲赫尔曼密钥交换.png

    RSA使用(OpenSSL)

    
    cat private.txt (查看文本信息)
    
    vi message.txt (生成明文文件)
    
    cat message.txt (查看文件内容)
    
    openssl genrsa -out private.pem 1024 (生成RSA私钥,秘钥长度为1024)
    
    openssl rsa -in private.pem -pubout -out public.pem (从私钥中提取公钥)
    
    openssl rsa -in private.pem -text -out private.tex (转化为明文信息)
    
    openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt (通过公钥进行加密)
    
    openssl rsautl -decryptt -in enc.txt -inkey private.pem -out dec.txt (通过私钥进行解密)
    
    openssl rsautl -sign -in message.txt -inkey private.pem -out enc.txt (通过私钥进行加密)
    
    openssl rsautl -verify -in enc.txt -inkey public.pem -pubin - outdec.txt(通过公钥进行解密)
    
    

    HASH 特点

    • 算法公开
    • 相同的数据加密结果不变
    • 不同的数据加密结果定长
    • 不可逆

    哈希用途

    • 密码加密:服务器不需要知道用户真实密码,只需要匹配HASH值
    • 数字签名
      1.原始数据进行HASH
      2.使用RSA加密HASH值(这部分数据就是原始数据的签名信息)
      3.将原始数据+数字签名一起发给服务器验证
      -对称加密算法
      ECB:电子密码本;每一块数据独立加密
      CBC:链式加密,每一块数据加密都依赖上一块数据,有效的保证数据的完整性

    相关文章

      网友评论

          本文标题:RAC算法 & HASH算法

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