導航:首頁 > 數據分析 > 加密數據如何傳輸

加密數據如何傳輸

發布時間:2022-09-29 08:55:01

㈠ 有哪三種方法加密傳輸數據

加密數據有3種方法:

1 用系統自帶的EFS加密,但要注意備份加密證書,另外在加密帳號下是看不到加密效果的。

2 用winrar的壓縮加密,但速度慢,操作麻煩。

3 用超級加密3000加密數據,超級加密3000採用先進的加密演算法,使你的數據加密後,真正的達到超高的加密強度,讓你的加密數據無懈可擊,沒有密碼無法解密。

您可以根據自己的實際需求選擇一款屬於自己的數據加密方法。

㈡ 如何加密傳送文件

七種加密解密

E客學吧 http://teach.qsek.com 更新時間:2006-8-22 22:15:02

--------------------------------------------------------------------

本文一共介紹了七種方法:一:最簡單的加密解密 二:轉義字元""的妙用 三:使用Microsoft出品的腳本編碼器Script Encoder來進行編碼 (自創簡單解碼)
四:任意添加NUL空字元(十六進制00H) (自創)
五:無用內容混亂以及換行空格TAB大法
六:自寫解密函數法
七:錯誤的利用 (自創)

在做網頁時(其實是網頁木馬呵呵),最讓人煩惱的是自己辛辛苦苦寫出來的客戶端IE運行的JAVASCRIPT代碼常常被別人輕易的拷貝,實在讓自己的心裡有點不是滋味,要知道自己寫點東西也挺累的......^*^

但我們也應該清楚地認識到因為JAVASCRIPT代碼是在IE中解釋執行,要想絕對的保密是不可能的,我們要做的就是盡可能的增大拷貝者復制的難度,讓他知難而退(但願~!~),下面我結合自己這幾年來的實踐,及個人研究的心得,和大家一起來探討一下網頁中JAVASCRIPT代碼的加密解密技術。

以加密下面的JAVASCRIPT代碼為例:

<SCRIPT LANGUAGE="JavaScript">
alert("黑客防線");
</SCRIPT>

一:最簡單的加密解密

大家對於JAVASCRIPT函數escape()和unescape()想必是比較了解啦(很多網頁加密在用它們),分別是編碼和解碼字元串,比如例子代碼用escape()函數加密後變為如下格式:

alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B

如何?還看的懂嗎?當然其中的ASCII字元"alert"並沒有被加密,如果願意我們可以寫點JAVASCRIPT代碼重新把它加密如下:

%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B

呵呵!如何?這次是完全都加密了!

當然,這樣加密後的代碼是不能直接運行的,幸好還有eval(codeString)可用,這個函數的作用就是檢查JavaScript代碼並執行,必選項 codeString 參數是包含有效 JavaScript 代碼的字元串值,加上上面的解碼unescape(),加密後的結果如下:

<SCRIPT LANGUAGE="JavaScript">
var code=unescape("%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B");
eval(code)
</SCRIPT>

是不是很簡單?不要高興,解密也就同樣的簡單,解密代碼都擺給別人啦(unescape())!呵呵

二:轉義字元""的妙用

大家可能對轉義字元""不太熟悉,但對於JavaScript提供了一些特殊字元如:n (換行)、 r (回車)、' (單引號)等應該是有所了解的吧?其實""後面還可以跟八進制或十六進制的數字,如字元"a"則可以表示為:"141"或"x61"(注意是小寫字元"x"),至於雙位元組字元如漢字"黑"則僅能用十六進製表示為"u9ED1"(注意是小寫字元"u"),其中字元"u"表示是雙位元組字元,根據這個原理例子代碼則可以表示為:

八進制轉義字元串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("")
</SCRIPT>

十六進制轉義字元串如下:
<SCRIPT LANGUAGE="JavaScript">
eval("")
</SCRIPT>

這次沒有了解碼函數,因為JavaScript執行時會自行轉換,同樣解碼也是很簡單如下:

<SCRIPT LANGUAGE="JavaScript">
alert("")
</SCRIPT>

就會彈出對話框告訴你解密後的結果!

三:使用Microsoft出品的腳本編碼器Script Encoder來進行編碼

工具的使用就不多介紹啦!我是直接使用JavaScript調用控制項Scripting.Encoder完成的編碼!代碼如下:

<SCRIPT LANGUAGE="JavaScript">
var Senc=new ActiveXObject("Scripting.Encoder");
var code='<SCRIPT LANGUAGE="JavaScript">rnalert("黑客防線");rn</SCRIPT>';
var Encode=Senc.EncodeScriptFile(".htm",code,0,"");
alert(Encode);
</SCRIPT>

編碼後的結果如下:
<SCRIPT LANGUAGE="JScript.Encode">#@~^FgAAAA==@#@&lsDD`J黑客防線r#p@#@&FgMAAA==^#~@</SCRIPT>

夠難看懂得吧?但相應的解密工具早已出來,而且連解密網頁都有!因為其解密網頁代碼過多,我就不多說拉!給大家介紹一下我獨創的解密代碼,如下:

<SCRIPT LANGUAGE="JScript.Encode">
function decode()
alert(decode.toString());
</SCRIPT>

咋樣?夠簡單吧?它是原理是:編碼後的代碼運行前IE會先對其進行解碼,如果我們先把加密的代碼放入一個自定義函數如上面的decode()中,然後對自定義函數decode調用toString()方法,得到的將是解碼後的代碼!

如果你覺得這樣編碼得到的代碼LANGUAGE屬性是JScript.Encode,很容易讓人識破,那麼還有一個幾乎不為人知的window對象的方法execScript(),其原形為:

window.execScript( sExpression, sLanguage )

參數:
sExpression: 必選項。字元串(String)。要被執行的代碼。
sLanguage : 必選項。字元串(String)。指定執行的代碼的語言。默認值為 Microsoft JScript

使用時,前面的"window"可以省略不寫!

利用它我們可以很好的運行編碼後的JavaScript代碼,如下:

<SCRIPT LANGUAGE="JavaScript">
execScript("#@~^FgAAAA==@#@&lsDD`J黑客防線r#p@#@&FgMAAA==^#~@","JScript.Encode")
</SCRIPT>

你可以利用方法二對其中的""號內的字元串再進行編碼,使得"JScript.Encode"以及編碼特徵碼"#@~^"不出現,效果會更好!

四:任意添加NUL空字元(十六進制00H)

一次偶然的實驗,使我發現在HTML網頁中任意位置添加任意個數的"空字元",IE照樣會正常顯示其中的內容,並正常執行其中的JavaScript 代碼,而添加的"空字元"我們在用一般的編輯器查看時,會顯示形如空格或黑塊,使得原碼很難看懂,如用記事本查看則"空字元"會變成"空格",利用這個原理加密結果如下:(其中顯示的"空格"代表"空字元")

<S C RI P T L ANG U A G E =" J a v a S c r i p t ">

a l er t (" 黑 客 防 線") ;

< / SC R I P T>

如何?是不是顯得亂七八糟的?如果不知道方法的人很難想到要去掉裡面的"空字元"(00H)的!

五:無用內容混亂以及換行空格TAB大法

在JAVASCRIPT代碼中我們可以加入大量的無用字元串或數字,以及無用代碼和注釋內容等等,使真正的有用代碼埋沒在其中,並把有用的代碼中能加入換行、空格、TAB的地方加入大量換行、空格、TAB,並可以把正常的字元串用""來進行換行,這樣就會使得代碼難以看懂!如我加密後的形式如下:

<SCRIPT LANGUAGE="JavaScript">
"xajgxsadffgds";1234567890
625623216;var $=0;alert//@$%%&*()(&(^%^
//cctv function//
(//hhsaasajx xc
/*
asjgdsgu*/
"黑


防線"//ashjgfgf
/*
@#%$^&%$96667r45fggbhytjty
*/
//window
)
;"#@$#%@#432hu";212351436
</SCRIPT>

至少如果我看到這樣的代碼是不會有心思去分析它的,你哪?

六:自寫解密函數法

這個方法和一、二差不多,只不過是自己寫個函數對代碼進行解密,很多VBS病毒使用這種方法對自身進行加密,來防止特徵碼掃描!下面是我寫的一個簡單的加密解密函數,

加密代碼如下(詳細參照文件"加密.htm"):
<SCRIPT LANGUAGE="JavaScript">
function compile(code)
{
var c=String.fromCharCode(code.charCodeAt(0)+code.length);
for(var i=1;i<code.length;i++){
c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));
}
alert(escape(c));
}
compile('alert("黑客防線");')
</SCRIPT>

運行得到加密結果為:o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd

相應的加密後解密的代碼如下:

<SCRIPT LANGUAGE="JavaScript">
function uncompile(code)
{
code=unescape(code);
var c=String.fromCharCode(code.charCodeAt(0)-code.length);
for(var i=1;i<code.length;i++){
c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1));
}
return c;
}
eval(uncompile("o%CD%D1%D7%E6%9CJ%u9EF3%uFA73%uF1D4%u14F1%u7EE1Kd"));
</SCRIPT>

七:錯誤的利用

利用try{}catch(e){}結構對代碼進行測試解密,雖然這個想法很好(呵呵,誇誇自己),因為實用性不大,我僅給個例子

<SCRIPT LANGUAGE="JavaScript">

var a='alert("黑客防線");';
var c="";
for(var i=0;i<a.length;i++){
c+=String.fromCharCode(a.charCodeAt(i)^61);}

alert(c);

//上面的是加密代碼,當然如果真正使用這個方法時,不會把加密寫上的
//現在變數c就是加密後的代碼

//下面的函數t()先假設初始密碼為0,解密執行,
//遇到錯誤則把密碼加1,然後接著解密執行,直到正確運行

var d=c; //保存加密後的代碼
var b=0; //假定初始密碼為0
t();

function t()catch(e){
c="";
for(var i=0;i<d.length;i++){
c+=String.fromCharCode(d.charCodeAt(i)^b);}
b+=1;
t();
//setTimeout("t()",0);
}
}
</SCRIPT>

總結,基本上JAVASCRIPT的加密也就這些啦,每種加密都有相應的解密方法,但我想如果你熟練運用上面介紹的方法,並把他們結合起來使用,相信可以解密你的JAVASCRIPT代碼的人是幾乎沒有啦,即使有人可以解密,但因為他本身比較精通JAVASCRIPT腳本,自己完全可以寫,也就沒有必要盜用你的代碼,所以你是安全的!呵呵^*^

文章錄入:輕松E客 文章來源:網路收集

㈢ 秘鑰、公鑰匙、認證之間的關系 DES、RSA、AES 數據加密傳輸

對稱加密是最快速、最簡單的一種加密方式,加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)。對稱加密有很多種演算法,由於它效率很高,所以被廣泛使用在很多加密協議的核心當中。

對稱加密通常使用的是相對較小的密鑰,一般小於256 bit。因為密鑰越大,加密越強,但加密與解密的過程越慢。如果你只用1 bit來做這個密鑰,那黑客們可以先試著用0來解密,不行的話就再用1解;但如果你的密鑰有1 MB大,黑客們可能永遠也無法破解,但加密和解密的過程要花費很長的時間。密鑰的大小既要照顧到安全性,也要照顧到效率,是一個trade-off。

對稱加密的一大缺點是密鑰的管理與分配,換句話說,如何把密鑰發送到需要解密你的消息的人的手裡是一個問題。在發送密鑰的過程中,密鑰有很大的風險會被黑客們攔截。現實中通常的做法是將對稱加密的密鑰進行非對稱加密,然後傳送給需要它的人。

常用的有:DES、AES

非對稱加密為數據的加密與解密提供了一個非常安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。比如,你向銀行請求公鑰,銀行將公鑰發給你,你使用公鑰對消息加密,那麼只有私鑰的持有人--銀行才能對你的消息解密。與對稱加密不同的是,銀行不需要將私鑰通過網路發送出去,因此安全性大大提高。

常用的有:RSA

(1) 對稱加密加密與解密使用的是同樣的密鑰,所以速度快,但由於需要將密鑰在網路傳輸,所以安全性不高。

(2) 非對稱加密使用了一對密鑰,公鑰與私鑰,所以安全性高,但加密與解密速度慢。

(3) 解決的辦法是將對稱加密的密鑰使用非對稱加密的公鑰進行加密,然後發送出去,接收方使用私鑰進行解密得到對稱加密的密鑰,然後雙方可以使用對稱加密來進行溝通。

在現代密碼體制中加密和解密是採用不同的密鑰(公開密鑰),也就是非對稱密鑰密碼系統,每個通信方均需要兩個密鑰,即公鑰和私鑰,這兩把密鑰可以互為加解密。公鑰是公開的,不需要保密,而私鑰是由個人自己持有,並且必須妥善保管和注意保密。

公鑰私鑰的原則:

非對稱密鑰密碼的主要應用就是公鑰加密和公鑰認證,而公鑰加密的過程和公鑰認證的過程是不一樣的,下面我就詳細講解一下兩者的區別。

比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:

上面的過程可以用下圖表示,Alice使用Bob的公鑰進行加密,Bob用自己的私鑰進行解密。

身份認證和加密就不同了,主要用戶鑒別用戶的真偽。這里我們只要能夠鑒別一個用戶的私鑰是正確的,就可以鑒別這個用戶的真偽。

還是Alice和Bob這兩個用戶,Alice想讓Bob知道自己是真實的Alice,而不是假冒的,因此Alice只要使用公鑰密碼學對文件簽名發送 給Bob,Bob使用Alice的公鑰對文件進行解密,如果可以解密成功,則證明Alice的私鑰是正確的,因而就完成了對Alice的身份鑒別。整個身 份認證的過程如下:

上面的過程可以用下圖表示,Alice使用自己的私鑰加密,Bob用Alice的公鑰進行解密。

DES是Data Encryption Standard(數據加密標准)的縮寫,DES演算法為密碼體制中的對稱密碼體制。它是由IBM公司研製的一種加密演算法,美國國家標准局於1977年公布把它作為非機要部門使用的數據加密標准,二十年來,它一直活躍在國際保密通信的舞台上,扮演了十分重要的角色。
DES是一個分組加密演算法,他以64位為分組對數據加密。同時DES也是一個對稱演算法:加密和解密用的是同一個演算法。它的密匙長度是56位(因為每個第8位都用作奇偶校驗),密匙可以是任意的56位的數,而且可以任意時候改變。其中有極少量的數被認為是弱密匙,但是很容易避開他們。所以保密性依賴於密鑰。
特點:分組比較短、密鑰太短、密碼生命周期短、運算速度較慢。 DES演算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間為256,這意味著如果一台計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間。

DES現在已經不視為一種安全的加密演算法,因為它使用的56位秘鑰過短,以現代計算能力,24小時內即可能被破解。也有一些分析報告提出了該演算法的理論上的弱點,雖然實際情況未必出現。該標准在最近已經被 高級加密標准 (AES)所取代。

高級加密標准(Advanced Encryption Standard,AES),又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標准。這個標准用來替代原先的 DES ,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標准由美國國家標准與技術研究院(NIST)於2001年11月26日發布於FIPS PUB 197,並在2002年5月26日成為有效的標准。2006年,高級加密標准已然成為對稱密鑰加密中最流行的演算法之一。

AES的區塊長度固定為128 位元 ,密鑰長度則可以是128,192或256位元。

RSA加密演算法是一種 非對稱加密演算法 。在 公鑰加密標准 和 電子商業 中RSA被廣泛使用。RSA是 1977年 由 羅納德·李維斯特 (Ron Rivest)、 阿迪·薩莫爾 (Adi Shamir)和 倫納德·阿德曼 (Leonard Adleman)一起提出的。當時他們三人都在 麻省理工學院 工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。

RSA演算法利用兩個很大的質數相乘所產生的乘積來加密。這兩個質數無論哪一個先與原文件編碼相乘,對文件加密,均可由另一個質數再相乘來解密。但要用一個 質數來求出另一個質數,則是十分困難的。因此將這一對質數稱為密鑰對(Key Pair)。在加密應用時,某個用戶總是將一個密鑰公開,讓需發信的人員將信息用其公共密鑰加密後發給該用戶,而一旦信息加密後,只有用該用戶一個人知道 的私用密鑰才能解密。具有數字憑證身份的人員的公共密鑰可在網上查到,亦可在請對方發信息時主動將公共密鑰傳給對方,這樣保證在Internet上傳輸信 息的保密和安全。

開發中:

客戶端發送的敏感數據時需要加密處理,客戶端數據採用公鑰加密,伺服器用對應的秘鑰解密,客戶端保存公鑰,伺服器保存秘鑰

伺服器發送的數據也要加密時,伺服器端數據採用秘鑰加密,客戶端數據用對應的公鑰加密,客戶端保存公鑰,伺服器保存秘鑰

伺服器要認證客戶端時,客戶端數據採用秘鑰加密,伺服器用對應的公鑰解密,客戶端保留秘鑰,伺服器保留公鑰

常用加解密方案:

如果想要更加安全一點,可以在仿照微信的通信,每次都在傳輸數據上加上一個32為隨機數和並將數據按照一定的規則生成一個校驗sign

㈣ 文件傳輸加密都有哪些方法呢

DES與AES的比較

自DES演算法公諸於世以來,學術界圍繞它的安全性等方面進行了研究並展開了激烈的爭論。在技術上,對DES的批評主要集中在以下幾個方面:

1、作為分組密碼,DES的加密單位僅有64位二進制,這對於數據傳輸來說太小,因為每個分組僅含8個字元,而且其中某些位還要用於奇偶校驗或其他通訊開銷。

2、DES的密鑰的位數太短,只有56比特,而且各次迭代中使用的密鑰是遞推產生的,這種相關必然降低密碼體制的安全性,在現有技術下用窮舉法尋找密鑰已趨於可行。

3、DES不能對抗差分和線性密碼分析。

4、DES用戶實際使用的密鑰長度為56bit,理論上最大加密強度為256。DES演算法要提高加密強度(例如增加密鑰長度),則系統開銷呈指數增長。除採用提高硬體功能和增加並行處理功能外,從演算法本身和軟體技術方面都無法提高DES演算法的加密強度。

採用DES與RSA相結合的應用,使它們的優缺點正好互補,即DES加密速度快,適合加密較長的報文,可用其加密明文;RSA加密速度慢,安全性好,應用於DES 密鑰的加密,可解決DES 密鑰分配的問題。

目前這種RSA和DES結合的方法已成為EMAIL保密通信標准。

㈤ 哪種安全產品可以實現數據的加密傳輸

HPE-SecureData這款安全產品可以實現數據的加密傳輸。

什麼是數據加密?數據加密是對數據進行編碼的過程,以便任何試圖未經授權訪問的人都無法讀取數據。與其他安全措施一起實施的加密可以大大降低安全威脅的風險。數據加密確保只有擁有正確加密密鑰的人才能讀取數據。加密就是保護客戶端應用程序和伺服器之間的通信。

數據被轉換成另一種形式或代碼,以便能夠訪問密鑰或密碼的人可以訪問數據。加密數據也稱為密文。數據加密如何工作?實施數據加密對於保護傳輸中的數據和靜態數據至關重要。加密的第一步是將數字、字母或符號打亂成其他一些字元。

這意味著使用加密演算法和密鑰將人類可讀的文本轉換為難以理解的文本。加密使用加密密鑰,它是一組數學值。沒有密鑰,計算機或人類都無法讀取數據。只有正確的鍵才能授予閱讀器將數據轉回純文本的許可權。復雜的加密密鑰轉化為更安全的加密。

㈥ 如何實現https加密傳輸

https 協議是由 http加上 TLS/SSL 協議構建的可進行加密傳輸、身份認證的網路協議,主要通過內數字證書、加密算容法、非對稱密鑰等技術完成互聯網數據傳輸加密,實現互聯網傳輸安全保護。
因此,要想實現https加密傳輸,必須申請SSL證書,申請到手之後正確部署到伺服器,方可使用。

㈦ https如何進行加密傳輸

HTTPS在傳輸數據之前需要客戶端(瀏覽器)與服務端(網站)之間進行一次握手,在握手過程中將確立雙方加密傳輸數據的密碼信息。TLS/SSL協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,TLS/SSL中使用了非對稱加密,對稱加密以及HASH演算法。握手過程的具體描述如下:
1.瀏覽器將自己支持的一套加密規則發送給網站。
2.網站從中選出一組加密演算法與HASH演算法,並將自己的身份信息以證書的形式發回給瀏覽器。證書裡麵包含了網站地址,加密公鑰,以及證書的頒發機構等信息。
3.瀏覽器獲得網站證書之後瀏覽器要做以下工作:
a) 驗證證書的合法性(頒發證書的機構是否合法,證書中包含的網站地址是否與正在訪問的地址一致等),如果證書受信任,則瀏覽器欄裡面會顯示一個小鎖頭,否則會給出證書不受信的提示。
b) 如果證書受信任,或者是用戶接受了不受信的證書,瀏覽器會生成一串隨機數的密碼,並用證書中提供的公鑰加密。
c) 使用約定好的HASH演算法計算握手消息,並使用生成的隨機數對消息進行加密,最後將之前生成的所有信息發送給網站。
4.網站接收瀏覽器發來的數據之後要做以下的操作:
a) 使用自己的私鑰將信息解密取出密碼,使用密碼解密瀏覽器發來的握手消息,並驗證HASH是否與瀏覽器發來的一致。
b) 使用密碼加密一段握手消息,發送給瀏覽器。
5.瀏覽器解密並計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手過程結束,之後所有的通信數據將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。
這里瀏覽器與網站互相發送加密的握手消息並驗證,目的是為了保證雙方都獲得了一致的密碼,並且可以正常的加密解密數據,為後續真正數據的傳輸做一次測試。另外,HTTPS一般使用的加密與HASH演算法如下:
非對稱加密演算法:RSA,DSA/DSS
對稱加密演算法:AES,RC4,3DES
HASH演算法:MD5,SHA1,SHA256

㈧ socket傳送數據加密的問題

我也是碰到這樣一個情況,起初是使用RSA公鑰加密之後,因為密文長度肯定是會相較於明文長度發生變化的,就沒有在意直接分塊傳送密給到另一端,另一端接收到之後直接利用私鑰解密得出正確的明文。但是改用對稱加密演算法(DES、AES)加密的時候確實讀取到的read_buffer的長度會和我們的文件中密文(我是加密過程用數據流直接文件加密直接保存加密數據到新文件中)的大小不對應,但是實際上read_size = fread(..)得到的read_size是一致的。這種問題確實會影響傳送給到另一邊的數據,畢竟對稱加密是明文密文長度一致,希望好心人幫忙解決一下這個問題。

㈨ 數據在網路上傳輸為什麼要加密現在常用的數據加密演算法主要有哪些

數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。

端—端加密指信息由發送端自動加密,並且由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位散列值。

(9)加密數據如何傳輸擴展閱讀

數據加密標准

傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。

數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。

DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。

每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。

DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。

參考資料來源:網路-加密演算法

參考資料來源:網路-數據加密

㈩ 互聯網信息安全傳輸加密模式原理分解

網路安全主要是通過信息加密來實現的。今天,我們就一起來了解一下,這些信息加密的方法是如何運行的。它背後的原理都有哪些。希望通過對本文的閱讀。能夠提高大家對互聯網信息安全的信任度。



有了「原信息」和它對應的「md5簽名字元串」,我們就可以做基本的信息驗證:通過md5簽名字元串的一致性,來保障我們收到的信息沒有受到更改。


P.S.:由於簽名signature在後續文章中會另有所指,為區分md5簽名字元串,我們將md5簽名字元串的叫法,更改為md5指紋字元串。意思同簽名是一樣的,就是A之所以是A的證據、特徵,可以用簽名來表示,也可以用指紋來表示。這里,我們開始將md5字元串對應的這個特徵,稱作md5指紋。


但一個容易發現的漏洞是,如果「原信息」和「md5指紋字元串」同時被修改了該怎麼辦?原信息被代提成了偽信息,而md5指紋字元串也被替換成了偽信息所生成的md5碼,這時候,原有的驗證過程都可以走通,根本無法發現信息被修改了或者替換了。


為了解決這個問題,在工業實踐中便會將驗證和加密進行組合使用。除了單純的組合,還會引入一些基本的小技巧。


例如,因為md5的驗證演算法是公開的,所以很容易生成一份信息的md5指紋字元串,從而對原信息進行偽造。那麼,可以不可以讓人無法或者說難於偽造這份信息的md5指紋字元串呢?


一個小技巧是:並不提供原信息的md5驗證碼,而是提供「原信息+akey」的md5指紋字元串:


這個key,就是一串如「」這樣的隨機字元串,它由「發信人」和「收信人」分別單獨保存。


這時候,我們的驗證流程就變成了:


發件人將「原信息」和「key」一起打包,生成一個md5指紋字元串。再將原信息和md5指紋字元串發送出去。


收件人收到信息後,將「接受信息」和「key」一起打包,生成一個md5字元串,再與接收到的md5字元串比較,看它們是否一致。


在這樣的情況下,即便是原信息和md5字元串同時被修改了,但因為偽造者並不知道這個md5字元串是在原有信息的基礎上,增加了什麼樣的一個key字元串來生成的,他就幾乎不可能提供一個「原信息+key」的md5字元串。因為他無法逆向推導出那個key長成什麼樣。而這個「幾乎不可能」,是由md5加密演算法所保證的。


另一種保障「原信息」和「md5指紋字元串」的方式,是直接考慮把md5驗證碼做加密。昆明電腦培訓http://www.kmbdqn.cn/認為這種方式並不同上面的小技巧相沖突,事實上它完全可以和上面的技巧結合,構造出更安全的方式。但為了降低理解的困難程度,讓我們先暫時拋開上面的小技巧,只是單純地考慮「原信息」「md5指紋字元串」和「md5字元串加密」這三樣東西。


閱讀全文

與加密數據如何傳輸相關的資料

熱點內容
word怎樣打開繪圖 瀏覽:3
計算機編程分幾類工資如何 瀏覽:143
css內部樣式怎麼編程 瀏覽:239
看寫真有哪些app 瀏覽:148
後橋數據不準怎麼辦 瀏覽:925
編程中沒有角色區怎麼弄 瀏覽:956
串口顯示屏stm32程序 瀏覽:843
為什麼壓縮文件後會出現所有桌面文件 瀏覽:963
php是一種什麼類型的編程 瀏覽:678
1703win10網卡 瀏覽:273
表格內容怎麼是在文件夾裡面顯示 瀏覽:716
gpt下安裝linux系統分區格式化 瀏覽:432
java隨機字元串23 瀏覽:290
cmdwin10系統修復系統文件 瀏覽:457
zmud游戲用什麼編程 瀏覽:104
javalong怎麼寫 瀏覽:937
orc格式文件轉成txt 瀏覽:352
有哪些文件可以刪除可以釋放 瀏覽:738
黃金皓月服武器升級 瀏覽:576
不要u盤能恢復u盤內的文件么 瀏覽:882

友情鏈接