zoukankan      html  css  js  c++  java
  • 加密类型以及数据加密解密过程

    1、对称加密

    定义:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密

    工作过程:在对称加密中,数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密。

           算法:DES,3DES,AES(128,192, 256bits),Blowfish,Twofish,IDEA,RC6,CAST5

           工具:gpg,openssl enc

           特性:1、加密、解密使用同一密钥,效率高

                      2、将原始数据分割成固定大小的块,逐个进行加密

           缺陷

                  1、如果有多个对象,密钥过多

                  2、密钥如何分发

                  3、数据来源无法确认

    2、非对称秘钥算法:

    定义:非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

    工作过程:非对称加密算法在使用时需要同时拥有公开密钥和私有密钥,公开密钥与私有密钥相对应,如果在对数据的加密过程中使用了公开密钥,那么只有使用相对应的私有密钥才能解密;反之,如果在对数据进行加密时使用了私有密钥,也只有使用与之相对应的公开密钥才能解密。非对称加密算法对传信息进行加密的基本过程是:甲方首先生成一对密钥同时将其中的一把作为公开密钥;得到公开密钥的乙方再使用该密钥对需要加密的信息进行加密后再发送给甲方;甲方再使用另一把对应的私有密钥对加密后的信息进行解密,这样就实现了机密数据传输。非对称加密算法的另一种加密过程是:甲方使用自己的私有密钥对信息进行加密后再发送给乙方;乙方使用甲方提供的公开密钥对加密后的信息进行解密,如果成功解密即可证实信息确实是由甲方所发,并非他人冒充,这就是现在常用的数字签名技术。

            密钥对儿

                  公钥:publicKey公开给所有人

                  私钥:secretKey自己保留,必须保证其私密性

           算法:RSA(加密,数字签名),DSA(数字签名),EIGamal

           工具:pgp,openssl rsautl

           特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然

           用途

                  数字签名:主要在于让接收方确认发送方身份

                  对称密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方、

                  数据加密:适合加密较小数据

           缺点

                  密钥长,加密解密效率低下

    3、hash(单向加密)

    定义:Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

           算法:md5:128bits、sha1:160bits、sha224、sha256、sha384、sha512:512bits

           工具:sha1sum,md5sum,sha224sum,sha256sum,cksum,openssl dgst  

  • 相关阅读:
    Final Zadanie 题解
    CF1096E The Top Scorer 题解
    [SDOI2008]Sue的小球 题解
    柱爷与远古法阵 题解
    [ZOJ3329] One Person Game 题解
    扑克牌 题解
    CF494C Helping People 题解
    CF1025D Recovering BST 题解
    linux基础学习-Raid 0 1 5 10的原理、特点、性能区别
    linux基础学习-CentOS7.5用户管理
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11670081.html
Copyright © 2011-2022 走看看