導航:首頁 > 文檔加密 > des文件加密傳輸

des文件加密傳輸

發布時間:2023-05-13 10:14:48

『壹』 什麼是DES加密

一種對稱加密演算法,DES 使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產生最大 64 位的分組大小。這是一個迭代的分組密碼,使用稱為 Feistel 的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環功能,然後將輸出與另一半進行「異或」運算;接著交換這兩半,這一過程會繼續下去,但最後一個循環不交換。DES 使用 16 個循環,使用異或,置換,代換,移位操作四種基本運算。

『貳』 DES加密問題

DES對64位二進制數據加密,產生64位密文數據,實際密鑰長度為56位(有8位用於奇偶校驗,解密時的過程和加密時相似,但密鑰的順序正好相反),這個標准由美國國家安全局和國家標准與技術局來管理。DES的成功應用是在銀行業中的電子資金轉賬(EFT)領域中。現在DES也可由硬體實現,AT&T首先用LSI晶元實現了DES的全部工作模式,該產品稱為數據加密處理機DEP。另一個系統是國際數據加密演算法(IDEA),它比DES的加密性好,而且計算機功能也不需要那麼強。在未來,它的應用將被推廣到各個領域。IDEA加密標准由PGP(Pretty Good Privacy)系統使用,PGP是一種可以為普通電子郵件用戶提供加密、解密方案的安全系統。在PGP系統中,使用IDEA(分組長度128bit)、RSA(用於數字簽名、密鑰管理)、MD5(用於數據壓縮)演算法,它不但可以對你的郵件保密以防止非授權者閱讀,還能對你的郵件加以數字簽名從而使收信人確信郵件是由你發出。--

『叄』 delphi實現DES位元組流加密,該怎麼解決

在 CnPack 提供的源代碼包里,提供了 des 加解密單元文件,提供了以下四個功能函數:

function DESEncryptStr(Str, Key: AnsiString): AnsiString;
{* 傳入明文與加密 Key,DES 加密返回密文,
註:由於密文可能含有擴展 ASCII 字元,因此在 DELPHI 2009 或以上版本中,請用
AnsiString 類型的變數接收返回值,以避免出現多餘的 Unicode 轉換而導致解密出錯}

function DESDecryptStr(Str, Key: AnsiString): AnsiString;
{* 傳入密文與加密 Key,DES 解密返回明文}

function DESEncryptStrToHex(Str, Key: AnsiString): AnsiString;
{* 傳入明文與加密 Key,DES 加密返回轉換成十六進制的密文}

function DESDecryptStrFromHex(StrHex, Key: AnsiString): AnsiString;
{* 傳入十六進制的密文與加密 Key,DES 解密返回明文}

『肆』 什麼是DES加密

DES演算法具有極高安全性,到目前為止,除了用窮舉搜索法對DES演算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間為256,這意味著如果一台計算機的速度是每一秒種檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間
可以使用加密軟體對數據進行加密

文件夾加密超級大師
採用先進的加密演算法,使您的文件加密後,真正的達到超高的加密強度,讓您的加密文件無懈可擊,沒有密碼無法解密。
五種加密方法:
閃電加密速度快,對文件夾沒有大小限制,無論多大都可以在幾秒內加密完畢。
隱藏加密後,數據被徹底隱藏,只能通過軟體打開或解密。

金鑽加密是把文件夾加密成一個加密文件, 打開或解密時需要輸入密碼。特點是安全性極高,沒有正確密碼任何人無法打開或解密。適用於比較小一點的重要文件存放的文件夾。

全面加密是把文件夾裡面的所有文件加密成加密文件, 打開文件夾不需要密碼,但是打開裡面的每個文件都需要密碼。

移動加密是把數據加密成exe文件,可以移動到其他沒有安裝軟體的電腦上解密,也可以通過網路傳輸。

注意:金鑽加密,移動加密,全面加密忘記密碼無法解密,所以請您牢記密碼。

『伍』 秘鑰、公鑰匙、認證之間的關系 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

『陸』 使用.net內置的DES進行加密

好了,明白了它的License種類,我們得看看它是如何驗證合法的License的,換句話說就是它的License是如何構成的。它通過定位/bin目錄下的License文件,License文件由類名(FreeTextBox)+ 「.lic」構成。FreeTextBox.Lic文件內容分三個部分,第一部分為明文FreeTextBox License,也就是類名+ License」字元串,第二部分為[License種類的加密文本],加密演算法採用的.NET內置的DES,用於DES加密的密鑰和偏移量均為{ 0x39, 0x48, 0x42, 50, 0x38, 0x31, 70, 0x36 },當然它不是直接對文本加密的,做了一個小小的處理,這個處理就是加上原文本的長度,並預留5位,不夠則補零,例如字元串DistributionLicense,那用於加密的就是00019DistributionLicense,因為字元串DistributionLicense的長度是19位,前面還有3個空位就補3個零。這樣加密後的結果就是=,注意需要用[]分隔,FreeTextBox設計者出於方便使用正則匹配所以使用[]來分隔,第三部分就是你注冊標識的加密文本,當然也有[],處理方式跟第二部分的一樣,例如我的域名為Ycweb.Net,我想以此作為標識來生成License,於是對字元串00009Ycweb.Net進行DES加密,結果為tyn3Gf1Y5GH2VphAJ2U++g==,所以綜合這個三個部分的內容,就構成了一個完整的License文件內容,整理一下就是: FreeTextBox License [=] [tyn3Gf1Y5GH2VphAJ2U++g==] 這是Distribution的License,如果是Professional的License,內容就是: FreeTextBox License [tyn3Gf1Y5GH2VphAJ2U++g==] 補充: 我現在是要加密的方法,求一個函數,將原文:00019DistributionLicense,加密為密文:=],不知所謂,連內容都不看就回答了 補充: 又多一個不看內容的,文章裡面不是說了嗎:

『柒』 DES 加密後的密鑰,如何保存或發送

import java.security.Key;
import java.security.KeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;

public class Test {

////這塊不熟還請自己測試
public static void main(String [] args) {
String Algorithm="DES"; //定義 加密演算法,可用 DES,DESede,Blowfish
KeyGenerator keygen;
try {
keygen = KeyGenerator.getInstance(Algorithm);
SecretKey deskey = keygen.generateKey();
Cipher ci = Cipher.getInstance("DES");
//將其包裝為byte[]發送
byte[] b = ci.wrap(deskey);
//發送
//...
//接收到後
//解封裝
Key key = ci.unwrap(b, Algorithm, Cipher.PRIVATE_KEY);
//...

} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
}

}
}

『捌』 DES演算法怎麼用來加密文件(圖片、文檔、音頻、視頻等)

這個我不清楚。

加密文件(圖片、文檔、音頻、視頻等),我使用的是超級加密3000.

超級加密3000的主要功能有文件加密(保護文本,文檔,電子表,圖片,網頁等內容),文件夾加密、隱藏、加鎖,文件隱藏、粉碎等。可滿足日常工作和生活中的安全保密需求,您盡可放心使用。

『玖』 文件傳輸加密都有哪些方法呢

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保密通信標准。

閱讀全文

與des文件加密傳輸相關的資料

熱點內容
程序員那麼可愛第幾集在重慶相遇 瀏覽:673
上班兩公里源碼 瀏覽:817
南寧溯源碼燕窩訂制 瀏覽:933
在個人文件夾中新建文件 瀏覽:445
中國國家地理pdf下載 瀏覽:107
幾套房子抵押可以解壓其中一套嗎 瀏覽:569
微愛app室外地板怎麼裝飾 瀏覽:231
遼寧省醫保如何用app轉 瀏覽:311
鍾表cNc編程招聘 瀏覽:546
均線pdf 瀏覽:921
手機破解加密的壓縮包 瀏覽:429
dnf程序員分析 瀏覽:365
外星人適合編程嗎 瀏覽:205
phpcurl302跳轉 瀏覽:843
奔放的程序員我的 瀏覽:714
伺服器磁碟滿了文件刪不掉該如何處理 瀏覽:847
壓縮彈簧展開長度 瀏覽:509
如何共享國外app 瀏覽:687
淘寶app如何掃描圖片 瀏覽:594
反編譯作業幫 瀏覽:856