㈠ 數據加密和數據簽名的原理作用
加密可以幫助保護數據不被查看和修改,並且可以幫助在本不安全的信道上提供安全的通信方式。例如,可以使用加密演算法對數據進行加密,在加密狀態下傳輸數據,然後由預定的接收方對數據進行解密。如果第三方截獲了加密的數據,解密數據是很困難的。
在一個使用加密的典型場合中,雙方(小紅和小明)在不安全的信道上通信。小紅和小明想要確保任何可能正在偵聽的人無法理解他們之間的通信。而且,由於小紅和小明相距遙遠,因此小紅必須確保她從小明處收到的信息沒有在傳輸期間被任何人修改。此外,她必須確定信息確實是發自小明而不是有人模仿小明發出的。
加密用於達到以下目的:
保密性:幫助保護用戶的標識或數據不被讀取。
數據完整性:幫助保護數據不更改。
身份驗證:確保數據發自特定的一方。
為了達到這些目的,您可以使用演算法和慣例的組合(稱作加密基元)來創建加密方案。下表列出了加密基元及它們的用法。
加密基元 使用
私鑰加密(對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類型的加密使用單個共享的機密密鑰來加密和解密數據。
公鑰加密(不對稱加密) 對數據執行轉換,使第三方無法讀取該數據。此類加密使用公鑰/私鑰對來加密和解密數據。
加密簽名 通過創建對特定方唯一的數字簽名來幫助驗證數據是否發自特定方。此過程還使用哈希函數。
加密哈希 將數據從任意長度映射為定長位元組序列。哈希在統計上是唯一的;不同的雙位元組序列不會哈希為同一個值。
私鑰加密
私鑰加密演算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密演算法非常快(與公鑰演算法相比),特別適用於對較大的數據流執行加密轉換。
通常,私鑰演算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TrippleDES 和 Rijndael)通過加密將 n 位元組的輸入塊轉換為加密位元組的輸出塊。如果要加密或解密位元組序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 位元組;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的值一次加密一個塊。
基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重復的塊,那麼在密文流中將存在重復的塊。如果未經授權的用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統,未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。
可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。
私鑰加密的缺點是它假定雙方已就密鑰和 IV 達成協議,並且互相傳達了密鑰和 IV 的值。並且,密鑰必須對未經授權的用戶保密。由於存在這些問題,私鑰加密通常與公鑰加密一起使用,來秘密地傳達密鑰和 IV 的值。
假設小紅和小明是要在不安全的信道上進行通信的雙方,他們可能按以下方式使用私鑰加密。小紅和小明都同意使用一種具有特定密鑰和 IV 的特定演算法(如 Rijndael)。小紅撰寫一條消息並創建要在其上發送該消息的網路流。接下來,她使用該密鑰和 IV 加密該文本,並通過 Internet 發送該文本。她沒有將密鑰和 IV 發送給小明。小明收到該加密文本並使用預先商定的密鑰和 IV 對它進行解密。如果傳輸的內容被人截獲,截獲者將無法恢復原始消息,因為截獲者並不知道密鑰或 IV。在這個方案中,密鑰必須保密,但 IV 不需要保密。在一個實際方案中,將由小紅或小明生成私鑰並使用公鑰(不對稱)加密將私鑰(對稱)傳遞給對方。有關更多信息,請參見本主題後面的有關公鑰加密的部分。
.NET Framework 提供以下實現私鑰加密演算法的類:
DESCryptoServiceProvider
RC2CryptoServiceProvider
RijndaelManaged
公鑰加密
公鑰加密使用一個必須對未經授權的用戶保密的私鑰和一個可以對任何人公開的公鑰。公鑰和私鑰都在數學上相關聯;用公鑰加密的數據只能用私鑰解密,而用私鑰簽名的數據只能用公鑰驗證。公鑰可以提供給任何人;公鑰用於對要發送到私鑰持有者的數據進行加密。兩個密鑰對於通信會話都是唯一的。公鑰加密演算法也稱為不對稱演算法,原因是需要用一個密鑰加密數據而需要用另一個密鑰來解密數據。
公鑰加密演算法使用固定的緩沖區大小,而私鑰加密演算法使用長度可變的緩沖區。公鑰演算法無法像私鑰演算法那樣將數據鏈接起來成為流,原因是它只可以加密少量數據。因此,不對稱操作不使用與對稱操作相同的流模型。
雙方(小紅和小明)可以按照下列方式使用公鑰加密。首先,小紅生成一個公鑰/私鑰對。如果小明想要給小紅發送一條加密的消息,他將向她索要她的公鑰。小紅通過不安全的網路將她的公鑰發送給小明,小明接著使用該密鑰加密消息。(如果小明在不安全的信道如公共網路上收到小紅的密鑰,則小明必須同小紅驗證他具有她的公鑰的正確副本。)小明將加密的消息發送給小紅,而小紅使用她的私鑰解密該消息。
但是,在傳輸小紅的公鑰期間,未經授權的代理可能截獲該密鑰。而且,同一代理可能截獲來自小明的加密消息。但是,該代理無法用公鑰解密該消息。該消息只能用小紅的私鑰解密,而該私鑰沒有被傳輸。小紅不使用她的私鑰加密給小明的答復消息,原因是任何具有公鑰的人都可以解密該消息。如果小紅想要將消息發送回小明,她將向小明索要他的公鑰並使用該公鑰加密她的消息。然後,小明使用與他相關聯的私鑰來解密該消息。
在一個實際方案中,小紅和小明使用公鑰(不對稱)加密來傳輸私(對稱)鑰,而對他們的會話的其餘部分使用私鑰加密。
公鑰加密具有更大的密鑰空間(或密鑰的可能值范圍),因此不大容易受到對每個可能密鑰都進行嘗試的窮舉攻擊。由於不必保護公鑰,因此它易於分發。公鑰演算法可用於創建數字簽名以驗證數據發送方的身份。但是,公鑰演算法非常慢(與私鑰演算法相比),不適合用來加密大量數據。公鑰演算法僅對傳輸很少量的數據有用。公鑰加密通常用於加密一個私鑰演算法將要使用的密鑰和 IV。傳輸密鑰和 IV 後,會話的其餘部分將使用私鑰加密。
.NET Framework 提供以下實現公鑰加密演算法的類:
DSACryptoServiceProvider
RSACryptoServiceProvider
數字簽名
公鑰演算法還可用於構成數字簽名。數字簽名驗證發送方的身份(如果您信任發送方的公鑰)並幫助保護數據的完整性。使用由小紅生成的公鑰,小紅的數據的接收者可以通過將數字簽名與小紅的數據和小紅的公鑰進行比較來驗證是否是小紅發送了該數據。
為了使用公鑰加密對消息進行數字簽名,小紅首先將哈希演算法應用於該消息以創建消息摘要。該消息摘要是數據的緊湊且唯一的表示形式。然後,小紅用她的私鑰加密該消息摘要以創建她的個人簽名。在收到消息和簽名時,小明使用小紅的公鑰解密簽名以恢復消息摘要,並使用與小紅所使用的相同的哈希演算法來散列消息。如果小明計算的消息摘要與從小紅那裡收到的消息摘要完全一致,小明就可以確定該消息來自私鑰的持有人,並且數據未被修改過。如果小明相信小紅是私鑰的持有人,則他知道該消息來自小紅。
請注意,由於發送方的公鑰為大家所周知,並且它通常包含在數字簽名格式中,因此任何人都可以驗證簽名。此方法不保守消息的機密;若要使消息保密,還必須對消息進行加密。
.NET Framework 提供以下實現數字簽名演算法的類:
DSACryptoServiceProvider
RSACryptoServiceProvider
哈希值
哈希演算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨後的哈希計算都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的。
消息身份驗證代碼 (MAC) 哈希函數通常與數字簽名一起用於對數據進行簽名,而消息檢測代碼 (MDC) 哈希函數則用於數據完整性。
雙方(小紅和小明)可按下面的方式使用哈希函數來確保數據的完整性。如果小紅對小明編寫一條消息並創建該消息的哈希,則小明可以在稍後散列該消息並將他的哈希與原始哈希進行比較。如果兩個哈希值相同,則該消息沒有被更改;如果值不相同,則該消息在小紅編寫它之後已被更改。為了使此系統發揮作用,小紅必須對除小明外的所有人保密原始的哈希值。
.NET Framework 提供以下實現數字簽名演算法的類:
HMACSHA1
MACTripleDES
MD5CryptoServiceProvider
SHA1Managed
SHA256Managed
SHA384Managed
SHA512Managed
隨機數生成
隨機數生成是許多加密操作不可分割的組成部分。例如,加密密鑰需要盡可能地隨機,以便使生成的密鑰很難再現。加密隨機數生成器必須生成無法以計算方法推算出(低於 p < .05 的概率)的輸出;即,任何推算下一個輸出位的方法不得比隨機猜測具有更高的成功概率。.NET Framework 中的類使用隨機數生成器生成加密密鑰。
RNGCryptoServiceProvider 類是隨機數生成器演算法的實現。
㈡ 無線網路傳輸加密原理
你肯定不會設計一個沒有防火牆的互聯網接入的網路。因此,你怎麼會架設一個沒有加密的無線網路?理解無線加密對於部署一個安全的無線網路是非常重要的。
無線傳輸的安全類似於一個書面信息。有各種各樣的方法來發送一個書面信息。每一種方法都提供一種增強水平的安全和保護這個信息的完整性。你可以發送一張明信片,這樣,這個信息對於看到它的每一個人都是公開的。你可以把這個信息放在信封里,防止有人隨意看到它。如果你確實要保證只有收件人能夠看到這個信息,你就需要給這個信息加密並且保證收件人知道這個信息的解碼方式。
無線數據傳輸也是如此。沒有加密的無線數據是在空中傳輸的,任何在附近的無線設備都有可能截獲這些數據。
使用有線等效協議(WEP)加密你的無線網路可提供最低限度的安全,因為這種加密是很容易破解的。如果你確實要保護你的無線數據,你需要使用WPA(Wi-Fi保護接入)等更安全的加密方式。為了幫助你了解這些選擇,這里簡要介紹一些現有的無線加密和安全技術:
有線等效協議(WEP)
有線等效協議是廠商作為一種偽標准匆忙推出的一種加密方式。廠商要在這個協議標准最後確定下來之前匆忙開始生產無線設備。因此,這個協議後來發現存在一些漏洞。甚至一個初入道的攻擊者也能夠利用這個協議中的安全漏洞。
Wi-Fi保護接入(WPA)
制定Wi-Fi保護接入協議是為了改善或者替換有漏洞的WEP加密方式。WPA提供了比WEP更強大的加密方式,解決了WEP存在的許多弱點。
臨時密鑰完整性協議(TKIP)
TKIP是一種基礎性的技術,允許WPA向下兼容WEP協議和現有的無線硬體。TKIP與WEP一起工作,組成了一個更長的128位密鑰,並根據每個數據包變換密鑰,使這個密鑰比單獨使用WEP協議安全許多倍。
可擴展認證協議(EAP)
有EAP的支持,WPA加密可提供與控制訪問無線網路有關的更多的功能。其方法不是僅根據可能被捕捉或者假冒的MAC地址過濾來控制無線網路的訪問,而是根據公共密鑰基礎設施(PKI)來控制無線網路的訪問。
雖然WPA協議給WEP協議帶來了很大的改善,它比WEP協議安全許多倍,但是,任何加密都比一點都不加密好得多。如果WEP是你的無線設備上擁有的惟一的保護措施,這種保護措施仍然可以阻止隨意地危害你的無線數據並且使大多數新入道的攻擊者尋找沒有保護的無線網路來利用。
㈢ 透明數據加密的技術原理怎樣實現
後置代理加密過於依賴資料庫自身所具備的擴展機制,且數據在資料庫共享內存中也是密文,導致在部分場景下的資料庫性能表現不佳。因此,基於後置代理加密技術又發展出了透明數據加密技術,目的是在保持後置代理加密優勢的同時,降低對資料庫自身擴展機制的依賴性,從而讓資料庫系統性能保持在相對合理的水平之上。。。。透明數據加密,全稱為Transparent Data Encryption(TDE),是一種對應用系統完全透明的資料庫端存儲加密技術,通常由資料庫廠商在資料庫引擎中實現——在資料庫引擎的存儲管理層增加一個數據處理過程,當數據由資料庫共享內存寫入到數據文件時對其進行加密;當數據由數據文件讀取到資料庫共享內存時對其進行解密。也就是說,數據在資料庫共享內存中是以明文形態存在的,而在數據文件中則以密文形態存在。同時,由於該技術的透明性,任何合法且有許可權的資料庫用戶都可以訪問和處理加密表中的數據。
㈣ 簡述加密技術的基本原理,並指出有哪些常用的加密體制及其代表演算法
1、對稱加密演算法
對稱加密演算法用來對敏感數據等信息進行加密,常用的演算法包括:
DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
演算法原理
AES 演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES 使用幾種不同的方法來執行排列和置換運算。
2、非對稱演算法
常見的非對稱加密演算法如下:
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
演算法原理——橢圓曲線上的難題
橢圓曲線上離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數中的模冪運算相對應,我們就可以建立基於橢圓曲線的對應的密碼體制。
㈤ 數據加密的基本原理是什麼
是一門專門的學問,加密基於不同的原理。
㈥ 請教一下,資料庫加密的原理是什麼
資料庫加密的底層原理本質上是TDE(Transparent Data Encryption)技術,即一種透明數據加密技術,在資料庫主程序啟動時載入擴展的TDE插件。TDE插件技術可以實現:在寫入存儲介質前將數據加密,實現數據的存儲加密;在從存儲介質載入數據到內存前進行數據解密,實現數據的解密使用;利用TDE插件的增強訪問控制能力實現獨立於資料庫原有許可權體系的增強的權控功能。安華金和資料庫加密產品就是依託這種技術實現的,想要了解更多,找他們咨詢一下吧。可以去上網路看看。
㈦ 數據加密的基本信息
和防火牆配合使用的數據加密技術,是為提高信息系統和數據的安全性和保密性,防止秘密數據被外部破譯而採用的主要技術手段之一。在技術上分別從軟體和硬體兩方面採取措施。按照作用的不同,數據加密技術可分為數據傳輸加密技術、數據存儲加密技術、數據完整性的鑒別技術和密鑰管理技術。
數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。
數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。
數據完整性鑒別技術的目的是對介入信息傳送、存取和處理的人的身份和相關數據內容進行驗證,一般包括口令、密鑰、身份、數據等項的鑒別。系統通過對比驗證對象輸入的特徵值是否符合預先設定的參數,實現對數據的安全保護。
密鑰管理技術包括密鑰的產生、分配、保存、更換和銷毀等各個環節上的保密措施。 數據加密的術語有 :
明文,即原始的或未加密的數據。通過加密演算法對其進行加密,加密演算法的輸入信息為明文和密鑰;
密文,明文加密後的格式,是加密演算法的輸出信息。加密演算法是公開的,而密鑰則是不公開的。密文不應為無密鑰的用戶理解,用於數據的存儲以及傳輸;
密鑰,是由數字、字母或特殊符號組成的字元串,用它控制數據加密、解密的過程;
加密,把明文轉換為密文的過程;
加密演算法,加密所採用的變換方法;
解密,對密文實施與加密相逆的變換,從而獲得明文的過程;
解密演算法,解密所採用的變換方法。
加密技術是一種防止信息泄露的技術。它的核心技術是密碼學,密碼學是研究密碼系統或通信安全的一門學科,它又分為密碼編碼學和密碼分析學。
任何一個加密系統都是由明文、密文、演算法和密鑰組成。發送方通過加密設備或加密演算法,用加密密鑰將數據加密後發送出去。接收方在收到密文後,用解密密鑰將密文解密,恢復為明文。在傳輸過程中,即使密文被非法分子偷竊獲取,得到的也只是無法識別的密文,從而起到數據保密的作用。
例:明文為字元串:
AS KINGFISHERS CATCH FIRE
(為簡便起見,假定所處理的數據字元僅為大寫字母和空格符)。假定密鑰為字元串:
ELIOT
加密演算法為:
1) 將明文劃分成多個密鑰字元串長度大小的塊(空格符以+表示)
AS+KI NGFIS HERS+ CATCH +FIRE
2) 用0~26范圍的整數取代明文的每個字元,空格符=00,A=01,...,Z=26:
3) 與步驟2一樣對密鑰的每個字元進行取代:
0512091520
4) 對明文的每個塊,將其每個字元用對應的整數編碼與密鑰中相應位置的字元的整數編碼的和模27後的值(整數編碼)取代:
舉例:第一個整數編碼為 (01+05)%27=06
5) 將步驟4的結果中的整數編碼再用其等價字元替換:
FDIZB SSOXL MQ+GT HMBRA ERRFY
如果給出密鑰,該例的解密過程很簡單。問題是對於一個惡意攻擊者來說,在不知道密鑰的情況下,利用相匹配的明文和密文獲得密鑰究竟有多困難?對於上面的簡單例子,答案是相當容易的,不是一般的容易,但是,復雜的加密模式同樣很容易設計出。理想的情況是採用的加密模式使得攻擊者為了破解所付出的代價應遠遠超過其所獲得的利益。實際上,該目的適用於所有的安全性措施。這種加密模式的可接受的最終目標是:即使是該模式的發明者也無法通過相匹配的明文和密文獲得密鑰,從而也無法破解密文。 傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。 多年來,許多人都認為DES並不是真的很安全。事實上,即使不採用智能的方法,隨著快速、高度並行的處理器的出現,強制破解DES也是可能的。公開密鑰加密方法使得DES以及類似的傳統加密技術過時了。公開密鑰加密方法中,加密演算法和加密密鑰都是公開的,任何人都可將明文轉換成密文。但是相應的解密密鑰是保密的(公開密鑰方法包括兩個密鑰,分別用於加密和解密),而且無法從加密密鑰推導出,因此,即使是加密者若未被授權也無法執行相應的解密。
公開密鑰加密思想最初是由Diffie和Hellman提出的,最著名的是Rivest、Shamir以及Adleman提出的,通常稱為RSA(以三個發明者的首位字母命名)的方法,該方法基於下面的兩個事實:
1) 已有確定一個數是不是質數的快速演算法;
2) 尚未找到確定一個合數的質因子的快速演算法。
RSA方法的工作原理如下:
1) 任意選取兩個不同的大質數p和q,計算乘積r=p*q;
2) 任意選取一個大整數e,e與(p-1)*(q-1)互質,整數e用做加密密鑰。注意:e的選取是很容易的,例如,所有大於p和q的質數都可用。
3) 確定解密密鑰d:
(d * e) molo(p - 1)*(q - 1) = 1
根據e、p和q可以容易地計算出d。
4) 公開整數r和e,但是不公開d;
5) 將明文P (假設P是一個小於r的整數)加密為密文C,計算方法為:
C = P^e molo r
6) 將密文C解密為明文P,計算方法為:
P = C^d molo r
然而只根據r和e(不是p和q)要計算出d是不可能的。因此,任何人都可對明文進行加密,但只有授權用戶(知道d)才可對密文解密。
下面舉一簡單的例子對上述過程進行說明,顯然我們只能選取很小的數字。
例:選取p=3, q=5,則r=15,(p-1)*(q-1)=8。選取e=11(大於p和q的質數),通過(d*11)molo(8) = 1。
計算出d =3。
假定明文為整數13。則密文C為
C = P^e molo r
= 13^11 molo 15
= 1,792,160,394,037 molo 15
= 7
復原明文P為:
P = C^d molo r
= 7^3 molo 15
= 343 molo 15
= 13
因為e和d互逆,公開密鑰加密方法也允許採用這樣的方式對加密信息進行簽名,以便接收方能確定簽名不是偽造的。假設A和B希望通過公開密鑰加密方法進行數據傳輸,A和B分別公開加密演算法和相應的密鑰,但不公開解密演算法和相應的密鑰。A和B的加密演算法分別是ECA和ECB,解密演算法分別是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。若A要向B發送明文P,不是簡單地發送ECB(P),而是先對P施以其解密演算法DCA,再用加密演算法ECB對結果加密後發送出去。
密文C為:
C = ECB(DCA(P))
B收到C後,先後施以其解密演算法DCB和加密演算法ECA,得到明文P:
ECA(DCB(C))
= ECA(DCB(ECB(DCA(P))))
= ECA(DCA(P)) /*DCB和ECB相互抵消*/
= P /*DCB和ECB相互抵消*/
這樣B就確定報文確實是從A發出的,因為只有當加密過程利用了DCA演算法,用ECA才能獲得P,只有A才知道DCA演算法,沒
有人,即使是B也不能偽造A的簽名。 前言
隨著信息化的高速發展,人們對信息安全的需求接踵而至,人才競爭、市場競爭、金融危機、敵特機構等都給企事業單位的發展帶來巨大風險,內部竊密、黑客攻擊、無意識泄密等竊密手段成為了人與人之間、企業與企業之間、國與國之間的安全隱患。
市場的需求、人的安全意識、環境的諸多因素促使著我國的信息安全高速發展,信息安全經歷了從傳統的單一防護如防火牆到信息安全整體解決方案、從傳統的老三樣防火牆、入侵檢測、殺毒軟體到多元化的信息安全防護、從傳統的外部網路防護到內網安全、主機安全等。
傳統數據加密技術分析
信息安全傳統的老三樣(防火牆、入侵檢測、防病毒)成為了企事業單位網路建設的基礎架構,已經遠遠不能滿足用戶的安全需求,新型的安全防護手段逐步成為了信息安全發展的主力軍。例如主機監控、文檔加密等技術。
在新型安全產品的隊列中,主機監控主要採用外圍圍追堵截的技術方案,雖然對信息安全有一定的提高,但是因為產品自身依賴於操作系統,對數據自身沒有有效的安全防護,所以存在著諸多安全漏洞,例如:最基礎的手段拆拔硬碟、winpe光碟引導、USB引導等方式即可將數據盜走,而且不留任何痕跡;此技術更多的可以理解為企業資產管理軟體,單一的產品無法滿足用戶對信息安全的要求。
文檔加密是現今信息安全防護的主力軍,採用透明加解密技術,對數據進行強制加密,不改變用戶原有的使用習慣;此技術對數據自身加密,不管是脫離操作系統,還是非法脫離安全環境,用戶數據自身都是安全的,對環境的依賴性比較小。市面上的文檔加密主要的技術分為磁碟加密、應用層加密、驅動級加密等幾種技術,應用層加密因為對應用程序的依賴性比較強,存在諸多兼容性和二次開發的問題,逐步被各信息安全廠商所淘汰。
當今主流的兩大數據加密技術
我們所能常見到的主要就是磁碟加密和驅動級解密技術:
全盤加密技術是主要是對磁碟進行全盤加密,並且採用主機監控、防水牆等其他防護手段進行整體防護,磁碟加密主要為用戶提供一個安全的運行環境,數據自身未進行加密,操作系統一旦啟動完畢,數據自身在硬碟上以明文形式存在,主要靠防水牆的圍追堵截等方式進行保護。磁碟加密技術的主要弊端是對磁碟進行加密的時間周期較長,造成項目的實施周期也較長,用戶一般無法忍耐;磁碟加密技術是對磁碟進行全盤加密,一旦操作系統出現問題。需要對數據進行恢復也是一件讓用戶比較頭痛的事情,正常一塊500G的硬碟解密一次所需時間需要3-4個小時;市面上的主要做法是對系統盤不做加密防護,而是採用外圍技術進行安全訪問控制,大家知道操作系統的版本不斷升級,微軟自身的安全機制越來越高,人們對系統的控制力度越來越低,尤其黑客技術層層攀高,一旦防護體系被打破,所有一切將暴露無疑。另外,磁碟加密技術是對全盤的信息進行安全管控,其中包括系統文件,對系統的效率性能將大大影響。
驅動級技術是信息加密的主流技術,採用進程+後綴的方式進行安全防護,用戶可以根據企事業單位的實際情況靈活配置,對重要的數據進行強制加密,大大提高了系統的運行效率。驅動級加密技術與磁碟加密技術的最大區別就是驅動級技術會對用戶的數據自身進行保護,驅動級加密採用透明加解密技術,用戶感覺不到系統的存在,不改變用戶的原有操作,數據一旦脫離安全環境,用戶將無法使用,有效提高了數據的安全性;另外驅動級加密技術比磁碟加密技術管理可以更加細粒度,有效實現數據的全生命周期管理,可以控制文件的使用時間、次數、復制、截屏、錄像等操作,並且可以對文件的內部進行細粒度的授權管理和數據的外出訪問控制,做到數據的全方位管理。驅動級加密技術在給用戶的數據帶來安全的同時,也給用戶的使用便利性帶來一定的問題,驅動級加密採用進程加密技術,對同類文件進行全部加密,無法有效區別個人文件與企業文件數據的分類管理,個人電腦與企業辦公的並行運行等問題。
㈧ 數據在網路上傳輸為什麼要加密現在常用的數據加密演算法主要有哪些
數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。
端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。
數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。
常見加密演算法
1、DES(Data Encryption Standard):對稱演算法,數據加密標准,速度較快,適用於加密大量數據的場合;
2、3DES(Triple DES):是基於DES的對稱演算法,對一塊數據用三個不同的密鑰進行三次加密,強度更高;
3、RC2和RC4:對稱演算法,用變長密鑰對大量數據進行加密,比 DES 快;
4、IDEA(International Data Encryption Algorithm)國際數據加密演算法,使用 128 位密鑰提供非常強的安全性;
5、RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的,非對稱演算法; 演算法如下:
首先, 找出三個數,p,q,r,其中 p,q 是兩個不相同的質數,r 是與 (p-1)(q-1) 互為質數的數。
p,q,r這三個數便是 private key。接著,找出 m,使得 rm == 1 mod (p-1)(q-1).....這個 m 一定存在,因為 r 與 (p-1)(q-1) 互質,用輾轉相除法就可以得到了。再來,計算 n = pq.......m,n 這兩個數便是 public key。
6、DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准),嚴格來說不算加密演算法;
7、AES(Advanced Encryption Standard):高級加密標准,對稱演算法,是下一代的加密演算法標准,速度快,安全級別高,在21世紀AES 標準的一個實現是 Rijndael 演算法。
8、BLOWFISH,它使用變長的密鑰,長度可達448位,運行速度很快;
9、MD5:嚴格來說不算加密演算法,只能說是摘要演算法;
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
(8)數據加密傳輸原理擴展閱讀
數據加密標准
傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。
數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。
每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。
參考資料來源:網路-加密演算法
參考資料來源:網路-數據加密
㈨ 網路安全中加密和解密的原理是什麼
簡單的說就是你的數據(明文)通過一種演算法+加密密鑰(密文),然後傳輸給另一方,另一方收到後用同樣的演算法+解密密鑰(等同你的加密密鑰)將你的密文解密。目前用的演算法:哈希,MD5,SHA等。
㈩ 簡要說說對稱加密和非對稱加密的原理以及區別是什麼
對稱加密的原理是數據發送方將明文(原始數據)和加密密鑰一起經過特殊加密演算法處理後,使其變成復雜的加密密文發送出去。接收方收到密文後,若想解讀原文,則需要使用加密密鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。
非對稱加密的原理是甲方首先生成一對密鑰同時將其中的一把作為公開密鑰;得到公開密鑰的乙方再使用該密鑰對需要加密的信息進行加密後再發送給甲方;甲方再使用另一把對應的私有密鑰對加密後的信息進行解密,這樣就實現了機密數據傳輸。
對稱加密和非對稱加密的區別為:密鑰不同、安全性不同、數字簽名不同。
一、密鑰不同
1、對稱加密:對稱加密加密和解密使用同一個密鑰。
2、非對稱加密:非對稱加密加密和解密所使用的不是同一個密鑰,需要兩個密鑰來進行加密和解密。
二、安全性不同
1、對稱加密:對稱加密如果用於通過網路傳輸加密文件,那麼不管使用任何方法將密鑰告訴對方,都有可能被竊聽。
2、非對稱加密:非對稱加密因為它包含有兩個密鑰,且僅有其中的「公鑰」是可以被公開的,接收方只需要使用自己已持有的私鑰進行解密,這樣就可以很好的避免密鑰在傳輸過程中產生的安全問題。
三、數字簽名不同
1、對稱加密:對稱加密不可以用於數字簽名和數字鑒別。
2、非對稱加密:非對稱加密可以用於數字簽名和數字鑒別。