淺談加密技術
1、加密演算法術語
假設我們將ABCD中的每個字母替換為其後的第二個字母,例如A替換為C,最終ABCD替換為CDEF.
明 文:ABCD
加密演算法:字母替換
密 鑰:每個字母替換為其後的第二個字母
密 文:CDEF
加 密:ABCD –> CDEF
解 密:CDEF –> ABCD
2、加密演算法分類
加密演算法分為對稱加密演算法(私鑰加密)和非對稱加密演算法(公鑰加密)
2.1、對稱加密演算法(私鑰加密)
加密解密使用相同的金鑰。
DES(Data Encryption Standard)
DES加密共有三種形式,分為DES(40-bit長度加密),DES(56-bit長度加密)以及3DES(3倍的56-bit長度加密,即168-bit長度加密)
AES(Advanced Encryption Standard)
AES加密共有三種形式,分為AES 128(128-bit長度加密),AES 192(192-bit長度加密)以及AES 256(256-bit長度加密)
2.2、非對稱加密演算法(公鑰加密)
加密解密使用不同的金鑰,加密時使用的金鑰稱為公鑰,解密時使用的金鑰稱為私鑰,公鑰用於加密,私鑰用於解密。
其基本思想是:甲將公鑰傳送給乙,乙用公鑰加密資料後,將資料傳送給甲,其他人即使截獲了資料,因為沒有金鑰,也無法獲取資料的內容。
RSA公鑰加密演算法的名字是發明者的人名:Rivest, Shamir and Adleman,該演算法的長度位數不定,由人手工定義。
3、加密演算法選擇
公鑰加密演算法雖然相對私鑰加密演算法安全,但是其速度叫私鑰加密演算法慢。所以通常的做法是,先使用公鑰加密演算法安全傳送私鑰加密演算法的金鑰後,再使用私鑰加密演算法就行資料加密。此種做法在保證金鑰安全的同時加快了資料加密的速度。
4、Hash演算法
資料傳送前計算出相應的Hash值,接收者收到資料後也計算Hash值,如果兩者不一致,說明資料在傳輸過程中被篡改了。Hash演算法的特徵在於任何大小的資料計算出的Hash值的長度都是一樣的,僅僅是根據Hash值,是無法推算出資料內容的,無法將資料內容還原。Hash多用於認證,認證對等體雙方在相互認證時,只需要交換密碼的Hash值即可,而無需交換密碼,從而防止了密碼被竊取。
MD5(Message Digest 5)
將任何資料通過計算後輸出128-bit長度的Hash值。
SHA-1(Secure Hash Algorithm 1)
160-bit digest將任何資料通過計算後輸出160-bit長度的Hash值。
本文轉自開源殿堂 51CTO部落格,原文連結:http://blog.51cto.com/kaiyuandiantang/1694695,如需轉載請自行聯絡原作者
相關文章
- 淺談併發加鎖
- 淺談被加殼ELF的除錯除錯
- 淺談:js後加?v=版本號的原因JS
- 現代加密技術加密
- 資訊加密技術加密
- 古老的加密技術加密
- 淺談程序隱藏技術
- 淺談被加殼ELF檔案的DUMP修復
- 淺談動態追蹤技術
- 資訊加密技術簡介加密
- PHP常見的加密技術PHP加密
- Python 程式碼混淆和加密技術Python加密
- 淺淺談ReduxRedux
- 得物技術淺談深入淺出的Redis分散式鎖Redis分散式
- 淺談LocalCache | 京東雲技術團隊
- 技術分享 | 淺談一下大頁
- 淺談RASP技術攻防之基礎篇
- Laikelib淺談區塊鏈技術架構AI區塊鏈架構
- 淺談橫拍長膠乒乓球技術戰術分析
- 非對稱加密技術:共享祕鑰加密
- 詳細解析DES系列加密技術(二)加密
- 詳細解析DES系列加密技術(一)加密
- 淺淺淺談JavaScript作用域JavaScript
- 一文淺談“讀寫分離”技術
- 技術分享| 淺談排程平臺設計
- 淺談WebSocketWeb
- 淺談HTMLHTML
- ZooKeeper淺談
- ElasticJob淺談AST
- 淺談flutterFlutter
- 淺談JMM
- Celery淺談
- 淺談JavaScriptJavaScript
- 淺談IHttpHandlerHTTP
- 淺談HTTPSHTTP
- 淺談RMQMQ
- 淺談 PromisePromise
- 淺談mockMock
- 淺談ViewModelView