1. 數據加密的方法
網路安全防範措施與應用是什麼呢?如果您也想要了解一下網路安全防範措施和應用的話,請從數據加密的方法入手。因此很多人都會問數據加密有哪些方法呢?無巧不成書,最近公布了一個關於數據加密方法的總結,我相信您一定可以找到問題的答案哦。
由於計算機軟體的非法復制,通信的泄密、數據安全受到威脅,解密及盜版問題日益嚴重,甚至引發國際爭端,所以在信息安全技術中,加密技術佔有不可替代的位置,因此對信息加密技術和加密手段的研究與開發,受到各國計算機界的重視,發展日新月異。現在我們就幾種常用的加密演算法給大家比較一下。
DES加密演算法是一種分組密碼,以64位為分組對數據加密,它的密鑰長度是56位,加密解密用同一演算法。DES加密演算法是對密鑰進行保密,而公開演算法,包括加密和解密演算法。這樣,只有掌握了和發送方相同密鑰的人才能解讀由DES加密演算法加密的密文數據。因此,破譯DES加密演算法實際上就是搜索密鑰的編碼。對於56位長度的密鑰來說,如果用窮舉法來進行搜索的話,其運算次數為256。隨著計算機系統能力的不斷發展,DES的安全性比它剛出現時會弱得多,然而從非關鍵性質的實際出發,仍可以認為它是足夠的。不過,DES現在僅用於舊系統的鑒定,而更多地選擇新的加密標准。
RSA加密演算法是目前最有影響力的公鑰加密演算法,並且被普遍認為是目前最優秀的公鑰方案之一。RSA是第一個能同時用於加密和數宇簽名的演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標准。RSA加密演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
2. word文檔加密的實驗報告
word文檔加密,我建議您使用超級加密3000試試。
超級加密3000採用國際上成熟的加密演算法和安全快速的加密方法,可以有效保障數據安全!
操作比較簡單,您可以到網路上下載一下給您文檔加密試試。
3. Android加密演算法總結
1.概念:
Base64是一種用64個字元(+/)來表示二進制數據的方法,只是一種編碼方式,所以不建議使用Base64來進行加密數據。
2.由來:
為什麼會有Base64編碼呢?因為計算機中數據是按ascii碼存儲的,而ascii碼的128~255之間的值是不可見字元。在網路上交換數據時,比如圖片二進制流的每個位元組不可能全部都是可見字元,所以就傳送不了。最好的方法就是在不改變傳統協議的情況下,做一種擴展方案來支持二進制文件的傳送,把不可列印的字元也能用可列印字元來表示,所以就先把數據先做一個Base64編碼,統統變成可見字元,降低錯誤率。
3.示例:
加密和解密用到的密鑰是相同的,這種加密方式加密速度非常快,適合經常發送數據的場合。缺點是密鑰的傳輸比較麻煩。
1.DES
DES全稱為Data Encryption Standard,即數據加密標准,是一種使用 密鑰加密 的塊演算法。
DES演算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位,密鑰事實上是56位參與DES運算(第8、16、24、32、40、48、56、64位是校驗位,使得每個密鑰都有奇數個1)分組後的明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。
2.3DES
3DES(或稱為Triple DES)是三重 數據加密演算法 (TDEA,Triple Data Encryption Algorithm)塊密碼的通稱。是DES向AES過渡的加密演算法,它使用3條56位的密鑰對數據進行三次加密。是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密演算法。比起最初的DES,3DES更為安全。
3.AES
AES全稱Advanced Encryption Standard,即高級加密標准,當今最流行的對稱加密演算法之一,是DES的替代者。支持三種長度的密鑰:128位,192位,256位。
AES演算法是把明文拆分成一個個獨立的明文塊,每一個明文塊長128bit。這些明文塊經過AES加密器的復雜處理,生成一個個獨立的密文塊,這些密文塊拼接在一起,就是最終的AES加密結果。
但是這里涉及到一個問題:假如一段明文長度是192bit,如果按每128bit一個明文塊來拆分的話,第二個明文塊只有64bit,不足128bit。這時候怎麼辦呢?就需要對明文塊進行填充(Padding):
AES的工作模式,體現在把明文塊加密成密文塊的處理過程中。
加密和解密用的密鑰是不同的,這種加密方式是用數學上的難解問題構造的,通常加密解密的速度比較慢,適合偶爾發送數據的場合。優點是密鑰傳輸方便。
1.SHA
安全散列演算法(英語:Secure Hash Algorithm,縮寫為SHA)是一個密碼散列函數家族,是FIPS所認證的安全散列演算法。能計算出一個數字消息所對應到的,長度固定的字元串(又稱消息摘要)的演算法,且若輸入的消息不同,它們對應到不同字元串的機率很高。
SHA分為SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512五種演算法,後四者有時並稱為SHA-2。SHA-1在許多安全協定中廣為使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被視為是MD5(更早之前被廣為使用的雜湊函數)的後繼者。但SHA-1的安全性如今被密碼學家嚴重質疑;雖然至今尚未出現對SHA-2有效的攻擊,它的演算法跟SHA-1基本上仍然相似;因此有些人開始發展其他替代的雜湊演算法。
2.RSA
RSA演算法1978年出現,是第一個既能用於數據加密也能用於數字簽名的演算法,易於理解和操作。
RSA基於一個數論事實:將兩個大素數相乘十分容易,但想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰,即公鑰,而兩個大素數組合成私鑰。公鑰是可提供給任何人使用,私鑰則為自己所有,供解密之用。
3.MD5
MD5信息摘要演算法 (英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值,用於確保信息傳輸完整一致。具有如下優點:
XOR:異或加密,既將某個字元或者數值 x 與一個數值 m 進行異或運算得到 y ,則再用 y 與 m 進行異或運算就可還原為 x。
使用場景:
(1)兩個變數的互換(不藉助第三個變數);
(2)數據的簡單加密解密。
4. 加密技術06-加密總結
對稱密碼是一種用相同的密鑰進行加密和解密的技術,用於確保消息的機密性。在對稱密碼的演算法方面,目前主要使用的是 AES。盡管對稱密碼能夠確保消息的機密性,但需要解決將解密密鑰配送給接受者的密鑰配送問題。
主要演算法
DES
數據加密標准(英語:Data Encryption Standard,縮寫為 DES)是一種對稱密鑰加密塊密碼演算法,1976年被美國聯邦政府的國家標准局確定為聯邦資料處理標准(FIPS),隨後在國際上廣泛流傳開來。它基於使用56位密鑰的對稱演算法。
DES現在已經不是一種安全的加密方法,主要因為它使用的56位密鑰過短。
原理請參考: 加密技術01-對稱加密-DES原理
3DES
三重數據加密演算法(英語:Triple Data Encryption Algorithm,縮寫為TDEA,Triple DEA),或稱3DES(Triple DES),是一種對稱密鑰加密塊密碼,相當於是對每個數據塊應用三次DES演算法。由於計算機運算能力的增強,原版DES由於密鑰長度過低容易被暴力破解;3DES即是設計用來提供一種相對簡單的方法,即通過增加DES的密鑰長度來避免類似的攻擊,而不是設計一種全新的塊密碼演算法。
注意:有3個獨立密鑰的3DES的密鑰安全性為168位,但由於中途相遇攻擊(知道明文和密文),它的有效安全性僅為112位。
3DES使用「密鑰包」,其包含3個DES密鑰,K1,K2和K3,均為56位(除去奇偶校驗位)。
密文 = E k3 (D k2 (E k1 (明文)))
而解密則為其反過程:
明文 = D k3 (E k2 (D k1 (密文)))
AES
AES 全稱 Advanced Encryption Standard(高級加密標准)。它的出現主要是為了取代 DES 加密演算法的,因為 DES 演算法的密鑰長度是 56 位,因此演算法的理論安全強度是 56 位。於是 1997 年 1 月 2 號,美國國家標准技術研究所宣布希望徵集高級加密標准,用以取代 DES。AES 也得到了全世界很多密碼工作者的響應,先後有很多人提交了自己設計的演算法。最終有5個候選演算法進入最後一輪:Rijndael,Serpent,Twofish,RC6 和 MARS。最終經過安全性分析、軟硬體性能評估等嚴格的步驟,Rijndael 演算法獲勝。
AES 密碼與分組密碼 Rijndael 基本上完全一致,Rijndael 分組大小和密鑰大小都可以為 128 位、192 位和 256 位。然而 AES 只要求分組大小為 128 位,因此只有分組長度為 128 位的 Rijndael 才稱為 AES 演算法。
本文 AES 默認是分組長度為 128 位的 Rijndael 演算法
原理請參考: 加密技術02-對稱加密-AES原理
演算法對比
公鑰密碼是一種用不同的密鑰進行加密和解密的技術,和對稱密碼一樣用於確保消息的機密性。使用最廣泛的一種公鑰密碼演算法是 RAS。和對稱密碼相比,公鑰密碼的速度非常慢,因此一般都會和對稱密碼一起組成混合密碼系統來使用。公鑰密碼能夠解決對稱密碼中的密鑰交換問題,但存在通過中間人攻擊被偽裝的風險,因此需要對帶有數字簽名的公鑰進行認證。
公鑰密碼學的概念是為了解決對稱密碼學中最困難的兩個問題而提出
應用場景
幾個誤解
主要演算法
Diffie–Hellman 密鑰交換
迪菲-赫爾曼密鑰交換(英語:Diffie–Hellman key exchange,縮寫為D-H) 是一種安全協議。它可以讓雙方在完全沒有對方任何預先信息的條件下通過不安全信道創建起一個密鑰。這個密鑰可以在後續的通訊中作為對稱密鑰來加密通訊內容。公鑰交換的概念最早由瑞夫·墨克(Ralph C. Merkle)提出,而這個密鑰交換方法,由惠特菲爾德·迪菲(Bailey Whitfield Diffie)和馬丁·赫爾曼(Martin Edward Hellman)在1976年發表,也是在公開文獻中發布的第一個非對稱方案。
Diffie–Hellman 演算法的有效性是建立在計算離散對數很困難的基礎上。簡單地說,我們可如下定義離散對數。首先定義素數 p 的本原跟。素數 p 的本原根是一個整數,且其冪可以產生 1 到 p-1 之間所有整數,也就是說若 a 是素數 p 的本原根,則
a mod p, a 2 mod p,..., a p-1 mod p 各不相同,它是整數 1 到 p-1 的一個置換。
對任意整數 b 和素數 p 的本原跟 a,我們可以找到唯一的指數 i 使得
b ≡ a i (mod p) 其中 0 <= i <= p-1
其中 a, b, p 這些是公開的,i 是私有的,破解難度就是計算 i 的難度。
Elgamal
1985年,T.Elgamal 提出了一種基於離散對數的公開密鑰體制,一種與 Diffie-Hellman 密鑰分配體制密切相關。Elgamal 密碼體系應用於一些技術標准中,如數字簽名標准(DSS) 和 S/MIME 電子郵件標准。
基本原理就是利用 Diffie–Hellman 進行密鑰交換,假設交換的密鑰為 K,然後用 K 對要發送的消息 M,進行加密處理。
所以 Elgamal 的安全系數取決於 Diffie–Hellman 密鑰交換。
另外 Elgamal 加密後消息發送的長度會增加一倍。
RSA
MIT 的羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在 1977 年提出並於 1978 年首次發表的演算法。RSA 是最早滿足要求的公鑰演算法之一,自誕生日起就成為被廣泛接受且被實現的通用的公鑰加密方法。
RSA 演算法的有效性主要依據是大數因式分解是很困難的。
原理請參考: 加密技術03-非對稱加密-RSA原理
ECC
大多數使用公鑰密碼學進行加密和數字簽名的產品和標准都使用 RSA 演算法。我們知道,為了保證 RSA 使用的安全性,最近這些年來密鑰的位數一直在增加,這對使用 RSA 的應用是很重的負擔,對進行大量安全交易的電子商務更是如此。近來,出現的一種具有強大競爭力的橢圓曲線密碼學(ECC)對 RSA 提出了挑戰。在標准化過程中,如關於公鑰密碼學的 IEEE P1363 標准中,人們也已考慮了 ECC。
與 RSA 相比,ECC 的主要誘人之處在於,它可以使用比 RSA 短得多的密鑰得到相同安全性,因此可以減少處理負荷。
ECC 比 RSA 或 Diffie-Hellman 原理復雜很多,本文就不多闡述了。
演算法對比
公鑰密碼體制的應用
密碼分析所需計算量( NIST SP-800-57 )
註:L=公鑰的大小,N=私鑰的大小
散列函數是一種將長消息轉換為短散列值的技術,用於確保消息的完整性。在散列演算法方面,SHA-1 曾被廣泛使用,但由於人們已經發現了一些針對該演算法理論上可行的攻擊方式,因此該演算法不應再被用於新的用途。今後我們應該主要使用的演算法包括目前已經在廣泛使用的 SHA-2,以及具有全新結構的 SHA-3 演算法。散列函數可以單獨使用,也可以作為消息認證、數字簽名以及偽隨機數生成器等技術的組成元素來使用。
主要應用
主要演算法
MD5
MD5消息摘要演算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個 128 位( 16 位元組,被表示為 32 位十六進制數字)的散列值(hash value),用於確保信息傳輸完整一致。MD5 由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於 1992 年公開,用以取代 MD4 演算法。這套演算法的程序在 RFC 1321 中被加以規范。
2009年,中國科學院的謝濤和馮登國僅用了 2 20.96 的碰撞演算法復雜度,破解了MD5的碰撞抵抗,該攻擊在普通計算機上運行只需要數秒鍾。2011年,RFC 6151 禁止MD5用作密鑰散列消息認證碼。
原理請參考: 加密技術04-哈希演算法-MD5原理
SHA-1
SHA-1(英語:Secure Hash Algorithm 1,中文名:安全散列演算法1)是一種密碼散列函數,美國國家安全局設計,並由美國國家標准技術研究所(NIST)發布為聯邦資料處理標准(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進制數。
2005年,密碼分析人員發現了對SHA-1的有效攻擊方法,這表明該演算法可能不夠安全,不能繼續使用,自2010年以來,許多組織建議用SHA-2或SHA-3來替換SHA-1。Microsoft、Google以及Mozilla都宣布,它們旗下的瀏覽器將在2017年停止接受使用SHA-1演算法簽名的SSL證書。
2017年2月23日,CWI Amsterdam與Google宣布了一個成功的SHA-1碰撞攻擊,發布了兩份內容不同但SHA-1散列值相同的PDF文件作為概念證明。
2020年,針對SHA-1的選擇前綴沖突攻擊已經實際可行。建議盡可能用SHA-2或SHA-3取代SHA-1。
原理請參考: 加密技術05-哈希演算法-SHA系列原理
SHA-2
SHA-2,名稱來自於安全散列演算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數演算法標准,由美國國家安全局研發,由美國國家標准與技術研究院(NIST)在2001年發布。屬於SHA演算法之一,是SHA-1的後繼者。其下又可再分為六個不同的演算法標准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。
SHA-2 系列的演算法主要思路和 SHA-1 基本一致
原理請參考: 加密技術05-哈希演算法-SHA系列原理
SHA-3
SHA-3 第三代安全散列演算法(Secure Hash Algorithm 3),之前名為 Keccak 演算法。
Keccak 是一個加密散列演算法,由 Guido Bertoni,Joan Daemen,Michaël Peeters,以及 Gilles Van Assche 在 RadioGatún 上設計。
2012年10月2日,Keccak 被選為 NIST 散列函數競賽的勝利者。SHA-2 目前沒有出現明顯的弱點。由於對 MD5、SHA-0 和 SHA-1 出現成功的破解,NIST 感覺需要一個與之前演算法不同的,可替換的加密散列演算法,也就是現在的 SHA-3。
SHA-3 在2015年8月5日由 NIST 通過 FIPS 202 正式發表。
原理請參考: 加密技術05-哈希演算法-SHA系列原理
演算法對比
5. AES加解密使用總結
AES, 高級加密標准, 是採用區塊加密的一種標准, 又稱Rijndael加密法. 嚴格上來講, AES和Rijndael又不是完全一樣, AES的區塊長度固定為128比特, 秘鑰長度可以是128, 192或者256. Rijndael加密法可以支持更大范圍的區塊和密鑰長度, Rijndael使用的密鑰和區塊長度均可以是128,192或256比特. AES是對稱加密最流行的演算法之一.
我們不去討論具體的AES的實現, 因為其中要運用到大量的高等數學知識, 單純的了解AES流程其實也沒什麼意義(沒有數學基礎難以理解), 所以我們今天著重來總結一些使用過程中的小點.
當然了分組密碼的加密模式不僅僅是ECB和CBC這兩種, 其他的我們暫不涉及.
上面說的AES是一種區塊加密的標准, 那加密模式其實可以理解為處理不同區塊的方式和聯系.
ECB可以看做最簡單的模式, 需要加密的數據按照區塊的大小分為N個塊, 並對每個塊獨立的進行加密
此種方法的缺點在於同樣的明文塊會被加密成相同的密文塊, 因此, 在某些場合, 這種方法不能提供嚴格的數據保密性. 通過下面圖示例子大家就很容易明白了
我們的項目中使用的就是這種模式, 在CBC模式中, 每個明文塊與前一個塊的加密結果進行異或後, 在進行加密, 所以每個塊的加密都依賴前面塊的加密結果的, 同時為了保證第一個塊的加密, 在第一個塊中需要引入初始化向量iv.
CBC是最常用的模式. 他的缺點是加密過程只能是串列的, 無法並行, 因為每個塊的加密要依賴到前一個塊的加密結果, 同時在加密的時候明文中的細微改變, 會導致後面所有的密文塊都發生變化. 但此種模式也是有優點的, 在解密的過程中, 每個塊的解密依賴上一個塊的加密結果, 所以我們要解密一個塊的時候, 只需要把他前面一個塊也一起讀取, 就可以完成本塊的解密, 所以這個過程是可以並行操作的.
AES加密每個塊blockSize是128比特, 那如果我們要加密的數據不是128比特的倍數, 就會存在最後一個分塊不足128比特, 那這個塊怎麼處理, 就用到了填充模式. 下面是常用的填充模式.
PKCS7可用於填充的塊大小為1-255比特, 填充方式也很容易理解, 使用需填充長度的數值paddingSize 所表示的ASCII碼 paddingChar = chr(paddingSize)對數據進行冗餘填充. (後面有解釋)
PKCS5隻能用來填充8位元組的塊
我們以AES(128)為例, 數據塊長度為128比特, 16位元組, 使用PKCS7填充時, 填充長度為1-16. 注意, 當加密長度是16整數倍時, 反而填充長度是最大的, 要填充16位元組. 原因是 "PKCS7" 拆包時會按協議取最後一個位元組所表徵的數值長度作為數據填充長度, 如果因真實數據長度恰好為16的整數倍而不進行填充, 則拆包時會導致真實數據丟失.
舉一個blockSize為8位元組的例子
第二個塊中不足8位元組, 差4個位元組, 所以用4個4來填充
嚴格來講 PKCS5不能用於AES, 因為AES最小是128比特(16位元組), 只有在使用DES此類blockSize為64比特演算法時, 考慮使用PKCS5
我們的項目最開始加解密庫使用了CryptoSwift, 後來發現有性能問題, 就改為使用IDZSwiftCommonCrypto.
這里咱們結合項目中邊下邊播邊解密來提一個點, 具體的可以參考之前寫的 邊下邊播的總結 . 因為播放器支持拖動, 所以我們在拖拽到一個點, 去網路拉取對應數據時, 應做好range的修正, 一般我們都會以range的start和end為基準, 向前後找到包含這個range的所有塊范圍. 打比方說我們需要的range時10-20, 這是我們應該修正range為0-31, 因為起點10在0-15中, 20 在16-31中. 這是常規的range修正.(第一步 找16倍數點).
但是在實際中, 我們請求一段數據時, 還涉及到解密器的初始化問題, 如果我們是請求的0-31的數據, 因為是從0開始, 所以我們的解密器只需要用key和初始的iv來進行初始化, 那如果經過了第一步的基本range修正後, 我們請求的數據不是從0開始, 那我們則還需要繼續往前讀取16個位元組的數據, 舉個例子, 經過第一步修正後的range為16-31, 那我們應該再往前讀取16位元組, 應該是要0-31 這32個位元組數據, 拿到數據後,使用前16個位元組(上一個塊的密文)當做iv來初始化解密器.
還有一個要注意的點是, 數據解密的過程中, 還有可能會吞掉後面16個位元組的數據, 我暫時沒看源碼, 不知道具體因為什麼, 所以保險起見, 我們的range最好是再向後讀取6個位元組.
感謝閱讀
參考資料
https://zh.wikipedia.org/zh-cn/%E9%AB%98%E7%BA%A7%E5%8A%A0%E5%AF%86%E6%A0%87%E5%87%86
https://segmentfault.com/a/1190000019793040
https://ithelp.ithome.com.tw/articles/10250386
6. 數據加密方式總結
程序開發過程中一般會遇到客戶端與服務端進行數據通信,不可避免的會遇到數據安全問題。為了防止數據在網路傳輸中發生數據泄露,我們常常會用到數據加密。常規的數據加密方式主要有:對稱加密和非對稱加密。
對稱加密主要有3種加密方式:DES加密、3DES加密及AES加密
如上圖所述,對稱加密使用同一個秘鑰,先用秘鑰對需要傳輸的明文數據進行加密,已加密的密文數據經過網路傳輸後,數據接收方通過同一個秘鑰進行解密,將密文數據再轉化成明文數據,完成數據傳輸過程。
但DES加密演算法的安全性不夠好,DES 被證明是可以破解的,明文+密鑰=密文,這個公式只要知道任何兩個,就可以推導出第三個在已經知道明文和對應密文的情況下,通過窮舉和暴力破解是可以破解DES的。
顧名思義,3DES加密就是使用DES演算法加密解密3次,由於DES加密缺乏安全性,3DES加密3次後安全性大大提高,但損失了一定的速度性能,所以慢慢被更優異的AES加密演算法所取代,3DES演算法可以說是DES加密和AES加密中間的過度品。
AES加解密過程和DES加解密過程類似,AES標准支持可變分組長度,分組長度可設定為32 比特的任意倍數,最小值為128 比特,最大值為256 比特,安全性大大增加,加解密速度也還可以。
RSA的安全基於大數分解的難度。其公鑰和私鑰是一對大素數(100到200位十進制數或更大)的函數。從一個公鑰和密文恢復出明文的難度,等價於分解兩個大素數之積(這是公認的數學難題)。
同時由於RSA的私鑰不用在網路上傳輸,避免了秘鑰泄露,因此安全性能大大提高。
RSA加解密速度測試:
通過上表可以發現,RSA加密速度還比較快,但解密速度會隨著加密數據的大小慢很多,加密6KB大小的數據用時0秒,解密用時1秒還可以接受。但對1M左右的數據進行解密,花費了5分多鍾的時間,在實際開發過程中就會顯得很慢,所以RSA演算法一般用於加密數據量較小的應用場景。
7. 多媒體信息加密技術論文
多媒體多媒體信息加密技術論文是解決網路安全問要採取的主要保密安全 措施 。我為大家整理的多媒體多媒體信息加密技術論文論文,希望你們喜歡。
多媒體多媒體信息加密技術論文論文篇一
多媒體信息加密技術論文研究
摘要:隨著 網路 技術的 發展 ,網路在提供給人們巨大方便的同時也帶來了很多的安全隱患,病毒、黑客攻擊以及 計算 機威脅事件已經司空見慣,為了使得互聯網的信息能夠正確有效地被人們所使用,互聯網的安全就變得迫在眉睫。
關鍵詞:網路;加密技術;安全隱患
隨著 網路技術 的高速發展,互聯網已經成為人們利用信息和資源共享的主要手段,面對這個互連的開放式的系統,人們在感嘆 現代 網路技術的高超與便利的同時,又會面臨著一系列的安全問題的困擾。如何保護 計算機信息的安全,也即信息內容的保密問題顯得尤為重要。
數據加密技術是解決網路安全問要採取的主要保密安全措施。是最常用的保密安全手段,通過數據加密技術,可以在一定程度上提高數據傳輸的安全性,保證傳輸數據的完整性。
1加密技術
數據加密的基本過程就是對原來為明文的文件或數據按某種演算法進行處理。使其成為不可讀的一段代碼,通常稱為“密文”傳送,到達目的地後使其只能在輸入相應的密鑰之後才能顯示出本來內容,通過這樣的途徑達到保護數據不被人非法竊取、修改的目的。該過程的逆過程為解密,即將該編碼信息轉化為其原來數據的過程。數據加密技術主要分為數據傳輸加密和數據存儲加密。數據傳輸加密技術主要是對傳輸中的數據流進行加密,常用的有鏈路加密、節點加密和端到端加密三種方式。
2加密演算法
信息加密是由各種加密演算法實現的,傳統的加密系統是以密鑰為基礎的,是一種對稱加密,即用戶使用同一個密鑰加密和解密。而公鑰則是一種非對稱加密 方法 。加密者和解密者各自擁有不同的密鑰,對稱加密演算法包括DES和IDEA;非對稱加密演算法包括RSA、背包密碼等。目前在數據通信中使用最普遍的演算法有DES演算法、RSA演算法和PGP演算法等。
2.1對稱加密演算法
對稱密碼體制是一種傳統密碼體制,也稱為私鑰密碼體制。在對稱加密系統中,加密和解密採用相同的密鑰。因為加解密鑰相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須信任對方不會將密鑰泄漏出去,這樣就可以實現數據的機密性和完整性。對於具有n個用戶的網路,需要n(n-1)/2個密鑰,在用戶群不是很大的情況下,對稱加密系統是有效的。DES演算法是目前最為典型的對稱密鑰密碼系統演算法。
DES是一種分組密碼,用專門的變換函數來加密明文。方法是先把明文按組長64bit分成若干組,然後用變換函數依次加密這些組,每次輸出64bit的密文,最後將所有密文串接起來即得整個密文。密鑰長度56bit,由任意56位數組成,因此數量高達256個,而且可以隨時更換。使破解變得不可能,因此,DES的安全性完全依賴於對密鑰的保護(故稱為秘密密鑰演算法)。DES運算速度快,適合對大量數據的加密,但缺點是密鑰的安全分發困難。
2.2非對稱密鑰密碼體制
非對稱密鑰密碼體制也叫公共密鑰技術,該技術就是針對私鑰密碼體制的缺陷被提出來的。公共密鑰技術利用兩個密碼取代常規的一個密碼:其中一個公共密鑰被用來加密數據,而另一個私人密鑰被用來解密數據。這兩個密鑰在數字上相關,但即便使用許多計算機協同運算,要想從公共密鑰中逆算出對應的私人密鑰也是不可能的。這是因為兩個密鑰生成的基本原理根據一個數學計算的特性,即兩個對位質數相乘可以輕易得到一個巨大的數字,但要是反過來將這個巨大的乘積數分解為組成它的兩個質數,即使是超級計算機也要花很長的時間。此外,密鑰對中任何一個都可用於加密,其另外一個用於解密,且密鑰對中稱為私人密鑰的那一個只有密鑰對的所有者才知道,從而人們可以把私人密鑰作為其所有者的身份特徵。根據公共密鑰演算法,已知公共密鑰是不能推導出私人密鑰的。最後使用公鑰時,要安裝此類加密程序,設定私人密鑰,並由程序生成龐大的公共密鑰。使用者與其向 聯系的人發送公共密鑰的拷貝,同時請他們也使用同一個加密程序。之後他人就能向最初的使用者發送用公共密鑰加密成密碼的信息。僅有使用者才能夠解碼那些信息,因為解碼要求使用者知道公共密鑰的口令。那是惟有使用者自己才知道的私人密鑰。在這些過程當中。信息接受方獲得對方公共密鑰有兩種方法:一是直接跟對方聯系以獲得對方的公共密鑰;另一種方法是向第三方即可靠的驗證機構(如Certification Authori-ty,CA),可靠地獲取對方的公共密鑰。公共密鑰體制的演算法中最著名的代表是RSA系統,此外還有:背包密碼、橢圓曲線、EL Gamal演算法等。公鑰密碼的優點是可以適應網路的開放性要求,且密鑰 管理問題也較為簡單,尤其可方便的實現數字簽名和驗證。但其演算法復雜,加密數據的速率較低。盡管如此,隨著現代 電子 技術和密碼技術的發展,公鑰密碼演算法將是一種很有前途的網路安全加密體制。
RSA演算法得基本思想是:先找出兩個非常大的質數P和Q,算出N=(P×Q),找到一個小於N的E,使E和(P-1)×(Q-1)互質。然後算出數D,使(D×E-1)Mod(P-1)×(Q-1)=0。則公鑰為(E,N),私鑰為(D,N)。在加密時,將明文劃分成串,使得每串明文P落在0和N之間,這樣可以通過將明文劃分為每塊有K位的組來實現。並且使得K滿足(P-1)×(Q-1I)K3加密技術在 網路 中的 應用及 發展
實際應用中加密技術主要有鏈路加密、節點加密和端對端加密等三種方式,它們分別在OSI不同層次使用加密技術。鏈路加密通常用硬體在物理層實現,加密設備對所有通過的數據加密,這種加密方式對用戶是透明的,由網路自動逐段依次進行,用戶不需要了解加密技術的細節,主要用以對信道或鏈路中可能被截獲的部分進行保護。鏈路加密的全部報文都以明文形式通過各節點的處理器。在節點數據容易受到非法存取的危害。節點加密是對鏈路加密的改進,在協議運輸層上進行加密,加密演算法要組合在依附於節點的加密模塊中,所以明文數據只存在於保密模塊中,克服了鏈路加密在節點處易遭非法存取的缺點。網路層以上的加密,通常稱為端對端加密,端對端加密是把加密設備放在網路層和傳輸層之間或在表示層以上對傳輸的數據加密,用戶數據在整個傳輸過程中以密文的形式存在。它不需要考慮網路低層,下層協議信息以明文形式傳輸,由於路由信息沒有加密,易受監控分析。不同加密方式在網路層次中側重點不同,網路應用中可以將鏈路加密或節點加密同端到端加密結合起來,可以彌補單一加密方式的不足,從而提高網路的安全性。針對網路不同層次的安全需求也制定出了不同的安全協議以便能夠提供更好的加密和認證服務,每個協議都位於 計算 機體系結構的不同層次中。混合加密方式兼有兩種密碼體制的優點,從而構成了一種理想的密碼方式並得到廣泛的應用。在數據信息中很多時候所傳輸數據只是其中一小部分包含重要或關鍵信息,只要這部分數據安全性得到保證整個數據信息都可以認為是安全的,這種情況下可以採用部分加密方案,在數據壓縮後只加密數據中的重要或關鍵信息部分。就可以大大減少計算時間,做到數據既能快速地傳輸,並且不影響准確性和完整性,尤其在實時數據傳輸中這種方法能起到很顯著的效果。
4結語
多媒體信息加密技術論文作為網路安全技術的核心,其重要性不可忽略。隨著加密演算法的公開化和解密技術的發展,各個國家正不斷致力於開發和設計新的加密演算法和加密機制。所以我們應該不斷發展和開發新的多媒體信息加密技術論文以適應紛繁變化的網路安全 環境。
多媒體多媒體信息加密技術論文論文篇二
信息數據加密技術研究
[摘 要] 隨著全球經濟一體化的到來,信息安全得到了越來越多的關注,而信息數據加密是防止數據在數據存儲和和傳輸中失密的有效手段。如何實現信息數據加密,世界各個國家分別從法律上、管理上加強了對數據的安全保護,而從技術上採取措施才是有效手段,信息數據加密技術是利用數學或物理手段,對電子信息在傳輸過程中和存儲體內進行保護,以防止泄漏的技術。
[關鍵字] 信息 數據加密 對稱密鑰加密技術 非對稱密鑰加密技術
隨著全球經濟一體化的到來,信息技術的快速發展和信息交換的大量增加給整個社會帶來了新的驅動力和創新意識。信息技術的高速度發展,信息傳輸的安全日益引起人們的關注。世界各個國家分別從法律上、管理上加強了對數據的安全保護,而從技術上採取措施才是有效手段,技術上的措施分別可以從軟體和硬體兩方面入手。隨著對信息數據安全的要求的提高,數據加密技術和物理防範技術也在不斷的發展。數據加密是防止數據在數據存儲和和傳輸中失密的有效手段。信息數據加密技術是利用數學或物理手段,對電子信息在傳輸過程中和存儲體內進行保護,以防止泄漏的技術。信息數據加密與解密從宏觀上講是非常簡單的,很容易掌握,可以很方便的對機密數據進行加密和解密。從而實現對數據的安全保障。
1.信息數據加密技術的基本概念
信息數據加密就是通過信息的變換或編碼,把原本一個較大范圍的人(或者機器)都能夠讀懂、理解和識別的信息(這些信息可以是語音、文字、圖像和符號等等)通過一定的方法(演算法),使之成為難以讀懂的亂碼型的信息,從而達到保障信息安全,使其不被非法盜用或被非相關人員越權閱讀的目的。在加密過程中原始信息被稱為“明文”,明文經轉換加密後得到的形式就是“密文”。那麼由“明文”變成“密文”的過程稱為“加密”,而把密文轉變為明文的過程稱為“解密”。
2. 信息數據加密技術分類
信息數據加密技術一般來說可以分為兩種,對稱密鑰加密技術及非對稱密鑰加密技術。
2.1 對稱密鑰加密技術
對稱密鑰加密技術,又稱專用密鑰加密技術或單密鑰加密技術。其加密和解密時使用同一個密鑰,即同一個演算法。對稱密鑰是一種比較傳統的加密方式,是最簡單方式。在進行對稱密鑰加密時,通信雙方需要交換彼此密鑰,當需要給對方發送信息數據時,用自己的加密密鑰進行加密,而在需要接收方信息數據的時候,收到後用對方所給的密鑰進行解密。在對稱密鑰中,密鑰的管理極為重要,一旦密鑰丟失,密文將公開於世。這種加密方式在與多方通信時變得很復雜,因為需要保存很多密鑰,而且密鑰本身的安全就是一個必須面對的大問題。
對稱密鑰加密演算法主要包括:DES、3DES、IDEA、FEAL、BLOWFISH等。
DES 演算法的數據分組長度為64 位,初始置換函數接受長度為64位的明文輸入,密文分組長度也是64 位,末置換函數輸出64位的密文;使用的密鑰為64 位,有效密鑰長度為56 位,有8 位用於奇偶校驗。DES的解密演算法與加密演算法完全相同,但密鑰的順序正好相反。所以DES是一種對二元數據進行加密的演算法。DES加密過程是:對給定的64 位比特的明文通過初始置換函數進行重新排列,產生一個輸出;按照規則迭代,置換後的輸出數據的位數要比迭代前輸入的位數少;進行逆置換,得到密文。
DES 演算法還是比別的加密演算法具有更高的安全性,因為DES演算法具有相當高的復雜性,特別是在一些保密性級別要求高的情況下使用三重DES 或3DES 系統較可靠。DES演算法由於其便於掌握,經濟有效,使其應用范圍更為廣泛。目前除了用窮舉搜索法可以對DES 演算法進行有效地攻擊之外, 還沒有發現 其它 有效的攻擊辦法。
IDEA演算法1990年由瑞士聯邦技術協會的Xuejia Lai和James Massey開發的。經歷了大量的詳細審查,對密碼分析具有很強的抵抗能力,在多種商業產品中被使用。IDEA以64位大小的數據塊加密的明文塊進行分組,密匙長度為128位,它基於“相異代數群上的混合運算”設計思想演算法用硬體和軟體實現都很容易且比DES在實現上快的多。
IDEA演算法輸入的64位數據分組一般被分成4個16位子分組:A1,A2,A3和A4。這4個子分組成為演算法輸入的第一輪數據,總共有8輪。在每一輪中,這4個子分組相互相異或,相加,相乘,且與6個16位子密鑰相異或,相加,相乘。在輪與輪間,第二和第三個子分組交換。最後在輸出變換中4個子分組與4個子密鑰進行運算。
FEAL演算法不適用於較小的系統,它的提出是著眼於當時的DES只用硬體去實現,FEAL演算法是一套類似美國DES的分組加密演算法。但FEAL在每一輪的安全強度都比DES高,是比較適合通過軟體來實現的。FEAL沒有使用置換函數來混淆加密或解密過程中的數據。FEAL使用了異或(XOR)、旋轉(Rotation)、加法與模(Molus)運算,FEAL中子密鑰的生成使用了8輪迭代循環,每輪循環產生2個16bit的子密鑰,共產生16個子密鑰運用於加密演算法中。
2.2 非對稱密鑰加密技術
非對稱密鑰加密技術又稱公開密鑰加密,即非對稱加密演算法需要兩個密鑰,公開密鑰和私有密鑰。有一把公用的加密密鑰,有多把解密密鑰,加密和解密時使用不同的密鑰,即不同的演算法,雖然兩者之間存在一定的關系,但不可能輕易地從一個推導出另一個。使用私有密鑰對數據信息進行加密,必須使用對應的公開密鑰才能解密,而 公開密鑰對數據信息進行加密,只有對應的私有密鑰才能解密。在非對稱密鑰加密技術中公開密鑰和私有密鑰都是一組長度很大、數字上具有相關性的素數。其中的一個密鑰不可能翻譯出信息數據,只有使用另一個密鑰才能解密,每個用戶只能得到唯一的一對密鑰,一個是公開密鑰,一個是私有密鑰,公開密鑰保存在公共區域,可在用戶中傳遞,而私有密鑰則必須放在安全的地方。
非對稱密鑰加密技術的典型演算法是RSA演算法。RSA演算法是世界上第一個既能用於數據加密也能用於數字簽名的非對稱性加密演算法,RSA演算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美國麻省理工學院)開發的。RSA是目前最有影響力的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數據加密標准。
RSA演算法的安全性依賴於大數分解,但現在還沒有證明破解RSA就一定需要作大數分解。所以是否等同於大數分解一直沒有理論證明的支持。由於RSA演算法進行的都是大數計算,所以無論是在軟體還是硬體方面實現相對於DES演算法RSA演算法最快的情況也會慢上好幾倍。速度一直是RSA演算法的缺陷。
3. 總結
隨著計算機網路的飛速發展,在實現資源共享、信息海量的同時,信息安全達到了前所未有的需要程度,多媒體信息加密技術論文也凸顯了其必不可少的地位,同時也加密技術帶來了前所未有的發展需求,加密技術發展空間無限。
參考文獻:
[1] IDEA演算法 中國信息安全組織 2004-07-17.
看了“多媒體多媒體信息加密技術論文論文”的人還看:
1. ssl加密技術論文
2. 詳解加密技術概念加密方法以及應用論文
3. 淺談計算機安全技術畢業論文
4. 電子信息技術論文範文
5. 計算機網路安全結課論文
8. 加密演算法總結
iOS加密相關演算法框架:CommonCrypto
明文: 明文指的是未被加密過的原始數據。
密文: 明文被某種加密演算法加密之後,會變成密文,從而確保原始數據的安全。密文也可以被解密,得到原始的明文。
密鑰: 密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的演算法中輸入的參數。密鑰分為對稱密鑰與非對稱密鑰,分別應用在對稱加密和非對稱加密上。
對稱加密又叫做私鑰加密 ,即信息的發送方和接收方使用 同一個密鑰 去加密和解密數據。
對稱加密的特點是 演算法公開、計算量少、加密和解密速度快效率高 ,適合於對大數據量進行加密;
缺點是 雙方使用相同的密鑰、密鑰傳輸的過程不安全、易被破解、因此為了保密其密鑰需要經常更換
常見的對稱加密演算法有 AES、DES 、3DES、TDEA、Blowfish、RC5和IDEA。【不過DES被認為是不安全的】
加密過程:明文 + 加密演算法 + 私鑰 => 密文
解密過程: 密文 + 解密演算法 + 私鑰 => 明文
對稱加密中用到的密鑰叫做 私鑰 ,私鑰表示個人私有的密鑰,即該密鑰不能被泄露。
其 加密過程中的私鑰與解密過程中用到的私鑰是同一個密鑰 ,這也是稱加密之所以稱之為「對稱」的原因。由於對稱加密的 演算法是公開 的,所以一旦私鑰被泄露,那麼密文就很容易被破解,所以對稱加密的 缺點是密鑰安全管理困難 。
3DES是DES加密演算法的一種模式,它使用3條64位的密鑰對數據進行三次加密。是DES像AES過渡的加密演算法,是DES的一個更安全的變形,它以DES為基本模塊,通過組合分組方法設計出分組加密演算法。
非對稱加密也叫做公鑰加密 。非對稱加密與對稱加密相比,其安全性更好。對稱加密的通信雙方使用相同的密鑰,如果一方的密鑰遭泄露,那麼整個通信就會被破解。而 非對稱加密使用一對密鑰,即公鑰和私鑰 , 且二者成對出現 。私鑰被自己保存,不能對外泄露。公鑰指的是公共的密鑰,任何人都可以獲得該密鑰。用公鑰或私鑰中的任何一個進行加密,用另一個進行解密。兩種使用方法:
哈希演算法加密是通過哈希演算法對數據加密、加密後的結果不可逆,即加密後不能在解密。
SHA加密,安全哈希演算法,主要適用於數字簽名簽名標准( DSS )裡面定義的數字簽名演算法( DSA )。對於長度小於 2^64 位的消息, SHA1 會產生一個160位的消息摘要。當接收消息的時候,這個消息摘要可以用來驗證數據的完整性。在傳輸的過程中,數據很可能會發生變化,那麼這時候就會產生不同的消息摘要。當然除了 SHA1 還有 SHA256 以及 SHA512 等。
HMAC加密,給定一個密鑰,對明文加密,做兩次「散列」,得到的結果還是32位字元串。
就是或、與、異或、或者加上某個數據
特點:可逆、原始數據和加密數據長度保持一致
9. 密碼學第一次實驗報告:DES演算法與差分攻擊
DES演算法與差分攻擊
了解DES演算法基本工作原理,體會並理解分組密碼演算法的混淆和擴散概念。了解Sbox工作原理及效果。了解DES的工作模式和填充方式。了解差分攻擊
的基本原理。
IP置換目的是將輸入的64位數據塊按位重新組合,並把輸出分為L0、R0兩部分,每部分各長32位。
表中的數字代表新數據中此位置的數據在原數據中的位置,即原數據塊的第58位放到新數據的第1位,第50位放到第2位,……依此類推,第7位放到第64位。置換後的數據分為L0和R0兩部分,L0為新數據的左32位,R0為新數據的右32位。
不考慮每個位元組的第8位,DES的密鑰由64位減至56位,每個位元組的第8位作為奇偶校驗位。產生的56位密鑰由下表生成(注意表中沒有8,16,24,32,40,48,56和64這8位):
在DES的每一輪中,從56位密鑰產生出不同的48位子密鑰,確定這些子密鑰的方式如下:
1).將56位的密鑰分成兩部分,每部分28位。
2).根據輪數,這兩部分分別循環左移1位或2位。每輪移動的位數如下表:
移動後,從56位中選出48位。這個過程中,既置換了每位的順序,又選擇了子密鑰,因此稱為壓縮置換。壓縮置換規則如下表(注意表中沒有9,18,22,25,35,38,43和54這8位):
壓縮後的密鑰與擴展分組異或以後得到48位的數據,將這個數據送人S盒,進行替代運算。替代由8個不同的S盒完成,每個S盒有6位輸入4位輸出。48位輸入分為8個6位的分組,一個分組對應一個S盒,對應的S盒對各組進行代替操作。
一個S盒就是一個4行16列的表,盒中的每一項都是一個4位的數。S盒的6個輸入確定了其對應的輸出在哪一行哪一列,輸入的高低兩位做為行數H,中間四位做為列數L,在S-BOX中查找第H行L列對應的數據(<32)。
S盒代替時DES演算法的關鍵步驟,所有的其他的運算都是線性的,易於分析,而S盒是非線性的,相比於其他步驟,提供了更好安全性
S盒代替運算的32位輸出按照P盒進行置換。該置換把輸入的每位映射到輸出位,任何一位不能被映射兩次,也不能被略去,映射規則如下表:
表中的數字代表原數據中此位置的數據在新數據中的位置,即原數據塊的第16位放到新數據的第1位,第7位放到第2位,……依此類推,第25位放到第32位。
末置換是初始置換的逆過程,DES最後一輪後,左、右兩半部分並未進行交換,而是兩部分合並形成一個分組做為末置換的輸入。末置換規則如下表:
置換方法同上
實際應用中,DES是根據其加密演算法所定義的明文分組的大小(64bits),將數據割成若干64bits的加密區塊,再以加密區塊為單位,分別進行加密處理。根據數據加密時每個加密區塊間的關聯方式,可以分為4種加密模式,包括ECB,CBC,CFB及OFB。
DES演算法其中主要起作用的演算法有:矩陣置換、擴展、左移、異或、左右互換、s盒作用 。其中對攻擊者來說最麻煩的要說s盒一步,破解des體系關鍵在s盒。
乍一看六位輸入與四位輸出貌似沒什麼關系。但事實上,對於同一個s盒具有相同輸入異或的所有輸入六比特組的輸出四比特異或值有一定規律。
具體些說,對於輸入異或相同的明文對B,B*僅有32組,而這32組輸出異或卻並不是均勻分布,而是僅分布在很少的幾個四比特值中;也可以說具有相同輸入異或且輸出四比特異或也相同的六比特輸入數量不多且分布不均勻。正是這種輸入輸出輸出異或間的不均勻性可以被攻擊者利用並破解密鑰。
結果表格:
10. 《TrueCrypt加密系統》實驗報告
嚎哥,給你,分也太少了把
【實驗目的】
1. 了解TrueCrypt加密系統的功能、工作原理和使用方法。
2. 在實踐中學習TrueCrypt加密系統的使用,並能夠加以運用。
3. 能夠使用TrueCrypt加密系統進行加密。
4. 聯系實際,加深對計算機技術的了解和認識。
【實驗環境】
TrueCrypt是一款免費的PC數據加密軟體,支持Vista和Linux系統,可以在硬碟或快閃記憶體上創建一個或多個虛擬磁碟,所有虛擬磁碟上的文件都被自動加密,加密後需要通過密碼來進行訪問,由於加入了AES-256加密演算法,使得加密數據幾乎不可能被破解,對於沒有商務安全功能的普通電腦,或者不捨得購買加密快閃記憶體的商務用戶,TrueCrypt可以讓他們的數據存儲安全可靠。
【實驗內容】