数据加密解密基础过程;

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据加密解密基础过程;相关的知识,希望对你有一定的参考价值。

加密的分类:

  1. 对称加密:

        机制:

            加密方使用一个公开的算法对一段数据和特定的口令进行统一加密,解密方使用口令+算法反向解密;

        算法:DES,3DES,AES,BlowFish等;

        优势:

            当对大量的数据进行加密时速度很快;

        缺陷:

            密钥(口令)的交换;

            双方的身份认证;

            数据的完整性;

       

    2.非对称加密:

        机制:

            加密解密双方同时生成一对公钥和私钥,在加密过程中使用自己的私钥对要传递的信息进行加密,而对方使用发送方的公钥进行解密,也就是说,生成的公钥是公开的,而私钥是绝对不能外泄的;

        算法:

            RSA,DSA

        优势:

            能够实现双方的身份验证;

            与对称加密配合使用可以保证对称加密口令的传输可靠性;

        缺陷:

            加密速度慢,一般不用过来对数据本身进行加密;


    3.单向机密:

        机制:

            对数据进行特定的算法以生成一段特征码;

        算法:

            md5,sha1

        优势:

            雪崩效应:原数据的微小改变,都会造成特征码的大幅变化;

            保证数据完整性;

        缺陷:

            无法保证传输的安全性;

            双方身份无法验证;


由此完整的信息加密传输方式的过程为:


数据-->单向加密:抽取特征码,保证数据的完整性;-->非对称加密:对特征码使用自己的私钥进行加密,来保证身份的可靠性;-->对称加密:对原数据和已经使用加密者私钥加密的特征码使用对称加密保证数据的私密性;-->非对称加密:使用解密方的公钥对对称加密产生的口令进行加密,保证数据传输的可靠性;-->传输加密后的数据,完成数据传输;



实现简单的pki基础设施:

使用工具:

    openssl:可以用来进行数据的加密,解密,证书的自签,签发等功能的工具;

        genrsa:用来生成自身的私钥,实际上会同时生成公钥,但并没有为public创建文件;

            用法:openssl genrsa -out /some/path/privateName.pem


        rsa:可以用来查看公钥,或者将公钥生成文件;

            用法:openssl rsa -text -in /some/path/privateName.pem -pubout    //查看公钥;

                      openssl rsa -text -in /some/path/privateName.pem -pubout -out /some/path/publicName.pem    //将公钥生成文件;


        req:自签或生成申请证书;

            用法:openssl req -x509 -new -key /some/path/privateName.pem -out /some/path/certName.pem    //自签证书;

                      openssl req -new -key /some/path/privateName.pem -out /some/path/FileName.csr    //生成申请表;


        ca:签署证书;

            用法:openssl ca -in /some/path/FileName.csr -out /some/path/FileName.crt -days 30    //签署证书期限为30天;

                      openssl ca -revoke /path/to/somefile.crt    //吊销证书;


 # scp Httpd.csr(需要传输的文件) 192.168.0.166(目标地址):/tmp/(目标路径)     ;scp是一个传输工具


创建申请表的格式:

国家:    //CN,US,EN之类;

省份:

城市:

组织或公司:

部门:

服务器名:    //要与被访问的主机名相同;

管理邮件地址:


以上是关于数据加密解密基础过程;的主要内容,如果未能解决你的问题,请参考以下文章

Go基础加密算法和数据结构

Go基础加密算法和数据结构

面向对象基础知识之文件加密解密

HTTPS 加密算法过程

linux基础学习第二十三天linux安全和加密之SSLTLS协议CAopenssl

#yyds干货盘点#使用HTTPS加密网页数据