这篇文章主要为大家分析了如何进行OpenSSL基础中的加密及解密的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行OpenSSL基础中的加密及解密”的知识吧。
说到OpenSSL,首先要提的是SSL。我们在日常上网的时候,恐怕没有人愿意被网络上的其他人监听到我们的上网行为。因此就需要一种协议为我们的网络通信保驾护航。SSL协议就是基于这样的工作背景开发的,它能使用户跟服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,可选择的对用户进行认证。
SSL协议通常建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的保密性。
s所谓加密,只不过是将明文通过某种机制转换成密文,网络通信时,使用的加密安全机制有:对称加密,公钥加密,单向加密。
对称加密的特性与缺陷:加密解密使用同一个密钥,将明文分割成固定大小的块,逐个进行加密。其缺陷在于通信双方要管理的密钥过多,而且密钥分发困难。其加密算法有:DES、3DES、AES。
公钥加密的特性:密钥成对出现,其加密算法有:RSA、DSA。其用途有:一是用于身份认证:发送方使用自己的私钥加密数据,接收方使用与之公钥解密;二是用于密钥交换:发送方使用接收方的公钥加密数据,接收方使用自己的私钥解密。公钥在私钥中提取出来
单向加密的特性:定向输出,有雪崩效应。其加密算法有:MD5、SHA1、SHA256、SHA384、SHA512。常用于提取数据的特征码。
今年4月10号安全协议OpenSSL爆出本年度最严重的安全漏洞“心脏出血”。使人们开始重视这个开源协议。那么OpenSSL到底是什么呢?其实OpenSSL可以看作是SSL的库,由openssl多用途的命令行工具、公共加密库libcrypto、以及ssl协议库libssl三大组件组成。
openssl多用途的命令行工具可用于实现对称加密:
openssl enc -e -对称加密算法 -a -salt -in 需要加密的文件 -out 加密后的文件输出路径
例如,对/etc/fstab这个文件使用DES3算法加密: openssl enc -e -des3 -a -salt -in /etc/fstab -out /tmp/fstab
加密结果:
解密:openssl enc -d -对称加密算法 -a -salt -in 需要解密的文件 -out 解密后的文件输出路径
例如,将上面加密的文件解密: openssl enc -d -des3 -a -salt -in /tmp/fstab -out /tmp/Fstab
解密结果:
还可以用于公钥加密中的密钥交换:(umask 077;openssl genrsa -out 输出私钥文件路径)
从私钥中提取公钥: openssl rsa -in 私钥文件路径 -pubout
注:()表示命令在子shell中执行,umask 077 保证了私钥文件的访问权限
还可用于单向加密:openssl dgst -md5|-sha1 -out 文件输出路径 要加密的文件
例如,将/etc/passwd使用md5加密:openssl dgst -md5 -out /tmp/md5passwd /etc/passwd
还可以用于生成用户密码: openssl passwd -1 -salt SALT_STRING 用户密码
还可以用于生成随机数:openssl rand -hex 字节数
这篇文章主要为大家分析了如何进行OpenSSL基础中的加密及解密的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行OpenSSL基础中的加密及解密”的知识吧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。