什麼是私有金鑰密碼技術——金鑰加密演算法採用同一把金鑰進行加密和解密
什麼是私有金鑰密碼技術
私有金鑰(Symmetric Key),又叫對稱金鑰。金鑰加密演算法採用同一把金鑰進行加密和解密。它的優點是加密和解密速度非常快,但金鑰的分發和管理比較困難。資訊的傳送者和接收者必須明確同一把金鑰。因此,必須進行金鑰交流,這通常需要其他更安全的通道來傳送金鑰。另外,每一對使用者都需要有自己的一個獨一無二的金鑰。因此,如果一個傳送者與很多人通訊,就需要管理很多金鑰。主要的對稱金鑰加密演算法有DES、3DES、RC2、RC4、RC5、Blowtish和CAST等。在VPN中常用的有DES和3DES。DES是一個分組加密演算法,它利用56位金鑰對64位的分組進行資料加密。64位一組的明文從演算法的一端輸入,64位一組的密文從另一端輸出。加密和解密用的是同一個演算法。3DES利用3個金鑰加密3次,但速度要慢得多。
對稱(傳統)密碼體制是從傳統的簡單換位,代替密碼發展而來的,自1977年美國頒佈DES密碼演算法作為美國資料加密標準以來,對稱金鑰密碼體制得到了迅猛地發展,在世界各國得到了關注和使用。對稱金鑰密碼體制從加密模式上可分為序列密碼和分組密碼兩大類。
1、序列密碼
序列密碼一直是作為軍事和外交場合使用的主要密碼技術之一,它的主要原理是,通過有限狀態機產生效能優良的偽隨機序列,使用該序列加密資訊流,(逐位元加密)得到密文序列,所以,序列密碼演算法的安全強度完全決定於它所產生的偽隨機序列的好壞。衡量一個偽隨機序列好壞的標準有多種,比較通用的有著名的Golamb的三個條件,Rueppel的線性複雜度隨機走動條件,線性逼近以及產生該序列的布林函式滿足的相關免疫條件等。
產生好的序列密碼的主要途徑之一是利用移位暫存器產生偽隨機序列, 典型方法有:
反饋移位暫存器:採用n階非線性反饋函式產生大週期的非線性序列,例如M序列,具有較好的密碼學性質,只是反饋函式的選擇有難度,如何產生全部的M序列至今仍是世界難題。
利用線性移位暫存器序列加非線性前饋函式,產生前饋序列,如何控制序列相位及非線性前饋函式也是相當困難的問題,Bent序列就是其中一類好的序列,我國學者對反饋序列和前饋序列的研究都取得了相當多的成果。
鍾控序列,利用一個暫存器序列作為時鐘控制另一暫存器序列(或自己控制自己)來產生鍾控序列,這種序列具有大的線性複雜度。 組合網路及其他序列,通過組合運用以上方法,產生更復雜的網路,來實現複雜的序列,這種序列的密碼性質理論上比較難控制。 利用混沌理論,細胞自動機等方法產生的偽隨機序列。
對序列密碼攻擊的主要手段有代數方法和概率統計方法,兩者結合可以達到較好的效果。目前要求暫存器的階數大於100階,才能保證必要的安全。
序列密碼的優點是錯誤擴充套件小,速度快,利於同步,安全程度高。
2、分組密碼
分組密碼的工作方式是將明文分成固定長度的組(塊),如64位元一組 ,用同一金鑰和演算法對每一塊加密,輸出也是固定長度的密文。例如DES密碼演算法的輸入為64位元明文,金鑰長度56位元,密文長度64位元。
設計分組密碼演算法的核心技術是:在相信複雜函式可以通過簡單函式迭代若干圈得到的原則下,利用簡單圈函式及對合等運算,充分利用非線性運算。以DES演算法為例,它採用美國國家安全域性精心設計的8個S-Box 和P-置換,經過16圈迭代,最終產生64位元密文,每圈迭代使用的48位元子金鑰是由原始的56位元產生的。
DES演算法加密時把明文以64bit為單位分成塊,而後用金鑰把每一塊明文轉化成同樣64bit的密文塊。DES可提供72,000,000,000,000,000個金鑰,用每微秒可進行一次DES加密的機器來破譯密碼需兩千年。採用DES的一個著名的網路安全系統是Kerberos,由MIT開發,是網路通訊中身份認證的工業上的事實標準。
DES(或其他分組密碼)演算法的使用方式有4種,電子密本(ECB), 密碼分組連結(CBC),輸出反饋(OFB)和密文反饋(CFB)。
DES的金鑰存在弱金鑰,半弱金鑰和互補金鑰,選擇金鑰時要注意這些問題。DES受到的最大攻擊是它的金鑰長度僅有56位元,強力攻擊的代價低於1000萬美元,1990年S.Biham 和 A.Shamir提出了差分攻擊的方法,採用選擇明文247攻擊,最終找到可能的金鑰,M.Matsui 提出的線性分析方法,利用243個已知明文,成功地破譯了16圈DES演算法,到目前為止,這是最有效的破譯方法。
基於以上弱點,人們將DES演算法作了多種變形,三重DES方式,獨立子金鑰方法,可變的S-Box及其使用次序以及推廣的GDES等。這些改變有些是增強了密碼演算法的安全性,有些作用不大,有些還削弱了DES的安全性。
自從DES演算法頒佈以來,世界各地相繼出現了多種密碼演算法,之所以出現這些演算法,有政治原因和技術原因,各國在商用方面都需要自己設計的密碼演算法,不能依靠外國的演算法,又因為DES演算法的弱點和軟體實現中面臨的位操作及大量的置換,設計壽命僅有5年,所以必須設計出更高強度的密碼演算法,以代替DES,這些演算法有:
LUCIFER演算法,Madryga演算法,NewDES演算法,FEAL-N演算法,REDOC演算法, LOKI演算法,KHUFU演算法, KHAFRE演算法,RC2及RC4演算法,IDEA演算法, MMB演算法,CA-1.1演算法,SKIPJACK演算法,Karn 演算法以及MDC演算法等。其中多數演算法為專利演算法。以上這些演算法有些已經遭到了破譯,有些安全強度不如DES,有些強度高於DES,有些強度不明,還有待於進一步分析。其中安全強度高於DES演算法的如RC2及RC4演算法,IDEA演算法, SKIPJACK演算法等。
總之,因為對稱金鑰密碼系統具有加解密速度快,安全強度高等優點,在軍事,外交以及商業應用中使用越來越普遍。
本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/bonelee/p/7072858.html,如需轉載請自行聯絡原作者
相關文章
- C# Rsa加密(私鑰加密、公鑰解密、金鑰格式轉換、支援超大長度分段加密)C#加密解密
- 在 Linux 中用Seahorse管理你的密碼和加密金鑰Linux密碼加密
- 雲端計算安全需要將加密金鑰進行控制加密
- vmware金鑰最新版 vmware金鑰大全
- office 2010 金鑰 office 2010永久的金鑰
- win10恢復金鑰id是什麼意思 win10恢復金鑰id獲得密碼教程Win10密碼
- bitlocker解密(不知道金鑰)解密
- 金鑰,私鑰,公鑰的區分
- Codeigniter 利用加密Key(金鑰)的物件注入漏洞加密物件
- 探討NET Core資料進行3DES加密或解密弱金鑰問題3D加密解密
- vmware虛擬機器許可證金鑰大全 vmware許可證金鑰是什麼虛擬機
- server2003安裝金鑰 server金鑰序列號Server
- office產品金鑰大全 office產品金鑰分享
- 寫給開發人員的實用密碼學(六)—— 對稱金鑰加密演算法密碼學加密演算法
- 私鑰和公鑰到底是誰來加密、誰來解密?加密解密
- 資料加密 第四篇:對稱金鑰加密
- vs2015金鑰專業版企業版金鑰大全 visual studio產品金鑰2015
- 陪玩app原始碼,加密演算法中金鑰生成和讀取一覽APP原始碼加密演算法
- Shade(Troldesh)勒索宣佈停運並放出解密金鑰,附75萬金鑰下載解密
- bitlocker如何恢復金鑰 bitlocker恢復金鑰的方法
- bandizip註冊產品金鑰 bandizip金鑰使用步驟
- mindmaster啟用碼|mindmaster啟用金鑰AST
- 獲取安卓中加密資料庫的金鑰安卓加密資料庫
- 資料加密 第五篇:非對稱金鑰加密
- DaVinci Resolve Studio 18 v18.6金鑰版 達芬奇18啟用金鑰
- oracle 隱式金鑰Oracle
- gitlab配置ssh金鑰Gitlab
- 生成RSA金鑰對
- 本地金鑰的安全
- 3.2 公開金鑰演算法演算法
- C#和JAVA的RSA金鑰、公鑰轉換C#Java
- 國密2 (sm2)非對稱加密解密工具--支援生成公鑰私鑰對及加密解密加密解密
- 【ubuntu】金鑰儲存在過時的 trusted.gpg 金鑰環中UbuntuRust
- git生成ssh金鑰詳細步驟 git如何生成ssh金鑰Git
- vs2012產品金鑰最新 vs2012金鑰使用教程
- 第五章 金鑰分配與金鑰管理 —— 現代密碼學(楊波)課後題答案解析密碼學
- 寫給開發人員的實用密碼學(七)—— 非對稱金鑰加密演算法 RSA/ECC密碼學加密演算法
- SSH-keygen rsa 金鑰對根據私鑰生成公鑰
- vmware16許可證金鑰 vmware16金鑰安裝教程