1. 程式人生 > >openssl加密原理

openssl加密原理

SSL是SecureSocketLayer(安全套接層協議)的縮寫,可以在Internet上提供祕密性傳輸。Netscape公司在推出第一個Web瀏覽器的同時,提出了SSL協議標準,目前已有3.0版本。SSL採用公開金鑰技術。其目標是保證兩個應用間通訊的保密性和可靠性,可在伺服器端和使用者端同時實現支援。目前,利用公開金鑰技術的SSL協議,已成為Internet上保密通訊的工業標準。安全套接層協議能使使用者/伺服器應用之間的通訊不被攻擊者竊聽,並且始終對伺服器進行認證,還可選擇對使用者進行認證。SSL協議要求建立在可靠的傳輸層協議(TCP)之上。SSL協議的優勢在於它是與應用層協議獨立無關的,高層的應用層協議(例如:HTTP,FTP,TELNET等)能透明地建立於SSL協議之上。SSL協議在應用層協議通訊之前就已經完成加密演算法、通訊金鑰的協商及伺服器認證工作。在此之後應用層協議所傳送的資料都會被加密,從而保證通訊的私密性。
通過以上敘述,SSL協議提供的安全通道有以下三個特性:
1、資料的保密性資訊加密就是把明碼的輸入檔案用加密演算法轉換成加密的檔案以實現資料的保密。加密的過程需要用到金鑰來加密資料然後再解密。沒有了金鑰,就無法解開加密的資料。資料加密之後,只有金鑰要用一個安全的方法傳送。加密過的資料可以公開地傳送。
2、資料的完整性加密也能保證資料的一致性。例如:訊息驗證碼(MAC),能夠校驗使用者提供的加密資訊,接收者可以用MAC來校驗加密資料,保證資料在傳輸過程中沒有被篡改過。
3、安全驗證加密的另外一個用途是用來作為個人的標識,使用者的金鑰可以作為他的安全驗證的標識。SSL是利用公開金鑰的加密技術(RSA)來作為使用者端與伺服器端在傳送機密資料時的加密通訊協定。
OpenSSL概述

目前比較流行的認證伺服器之一是OpenSSL認證伺服器,是SSL的開源實現,是基於會話的、實現了身份認證、資料機密性和會話完整性的TLS/SSL庫。它還可以幫我們實現私有證書頒發等功能。OpenSSL專案在EricYoung開發的SSLeay包的基礎上,開發一個健壯的、商業等級的、開放原始碼的工具包用強大的加密演算法來實現安全的socket層和傳輸層安全性,這個專案由全世界的志源者管理和開發OpenSSL工具包和相關的文件。它提供了眾多而且複雜的API函式,可惜的是,目前它的文件不全,只能夠程式設計師自已多做工作。它的網址是:http://www.openssl.org  

對稱加密演算法:
OpenSSL一共提供了8種對稱加密演算法,其中7種是分組加密演算法,僅有的一種流加密演算法是RC4。這7種分組加密演算法分別是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支援電子密碼本模式(ECB)、加密分組連結模式(CBC)、加密反饋模式(CFB)和輸出反饋模式(OFB)四種常用的分組密碼加密模式。其中,AES使用的加密反饋模式(CFB)和輸出反饋模式(OFB)分組長度是128位,其它演算法使用的則是64位。事實上,DES演算法裡面不僅僅是常用的DES演算法,還支援三個金鑰和兩個金鑰3DES演算法。

非對稱加密演算法

OpenSSL一共實現了4種非對稱加密演算法,包括DH演算法、RSA演算法、DSA演算法和橢圓曲線演算法(EC)。DH演算法一般使用者金鑰交換。RSA演算法既可以用於金鑰交換,也可以用於數字簽名,當然,如果你能夠忍受其緩慢的速度,那麼也可以用於資料加密。DSA演算法則一般只用於數字簽名。

以上內容來自百度百科openssl和查詢整理,主要作為參考定義展現給大家。。。絕無侵權之意如有雷同純屬巧合。。。

下面主要介紹ssl原理,openssl加密使用,頒發證書的實驗實現過程。

SSL協議的工作流程(ssl原理):
伺服器認證階段:1)客戶端向伺服器傳送一個開始資訊(例如“你好,在嗎?”)以便開始一個新的會話連線;2)伺服器根據客戶的資訊確定是否需要生成新的主金鑰,如需要則伺服器在響應客戶的(“你好,在嗎?”)資訊時將包含生成主金鑰所需的資訊;3)客戶根據收到的伺服器響應資訊,產生一個主金鑰,並用伺服器的公開金鑰加密後傳給伺服器;4)伺服器恢復該主金鑰,並返回給客戶一個用主金鑰認證的資訊,以此讓客戶認證伺服器。
使用者認證階段:在此之前,伺服器已經通過了客戶認證,這一階段主要完成對客戶的認證。經認證的伺服器傳送一個提問給客戶,客戶則返回(數字)簽名後的提問和其公開金鑰,從而向伺服器提供認證。
SSL會話的建立是基於IP地址實現的。

本次試驗實驗採用的是依然是redhat5.8
首先安裝openssl,( yum install openssl)本人採用的版本是openssl-0.9.8e-22.e15.i386.rpm (可以通過rpm -q openssl檢視本機安裝版本) 目前官方已更新到OpenSSL 1.0.1c ,請各位學者參考學習編譯安裝使用。。。

可以使用rpm -ql openssl檢視openssl生成的各種檔案
其中首先說明一下redhat上的openssl的配置檔案放在/etc/pki/tls/openssl.cnf

openssl 對檔案的加密及解密:


相關推薦

openssl加密原理

SSL是SecureSocketLayer(安全套接層協議)的縮寫,可以在Internet上提供祕密性傳輸。Netscape公司在推出第一個Web瀏覽器的同時,提出了SSL協議標準,目前已有3.0版本。SSL採用公開金鑰技術。其目標是保證兩個應用間通訊的保密性和可靠性,可在伺服器端和使用者端同時實現支援。目前

簡述加密原理

image 加密 alt mage logs .cn 簡述 原理 log 簡述加密原理

android黑科技系列——分析某直播App的協議加密原理以及調用加密方法進行協議參數構造

輸出結果 防護 返回 不能 定義類 多個 類型 所在 文件中 一、前言 隨著直播技術火爆之後,各家都出了直播app,早期直播app的各種請求協議的參數信息都沒有做任何加密措施,但是慢慢的有人開始利用這個後門開始弄刷粉關註工具,可以讓一個新生的小花旦分分鐘變成網紅。所以介於

淺談遠程登錄時,ssh的加密原理

回車 直接 phrase 允許 輸入密碼 tar continue 兩種 left 登錄方式主要有兩種: 1、基於用戶密碼的登錄方式: 加密原理: 當服務器知道用戶請求登錄時,服務器會把自己的公鑰發給用戶,ssh會將服務器的公鑰存放在客戶端的~/.ssh/

http加密原理

加密算法 私鑰 支持 列表 如果 是否 通信 log 解密 HTTPS原理 客戶端向服務器發送請求 服務器向客戶端發送自己的證書 客戶端驗證證書的有效性(是否是可信用機構CA頒發的證書,如果不是則提出警告)並對比裏面信息是否正確,不通過則立刻斷開連接 向服務器端發送自己的

Linux - openssl 加密

log cbc base64 base fish lena AR fis 解碼 openssl rand 15 -base64 # 口令生成 openssl sha1 filename # 哈希算法校驗文件 openssl

PHP的openssl加密擴展使用小結

aes 參數 else 安全 非對稱加密 使用curl log div 接口 引言 互聯網的發展史上,安全性一直是開發者們相當重視的一個主題,為了實現數據傳輸安全,我們需要保證:數據來源(非偽造請求)、數據完整性(沒有被人修改過)、數據私密性(密文,無法

openssl基本原理 + 生成證書 + 使用實例

例子 概念 sta pan info create 公司 style 可能 ------轉載自 https://blog.csdn.net/oldmtn/article/details/52208747 【oldmtn】 1. 基本原理 參考:http://www.cn

openssl基本原理 + 生成證書 + 使用實例-測試場景使用

ctr 基本原理 sha cursor 應用 1.4 x509證書 ica acer 1. 基本原理參考:http://www.cnblogs.com/phpinfo/archive/2013/08/09/3246376.html== Begin http://www.cn

淺談常用視頻加密原理加密的幾種應用形式

課程 所有 客戶 直接 無限 最終 技術 網頁 現在 一、視頻加密視頻加密是對某些自有版權的視頻進行加密處理,用戶只有在一定的條件下才能獲得視頻的觀看權。比如對於教育視頻加密後,只有學員才能觀看,每個學員都有自己的唯一賬號。或者說設定在一定的時間內可以無限次觀看,還有就是不

javascript與php實現openssl加密/解密

var method utf8 加密 Opens ole u+ php_eol 下載 javascript:a. 下載: npm install crypto-js b. 代碼: var CryptoJS = require("crypto-js") // 加密 var

Openssl加密解密應用

1,對稱加密 (1)複製fstab至當前目錄,測試加密過程 [[email protected] ~]# cp /etc/fstab ./   加密fstab至 fstab.ciphertext檔案(設定機密密碼) [[email protected] ~]# op

phpcms v9 sys_auth函式加密原理

基本原理 假設變數$a,$b,$c=$a^$b(變數a異或變數b), 所以我們有$a=$b^$c   ,  $b=$a^$c 以上是異或邏輯的應用,(題外話:如何在不使用第3個變數的情況下,交換變數$a,$b的值呢?) 迴歸正題: 瞭解了下的內容後

AES內部加密原理

0x01 AES概述 高階加密標準(Advanced Encryption Standard,縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄

zip偽加密原理及操作

原理:一個zip檔案由三部分組成:壓縮原始檔資料區+壓縮原始檔目錄區+壓縮原始檔目錄結束標誌。 例項 壓縮原始檔資料區: 50 4B 03 04:這是標頭檔案標記(0x04034b50)  14 00:解壓檔案所需 pkware 版本  00 00:全域性方式位標記(

詳細瞭解加密狗的加密原理

在當今中國市場上最主要的加密鎖品牌有:  1、美國彩虹公司(也是最早做硬體加密的公司)的國產品牌“加密狗”、美國品牌“聖天諾軟體加密鎖”;  2、阿拉丁的“HASP”系列加密鎖;  3、德國威博公司的“WBU-KEY”加密鎖;  4、深思洛克的“深思加密鎖”;  5、藍宇風公

離散對數和橢圓曲線加密原理

序言 現代公鑰加密系統中,常用的加密演算法除了RSA還有離散對數加密和橢圓曲線加密。這兩者原理比較相似,在這裡一併介紹。 離散對數問題 我們在中學裡學的對數問題是指, 給定正實數aa和axax,求xx。也就是計算x=logaaxx=lo

數字證書原理,公鑰私鑰加密原理

文中首先解釋了加密解密的一些基礎知識和概念,然後通過一個加密通訊過程的例子說明了加密演算法的作用,以及數字證書的出現所起的作用。接著對數字證書做一個詳細的解釋,並討論一下windows中數字證書的管理,最後演示使用makecert生成數字證書。如果發現文中有錯誤的地方,或

openssl基本原理 + 生成證書 + 使用例項

1. 基本原理 參考:http://www.cnblogs.com/phpinfo/archive/2013/08/09/3246376.html == Begin http://www.cnblogs.com/phpinfo/archive/2013/08/09/3246

md5加密原理簡單解釋

本文將通過漫畫的形式來通俗易懂的講述什麼是MD5加密演算法(Message Digest Algorithm MD5(中文名為訊息摘要演算法第五版)),MD5加密演算法的底層原理以及MD5加密演算法的破解演算法方法。 摘要雜湊生成的正確姿勢是什麼樣呢?分三步: 1.收集相關