加密与安全1

对称加密算法

对称加密:加密和解密使用同一个密钥

DES:Data Encryption Standard,56bits
3DES:
AES:Advanced (128, 192, 256bits)
Blowfish,Twofish
IDEA,RC6,CAST5

特性:

1、加密、解密使用同一个密钥,效率高
2、将原始数据分割成固定大小的块,逐个进行加密

缺陷:

1、密钥过多
2、密钥分发
3、数据来源无法确认

非对称加密算法

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

缺点:密钥长,加密解密效率低下

算法:

RSA(加密,数字签名)
DSA(数字签名)
ELGamal

基于一对公钥/密钥对

•用密钥对中的一个加密,另一个解密

实现加密:

•接收者
	生成公钥/密钥对:P和S
	公开公钥P,保密密钥S
•发送者
	使用接收者的公钥来加密消息M
	将P(M)发送给接收者
•接收者
	使用密钥S来解密:M=S(P(M))

实现数字签名:

•发送者
	生成公钥/密钥对:P和S
	公开公钥P,保密密钥S
	使用密钥S来加密消息M
	发送给接收者S(M)
•接收者
	使用发送者的公钥来解密M=P(S(M))

单向散列

将任意数据缩小成固定大小的“指纹”
	•任意长度输入
	•固定长度输出
	•若修改数据,指纹也会改变(“不会产生冲突”)
	•无法从指纹中重新生成数据(“单向”)
常见算法
	md5: 128bits、sha1: 160bits、sha224 、sha256、sha384、sha512
	常用工具
	•md5sum | sha1sum [ --check ] file
	•openssl、gpg
	•rpm -V

使用gpg实现对称加密

对称加密file文件
	gpg -c file
	ls file.gpg
在另一台主机上解密file
	gpg -o file -d file.gpg

使用gpg工具实现公钥加密

在hostB主机上用公钥加密,在hostA主机上解密	
在hostA主机上生成公钥/私钥对
	gpg --gen-key
在hostA主机上查看公钥
	gpg --list-keys
在hostA主机上导出公钥到wang.pubkey
	gpg -a --export -o wang.pubkey
从hostA主机上复制公钥文件到需加密的B主机上
	scp wang.pubkey hostB
在需加密数据的hostB主机上生成公钥/私钥对
	gpg --list-keys
	gpg --gen-key
在hostB主机上导入公钥
	gpg --import wang.pubkey
	gpg --list-keys
用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg
	gpg -e -r wangxiaochun file
	file file.gpg
复制加密文件到hostA主机
	scp fstab.gpg hostA:
在hostA主机解密文件
	gpg -d file.gpg
	gpg -o file -d file.gpg
删除公钥和私钥
	gpg --delete-keys 
	gpg --delete-secret-keys 
发布了39 篇原创文章 · 获赞 2 · 访问量 1053

猜你喜欢

转载自blog.csdn.net/weixin_45341507/article/details/102960608