zoukankan      html  css  js  c++  java
  • 对称和非对称加密技术

    对称加密技术

    对称加密技术:文件加密和解密使用相同的密钥,或者虽然不同,也可以从其中一个很容易地推导出另一个。

    代表算法:

    1. EDS:主要采用替换和移位的方法加密。他用56位密钥对64位二进制数据块进行加密。
    2. 2.3EDS:用两个56位密钥。
    3. RC-5
    4. EDEA:类似于EDS,其密钥长度为128位。
    5. AES:基于排列和置换运算。

    非对称加密技术

    非对称加密技术:使用两个密钥:加密密钥和解密密钥,一个是公开的,一个是非公开的私有密钥,他们是一对,只有使用对应的密钥才能解密。

    非对称加密有两个不同的体制:加密模型和认证模型。

    1. 加密模型

     

    1. 认证模型

     

    非对称加密算法的保密性较好,它消除了最终用户频繁交换密钥的需要,但加密和解密花费时间长、速度慢、不适合于对文件加密,而只适合用于对少量数据加密。

    代表算法:RSA,基于大素数分解的困难性。

    信息摘要

    l Hash函数:输入一个长度不固定的字符串,返回一串固定长度的字符串,又称Hash值。

    单向Hash函数用于产生信息摘要。

    l 对于特定的文件而言,信息摘要是唯一的。

    在某一特定的时间内,无法查找经Hash操作后生成特定Hash值的原报文,也无法查找两个经Hash操作后生成相同Hash值的不同报文。

    l 在数字签名中,可以解决验证签名和用户身份认证、不可抵赖性的问题。

    l MD2MD4MD5是被广泛使用的Hash函数,他们产生一种128位的信息摘要。

    数字签名

     

    数字加密

     

    数字签名和数字加密的区别和联系

    l 数字签名使用的是发送方的秘钥对,任何拥有发送方公钥的人都可以验证数字签名的正确性;

    l 数字加密使用的是接收方的密钥对,是多对一的关系,任何指导接收方公开密钥的人都可以向接收方发送数据,但只有唯一拥有接收方私有密钥的人才能对信息解密。

    l 数字签名只采用了对称加密算法,它能保证发送信息的完整性、身份认证和不可否认性,但不能保证发送信息的保密性;

    l 数字加密采用了对称加密算法和非对称加密算法相结合的方法,它能保证发送信息的保密性。

  • 相关阅读:
    如何用vue实现树形菜单?
    spring+springMVC,声明式事务失效,原因以及解决办法
    java提高同步锁的几点建议
    java自定义before和after
    java线程池
    jdk并发工具包之锁
    ReentrentLock重入锁
    java守护线程
    ReentrantLock
    java多线程基础
  • 原文地址:https://www.cnblogs.com/XMXS/p/15216500.html
Copyright © 2011-2022 走看看