加密的需求
。可疑的未加密的流量
。监听密码/数据
。数据操作
。认证操作
。雷同于邮寄一个信用卡
。之前的不安全协议
。telnet,FTP,POP3......:对密码不安全
。sendmail,NFS,NIS......对信息不安全
。rsh,rcp......:对认证不安全
。随机数生成器 。单向散列hash 。对称算法 。非对称(公钥)算法 。公钥架构 。数字签名 。实现: 。openssl,gpg #openssl #接上面命令之后输入help #man md5看md5用法
随机数生成器
。伪随机数和源 。键盘和鼠标事件 。块设备终端 。内核提供源 。/dev/random: 。最好的源 。当池耗尽时停止 。/dev/urandom: 。伪随机生成器 openssl rand [-base64] num
由于/dev/random产生随机数不多,建议以后使用urandom,可以将原来的/dev/random移除,之后ln -s /dev/urandom /dev/random来创建快捷方式
使用random测试是否能创建给定数值的文件
#dd if=/dev/random of=./1024.txt bs=1 count=1024
#cat < /dev/urandom //将urandom作为输入设备查看生成随机数
#cat < /dev/random //测试random产生的随机数
#openssl rand help 等同于#openssl #rand help
单向Hash散列
。大量的数据较少为小的“指纹”
。不同长度的输入
。固定长度输出
。如果数据更改了,指纹也改变(“不冲突”)
。数据不能通过指纹重新生成(“单向的”)
。常用算法
。md2,md5,mdc2,rmd160,sha,sha1
。常用工具
。sha1sum [--check] file
。md5sum [--check] file
。openssl,gpg
。rpm -V
操作:
#cat ./passwd | openssl sha1 //查看文件的sha1值 #sha1sum ./passwd //使用sha1算法查看passwd文件的校验值 #md5sum ./passwd //使用md5检验passwd文件的值 #cat ./passwd | openssl md5 //查看文件的md5值 Linux rpm包 #rpm -qf /etc/yum.conf #rpm -V yum //查看yum是否报错 #vim /etc/yum.conf //随便修改一个值 #rpm -V yum //查看是否报错校验初始结果。 微软 HashCalc软件
对称加密
。基于单个秘钥
。同时用在加密和解密中
常见算法
。DES,3DES,Blowfish,RC2,RC4,RC5,IDEA,CAST5
。常见工具
。passwd(修改后的DES)
。gpg(3DES,CAST5,Blowfish)
。openssl
#openssl --help
#openssl base64 -in passwd -out passwd.enc //将passwd文件使用base64算法加密
#openssl base64 -d -in passwd.enc -out passwd //将passwd.enc解密
#openssl des3 -in passwd -out passwd.des3 //使用des3加密,需要输入密码
#openssl des3 -d -in passwd.des3 //显示在屏幕,解密也需要输入密码
非对称加密I
。基于 公/私钥对
。什么是密钥加密,什么是解密
。协议I:加密的密钥不同步
。接受者
。生成公/私钥对:P和S
。发布公钥P,保护好私钥S
。发送者
。使用接受者的公钥加密信息
。发送P(M)给接受者
。接受者
。使用密钥解密回复消息:M=S(P(M))
RSA,DSA
非对称机密II
。协议II:数字签名
。发送者
.生产 公/私密钥对:P和S
.发布公钥P,保护好私钥S
.使用私钥S加密消息M
.发送给接收方S(M)
。接收方
.使用发送者的公钥 解密发送的M=P(S(M))
.组合签名和加密
.分离签名
GNU(gnu private guide)
#gpg --help #gpg -e //e参数加密,d参数解密,其他的参考帮助文档 #gpg --gen-key 提示选择1 提示选择2048 提示输入2y 提示输入y realname :yangkun email address:hongjinping@egoonet.com comment:server128 提示输入ok enter passphrase:test #gpg --list-keys #gpg --export --armor >server128.key 客户端B操作 #gpg --import server128.key //导入key #gpg --list-kys #gpg -e -r yangkun ./myrule.txt
此章节内容需要查找相关文档补充后续时间操作。。。
原文:https://www.cnblogs.com/hongjinping/p/13154809.html