您好,登錄后才能下訂單哦!
這篇文章主要為大家分析了如何進行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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。