⑴ 常用的加密演算法有哪些
對稱密鑰加密
對稱密鑰加密 Symmetric Key Algorithm 又稱為對稱加密、私鑰加密、共享密鑰加密:這類演算法在加密和解密時使用相同的密鑰,或是使用兩個可以簡單的相互推算的密鑰,對稱加密的速度一般都很快。
分組密碼
分組密碼 Block Cipher 又稱為「分塊加密」或「塊加密」,將明文分成多個等長的模塊,使用確定的演算法和對稱密鑰對每組分別加密解密。這也就意味著分組密碼的一個優點在於可以實現同步加密,因為各分組間可以相對獨立。
與此相對應的是流密碼:利用密鑰由密鑰流發生器產生密鑰流,對明文串進行加密。與分組密碼的不同之處在於加密輸出的結果不僅與單獨明文相關,而是與一組明文相關。
DES、3DES
數據加密標准 DES Data Encryption Standard 是由IBM在美國國家安全局NSA授權下研製的一種使用56位密鑰的分組密碼演算法,並於1977年被美國國家標准局NBS公布成為美國商用加密標准。但是因為DES固定的密鑰長度,漸漸不再符合在開放式網路中的安全要求,已經於1998年被移出商用加密標准,被更安全的AES標准替代。
DES使用的Feistel Network網路屬於對稱的密碼結構,對信息的加密和解密的過程極為相似或趨同,使得相應的編碼量和線路傳輸的要求也減半。
DES是塊加密演算法,將消息分成64位,即16個十六進制數為一組進行加密,加密後返回相同大小的密碼塊,這樣,從數學上來說,64位0或1組合,就有2^64種可能排列。DES密鑰的長度同樣為64位,但在加密演算法中,每逢第8位,相應位會被用於奇偶校驗而被演算法丟棄,所以DES的密鑰強度實為56位。
3DES Triple DES,使用不同Key重復三次DES加密,加密強度更高,當然速度也就相應的降低。
AES
高級加密標准 AES Advanced Encryption Standard 為新一代數據加密標准,速度快,安全級別高。由美國國家標准技術研究所NIST選取Rijndael於2000年成為新一代的數據加密標准。
AES的區塊長度固定為128位,密鑰長度可以是128位、192位或256位。AES演算法基於Substitution Permutation Network代換置列網路,將明文塊和密鑰塊作為輸入,並通過交錯的若干輪代換"Substitution"和置換"Permutation"操作產生密文塊。
AES加密過程是在一個4*4的位元組矩陣(或稱為體State)上運作,初始值為一個明文區塊,其中一個元素大小就是明文區塊中的一個Byte,加密時,基本上各輪加密循環均包含這四個步驟:

ECC
ECC即 Elliptic Curve Cryptography 橢圓曲線密碼學,是基於橢圓曲線數學建立公開密鑰加密的演算法。ECC的主要優勢是在提供相當的安全等級情況下,密鑰長度更小。
ECC的原理是根據有限域上的橢圓曲線上的點群中的離散對數問題ECDLP,而ECDLP是比因式分解問題更難的問題,是指數級的難度。而ECDLP定義為:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
數字簽名
數字簽名 Digital Signature 又稱公鑰數字簽名是一種用來確保數字消息或文檔真實性的數學方案。一個有效的數字簽名需要給接收者充足的理由來信任消息的可靠來源,而發送者也無法否認這個簽名,並且這個消息在傳輸過程中確保沒有發生變動。
數字簽名的原理在於利用公鑰加密技術,簽名者將消息用私鑰加密,然後公布公鑰,驗證者就使用這個公鑰將加密信息解密並對比消息。一般而言,會使用消息的散列值來作為簽名對象。
⑵ 什麼是流加密
現代的文本加密主要還是對稱加密。非對稱加密太慢,而且也不適合對全文本加密,所以一般只是用在小數據加密上,比如加密文本對稱加密密鑰再傳給對方。然後文本本身還是用對稱加密。非對稱加密還有一個用處就是核實發件人身份。
現代主要有兩種對稱加密,數據流加密和數據塊加密。數據流加密就是用演算法和密鑰一起產生一個隨機碼流,再和數據流XOR一起產生加密後的數據流。解密方只要產生同樣的隨機碼流就可以了。數據塊加密把原數據分成固定大小的數據塊(比如64位),加密器使用密鑰對數據塊進行處理。一般來說數據流加密更快,但塊加密更安全一些。常見的加密法里,des和3des是使用最多的數據塊加密,aes是更新一些的塊加密法,rc4是數據流加密,等等。
二戰以後,大家一般都放棄了保護加密演算法的做法,因為太難了。而且數學上很強的演算法就這么幾種。所以現在都是公開演算法。這些演算法特性都不錯,如果一個密鑰長度不夠強了,只要加長密鑰長度就可以了。當然這種改變涉及改變加密硬軟體,在使用中有些不便,不過一般認為演算法本身還是夠強不必改變。
⑶ 數據加密的方法有哪些
一種數據加密的方法。首先,利用一中文斷詞方法將文章內容予以斷詞,並進行詞性判斷以標注詞性。然後,產生文章的加密信息,包括將水印信息轉換成位字元串,以及根據一質數產生一個二次剩餘表,作為選取加密詞語的判斷標准。接下來,選取要進行加密的詞語及其同義詞,其依據相關詞語篩選規則篩選不適合作為嵌入水印的詞語。然後進行同義詞替換。當找出適合作為嵌入水印的詞語之後,便可將水印的位字元串,以一個位為單位,依照順序嵌入至選出的詞語中。最後,完成前述步驟後即可產生嵌入水印信息的密文。
⑷ 幾種常用數據加密演算法的比較
幾種對稱性加密演算法:AES,DES,3DES
DES是一種分組數據加密技術(先將數據分成固定長度的小數據塊,之後進行加密),速度較快,適用於大量數據加密,而3DES是一種基於DES的加密演算法,使用3個不同密匙對同一個分組數據塊進行3次加密,如此以使得密文強度更高。
相較於DES和3DES演算法而言,AES演算法有著更高的速度和資源使用效率,安全級別也較之更高了,被稱為下一代加密標准。
幾種非對稱性加密演算法:RSA,DSA,ECC
RSA和DSA的安全性及其它各方面性能都差不多,而ECC較之則有著很多的性能優越,包括處理速度,帶寬要求,存儲空間等等。
幾種線性散列演算法(簽名演算法):MD5,SHA1,HMAC
這幾種演算法只生成一串不可逆的密文,經常用其效驗數據傳輸過程中是否經過修改,因為相同的生成演算法對於同一明文只會生成唯一的密文,若相同演算法生成的密文不同,則證明傳輸數據進行過了修改。通常在數據傳說過程前,使用MD5和SHA1演算法均需要發送和接收數據雙方在數據傳送之前就知道密匙生成演算法,而HMAC與之不同的是需要生成一個密匙,發送方用此密匙對數據進行摘要處理(生成密文),接收方再利用此密匙對接收到的數據進行摘要處理,再判斷生成的密文是否相同。
對於各種加密演算法的選用:
由於對稱加密演算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,這樣我們就集成了兩類加密演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理密鑰的優點。
如果在選定了加密演算法後,那採用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位的數字,ECC建議採用160位,AES採用128為即可。

⑸ 電腦操作的數據加密方法
在傳統上,我們有幾種方法來加密數據流。所有這些方法都可以用軟體很容易的實現,但是當我們只知道密文的時候,是不容易破譯這些加密演算法的(當同時有原文和密文時,破譯加密演算法雖然也不是很容易,但已經是可能的了)。最好的加密演算法對系統性能幾乎沒有影響,並且還可以帶來其他內在的優點。例如,大家都知道的pkzip,它既壓縮數據又加密數據。又如,dbms的一些軟體包總是包含一些加密方法以使復制文件這一功能對一些敏感數據是無效的,或者需要用戶的密碼。所有這些加密演算法都要有高效的加密和解密能力。
幸運的是,在所有的加密演算法中最簡單的一種就是「置換表」演算法,這種演算法也能很好達到加密的需要。每一個數據段(總是一個位元組)對應著「置換表」中的一個偏移量,偏移量所對應的值就輸出成為加密後的文件。加密程序和解密程序都需要一個這樣的「置換表」。事實上,80x86 cpu系列就有一個指令『xlat』在硬體級來完成這樣的工作。這種加密演算法比較簡單,加密解密速度都很快,但是一旦這個「置換表」被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密演算法對於黑客破譯來講是相當直接的,只要找到一個「置換表」就可以了。這種方法在計算機出現之前就已經被廣泛的使用。
對這種「置換表」方式的一個改進就是使用2個或者更多的「置換表」,這些表都是基於數據流中位元組的位置的,或者基於數據流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的「置換表」,並且按偽隨機的方式使用每個表,這種改進的加密方法已經變的很難破譯。比如,我們可以對所有的偶數位置的數據使用a表,對所有的奇數位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。
與使用「置換表」相類似,「變換數據位置」也在計算機加密中使用。但是,這需要更多的執行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然後按這個順序再輸出。解密程序按相反的順序還原數據。這種方法總是和一些別的加密演算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient 可以變為listen,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經變化了。
但是,還有一種更好的加密演算法,只有計算機可以做,就是字/位元組循環移位和xor操作。如果我們把一個字或位元組在一個數據流內做循環移位,使用多個或變化的方向(左移或右移),就可以迅速的產生一個加密的數據流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產生一系列的數字,我們可以使用fibbonaci數列。對數列所產生的數做模運算(例如模3),得到一個結果,然後循環移位這個結果的次數,將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數列這種偽隨機的方式所產生的密碼對我們的解密程序來講是非常容易的。
在一些情況下,我們想能夠知道數據是否已經被篡改了或被破壞了,這時就需要產生一些校驗碼,並且把這些校驗碼插入到數據流中。這樣做對數據的防偽與程序本身都是有好處的。但是感染計算機程序的病毒才不會在意這些數據或程序是否加過密,是否有數字簽名。所以,加密程序在每次load到內存要開始執行時,都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應該保密的,因為病毒程序的編寫者將會利用這些來破壞別人的程序或數據。因此,在一些反病毒或殺病毒軟體中一定要使用加密技術。
循環冗餘校驗是一種典型的校驗數據的方法。對於每一個數據塊,它使用位循環移位和xor操作來產生一個16位或32位的校驗和 ,這使得丟失一位或兩個位的錯誤一定會導致校驗和出錯。這種方式很久以來就應用於文件的傳輸,例如 xmodem-crc。 這是方法已經成為標准,而且有詳細的文檔。但是,基於標准crc演算法的一種修改演算法對於發現加密數據塊中的錯誤和文件是否被病毒感染是很有效的。

⑹ 如何給數據加密啊
可以通過安裝防泄密軟體來實現給數據加密。
什麼是防泄密軟體?
防泄密軟體是一款信息安全管理軟體,用來保護企業內部文檔不外泄,並規范員工的計算機操作行為。主要功能包括:數據防泄密、文檔安全管理、桌面管理、行為審計、網路安全管理、列印審計、U盤管理等。軟體由服務端程序、控制台程序和終端程序三部分組成。服務端程序要安裝在長開機的伺服器電腦上,控制台程序安裝在管理員使用的電腦上,終端程序安裝在每個需要文檔保護/或者需要閱讀加密文檔的員工電腦上。防泄密軟體致力於為企業提供數據安全防護整體解決方案,在長期的數據安全實踐中,對深層防禦戰略有著深刻的體會,並將它完全融合於產品設計理念和設計體系之中,通過數據防泄密和文檔安全管理兩大平台進行綜合安全防護,構建多層次、全方位的數據安全一體化管理體系。
數據加密
⑺ 常用的數據加密演算法有哪些
想要加密電腦內重要文件數據,可以直接使用加密軟體來保護,方法簡單便捷安全。據了解現在市面上的加密軟體都是採用的透明加密,可以對文件進行受控加密,在內部環境是可以正常打開使用的,脫離內部環境則打不開或者亂碼,可以設置禁止拷貝、復制、修改、截屏等。文件外發需要授權,未授權解密無論以任何形式發出都是無法正常打開使用的。還可設置文件外發的瀏覽次數與打開時間。
⑻ 數據加密主要有哪些方式
主要有兩種方式:「對稱式」和「非對稱式」。
對稱式加密就是加密和解密使用同一個密鑰,通常稱之為「Session Key 」這種加密技術目前被廣泛採用,如美國政府所採用的DES加密標准就是一種典型的「對稱式」加密法,它的Session Key長度為56Bits。
非對稱式加密就是加密和解密所使用的不是同一個密鑰,通常有兩個密鑰,稱為「公鑰」和「私鑰」,它們兩個必需配對使用,否則不能打開加密文件。這里的「公鑰」是指可以對外公布的,「私鑰」則不能,只能由持有人一個人知道。它的優越性就在這里,因為對稱式的加密方法如果是在網路上傳輸加密文件就很難把密鑰告訴對方,不管用什麼方法都有可能被別竊聽到。而非對稱式的加密方法有兩個密鑰,且其中的「公鑰」是可以公開的,也就不怕別人知道,收件人解密時只要用自己的私鑰即可以,這樣就很好地避免了密鑰的傳輸安全性問題。
一般的數據加密可以在通信的三個層次來實現:鏈路加密、節點加密和端到端加密。(3)
鏈路加密
對於在兩個網路節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全證。對於鏈路加密(又稱在線加密),所有消息在被傳輸之前進行加密,在每一個節點對接收到消息進行解密,然後先使用下一個鏈路的密鑰對消息進行加密,再進行傳輸。在到達目的地之前,一條消息可能要經過許多通信鏈路的傳輸。
由於在每一個中間傳輸節點消息均被解密後重新進行加密,因此,包括路由信息在內的鏈路上的所有數據均以密文形式出現。這樣,鏈路加密就掩蓋了被傳輸消息的源點與終點。由於填充技術的使用以及填充字元在不需要傳輸數據的情況下就可以進行加密,這使得消息的頻率和長度特性得以掩蓋,從而可以防止對通信業務進行分析。
盡管鏈路加密在計算機網路環境中使用得相當普遍,但它並非沒有問題。鏈路加密通常用在點對點的同步或非同步線路上,它要求先對在鏈路兩端的加密設備進行同步,然後使用一種鏈模式對鏈路上傳輸的數據進行加密。這就給網路的性能和可管理性帶來了副作用。
在線路/信號經常不通的海外或衛星網路中,鏈路上的加密設備需要頻繁地進行同步,帶來的後果是數據丟失或重傳。另一方面,即使僅一小部分數據需要進行加密,也會使得所有傳輸數據被加密。
在一個網路節點,鏈路加密僅在通信鏈路上提供安全性,消息以明文形式存在,因此所有節點在物理上必須是安全的,否則就會泄漏明文內容。然而保證每一個節點的安全性需要較高的費用,為每一個節點提供加密硬體設備和一個安全的物理環境所需要的費用由以下幾部分組成:保護節點物理安全的雇員開銷,為確保安全策略和程序的正確執行而進行審計時的費用,以及為防止安全性被破壞時帶來損失而參加保險的費用。
在傳統的加密演算法中,用於解密消息的密鑰與用於加密的密鑰是相同的,該密鑰必須被秘密保存,並按一定規則進行變化。這樣,密鑰分配在鏈路加密系統中就成了一個問題,因為每一個節點必須存儲與其相連接的所有鏈路的加密密鑰,這就需要對密鑰進行物理傳送或者建立專用網路設施。而網路節點地理分布的廣闊性使得這一過程變得復雜,同時增加了密鑰連續分配時的費用。
節點加密
盡管節點加密能給網路數據提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸的消息提供安全性;都在中間節點先對消息進行解密,然後進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。
然而,與鏈路加密不同,節點加密不允許消息在網路節點以明文形式存在,它先把收到的消息進行解密,然後採用另一個不同的密鑰進行加密,這一過程是在節點上的一個安全模塊中進行。
節點加密要求報頭和路由信息以明文形式傳輸,以便中間節點能得到如何處理消息的信息。因此這種方法對於防止攻擊者分析通信業務是脆弱的。
端到端加密
端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。採用端到端加密,消息在被傳輸時到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節點被損壞也不會使消息泄露。
端到端加密系統的價格便宜些,並且與鏈路加密和節點加密相比更可靠,更容易設計、實現和維護。端到端加密還避免了其它加密系統所固有的同步問題,因為每個報文包均是獨立被加密的,所以一個報文包所發生的傳輸錯誤不會影響後續的報文包。此外,從用戶對安全需求的直覺上講,端到端加密更自然些。單個用戶可能會選用這種加密方法,以便不影響網路上的其他用戶,此方法只需要源和目的節點是保密的即可。
端到端加密系統通常不允許對消息的目的地址進行加密,這是因為每一個消息所經過的節點都要用此地址來確定如何傳輸消息。由於這種加密方法不能掩蓋被傳輸消息的源點與終點,因此它對於防止攻擊者分析通信業務是脆弱的。
⑼ 網路數據加密主要有哪三種方式
一般的數據加密可以在通信的三個層次來實現:鏈路加密、節點加密和端到端加密。
1.鏈路加密
對於在兩個網路節點間的某一次通信鏈路,鏈路加密能為網上傳輸的數據提供安全保證。對於鏈路加密(又稱在線加密),所有消息在被傳輸之前進行加密,在每一個節點對接收到的消息進行解密,然後先使用下一個鏈路的密鑰對消息進行加密,再進行傳輸。在到達目的地之前,一條消息可能要經過許多通信鏈路的傳輸。
2.節點加密
盡管節點加密能給網路數據提供較高的安全性,但它在操作方式上與鏈路加密是類似的:兩者均在通信鏈路上為傳輸的消息提供安全性;都在中間節點先對消息進行解密,然後進行加密。因為要對所有傳輸的數據進行加密,所以加密過程對用戶是透明的。
3.端到端加密
端到端加密允許數據在從源點到終點的傳輸過程中始終以密文形式存在。採用端到端加密(又稱脫線加密或包加密),消息在被傳輸時到達終點之前不進行解密,因為消息在整個傳輸過程中均受到保護,所以即使有節點被損壞也不會使消息泄露。
⑽ 數據流加密的數據加密
對於計算機文件的保護,我們通過文件加密晶元與指紋識別KEY相結合的方式。在這套系統中計算機硬碟上存儲的所有文件都是經過加密晶元加密存儲的。當用戶要進行讀取文件時,必須插入指紋KEY,只有通過身份認證後,用戶才可以讀取文件。同時因為硬碟上的文件都是經過加密的,即使存儲數據的硬碟丟失,其中的數據也不能被其它計算機讀出,從而保證了數據的安全性。這種技術在經常需要移動使用的筆記本上的應用就顯得尤其重要。
同樣,我們對於存儲在移動硬碟上的文件也使用加密晶元進行加密。並使用用戶的指紋進行加解密控制。這樣一旦移動硬碟被其他人獲得,由於數據是經過加密的,所以其他人無法讀取硬碟里的數據。這種方法可用於保護移動存儲中的重要文件,比如,重要報告、報表、資料、軟體源碼、方案等等,為數據移動存儲的安全提供了保障。
