加密与解密

对称加密算法:DES,AES
非对称加密算法:RSA,DSA
md5加密,sha加密都是根据内容进行加密,只要内容不变加密的结果就不会改变,通常用于校验。

gpg加密工具:
提供对称加密,非对称加密,数字签名。

gpg --version	#查看版本和提供的加密算法
rpm -qf /usr/bin/gpg	#查看由哪个软件包提供gpg命令(gnupg2-2.0.22-4.el7.x86_64)

#	现在有两个用户A,B
# A是发送数据的一方,B是接受数据的一方
	
1、对称加密:
	A:(加密,发送数据)
	①:gpg -c ./test.txt	#输入命令后进入交互模式进行配置,需要定义一个密码
	# 加密以后会产生一个以.gpg结尾的文件,这个文件是加密过的文件
	②:B把数据发送给A,可以通过scp发送

	B:(进行解密)
	gpg -d ./test.txt.gpg > test.txt	#这里会使用加密定义的密码


2、非对称加密:(需要使用秘钥对)
	过程:
	接收方(B)生成秘钥对,把公钥发送给发送方(A)
	发送方(A)使用公钥对数据加密,然后把数据发送给接收方(B)
	接收方(B)使用私钥对数据进行解密

	B:(生成秘钥对,导出公钥,发送公钥)
	①:生成秘钥对
	mv /etc/random /etc/random.bak
	ln -s /dev/urandom /etc/random	#使用urandom产生随机数
	gpg --gen-key	#生成秘钥对,在生成的过程中需要使用到urandom,会让定义一个用户
	# 生成的秘钥对在 ~/.gnupg/目录下
	# pubring.gpg是公钥
	# secring.gpg是私钥
	②:导出公钥
	gpg --export -a > userB.pub
	③:把公钥发送给A
	scp ./userB.pub root@192.168.4.50:/

	A:(导入公钥,创建数据并加密,发送数据)
	①:导入公钥
	gpg --import /userB.pub	#导入公钥
	# 公钥导入后,在~/.gnupg/目录下
	②:加密:
	gpg -e -r 用户 ./test.txt	#加密,用户是创建秘钥对的时候定义的
	# 加密以后会产生一个以.gpg结尾的文件,这个文件是加密过的文件
	③:发送数据给B
	scp ./test.txt.gpg root@192.168.4.5:/
	
	B:(使用秘钥解密)
	gpg -d ./test.txt.gpg > test.txt	#解密,需要使用密码


3、gpg数字签名:(通过公钥和私钥验证数据完整性)
	使用私钥创建签名,用公钥进行验证
	B为发送方(已创建秘钥对),A为接收方(已导入公钥)
	
	B:
	gpg -b a.txt	#创建数字签名,需要使用定义秘钥对时的密码
	# 创建签名完毕以后,会产生一个a.txt.sig的签名文件
	# B需要提供:a.txt,a.txt.sig

	A:
	gpg --verify a.txt.sig	#使用公钥进行校验
	# 如果a.txt没有被修改则验证成功
	# 如果a.txt被修改了,则验证失败

写总结的第五十九天!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值