对称加密算法:
DES(源于IBM公司):支出64位的加密
3DES:DES的加强版,利用DES连续加密3次
AES:支持128、256、512等不同位数的加密
Blowflsh
Linux中的工具:
openssl enc
gpg(pgp)
公钥加密算法:
RSA,ELGamal:实现加密和签名
DSA:只能实现签名
Linux中的工具:
gpg
openssl rsautl
单向加密算法:
MD5:默认长度为128位
SHA1:默认长度为160位
CRC-32:循环冗余校验码
Linux中的工具:
md5sum
sha1sum
openssl dgst
一、Linux中的openssl
#openssl version #####查看版本
#openssl crl #####证书吊销列表
#openssl speed #####对于某种加密算法的加密速度测试
openssl enc -des3 -salt -a -in plaintest -out ciphertext.des3
-a:输出的为ASCII码
-salt:随机数
#openssl enc -des3 -salt -a -in ./fstab -out fstab.des3
openssl enc -d -des3 -salt -a -in ciphertext.des3 -out FILE
-d:解密
openssl rand [-base64] NUM
-base64:使用base64进行编码,默认输出的是二进制
openssl base64 对某一个数据进行base64编码
#echo -n "RedHat" | openssl base64 #####不要传递换行符
#md5sum test #####计算文件的校验码
#sha1sum test
注:两者长度不同。
openssl dgst -sha1 FILE
#openssl dgst -sha1 test 计算文件的校验码 等同sha1sum test
【1】.公钥加密中:
openssl genrsa SKLONG #####生成密钥
#openssl genrsa 1024 > ./mykey.sec #####生成长度为1024的密钥对,显示的为私钥,并将其保存到mykey.sec中,公钥是从私钥中提取出来的
openssl genrsa -des3 -out SECRET.FILE 1024
-out:生成后保存到哪
"1024":指密钥长度
#openssl genrsa -des3 -out ./mysk.sec 1024 #####直接保存到mysk.sec
#openssl genrsa -in ./mysk.sec -des3 -out ./myk.sec #####生成后对其进行加密
提取公钥:
#openssl rsa -in ./mykey.sec -pubout #####不输入保存到哪个文件,则输出到屏幕上
注:保存密钥的文件的权限应该是600或者400。
在一个子shell中执行一个命令使用()括起来
#(umask 077;openssl genrsa 1024 > ./mykey.sec)