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


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


加密解密过程

linux中DES加密命令_开发工具


openssl的介绍和使用
openssl:开源的ssl实现工具,它由三个组件组成
三个组件:
openssl: 多用途的命令行工具
libcrypto: 加密算法库
libssl:加密模块应用库,实现了ssl及tls
相关命令: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证书的签名

加密:

1、对称加密:

openssl enc -e -des3 -in FILE -out FILE :-e表示加密,-des3表示加密算法,注意由于加密的文件一般其他人没有任何权限,在不改变当前环境的情况下,使用(command)来实现在子shell中设定umask,然后按提示输入密钥即可

linux中DES加密命令_操作系统_02


2、单向加密

openssl dgst -md5 testfile:

linux中DES加密命令_操作系统_03


3、非对称加密
生成私钥:
openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
(umask066; opensslgenrsa-out key.pri–des 2048)
从私钥中提取出公钥:
openssl rsa -in PRIVATEKEYFILE –pubout –out PUBLICKEYFILE



转载于:https://blog.51cto.com/13574027/2095801