加密算法、DES、IDEA、RSA、DSA
生活随笔
收集整理的這篇文章主要介紹了
加密算法、DES、IDEA、RSA、DSA
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
加密技術是對信息進行編碼和解碼的技術,編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術的要點是加密算法,
加密算法可以分為對稱加密、不對稱加密和不可逆加密三類算法。
對稱加密算法:對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理后,使其變成復雜的加密密文發送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密算法在分布式網絡系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密算法有 DES(Data Encryption Standard)和IDEA等。美國國家標準局倡導的 AES即將作為新標準取代DES。
不對稱加密算法:不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時采用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對稱加密算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由于不對稱算法擁有兩個密鑰,因而特別適用于分布式系統中的數據加密。廣泛應用的不對稱加密算法有 RSA算法和美國國家標準局提出的 DSA(Digital Signature Algorithm)。以不對稱加密算法為基礎的加密技術應用非常廣泛。
不可逆加密算法:不可逆加密算法的特征是加密過程中不需要使用密鑰,輸入明文后由系統直接經過加密算法處理成密文,這種加密后的數據是無法被解密的,只有重新輸入明文,并再次經過同樣不可逆的加密算法處理,得到相同的加密密文并被系統重新識別后,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發問題,非常適合在分布式網絡系統上使用,但因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來,隨著計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網絡中應用較多不可逆加密算法的有RSA公司發明的 MD5算法和由美國國家標準局建議的不可逆加密標準 SHS(Secure Hash Standard:安全雜亂信息標準)等。
DEA(Data Encryption Algorithm、DES)數據加密算法:是一種對稱加密算法,很可能是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中,最初開發的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權,但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。
DES算法的安全性: 一.安全性比較高的一種算法,目前只有一種方法可以破解該算法,那就是窮舉法. 二.采用 64位密鑰技術,實際只有56位有效,8位用來校驗的.譬如,有這樣的一臺PC機器,它能每秒計算一百萬次,那么256位空間它要窮舉的時間為2285年.所以這種算法還是比較安全的一種算法.
TripleDES: 該算法被用來解決使用 DES 技術的 56 位時密鑰日益減弱的強度,其方法是:使用兩個獨立密鑰對明文運行 DES 算法三次,從而得到 112 位有效密鑰強度。TripleDES 有時稱為 DESede(表示加密、解密和加密這三個階段)。
IDEA 國際數據加密算法:是旅居瑞士中國青年學者來學家和著名密碼專家J.Massey于1990年提出的。它在1990年正式公布并在以后得到增強。這種算法是 在DES算法的基礎上發展出來的,類似于三重DES,和DES一樣IDEA也是屬于對稱密鑰算法。發展IDEA也是因為感到DES具有密鑰太短等缺點,已經過時。IDEA的密鑰為128位,這么長的密鑰在今后若干年內應該是安全的。
RSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發的。RSA取名來自開發他們三者的名字。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標準。RSA算法基于一個十分簡單的數論事實: 將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。 為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時, 常采用傳統加密方法與公開密鑰加密方法相結合的方式,即信息采用改進的DES或IDEA對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息后,用不同的密鑰解密并可核對信息摘要。RSA算法是第一個能同時 用于加密和數字簽名的算法,也易于理解和操作。
RSA 加密算法的缺點: 1)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。 2)安全性,RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價,而且密碼學界多數人士傾向于因子分解不是NPC問題。 3)速度太慢,由于RSA 的分組長度太大,為保證安全性,n 至少也要 600 bitx以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利于數據格式的標準化。
DSA(Digital Signature Algorithm):被美國國家標準局用來做DSS數據簽名標準(Digital Signature Standard)。DSA是基于整數有限域離散對數難題的,其安全性與RSA相比差不多。DSA的一個重要特點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳。RSA算法卻做不到。DSA只是一種算法,和RSA不同之處在于 它不能用作加密和解密,也不能進行密鑰交換,只用于簽名,它比RSA要快很多.
對稱加密算法:對稱加密算法是應用較早的加密算法,技術成熟。在對稱加密算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密算法處理后,使其變成復雜的加密密文發送出去。收信方收到密文后,若想解讀原文,則需要使用加密用過的密鑰及相同算法的逆算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密算法在分布式網絡系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密算法有 DES(Data Encryption Standard)和IDEA等。美國國家標準局倡導的 AES即將作為新標準取代DES。
不對稱加密算法:不對稱加密算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時采用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然后利用收信方的公鑰來加密原文;收信方收到加密密文后,使用自己的私鑰才能解密密文。顯然,采用不對稱加密算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由于不對稱算法擁有兩個密鑰,因而特別適用于分布式系統中的數據加密。廣泛應用的不對稱加密算法有 RSA算法和美國國家標準局提出的 DSA(Digital Signature Algorithm)。以不對稱加密算法為基礎的加密技術應用非常廣泛。
不可逆加密算法:不可逆加密算法的特征是加密過程中不需要使用密鑰,輸入明文后由系統直接經過加密算法處理成密文,這種加密后的數據是無法被解密的,只有重新輸入明文,并再次經過同樣不可逆的加密算法處理,得到相同的加密密文并被系統重新識別后,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的“密碼”也就是輸入的明文。不可逆加密算法不存在密鑰保管和分發問題,非常適合在分布式網絡系統上使用,但因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密算法。近年來,隨著計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網絡中應用較多不可逆加密算法的有RSA公司發明的 MD5算法和由美國國家標準局建議的不可逆加密標準 SHS(Secure Hash Standard:安全雜亂信息標準)等。
DEA(Data Encryption Algorithm、DES)數據加密算法:是一種對稱加密算法,很可能是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中,最初開發的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權,但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。
DES算法的安全性: 一.安全性比較高的一種算法,目前只有一種方法可以破解該算法,那就是窮舉法. 二.采用 64位密鑰技術,實際只有56位有效,8位用來校驗的.譬如,有這樣的一臺PC機器,它能每秒計算一百萬次,那么256位空間它要窮舉的時間為2285年.所以這種算法還是比較安全的一種算法.
TripleDES: 該算法被用來解決使用 DES 技術的 56 位時密鑰日益減弱的強度,其方法是:使用兩個獨立密鑰對明文運行 DES 算法三次,從而得到 112 位有效密鑰強度。TripleDES 有時稱為 DESede(表示加密、解密和加密這三個階段)。
IDEA 國際數據加密算法:是旅居瑞士中國青年學者來學家和著名密碼專家J.Massey于1990年提出的。它在1990年正式公布并在以后得到增強。這種算法是 在DES算法的基礎上發展出來的,類似于三重DES,和DES一樣IDEA也是屬于對稱密鑰算法。發展IDEA也是因為感到DES具有密鑰太短等缺點,已經過時。IDEA的密鑰為128位,這么長的密鑰在今后若干年內應該是安全的。
RSA公鑰加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發的。RSA取名來自開發他們三者的名字。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標準。RSA算法基于一個十分簡單的數論事實: 將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。 為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時, 常采用傳統加密方法與公開密鑰加密方法相結合的方式,即信息采用改進的DES或IDEA對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息后,用不同的密鑰解密并可核對信息摘要。RSA算法是第一個能同時 用于加密和數字簽名的算法,也易于理解和操作。
RSA 加密算法的缺點: 1)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。 2)安全性,RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價,而且密碼學界多數人士傾向于因子分解不是NPC問題。 3)速度太慢,由于RSA 的分組長度太大,為保證安全性,n 至少也要 600 bitx以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利于數據格式的標準化。
DSA(Digital Signature Algorithm):被美國國家標準局用來做DSS數據簽名標準(Digital Signature Standard)。DSA是基于整數有限域離散對數難題的,其安全性與RSA相比差不多。DSA的一個重要特點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳。RSA算法卻做不到。DSA只是一種算法,和RSA不同之處在于 它不能用作加密和解密,也不能進行密鑰交換,只用于簽名,它比RSA要快很多.
總結
以上是生活随笔為你收集整理的加密算法、DES、IDEA、RSA、DSA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3个著名加密算法(MD5、RSA、DES
- 下一篇: CentOS设置服务开机启动的方法