比較加密技術
① 試比較對稱加密演算法與非對稱加密演算法在應用中的優缺點傳統密碼體制與公鑰密碼體制的優缺點
1、對稱加密演算法
優點
加解密的高速度和使用長密鑰時的難破解性。
缺點
對稱加密演算法的安全性取決於加密密鑰的保存情況,但要求企業中每一個持有密鑰的人都保守秘密是不可能的,他們通常會有意無意的把密鑰泄漏出去。如果一個用戶使用的密鑰被入侵者所獲得,入侵者便可以讀取該用戶密鑰加密的所有文檔,如果整個企業共用一個加密密鑰,那整個企業文檔的保密性便無從談起。
2、非對稱加密演算法
優點
非對稱密鑰體制有兩種密鑰,其中一個是公開的,這樣就可以不需要像對稱密碼那樣傳輸對方的密鑰了。這樣安全性就大了很多。
缺點
演算法強度復雜、安全性依賴於演算法與密鑰但是由於其演算法復雜,而使得加密解密速度沒有對稱加密解密的速度快。
3、傳統密碼體制
優點
由於DES加密速度快,適合加密較長的報文。
缺點
通用密鑰密碼體制的加密密鑰和解密密鑰是通用的,即發送方和接收方使用同樣密鑰的密碼體制。
4、公鑰密碼體制
優點
RSA演算法的加密密鑰和加密演算法分開,使得密鑰分配更為方便。
RSA演算法解決了大量網路用戶密鑰管理的難題。
缺點
RSA的密鑰很長,加密速度慢。
(1)比較加密技術擴展閱讀
W.Diffie和M.Hellman 1976年在IEEE Trans.on Information刊物上發表了「 New Direction in Cryptography」文章,提出了「非對稱密碼體制即公開密鑰密碼體制」的概念,開創了密碼學研究的新方向。
在通用密碼體制中,得到廣泛應用的典型演算法是DES演算法。DES是由「轉置」方式和「換字」方式合成的通用密鑰演算法,先將明文(或密文)按64位分組,再逐組將64位的明文(或密文),用56位(另有8位奇偶校驗位,共64位)的密鑰,經過各種復雜的計算和變換,生成64位的密文(或明文),該演算法屬於分組密碼演算法。
② 當前主流的加密技術有哪些
目前主流的加密技術有對稱加密例如DES,3DES和AES,然後還有非對稱加密技術:例如RSA和橢圓加密演算法。對稱加密的話,就是用來加密和解密的密鑰是一樣的,非對稱加密的話,加密的密鑰和解密的密鑰是不一樣的,用加密的密鑰加密以後,只有配對的另外一個密鑰才能解開。
另外我們還可以常常看到MD5,SHA,SHA1之類的演算法,其實他們不是加密演算法,因為他們的結算結果不可逆,你沒法從結果得到輸入的數據是什麼,他們的用途主要是為了防止泄密和修改數據,因為對於這些演算法來說,每一個輸入只能有一個輸出,修改了輸入就會使得輸出變化很大,所以被人修改了數據的話通過這個演算法就能知道了。另外我校驗密碼的時候,如果只是通過這個計算結果來對比的話,其他人如果不知道我的密碼,即使他能解碼我的程序也不行,因為程序裡面只有結果,沒有輸入的密碼。
③ 有哪些加密方法比較經典或者說說加密的歷史.
加密之所以安全,絕非因不知道加密解密演算法方法,而是加密的密鑰是絕對的隱藏,流行的RSA和AES加密演算法都是完全公開的,一方取得已加密的數據,就算知道加密演算法也好,若沒有加密的密鑰,也不能打開被加密保護的信息。
加密作為保障數據安全的一種方式,它不是才有的,它產生的歷史相當久遠,它是起源於要追溯於公元前2000年(幾個世紀了),雖然它不是我們所講的加密技術(甚至不叫加密),但作為一種加密的概念,確實早在幾個世紀前就誕生了。
當時埃及人是最先使用特別的象形文字作為信息編碼的,隨著時間推移,巴比倫、美索不達米亞和希臘文明都開始使用一些方法來保護他們的書面信息。
近期加密技術主要應用於軍事領域,如美國獨立戰爭、美國內戰和兩次世界大戰。最廣為人知的編碼機器是German Enigma機,在第二次世界大戰中德國人利用它創建了加密信息。此後,由於Alan Turing和Ultra計劃以及其他人的努力,終於對德國人的密碼進行了破解。
(3)比較加密技術擴展閱讀:
相關標准
最早、最著名的保密密鑰或對稱密鑰加密演算法DES(Data Encryption Standard)是由IBM公司在70年代發展起來的,並經政府的加密標准篩選後,於1976年11月被美國政府採用,DES隨後被美國國家標准局和美國國家標准協會(American National Standard Institute,ANSI)承認。
DES使用56位密鑰對64位的數據塊進行加密,並對64位的數據塊進行16輪編碼。與每輪編碼時,一個48位的"每輪"密鑰值由56位的完整密鑰得出來。
DES用軟體進行解碼需用很長時間,而用硬體解碼速度非常快。幸運的是,當時大多數黑客並沒有足夠的設備製造出這種硬體設備。
在1977年,人們估計要耗資兩千萬美元才能建成一個專門計算機用於DES的解密,而且需要12個小時的破解才能得到結果。當時DES被認為是一種十分強大的加密方法。
④ 加密技術分為哪兩類
加密技術分為:
1、對稱加密
對稱加密採用了對稱密碼編碼技術,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密演算法,對稱加密演算法使用起來簡單快捷,密鑰較短,且破譯困難
2、非對稱
1976年,美國學者Dime和Henman為解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是「公開密鑰系統」。
加密技術的功能:
原有的單密鑰加密技術採用特定加密密鑰加密數據,而解密時用於解密的密鑰與加密密鑰相同,這稱之為對稱型加密演算法。採用此加密技術的理論基礎的加密方法如果用於網路傳輸數據加密,則不可避免地出現安全漏洞。
區別於原有的單密鑰加密技術,PKI採用非對稱的加密演算法,即由原文加密成密文的密鑰不同於由密文解密為原文的密鑰,以避免第三方獲取密鑰後將密文解密。
以上內容參考:網路—加密技術
⑤ 幾種常用數據加密演算法的比較
幾種對稱性加密演算法: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為即可。
⑥ 比較對稱加密技術和非對稱加密技術的優劣
應該是非對稱好,非對稱密鑰是為了保證密鑰安全和保密開發出來的。安全上能力沒差別,而對稱密鑰的話在密鑰交換上不安全
⑦ 十大常見密碼加密方式
一、密鑰散列
採用MD5或者SHA1等散列演算法,對明文進行加密。嚴格來說,MD5不算一種加密演算法,而是一種摘要演算法。無論多長的輸入,MD5都會輸出一個128位(16位元組)的散列值。而SHA1也是流行的消息摘要演算法,它可以生成一個被稱為消息摘要的160位(20位元組)散列值。MD5相對SHA1來說,安全性較低,但是速度快;SHA1和MD5相比安全性高,但是速度慢。
二、對稱加密
採用單鑰密碼系統的加密方法,同一個密鑰可以同時用作信息的加密和解密,這種加密方法稱為對稱加密。對稱加密演算法中常用的演算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
三、非對稱加密
非對稱加密演算法是一種密鑰的保密方法,它需要兩個密鑰來進行加密和解密,這兩個密鑰是公開密鑰和私有密鑰。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密。非對稱加密演算法有:RSA、Elgamal、背包演算法、Rabin、D-H、ECC(橢圓曲線加密演算法)。
四、數字簽名
數字簽名(又稱公鑰數字簽名)是只有信息的發送者才能產生的別人無法偽造的一段數字串,這段數字串同時也是對信息的發送者發送信息真實性的一個有效證明。它是一種類似寫在紙上的普通的物理簽名,但是在使用了公鑰加密領域的技術來實現的,用於鑒別數字信息的方法。
五、直接明文保存
早期很多這樣的做法,比如用戶設置的密碼是「123」,直接就將「123」保存到資料庫中,這種是最簡單的保存方式,也是最不安全的方式。但實際上不少互聯網公司,都可能採取的是這種方式。
六、使用MD5、SHA1等單向HASH演算法保護密碼
使用這些演算法後,無法通過計算還原出原始密碼,而且實現比較簡單,因此很多互聯網公司都採用這種方式保存用戶密碼,曾經這種方式也是比較安全的方式,但隨著彩虹表技術的興起,可以建立彩虹表進行查表破解,目前這種方式已經很不安全了。
七、特殊的單向HASH演算法
由於單向HASH演算法在保護密碼方面不再安全,於是有些公司在單向HASH演算法基礎上進行了加鹽、多次HASH等擴展,這些方式可以在一定程度上增加破解難度,對於加了「固定鹽」的HASH演算法,需要保護「鹽」不能泄露,這就會遇到「保護對稱密鑰」一樣的問題,一旦「鹽」泄露,根據「鹽」重新建立彩虹表可以進行破解,對於多次HASH,也只是增加了破解的時間,並沒有本質上的提升。
八、PBKDF2
該演算法原理大致相當於在HASH演算法基礎上增加隨機鹽,並進行多次HASH運算,隨機鹽使得彩虹表的建表難度大幅增加,而多次HASH也使得建表和破解的難度都大幅增加。
九、BCrypt
BCrypt 在1999年就產生了,並且在對抗 GPU/ASIC 方面要優於 PBKDF2,但是我還是不建議你在新系統中使用它,因為它在離線破解的威脅模型分析中表現並不突出。
十、SCrypt
SCrypt 在如今是一個更好的選擇:比 BCrypt設計得更好(尤其是關於內存方面)並且已經在該領域工作了 10 年。另一方面,它也被用於許多加密貨幣,並且我們有一些硬體(包括 FPGA 和 ASIC)能實現它。 盡管它們專門用於采礦,也可以將其重新用於破解。
⑧ 加密技術有哪幾種
採用密碼技術對信息加密,是最常用的安全交易手段。在電子商務中獲得廣泛應用的加密技術有以下兩種:
(1)公共密鑰和私用密鑰(public key and private key)
這一加密方法亦稱為RSA編碼法,是由Rivest、Shamir和Adlernan三人所研究發明的。它利用兩個很大的質數相乘所產生的乘積來加密。這兩個質數無論哪一個先與原文件編碼相乘,對文件加密,均可由另一個質數再相乘來解密。但要用一個質數來求出另一個質數,則是十分困難的。因此將這一對質數稱為密鑰對(Key Pair)。在加密應用時,某個用戶總是將一個密鑰公開,讓需發信的人員將信息用其公共密鑰加密後發給該用戶,而一旦信息加密後,只有用該用戶一個人知道的私用密鑰才能解密。具有數字憑證身份的人員的公共密鑰可在網上查到,亦可在請對方發信息時主動將公共密鑰傳給對方,這樣保證在Internet上傳輸信息的保密和安全。
(2)數字摘要(digital digest)
這一加密方法亦稱安全Hash編碼法(SHA:Secure Hash Algorithm)或MD5(MD Standards for Message Digest),由Ron Rivest所設計。該編碼法採用單向Hash函數將需加密的明文「摘要」成一串128bit的密文,這一串密文亦稱為數字指紋(Finger Print),它有固定的長度,且不同的明文摘要成密文,其結果總是不同的,而同樣的明文其摘要必定一致。這樣這摘要便可成為驗證明文是否是「真身」的「指紋」了。
上述兩種方法可結合起來使用,數字簽名就是上述兩法結合使用的實例。
3.2數字簽名(digital signature)
在書面文件上簽名是確認文件的一種手段,簽名的作用有兩點,一是因為自己的簽名難以否認,從而確認了文件已簽署這一事實;二是因為簽名不易仿冒,從而確定了文件是真的這一事實。數字簽名與書面文件簽名有相同之處,採用數字簽名,也能確認以下兩點:
a. 信息是由簽名者發送的。
b. 信息在傳輸過程中未曾作過任何修改。
這樣數字簽名就可用來防止電子信息因易被修改而有人作偽;或冒用別人名義發送信息;或發出(收到)信件後又加以否認等情況發生。
數字簽名採用了雙重加密的方法來實現防偽、防賴。其原理為:
(1) 被發送文件用SHA編碼加密產生128bit的數字摘要(見上節)。
(2) 發送方用自己的私用密鑰對摘要再加密,這就形成了數字簽名。
(3) 將原文和加密的摘要同時傳給對方。
(4) 對方用發送方的公共密鑰對摘要解密,同時對收到的文件用SHA編碼加密產生又一摘要。
(5) 將解密後的摘要和收到的文件在接收方重新加密產生的摘要相互對比。如兩者一致,則說明傳送過程中信息沒有被破壞或篡改過。否則不然。
3.3數字時間戳(digital time-stamp)
交易文件中,時間是十分重要的信息。在書面合同中,文件簽署的日期和簽名一樣均是十分重要的防止文件被偽造和篡改的關鍵性內容。
在電子交易中,同樣需對交易文件的日期和時間信息採取安全措施,而數字時間戳服務(DTS:digital time-stamp service)就能提供電子文件發表時間的安全保護。
數字時間戳服務(DTS)是網上安全服務項目,由專門的機構提供。時間戳(time-stamp)是一個經加密後形成的憑證文檔,它包括三個部分:1)需加時間戳的文件的摘要(digest),2)DTS收到文件的日期和時間,3)DTS的數字簽名。
時間戳產生的過程為:用戶首先將需要加時間戳的文件用HASH編碼加密形成摘要,然後將該摘要發送到DTS,DTS在加入了收到文件摘要的日期和時間信息後再對該文件加密(數字簽名),然後送回用戶。由Bellcore創造的DTS採用如下的過程:加密時將摘要信息歸並到二叉樹的數據結構;再將二叉樹的根值發表在報紙上,這樣更有效地為文件發表時間提供了佐證。注意,書面簽署文件的時間是由簽署人自己寫上的,而數字時間戳則不然,它是由認證單位DTS來加的,以DTS收到文件的時間為依據。因此,時間戳也可作為科學家的科學發明文獻的時間認證。
3.4數字憑證(digital certificate, digital ID)
數字憑證又稱為數字證書,是用電子手段來證實一個用戶的身份和對網路資源的訪問的許可權。在網上的電子交易中,如雙方出示了各自的數字憑證,並用它來進行交易操作,那麼雙方都可不必為對方身份的真偽擔心。數字憑證可用於電子郵件、電子商務、群件、電子基金轉移等各種用途。
數字憑證的內部格式是由CCITT X.509國際標准所規定的,它包含了以下幾點:
(1) 憑證擁有者的姓名,
(2) 憑證擁有者的公共密鑰,
(3) 公共密鑰的有效期,
(4) 頒發數字憑證的單位,
(5) 數字憑證的序列號(Serial number),
(6) 頒發數字憑證單位的數字簽名。
數字憑證有三種類型:
(1) 個人憑證(Personal Digital ID):它僅僅為某一個用戶提供憑證,以幫助其個人在網上進行安全交易操作。個人身份的數字憑證通常是安裝在客戶端的瀏覽器內的。並通過安全的電子郵件(S/MIME)來進行交易操作。
(2) 企業(伺服器)憑證(Server ID):它通常為網上的某個Web伺服器提供憑證,擁有Web伺服器的企業就可以用具有憑證的萬維網站點(Web Site)來進行安全電子交易。有憑證的Web伺服器會自動地將其與客戶端Web瀏覽器通信的信息加密。
(3) 軟體(開發者)憑證(Developer ID):它通常為Internet中被下載的軟體提供憑證,該憑證用於和微軟公司Authenticode技術(合法化軟體)結合的軟體,以使用戶在下載軟體時能獲得所需的信息。
上述三類憑證中前二類是常用的憑證,第三類則用於較特殊的場合,大部分認證中心提供前兩類憑證,能提供各類憑證的認證中心並不普遍
⑨ 現在有哪些比較不錯的視頻加密技術方法
一、防盜鏈:這只是防止下載。意義不大,頂多是一些header、refer的限制,或者加一些token,或者弄上多段載入;但容易破解。
二、基於微軟DRM SDK等,或者網上公開的drm方案,比如rtmpe/ hls的加密方案等。大致分開來講:
A)微軟DRM SDK,這個在windows時代是比較常見的方案,但現在缺點明顯,一個是微軟的sdk現在申請需要較高費用和周期;另一個是,移動時代這個模式的弊端太多,比如各種手機用戶的支持,支持的視頻格式等。
B)rtmpe:首先流媒體伺服器軟體價格不低;當然,這種方式最大的問題在於:數據不能緩存,用戶每次播放都要佔用伺服器帶寬,不容易結合CDN加速等。伺服器帶寬壓力大!
C)HLS的加密,也就是m3u8裡面的ts數據都進行了加密處理,然後瀏覽器或者播放器播放時,通過m3u8裡面內置的解密秘鑰地址,去動態解密。這種相對來說實現簡單些,但也有弊端,那就是這一類使用公開加密標準的通病。
以上這類公開標准方案,通病就是:標准統一、公開。如果作為技術人員想去破解,還是有機會的。比如微軟的DRM樹大招風,破解軟體網上會有提供;hls這種,如果偽裝成自己是瀏覽器,總要給解密秘鑰的,就自然可以獲取後將視頻解密開來。總的來說,加密這些,如果太標准化了,太統一了,就容易破解。
三、國內部分廠商的平台化方案:這類是不公開的標准,相對方案二裡面的安全了些,但作為一個平台化,還是有各種弊端和被人攻擊的風險,破的人多了,沒有破不掉的加密技術。
四、私有化解決方案:為各個在線教育等客戶提供個性化加密解決方案,每個不同客戶採用不同的加密演算法和加密思路,從而可以提升加密的安全性。首先給一些干貨,來回答題主的問題,
那麼有哪些不錯的視頻加密技術呢,干貨來了:
A)視頻可以通過幀級加密,比如每個數據關鍵幀,從二進製做加密運算,加密演算法當然是不能公開;最好不同的客戶用不同的加密演算法,或者做變形,確保一個客戶被破解了,另一個客戶是安全的;並且加密最好有版本號機制,破解後可以升級,你破我防,保持定期更新。
B)加密的一個弱項其實是在播放,比如很多同行採用flash播放器去播放加密的視頻。flash是很容易逆向的,你的解密播放代碼被人逆向後看到,那你的解密代碼就可以被人利用去解密視頻。
當然,業內還可以考慮採用FlashCC技術,也就是將C++代碼編譯後內嵌如flash,這樣逆向後看不到解密的代碼,但這樣就真的安全么?其實只是相對純flash安全了,要想更安全,還是要做很多事情的,對於內嵌flashCC的,如何去破解,如何加強安全性,這裡面為了業內很多同行方案的安全性,就不過多展開了。