linux下的加密方法笔记

书籍:《计算机安全:原理与实践》、《计算机科学丛书,应用密码学:协议、算法与C源程序》

一、基本背景

1.1、何为加密解密

加密:就是把明文转换成密文的过程,是使用某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
解密:就是把密文转换成明文的过程,授权用户通过使用与密文加密相对应的算法转译出明文。

1.2、加密解密算法

1、对称加密:同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密;
常用的对称加密算法:DES (56)、3DES、AES (128,192,256,384,512)、Blowfish、Twofish、IDEA、RC6、CAST5等 ; 
2、公钥加密:也叫非对称加密,是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。
常用的公钥加密算法:RSA, DSA, EIGamal等;
3、单向加密:是不可解密的加密方法,是非可逆的;
常用的公钥加密算法:MD5、SHA1、SHA256、SHA384、SHA512等;
4、认证协议
IKE协议(英特网密钥交换协议):常用来确保虚拟专用网络***与远端网络或者宿主机进行交流时的安全;
SSL( 安全套接字层): 网络通信提供安全及数据完整性的一种安全协议。
TLS(传输层安全): 是仿照SSL制定,用于在两个通信应用程序之间提供保密性和数据完整性。

二、文件加密

为了安全考虑,通常会对一些重要文件进行加密备份或加密保存。

方法一:gzexe加密

方法二:用tar命令 对文件加密压缩和解压

方法三:结合Tar和OpenSSL给文件和目录加密及解密

当有重要的敏感数据的时候,给文件和目录额外加一层保护是至关重要的,特别是当需要通过网络与他人传输数据的时候。基于这个原因,可以用到tar(Linux 的一个压缩打包工具)和OpenSSL来解决的方案。借助这两个工具,你真的可以毫不费力地创建和加密 tar 归档文件。

方法四:shc加密(仅仅对shell脚本加密)

方法五: ZIP加密

方法六:GnuPG加密

三、通信加密

https工作过程:
1、客户端client向服务端server发出请求,要登录https://www.domain.com
2、服务端把已经拥有的证书发送给客户端,该证书内容包括服务端自己的公钥、ca的私钥签名、网站信息、证书有效期;而且该证书已经用数字签名(即使用CA的私钥加密)保证其来源的可靠性
3、客户端信任CA,使用已经获取的CA的公钥进行解密,获取证书中服务端的公钥,此公钥确定是可靠可信的
4、客户端生成随机字符串session key(即会话密钥,也叫对称密钥),使用服务端的公钥加密随机字符串key,传递给服务端
5、服务器使用自己的私钥解密公钥加密的数据,获取key
6、随后,通讯双方即可使用key加密数据进行通讯
 

四、OpenSSL

在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

4.1、基本知识

开源的ssl实现工具,它由三个组件组成,三个组件:
openssl: 多用途的命令行工具
libcrypto: 加密算法库
libssl:加密模块应用库,实现了ssl及tls

4.2、相关命令

openssl enc、openssl dgst、openssl genrsa、openssl rsa 
另外,还有一系列的指令,如: 
enc:通用加密程序,可以使用不同的加密组合完成加密,输入及输出可以通过Base64编码转换。 
dgst:通用邮件文摘,使用f md2, md5, sha (sha-0 or sha-1)或者mdc2等算法。 
rsa:操纵RSA 私钥。 
dsa:操纵DSA 私钥。 
dh:操纵Diffie-Hellman参数文件。 
crt2pkcs7:产生包括了一个crl和证书的pkcs7对象。 
x509:操纵x509证书, “自签”证书。 
req:操纵PKCS#10证书需求,并且产生证书请求。 
genrsa:产生一个任意大小的RSA 私钥。 
genrsa:产生了一组Diffie-Hellman参数。 
ca:从PKCS#10 证书请求产生一个证书,该程序同时维护着所颁发的证书的数据库。 
verify:检测x509证书的签名

五、参考网址

https://www.cnblogs.com/kevingrace/p/8194784.html

https://blog.51cto.com/13574027/2095801

https://blog.csdn.net/u013168176/article/details/82747941

https://blog.51cto.com/dklwj/2175918

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值