1、基於DES加密演算法理解對稱加密演算法從DES加密演算法可以體會到:對稱加密演算法在對數據進行加密和解密的過程中,都是使用了數據接收方的密鑰(公鑰和私鑰),具體做法就是,數據發送方使用接受方的公鑰加密數據,而數據接收方使用自己的私鑰機密數據,其實圍繞的就是數據接收方的密鑰。2、基於RSA加密演算法理解非對稱加密演算法通過上面對非對稱加密演算法的敘述,我感覺理解不是很深刻。總體的感覺就是:(1) 基於RSA加密演算法比較麻煩,因為RSA加密演算法是基於一個大數n的,需要計算出一個密鑰對(公鑰和私鑰),但是這里公鑰和私鑰還是一對數,即公鑰為(e,n),私鑰為(e,d).(2) 在數據發送方與接受發執行數據傳輸之前,保證了雙方公鑰的分發管理,加強了公鑰的安全性(比之於在對稱加密演算法中:公鑰就是完全公開的),這個特點確實加強了加密數據的發送方的身份真實性。
B. 什麼叫des加密,對稱加密演算法,公鑰加密,RAS,CA,Kerberas
des,是對稱加密的一種演算法
對稱加密,加密和解密用的是同一個密鑰
不對稱加密的話,加密密鑰和解密密鑰是不同的,但是一一對應。
一般來說其一公開,其一保密。
如果用公鑰加密,那就能保證只有擁有私鑰才能解密。
另一種用法用私鑰加密一份文件,別人用公鑰解密,這樣就能證明你是這份文件的賺寫者。
C. 對稱加密演算法與非對稱加密演算法的特點及用途
對稱加密演算法
對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。
對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密演算法在分布式網路系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法有des、idea和aes。
不對稱加密演算法
不對稱加密演算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密演算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密演算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密演算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱演算法擁有兩個密鑰,因而特別適用於分布式系統中的數據加密。廣泛應用的不對稱加密演算法有rsa演算法和美國國家標准局提出的dsa。以不對稱加密演算法為基礎的加密技術應用非常廣泛。
D. 試比較對稱加密演算法與非對稱加密演算法在應用中的優缺點傳統密碼體制與公鑰密碼體制的優缺點
1、對稱加密演算法
優點
加解密的高速度和使用長密鑰時的難破解性。
缺點
對稱加密演算法的安全性取決於加密密鑰的保存情況,但要求企業中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去。如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業共用一個加密密鑰,那整個企業文檔的保密性便無從談起。
2、非對稱加密演算法
優點
非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
缺點
演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。
3、傳統密碼體制
優點
由於DES加密速度快,適合加密較長的報文。
缺點
通用密鑰密碼體制的加密密鑰和解密密鑰是通用的,即發送方和接收方使用同樣密鑰的密碼體制。
4、公鑰密碼體制
優點
RSA演算法的加密密鑰和加密演算法分開,使得密鑰分配更為方便。
RSA演算法解決了大量網路用戶密鑰管理的難題。
缺點
RSA的密鑰很長,加密速度慢。
(4)公鑰加密演算法與對稱加密演算法擴展閱讀
W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上發表了「 New Direction in Cryptography」文章,提出了「非對稱密碼體制即公開密鑰密碼體制」的概念,開創了密碼學研究的新方向。
在通用密碼體制中,得到廣泛應用的典型演算法是DES演算法。DES是由「轉置」方式和「換字」方式合成的通用密鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的密鑰,經過各種復雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
E. 公鑰加密的常見演算法
RSA、ElGamal、背包演算法、Rabin(Rabin的加密法可以說是RSA方法的特例)、Diffie-Hellman
(D-H)
密鑰交換協議中的公鑰加密演算法、Elliptic
Curve
Cryptography(ECC,橢圓曲線加密演算法)。使用最廣泛的是RSA演算法(由發明者Rivest、Shmir和Adleman姓氏首字母縮寫而來)是著名的公開金鑰加密演算法,ElGamal是另一種常用的非對稱加密演算法。
F. 公鑰和私鑰加密主要演算法有哪些,其基本思想是什麼
加密演算法nbsp;nbsp;nbsp;nbsp;加密技術是對信息進行編碼和解碼的技術,編碼是把原來可讀信息(又稱明文)譯成代碼形式(又稱密文),其逆過程就是解碼(解密)。加密技術的要點是加密演算法,加密演算法可以分為對稱加密、不對稱加密和不可逆加密三類演算法。nbsp;nbsp;nbsp;nbsp;對稱加密演算法nbsp;nbsp;對稱加密演算法是應用較早的加密演算法,技術成熟。在對稱加密演算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密演算法在分布式網路系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法有DES和IDEA等。美國國家標准局倡導的AES即將作為新標准取代DES。nbsp;nbsp;nbsp;nbsp;不對稱加密演算法不對稱加密演算法使用兩把完全不同但又是完全匹配的一對鑰匙—公鑰和私鑰。在使用不對稱加密演算法加密文件時,只有使用匹配的一對公鑰和私鑰,才能完成對明文的加密和解密過程。加密明文時採用公鑰加密,解密密文時使用私鑰才能完成,而且發信方(加密者)知道收信方的公鑰,只有收信方(解密者)才是唯一知道自己私鑰的人。不對稱加密演算法的基本原理是,如果發信方想發送只有收信方才能解讀的加密信息,發信方必須首先知道收信方的公鑰,然後利用收信方的公鑰來加密原文;收信方收到加密密文後,使用自己的私鑰才能解密密文。顯然,採用不對稱加密演算法,收發信雙方在通信之前,收信方必須將自己早已隨機生成的公鑰送給發信方,而自己保留私鑰。由於不對稱演算法擁有兩個密鑰,因而特別適用於分布式系統中的數據加密。廣泛應用的不對稱加密演算法有RSA演算法和美國國家標准局提出的DSA。以不對稱加密演算法為基礎的加密技術應用非常廣泛。nbsp;nbsp;nbsp;nbsp;不可逆加密演算法nbsp;nbsp;不可逆加密演算法的特徵是加密過程中不需要使用密鑰,輸入明文後由系統直接經過加密演算法處理成密文,這種加密後的數據是無法被解密的,只有重新輸入明文,並再次經過同樣不可逆的加密演算法處理,得到相同的加密密文並被系統重新識別後,才能真正解密。顯然,在這類加密過程中,加密是自己,解密還得是自己,而所謂解密,實際上就是重新加一次密,所應用的「密碼」也就是輸入的明文。不可逆加密演算法不存在密鑰保管和分發問題,非常適合在分布式網路系統上使用,但因加密計算復雜,工作量相當繁重,通常只在數據量有限的情形下使用,如廣泛應用在計算機系統中的口令加密,利用的就是不可逆加密演算法。近年來,隨著計算機系統性能的不斷提高,不可逆加密的應用領域正在逐漸增大。在計算機網路中應用較多不可逆加密演算法的有RSA公司發明的MD5演算法和由美國國家標准局建議的不可逆加密標准SHS(Securenbsp;Hashnbsp;Standard:安全雜亂信息標准)等。加密技術nbsp;nbsp;nbsp;nbsp;加密演算法是加密技術的基礎,任何一種成熟的加密技術都是建立多種加密演算法組合,或者加密演算法和其他應用軟體有機結合的基礎之上的。下面我們介紹幾種在計算機網路應用領域廣泛應用的加密技術。nbsp;nbsp;nbsp;nbsp;非否認(Non-repudiation)技術nbsp;nbsp;該技術的核心是不對稱加密演算法的公鑰技術,通過產生一個與用戶認證數據有關的數字簽名來完成。當用戶執行某一交易時,這種簽名能夠保證用戶今後無法否認該交易發生的事實。由於非否認技術的操作過程簡單,而且直接包含在用戶的某類正常的電子交易中,因而成為當前用戶進行電子商務、取得商務信任的重要保證。nbsp;nbsp;nbsp;nbsp;PGP(Prettynbsp;Goodnbsp;Privacy)技術nbsp;nbsp;PGP技術是一個基於不對稱加密演算法RSA公鑰體系的郵件加密技術,也是一種操作簡單、使用方便、普及程度較高的加密軟體。PGP技術不但可以對電子郵件加密,防止非授權者閱讀信件;還能對電子郵件附加數字簽名,使收信人能明確了解發信人的真實身份;也可以在不
G. 公鑰加密演算法有哪些它與對稱加密演算法之間的關系是什麼
簡單來說,如果攻擊者獲得了對稱加密的加密方法或加密思路,那麼可以在短時間內破解密文。
但是對於公鑰加密,即使攻擊者獲得了加密方法,如果拿不到密鑰的話,則無法在短時間內破解密文。
最經典的公鑰加密演算法是RSA演算法,該演算法利用大數難以拆分的特性對明文進行加密。
祝你成功。
H. 對稱加密方法和公開密鑰演算法有什麼異同
對稱加密演算法
是應用較早的加密演算法,技術成熟。在對稱加密演算法中,數據發信方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。收信方收到密文後,若想解讀原文,則需要使用加密用過的密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。在對稱加密演算法中,使用的密鑰只有一個,發收信雙方都使用這個密鑰對數據進行加密和解密,這就要求解密方事先必須知道加密密鑰。對稱加密演算法的特點是演算法公開、計算量小、加密速度快、加密效率高。不足之處是,交易雙方都使用同樣鑰匙,安全性得不到保證。此外,每對用戶每次使用對稱加密演算法時,都需要使用其他人不知道的惟一鑰匙,這會使得發收信雙方所擁有的鑰匙數量成幾何級數增長,密鑰管理成為用戶的負擔。對稱加密演算法在分布式網路系統上使用較為困難,主要是因為密鑰管理困難,使用成本較高。在計算機專網系統中廣泛使用的對稱加密演算法有DES、IDEA和AES。
公開密鑰演算法
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
RSA是Rivest、Shamir和Adleman提出來的基於數論非對稱性(公開鑰)加密演算法。大整數的素因子難分解是RSA演算法的基礎
I. 加密技術中,對稱加密和不對稱加密的最大區別
加密的演算法可以分為對稱加密和不對稱加密.在對稱加密演算法中,一個密鑰被用來進行信息交換得兩方共享.發送方利用私鑰的拷貝來加密數據.在接收方,利用同樣的私鑰的拷貝來解密數據.絕大多數的加密,如基於共享密碼和共享安全標識都是對稱加密的例子.
在這種類型的系統中,一個中心的伺服器分發共享的密鑰給需要安全交互的使用者.對稱加密的缺點是共享密鑰的管理,分發和保護它們的安全性,特別是在象internet這樣的公網上.
為了克服在公共網路中管理密鑰的的難度,使用成對的密鑰來取代單一的密鑰.在不對稱加密演算法中,雙方都互相擁有一個私鑰和一個公鑰.
公鑰是利用一種不可逆的方法對私鑰進行操作後產生的,因此一旦兩者中的一種用來加密數據,另外一種就可以用來解密.另外,不可由公鑰來推測出私鑰,而且只有用私鑰來解密用公鑰加密的數據.當發送非同步加密的報文時,發送者利用接收者的公鑰加密報文,確保只有接收者可以利用他的私鑰來解密報文.如果你用另外一種方式來處理,任何人都可利用可利用的公鑰來解密報文.不對稱加密是PKI的基礎,pki是x.509安全標準的基礎.不對稱加密演算法是一種典型基於對大數處理的演算法,如指數合對數運算.它比對稱加密演算法需要更多的cpu時間來進行加密和解密.,因為這個原因,不對稱加密經常用來安全的傳送一個對稱的」會話」密鑰,用來加密交互的剩餘部分,這也只是在信息交換的持續周期內有效.
因為公鑰可以很容易的獲得,使用公鑰進行加密減輕了分發和管理密鑰的難度.不幸的是,這種方便性的代價是不對稱加密演算法通常比對稱加密演算法慢幾個數量級.由於此,不對稱加密方法只用來處理比較小的數據.例如安全密鑰和標識以及數字簽名.
公鑰加密(不對稱加密)、私鑰加密(對稱加密)
公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要發送到私鑰持有者的數據進行加密。兩個密鑰對於通信會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。
公鑰加密演算法使用固定的緩沖區大小,而私鑰加密演算法使用長度可變的緩沖區。公鑰演算法無法像私鑰演算法那樣將數據鏈接起來成為流,原因是它只可以加密少量數據。因此,不對稱操作不使用與對稱操作相同的流模型。
雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他將向她索要她的公鑰。小紅通過不安全的網路將她的公鑰發送給小明,小明接著使用該密鑰加密消息。(如果小明在不安全的信道如公共網路上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正確副本。)小明將加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。
但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息只能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答復消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要將消息發送回小明,她將向小明索要他的公鑰並使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。
在一個實際方案中,A和B使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密。
公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由於不必保護公鑰,因此它易於分發。公鑰演算法可用於創建數字簽名以驗證數據發送方的身份。但是,公鑰演算法非常慢(與私鑰演算法相比),不適合用來加密大量數據。公鑰演算法僅對傳輸很少量的數據有用。公鑰加密通常用於加密一個私鑰演算法將要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分將使用私鑰加密。
.NET 通過抽象基類 (System.Security.Crytography.AsymmetricAlgorithm) 提供下列非對稱(公鑰/私鑰)加密演算法:
• DSACryptoServiceProvider
• RSACryptoServiceProvider
私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的數據流執行加密轉換。
通常,私鑰演算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TripleDES 和 Rijndael)通過加密將 n 位元組的輸入塊轉換為加密位元組的輸出塊。如果要加密或解密位元組序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 位元組;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的數據值一次加密一個塊。
基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重復的塊,那麼在密文流中將存在重復的塊。如果未經授權的用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統,未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。
可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。
私鑰加密的缺點是它假定雙方已就密鑰和 IV 達成協議,並且互相傳達了密鑰和 IV 的值。並且,密鑰必須對未經授權的用戶保密。由於存在這些問題,私鑰加密通常與公鑰加密一起使用,來秘密地傳達密鑰和 IV 的值。
.NET 提供以下實現類以提供對稱的密鑰加密演算法:
• DESCryptoServiceProvider
• RC2CryptoServiceProvider
• RijndaelManaged
•