zoukankan      html  css  js  c++  java
  • 两类密码体制

    两类密码体制

    一、对称密钥密码体制

    • 所谓常规密钥密码体制,即加密密钥与解密密钥是相同的密码体制。
    • 这种加密系统又称为对称密钥系统

    1.1.对称密钥的缺点与优点

    缺点:

    • 若通信双方使用的密钥通过网络传输,会有被他人截获的风险,因此密钥不适合在网上传输。
    • 若用户A想与多个用户通信需要知道多个密钥,密钥维护量大。

    优点:效率高。

    1.2.数据加密标准 DES

    • 数据加密标准 DES 属于常规(对称)密钥密码体制,是一种分组密码。
    • 数据加密分为:加密算法加密密钥两部分。
    • 在加密前,先对整个明文进行分组。每一个组长为 64 位。
    • 然后对每一个 64 位 二进制数据进行加密处理,产生一组 64 位密文数据。
    • 最后将各组密文串接起来,即得出整个的密文。
    • 使用的密钥为 64 位(实际密钥长度为 56 位,有 8 位用于奇偶校验)。

    1.3.DES 的保密性

    • DES 的保密性仅取决于对密钥的保密,而算法是公开的。尽管人们在破译 DES 方面取得了许多进展,但至今仍未能找到比穷举搜索密钥更有效的方法。

    • DES 是世界上第一个公认的实用密码算法标准,它曾对密码学的发展做出了重大贡献。

    • DES算法的保密性取决于加密时使用密钥的长度:

      使用56位密钥加密,破解需要3.5或21分钟;

      使用128位密钥加密,破解需要5.4x10的18次方年。


    二、公钥密码体制(非对称密钥密码体制)

    • 公钥密码体制使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。

    • 使用的密钥分为公钥和私钥,两种密钥成对使用。使用公钥加密和私钥解密;使用私钥加密和公钥解密。

    • 现有最著名的公钥密码体制是RSA 体制,它基于数论中大数分解问题的体制,由美国三位科学家 Rivest, Shamir 和 Adleman 于 1976 年提出并在 1978 年正式发表的。

    2.1.加密密钥与解密密钥

    • 公钥和私钥密钥对,是由计算机产生的随机数通过算法得出的两部分。

    • 在公钥密码体制中,加密密钥(即公钥) PK(Public Key) 是公开信息,而解密密钥(即私钥或秘钥) SK(Secret Key) 是需要保密的。

    • 加密算法 E 和解密算法 D 也都是公开的。

    • 虽然秘钥 SK 是由公钥 PK 决定的,但却不能根据 PK 计算出 SK

    2.2.公钥算法的特点

    • 发送者 A 用 B 的公钥 PKB 对明文 X 加密(E 运算)后,在接收者 B 用自己的私钥 SKB 解密(D 运算),即可恢复出明文:

    image-20200203164924790

    • 解密密钥是接收者专用的秘钥,对其他人都保密。
    • 加密密钥是公开的,但不能用它来解密,即:

    image-20200203164955218

    • 加密和解密的运算可以对调,即可用公钥加密,私钥解密;也可用私钥加密,公钥解密。

    image-20200203165142941

    2.3.公钥密码体制加密过程

    image-20200203170008970

    • 若用户A要与用户B进行加密通信,首先B要把自己的公钥PKB发送给A,A使用B的公钥对通信的明文X进行加密,生成密文Y,密文Y通过因特网传输到用户B处,用户B使用自己的私钥SKB对密文Y进行解密得到明文X;
    • 如果密文Y在因特网上传输的过程中被用户C截获了,用户C无论是使用用户B的公钥PKB,还是自己的私钥SKC都无法对密文Y进行解密。只有用B的私钥SKB才能解密用B的公钥PKB加密的明文。
    • 用户B想要与其他用户进行加密通信,只需要把自己的公钥告诉对方即可。公钥是公开的,没有公钥对应的私钥,即使密文被截获也不能被解密,只要保管好私钥,就能达到较高的安全程度。
    • 公钥密码体制的缺点为效率低

    2.4.实际应用过程

    image-20200203200151383

    实际进行加密通信时,往往综合使用对称加密和非对称加密的方式。如图所示:B想要给A发送一份500M的文件,如果直接使用A的公钥对500M文件进行加密将会耗费大量时间;

    实际做法为:B产生一个相对简单的对称公钥A2,首先使用A2对文件进行加密,由于A2比较简单加密耗时较短。然后使用A的公钥对对称密钥A2进行加密。最后将A、A2和已加密文件组成的整体发送给用户A 。

    用户A收到之后,使用私钥解密得到对称公钥A2,再使用A2对文件进行解密得到文件。

    总结:实际应用过程中使用对称加密和非对称加密相结合的方式,既具备了对称加密的高效率,也具备了非对称加密的安全性。

  • 相关阅读:
    MATLAB中的SFunction的用法(C语言)
    OpenGL中的转换矩阵
    MATLAB读取和写入Excel文件
    一阶微分方程的求解
    三对角矩阵(Tridiagonal Matrices)的求法:Thomas Algorithm(TDMA)
    CarSim与Simulink联合仿真
    三次样条插值(Cubic Spline Interpolation)及代码实现(C语言)
    在Simulink中创建库
    轮胎的魔术公式(Magic Fomula)模型
    C#中的编译时的类型与运行时的类型
  • 原文地址:https://www.cnblogs.com/AhuntSun-blog/p/12332649.html
Copyright © 2011-2022 走看看