當前位置:首頁 » 密碼管理 » 加密密碼生成

加密密碼生成

發布時間: 2022-11-26 11:45:56

❶ 1. Crypto 加密演算法

Hash,音譯為哈希,也叫散列函數、摘要演算法。它是把任意長度的輸入,通過散列演算法變換成固定長度的輸出,該輸出就是散列值。

常用的哈希演算法有:

MD5 信息摘要演算法 (MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16位元組)的散列值,用於確保信息傳輸完整一致。

SHA (Secure Hash Algorithm),即安全散列演算法。散列演算法又稱雜湊演算法或哈希演算法,能將一定長度的消息計算出固定長度的字元串(又稱消息摘要)。SHA包含5個演算法,分別是SHA-1、SHA-224、SHA-256、SHA-384和SHA-512,後四者並稱為SHA-2。

循環冗餘校驗 (Cyclic rendancy check,通稱「 CRC 」)是一種根據網路數據包或電腦文件等數據產生簡短固定位數校驗碼的一種散列函數,主要用來檢測或校驗數據傳輸或者保存後可能出現的錯誤。生成的數字在傳輸或者存儲之前計算出來並且附加到數據後面,然後接收方進行檢驗確定數據是否發生變化。一般來說,循環冗餘校驗的值都是32位的整數。

AES ,高級加密標准(Advanced Encryption Standard),又稱 Rijndael 加密法,是美國聯邦政府採用的一種區塊加密標准。

MAC ,消息認證碼(帶密鑰的 Hash 函數):密碼學中,通信實體雙方使用的一種驗證機制,保證消息數據完整性的一種工具。構造方法由 M.Bellare 提出,安全性依賴於 Hash 函數,故也稱帶密鑰的 Hash 函數。消息認證碼是基於密鑰和消息摘要所獲得的一個值,可用於數據源發認證和完整性校驗。

PBKDF2 (Password-Based Key Derivation Function)是一個用來導出密鑰的函數,常用於生成加密的密碼。它的基本原理是通過一個偽隨機函數(例如 HMAC 函數),把明文和一個鹽值作為輸入參數,然後重復進行運算,並最終產生密鑰。如果重復的次數足夠大,破解的成本就會變得很高。而鹽值的添加也會增加「彩虹表」攻擊的難度。

在需要使用 CryptoSwift 的地方將其 import 進來:

歡迎留言討論,有錯誤請指出,謝謝!
Swift 開發學習交流,聯系我 QQ:3500229193 入群,請備注「Swift 學習」!

❷ 常見的加密演算法、原理、優缺點、用途

在安全領域,利用密鑰加密演算法來對通信的過程進行加密是一種常見的安全手段。利用該手段能夠保障數據安全通信的三個目標:

而常見的密鑰加密演算法類型大體可以分為三類:對稱加密、非對稱加密、單向加密。下面我們來了解下相關的演算法原理及其常見的演算法。

在加密傳輸中最初是採用對稱密鑰方式,也就是加密和解密都用相同的密鑰。

1.對稱加密演算法採用單密鑰加密,在通信過程中,數據發送方將原始數據分割成固定大小的塊,經過密鑰和加密演算法逐個加密後,發送給接收方

2.接收方收到加密後的報文後,結合解密演算法使用相同密鑰解密組合後得出原始數據。

圖示:

非對稱加密演算法採用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對數據進行加密,那麼只有對應的私鑰(不能公開)才能解密,反之亦然。N 個用戶通信,需要2N個密鑰。

非對稱密鑰加密適合對密鑰或身份信息等敏感信息加密,從而在安全性上滿足用戶的需求。

1.甲使用乙的公鑰並結合相應的非對稱演算法將明文加密後發送給乙,並將密文發送給乙。
2.乙收到密文後,結合自己的私鑰和非對稱演算法解密得到明文,得到最初的明文。

圖示:

單向加密演算法只能用於對數據的加密,無法被解密,其特點為定長輸出、雪崩效應(少量消息位的變化會引起信息摘要的許多位變化)。

單向加密演算法常用於提取數據指紋,驗證數據的完整性、數字摘要、數字簽名等等。

1.發送者將明文通過單向加密演算法加密生成定長的密文串,然後傳遞給接收方。

2.接收方將用於比對驗證的明文使用相同的單向加密演算法進行加密,得出加密後的密文串。

3.將之與發送者發送過來的密文串進行對比,若發送前和發送後的密文串相一致,則說明傳輸過程中數據沒有損壞;若不一致,說明傳輸過程中數據丟失了。

圖示:

MD5、sha1、sha224等等

密鑰交換IKE(Internet Key Exchange)通常是指雙方通過交換密鑰來實現數據加密和解密

常見的密鑰交換方式有下面兩種:

將公鑰加密後通過網路傳輸到對方進行解密,這種方式缺點在於具有很大的可能性被攔截破解,因此不常用

DH演算法是一種密鑰交換演算法,其既不用於加密,也不產生數字簽名。

DH演算法通過雙方共有的參數、私有參數和演算法信息來進行加密,然後雙方將計算後的結果進行交換,交換完成後再和屬於自己私有的參數進行特殊演算法,經過雙方計算後的結果是相同的,此結果即為密鑰。

如:

安全性

在整個過程中,第三方人員只能獲取p、g兩個值,AB雙方交換的是計算後的結果,因此這種方式是很安全的。

答案:使用公鑰證書

公鑰基礎設施是一個包括硬體、軟體、人員、策略和規程的集合

用於實現基於公鑰密碼機制的密鑰和證書的生成、管理、存儲、分發和撤銷的功能

簽證機構CA、注冊機構RA、證書吊銷列表CRL和證書存取庫CB。

公鑰證書是以數字簽名的方式聲明,它將公鑰的值綁定到持有對應私鑰的個人、設備或服務身份。公鑰證書的生成遵循X.509協議的規定,其內容包括:證書名稱、證書版本、序列號、演算法標識、頒發者、有效期、有效起始日期、有效終止日期、公鑰 、證書簽名等等的內容。

1.客戶A准備好要傳送的數字信息(明文)。(准備明文)

2.客戶A對數字信息進行哈希(hash)運算,得到一個信息摘要。(准備摘要)

3.客戶A用CA的私鑰(SK)對信息摘要進行加密得到客戶A的數字簽名,並將其附在數字信息上。(用私鑰對數字信息進行數字簽名)

4.客戶A隨機產生一個加密密鑰(DES密鑰),並用此密鑰對要發送的信息進行加密,形成密文。 (生成密文)

5.客戶A用雙方共有的公鑰(PK)對剛才隨機產生的加密密鑰進行加密,將加密後的DES密鑰連同密文一起傳送給乙。(非對稱加密,用公鑰對DES密鑰進行加密)

6.銀行B收到客戶A傳送過來的密文和加過密的DES密鑰,先用自己的私鑰(SK)對加密的DES密鑰進行解密,得到DES密鑰。(用私鑰對DES密鑰解密)

7.銀行B然後用DES密鑰對收到的密文進行解密,得到明文的數字信息,然後將DES密鑰拋棄(即DES密鑰作廢)。(解密文)

8.銀行B用雙方共有的公鑰(PK)對客戶A的數字簽名進行解密,得到信息摘要。銀行B用相同的hash演算法對收到的明文再進行一次hash運算,得到一個新的信息摘要。(用公鑰解密數字簽名)

9.銀行B將收到的信息摘要和新產生的信息摘要進行比較,如果一致,說明收到的信息沒有被修改過。(對比信息摘要和信息)

答案是沒法保證CA的公鑰沒有被篡改。通常操作系統和瀏覽器會預制一些CA證書在本地。所以發送方應該去那些通過認證的CA處申請數字證書。這樣是有保障的。

但是如果系統中被插入了惡意的CA證書,依然可以通過假冒的數字證書發送假冒的發送方公鑰來驗證假冒的正文信息。所以安全的前提是系統中不能被人插入非法的CA證書。

END

❸ 如何在Linux中產生,加密或解密隨機密碼

1、到U盤超級加密3000軟體官方網站下載,這款軟體下載後只有一個ude.exe文件,您只需將這個文件放到您需要加密的硬碟分區就可以了。2、在密碼輸入框中輸入正確密碼(試用版默認密碼是888888),點擊確定按鈕就可以進入U盤超級加密3000軟體主窗口。軟體主窗口最上方是一排功能按鈕,每個按鈕執行軟體的一個功能。軟體窗口下方有兩個文件列表,左側列表中顯示的是當前磁碟中沒有加密的文件夾和文件。右側列表中顯示的是當前磁碟中已經加密的文件和文件夾。3、點擊全盤加密,自動加密全盤所有的文件和文件夾。當然了,如果您只想加密單個文件或文件夾,也可以在軟體主窗口下方左側的文件列表中用滑鼠選中你需要加密的文件夾或文件,然後點擊單個加密按鈕。解密時,只需點擊全盤解密,自動解密所有已經加密的文件和文件夾。如果只想解密個別文件或文件夾,請在軟體窗口下方右側的文件列表中用滑鼠選中你需要解密的文件夾或文件,然後點擊單個解密按鈕。

❹ 如何把文件加密

右鍵點擊需要加密的文件夾,選擇屬性,在屬性窗口中點擊高級按鈕,點擊加密內容以便保護數據,點擊確定之後再返回屬性窗口,點擊確定,選擇將更改應用於此文件夾、子文件夾和文件,最後點擊確定即可。操作方法
01
滑鼠右擊要加密的文檔或文件夾,在「添加壓縮包」面板里設置密碼,並勾選「加密文件名」設置完成後點擊確定即可生成加密文件。

02
注意勾選「加密文件名」,並輸入加密密碼,點擊確定就完成,非常簡單。

03
打開加密文檔前先要輸入密碼。

04
用戶可以往加密文檔裡面直接拖動添加文件。

特別提示
在加密文檔時要注意一些問題,設置時最好勾選「加密文件名」,這樣當其他用戶試圖打開加密包時就看不到加密文件名字和目錄名字了。還有要注意選擇「壓縮等級」為「僅存儲」,這樣在處理加密文件包,或者添加刪除加密文件包時能獲得最好的速度。當做好加密文件後,把源文件刪除,並清空垃圾箱,還要做好備份,以防加密文件包損耗就找不會資料了。

❺ 安卓端TOTP動態密碼生成庫

TOTP(Time-base One-Time Password)譯為基於時間的一次性密碼,也稱時間同步的動態密碼。應用范圍:對安全性要求比較高的場合,可以進行密碼的二次認證,例如:游戲,銀行等業務。
該庫的加密工具類主要參考google-authenticator 加密原理:使用HMAC演算法,利用哈希演算法,以一個密鑰和一個消息為輸入,生成一個消息摘要作為輸出。 這里的密鑰參數:base32生成,消息參數:時間戳(秒單位)/時間間隔(TimeStep) (tips: 例如 TimeStep=30 30內生成密碼一樣,就是誤差30s)
效果圖

TOTP的要求

使用方法

❻ 密碼技術(十一)之密鑰

  ——秘密的精華

 在使用對稱密碼、公鑰密碼、消息認證碼、數字簽名等密碼技術使用,都需要一個稱為 密鑰 的巨大數字。然而,數字本身的大小並不重要,重要的是 密鑰空間的大小 ,也就是可能出現的密鑰的總數量,因為密鑰空間越大,進行暴力破解就越困難。密鑰空間的大小是由 密鑰長度 決定的。

 對稱密碼DES的密鑰的實質長度為56比特(7個位元組)。
例如,
一個DES密鑰用二進制可以表示為:
01010001 11101100 01001011 00010010 00111101 01000010 00000011
用十六進制則可以表示為:
51 EC 4B 12 3D 42 03
而用十進制則可以表示為:
2305928028626269955

 在對稱密碼三重DES中,包括使用兩個DES密鑰的DES-EDE2和使用三個DES密鑰的DES-EDE3這兩種方式。
DES-EDE2的密鑰長度實質長度為112比特(14位元組),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F
DES-EDE3的密鑰的實質長度為168比特(21位元組),比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96

 對稱密碼AES的密鑰長度可以從128、192和256比特中進行選擇,當密鑰長度為256比特時,比如:
51 EC 4B 12 3D 42 03 30 04 D8 98 95 93 3F 24 9F 61 2A 2F D9 96
B9 42 DC FD A0 AE F4 5D 60 51 F1

密鑰和明文是等價的 。假設明文具有100萬的價值,那麼用來加密這段明文的密鑰也就是具有100萬元的價值;如果明文值1億元,密鑰也就值1億元;如果明文的內容是生死攸關的,那麼密鑰也同樣是生死攸關的。

 在對稱密碼中,加密和解密使用同一個密鑰。由於發送者和接收者需要共享密鑰,因此對稱密碼又稱為共享密鑰密碼。對稱密碼中所使用的密鑰必須對發送者和接收者以外的人保密,否則第三方就能夠解密了。

 在消息認證碼中,發送者和接收者使用共享的密鑰來進行認證。消息認證碼只能由持有合法密鑰的人計算出來。將消息認證碼附加在通信報文後面,就可以識別通信內容是否被篡改或偽裝,由於「持有合法的密鑰」就是發送者和接收者合法身份的證明,因此消息認證碼的密鑰必須對發送者以外的人保密,否則就會產生篡改和偽裝的風險。

 在數字簽名中,簽名生成和驗證使用不同的密鑰,只有持有私鑰的本人才能夠生成簽名,但由於驗證簽名使用的是公鑰,因此任何人都能夠驗證簽名。

 對稱密碼和公鑰密碼的密鑰都是用於確保機密性的密鑰。如果不知道用於解密的合法密鑰,就無法得知明文的內容。
 相對地,消息認證碼和數字簽名所使用的密鑰,則是用於認證的密鑰。如果不知道合法的密鑰,就無法篡改數據,也無法偽裝本人的身份。

 當我們訪問以https://開頭的網頁時,Web伺服器和瀏覽器之間會進行基於SSL/TLS的加密通信。在這樣的通信中所使用的密鑰是僅限於本次通信的一次密鑰,下次通信時就不能使用了,想這樣每次通信只能使用一次的密鑰稱為 會話密鑰
 由於會話密鑰只在本次通信中有效,萬一竊聽者獲取了本次通信的會話密鑰,也只能破譯本次通信的內容。
 雖然每次通信都會更換會話密鑰,但如果用來生成密鑰的偽隨機數生成器品質不好,竊聽者就有可能預測出下次生成會話密鑰,這樣就會產生通信內容被破譯的風險。
 相對於每次通信更換的會話密鑰,一直被重復使用的密鑰稱為 主密鑰

 一般來說,加密的對象是用戶直接使用的信息,這樣的情況下所使用的密鑰稱為CEK(Contents Encryting Key,內容加密密鑰);相對地,用於加密密鑰的密鑰則稱為KEK(Key Encryting Key,密鑰加密密鑰)。

 在很多情況下,之前提到的會話密鑰都是被作為CEK使用的,而主密鑰則是被作為KEK使用的。

 生成密鑰的最好方法就是使用隨機數,因為米喲啊需要具備不易被他人推測的性質。在可能的情況下最好使用能夠生成密碼學上的隨機數的硬體設備,但一般我們都是使用偽隨機數生成器這一專門為密碼學用途設計的軟體。
 在生成密鑰時,不能自己隨便寫出一些像「3F 23 52 28 E3....」這樣的數字。因為盡管你想生成的是隨機的數字,但無論如何都無法避免人為偏差,而這就會成為攻擊者的目標。
 盡管生成偽隨機數的演算法有很多種,但密碼學用途偽隨機生成器必須是專門針對密碼學用途而設計的。例如,有一些偽隨機數生成器可以用於游戲和模擬演算法,盡管這些偽隨機數生成器所生成的數列看起也是隨機的,但只要不是專門為密碼學用途設計的,就不能用來生成密鑰,因為這些偽隨機數生成器不具備不可預測性這一性質。

 有時候我們也會使用人類的可以記住的口令(pasword或passphrase)來生成密鑰。口令指的是一種由多個單片語成的較長的password。
 嚴格來說,我們很少直接使用口令來作為密鑰使用,一般都是將口令輸入單向散列函數,然後將得到的散列值作為密鑰使用。
 在使用口令生成密鑰時,為了防止字典攻擊,需要在口令上附加一串稱為鹽(salt)的隨機數,然後在將其輸入單向散列函數。這種方法稱為「基於口令的密碼(Password Based Encryption,PBE)」。

 在使用對稱密碼時,如何在發送者和接收者之間共享密鑰是一個重要的問題,要解決密鑰配送問題,可以採用事先共享密鑰,使用密鑰分配中心,使用公鑰密碼等方法,除了上述方法,之前還提到一種解決密鑰配送的問題的方法稱為Diffie-Hellman密鑰交換。

 有一種提供通信機密性的技術稱為 密鑰更新 (key updating),這種方法就是在使用共享密鑰進行通信的過程中,定期更改密鑰。當然,發送者和接收者必須同時用同樣的方法來改變密鑰才行。
 在更新密鑰時,發送者和接收者使用單向散列函數計算當前密鑰的散列值,並將這個散列值用作新的密鑰。簡單說,就是 用當前密鑰散列值作為下一個密鑰
 我們假設在通信過程中的某個時間點上,密鑰被竊聽者獲取了,那麼竊聽者就可以用這個密鑰將之後的通信內容全部解密。但是,竊聽者卻無法解密更新密鑰這個時間點之前的內容,因為這需要用單向散列函數的輸出反算出單向散列函數的輸入。由於單向散列函數具有單向性,因此就保證了這樣的反算是非常困難的。
 這種防止破譯過去的通信內容機制,稱為 後向安全 (backward security)。

 由於會話密鑰在通信過程中僅限於一次,因此我們不需要保存這種秘密。然而,當密鑰需要重復使用時,就必須要考慮保存密鑰的問題了。

 人類是 無法記住具有實用長度的密鑰 的。例如,像下面這樣一個AES的128比特的密鑰,一般人是很難記住的。
51 EC 4B 12 3D 42 03 30 04 DB 98 95 93 3F 24 9F
就算勉強記住了,也只過不是記住一個密鑰而已。但如果要記住多個像這樣的密鑰並且保證不忘記,實際上是非常困難的。

 我們記不住密鑰,但如果將密鑰保存下來又可能會被竊取。這真是一個頭疼的問題。這個問題很難得到徹底解決,但我們可以考慮一些合理的解決方法。
 將密鑰保存生文件,並將這個文件保存在保險櫃等安全地方。但是放在保險櫃里的話,出門就無法使用了。這種情況,出門時就需要隨身攜帶密鑰。而如果將密鑰放在存儲卡隨身攜帶的話,就會產生存儲卡丟失、被盜等風險。
 萬一密鑰被盜,為了能夠讓攻擊者花更多的時間才能真正使用這個密鑰,我們可以使用將密鑰加密後保存的方法,當然,要將密鑰加密,必須需要另一個密鑰。像這樣用於密碼加密的密鑰,一般稱為KEK。
 對密鑰進行加密的方法雖然沒有完全解決機密性的問題,但在現實中卻是一個非常有效地方法,因為這樣做可以減少需要保管密鑰的數量。
 假設計算機上有100萬個文件,分別使用不同的密鑰進行加密生成100萬個密文,結果我們手上就產生了100萬個密鑰,而要保管100萬個密鑰是很困難的。
 於是,我們用一個密鑰(KEK)將這100萬個密鑰進行加密,那麼現在我們只要保管者一個KEK就可以了,這一個KEK的價值相當於簽名的100萬個密鑰的價值的總和。
 用1個密鑰來代替多個密鑰進行保管的方法,和認證機構的層級化非常相似。在後者中,我們不需要信任多個認證機構,而只需要信任一個根CA就可以了。同樣的,我們也不需要確保多個密鑰的機密性,而只需要確保一個KEK的機密性就可以了。

 密鑰的作廢和生成是同等重要的,這是因為密鑰和明文是等價的。

 假設Alice向Bob發送了一封加密郵件。Bob在解密之後閱讀了郵件的內容,這時本次通信所使用的密鑰對於Alice和Bob來說就不需要了。不在需要的密鑰必須妥善刪除,因為如果被竊聽者Eve獲取,之前發送的加密郵件就會被解密。

 如果密鑰是計算機上的一個文件,那麼僅僅刪除這個文件是不足以刪除密鑰的,因為有一些技術能夠讓刪除的文件「恢復」。此外,很多情況下文件的內容還會殘留在計算機的內存中,因此必須將這些痕跡完全抹去。簡而言之,要完全刪除密鑰,不但要用到密碼軟體,還需要在設計計算機系統時對信息安全進行充分的考慮

 如果包含密鑰的文件被誤刪或者保管密鑰的筆記本電腦損壞了,會怎麼樣?
 如果丟失了對稱密鑰密碼的共享密鑰,就無法解密密文了。如果丟失了消息認證碼的密鑰,就無法向通信對象證明自己的身份了。
 公鑰密碼中,一般不太會發送丟失公鑰的情況,因為公鑰是完全公開的,很有可能在其他電腦上存在副本。
 最大的問題是丟失公鑰密碼的私鑰。如果丟失了公鑰密碼的私鑰,就無法解密用公鑰密碼加密的密文了。此外,如果丟失了數字簽名的私鑰,就無法生成數字簽名了。

 Diffie-Hellman密鑰交換(Diffie-Hellman key exchange)是1976年由Whitfield Diffie和Martin Hellman共同發明的一種演算法。使用這種演算法,通信雙方僅通過交換一些可以公開的信息就能夠生成共享秘密數字,而這一秘密數字就可以被用作對稱密碼的密鑰。IPsec 中就使用了經過改良的Diffie-Hellman密鑰交換。

2 Alice 生成一個隨機數A
 A是一個1 ~ P-2之間的整數。這個數是一個只有Alice知道的密碼數字,沒有必要告訴Bob,也不能讓Eve知道。

Alice計算出的密鑰=Bob計算出的密鑰

  在步驟1-7中,雙方交換數字一共有4個,P、G、G A mod P 和 G B mod P。根據這4個數字計算出Alice和Bob的共享密鑰是非常困難的。
 如果Eve能歐知道A和B的任意一個數,那麼計算G A*B 就很容易了,然而僅僅根據上面的4個數字很難求出A和B的。
 根據G A mod P 計算出A的有效演算法到現在還沒有出現,這問題成為有限域(finite field) 的 離散對數問題

 Diffie-Hellman密鑰交換是利用了「離散對數問題」的復雜度來實現密鑰的安全交換的,如果將「離散對數問題」改為「橢圓曲線上離散對數問題」,這樣的演算法就稱為 橢圓曲線Diffie-Hellman 密鑰交換。
 橢圓曲線Diffie-Hellman密鑰交換在總體流程上是不變的,只是所利用的數學問題不同而已。橢圓曲線Diffie-Hellman密鑰交換能夠用較短的密鑰長度實現較高的安全性。

 基於口令密碼(password based encryption,PBE)就是一種根據口令生成密鑰並用該密鑰進行加密的方法。其中加密和解密使用同一個密鑰。
 PBE有很多種實現方法。例如RFC2898和RFC7292 等規范中所描述的PBE就通過java的javax.crypto包等進行了實現。此外,在通過密碼軟體PGP保存密鑰時,也會使用PBE。
PBE的意義可以按照下面的邏輯來理解。

想確保重要消息的機制性。
  ↓
將消息直接保存到磁碟上的話,可能被別人看到。
  ↓
用密鑰(CEK)對消息進行加密吧。
  ↓
但是這次又需要確保密鑰(CEK)的機密性了。
  ↓
將密鑰(CEK)直接保存在磁碟上好像很危險。
  ↓
用另一個密鑰(KEK)對密鑰進行加密(CEK)吧。
  ↓
等等!這次又需要確保密鑰(KEK)的機密性了。進入死循環了。
  ↓
既然如此,那就用口令來生成密鑰(KEK)吧。
  ↓
但只用口令容易遭到字典攻擊
  ↓
那麼就用口令和鹽共同生成密鑰(KEK)吧。
  ↓
鹽可以和加密後的密鑰(CEK)一切保存在磁碟上,而密鑰(KEK)可以直接丟棄。
  ↓
口令就記在自己的腦子里吧。

PBE加密包括下列3個步驟:

  鹽是由偽隨機數生成器生成的隨機數,在生成密鑰(KEK)時會和口令一起被輸入單向散列函數。
 密鑰(KEK)是根據秘密的口令生成的,加鹽好像沒有什麼意義,那麼鹽到底起到什麼作用呢?
鹽是用來防禦字典攻擊的 。字典攻擊是一種事先進行計算並准備好候選密鑰列表的方法。
 我們假設在生成KEK的時候沒有加鹽。那麼主動攻擊者Mallory就可以根據字典數據事先生成大量的候選KEK。
 在這里,事先是很重要的一點。這意味著Mallory可以在竊取到加密會話的密鑰之前,就准備好了大量的候選KEK。當Mallory竊取加密的會話密鑰後,就需要嘗試將它解密,這是准備好了大量事先生成的候選KEK,就能夠大幅度縮短嘗試的時間,這就是 字典攻擊 (dictionary attack)。
 如果在生成KEK時加鹽,則鹽的長度越大,候選KEK的數量也會隨之增大,事先生成的的候選KEK就會變得非常困難。只要Mallory還沒有得到鹽,就無法生成候選KEK。這是因為加鹽之後,候選KEK的數量會變得非常巨大。

 具有充足長度的密鑰是無法用人腦記憶的。口令也是一樣,我們也無法記住具有充足比特數的口令。
 在PBE中,我們通過口令生成密鑰(KEK),在用這個密鑰來加密會話密鑰(CEK)。由於通過口令生成的密鑰(KEK)強度不如由偽隨機數生成器生成的會話密鑰(CEK),這就好像是將一個牢固的保險櫃的鑰匙放在了一個不怎麼牢固的保險櫃保管,因此在使用基於口令的密鑰時,需要將鹽和加密後的CEK通過物理方法進行保護。例如將鹽和加密後的CEK保存到存儲卡隨身攜帶。

 在生成KEK時,通過多次使用單向散列函數就可以提高安全性。例如,將鹽和口令輸入單向散列函數,進行1000次的散列函數所得到的散列值作為KEK來使用,是一個不錯的方法。
 像這樣將單向散列函數進行多次迭代的方法稱為 拉伸 (stretching)。

該系列的主要內容來自《圖解密碼技術第三版》
我只是知識的搬運工
文章中的插圖來源於原著

❼ 文檔加密怎麼進行加密

給文件加密,我使用的是超級加密3000軟體。超級加密3000軟體有文件加密、文件夾加密、數據粉碎、文件夾保護、磁碟保護等功能。
下載安裝超級加密3000軟體。

在要加密的文件上單擊滑鼠右鍵,然後在彈出菜單中選擇超級加密選項。
在彈出的文件加密窗口中輸入文件加密密碼,選擇文件的加密類型,點擊確定按鈕就可以實現文件的加密了。用超級加密3000軟體給文件加密非常的簡單

❽ 如何改動md5加密演算法生成純數字密碼

生成結果字元串逐位元組 (C - 48) MOD 10 不就完了。
得到的是整型變數,需要字元型變數的話再+48

❾ iOS RSA加密生成公鑰私鑰

該命令生成一個模長 2048 位,名字為 rsa_private_key.pem 、 PKCS1 格式的 RSA 私鑰文件.

genrsa :指定生成演算法使用 RSA
-out :後面參數是生成的私鑰的文件名
2048 :生成私鑰的模長,單位位元組(bits)

根據生成的私鑰 rsa_private_key.pem 文件,生成公鑰 rsa_public_key.pem 文件

生成名字為 rsa_pkcs8_private_key.pem 的私鑰文件
Java Android 用到的密鑰:
公鑰: rsa_public_key.pem
私鑰: rsa_pkcs8_private_key.pem

終端會提示輸入國家、省市、所在地、組織、組織單位、常用名稱、郵箱地址等信息,按要求填寫(可以隨便填寫), 輸入完對應信息後會提示輸入一個密碼 :

最終會生成 rsacert.csr 文件

用最開始生成的私鑰 rsa_private_key.pem 和 rsacert.csr 證書請求文件生成一個數字證書 rsacert.crt

使用 x509 工具自建CA。由於 x509 無法建立證書請求文件,所以只能使用 openssl req 來生成請求文件,然後使用 x509 來自簽署, 也可以用來簽署他人的證書請求,即為他人頒發證書。

知識點 :
終端會提示設置密碼,該密碼是 .p12 私鑰的密碼(用 private_key.p12 私鑰解密時, 要用到該密碼, 需要記錄下 ), 會提示再次輸入檢驗剛才輸入的密碼.

❿ 哪個軟體可以給文件做加密

一、文件夾加密超級大師 3.000
軟體特色功能:

1 文件和文件夾的數據加密(真正的加密).
2 把文件和文件夾加密成EXE文件.
3 磁碟加鎖和禁止使用USB設備.
4 文件夾偽裝.
5 系統安全和優化.
6 系統垃圾清理.

名稱 文件夾加密超級大師(最強悍的文件和文件夾加密軟體)
版 本 3.000
更新日期 2005-12-12
操作系統 Win2000\XP\2003
軟體大小 1.56MB

http://wxbsoft.nease.net/

軟體簡介:
功能強大的文件和文件夾加密和數據保護軟體。
有超快和最強的文件和文件夾加密功能、數據保護功能,文件夾、文件的粉碎刪除以及文件夾偽裝等功能。
文件夾本機和隱藏加密功能可以瞬間加密你電腦里或移動硬碟上的文件夾,加密後在何種環境下通過其他軟體都無法解密。同時防止復制、拷貝和刪除。並且它不受系統影響,即使重裝、Ghost還原,加密的文件夾依然保持加密狀態。隱藏加密的文件夾不通過本軟體無法找到和解密。
把文件夾和文件直接加密成Exe可執行文件。你可以將重要的數據以這種方法加密後再通過網路或其他的方法在沒有安裝[文件夾加密超級大師]的機器上使用。並且速度也特快,每秒可加密25 — 50M的數據。
數據保護功能,可防止你的數據被人為刪除、復制、移動和重命名。
還支持加密文件夾的臨時解密,文件夾臨時解密後,可以自動恢復到加密狀態。
文件加密後,沒有正確的密碼無法解密。解密後,加密文件依然保持加密狀態。
文件夾和文件的粉碎刪除,可以把你想刪除但怕在刪除後被別人用數據恢復軟體恢復的數據徹底在電腦中刪除。
文件夾偽裝可以把文件夾偽裝成回收站、CAB文件夾、列印機或其他類型的文件等,偽裝後打開的是偽裝的系統對象或文件而不是你偽裝前的文件夾。
另外還有驅動器隱藏加鎖等一些系統安全設置的功能。
本軟體使用起來也十分簡單,在要加密的文件夾或文件上單擊右鍵選擇[加密],然後設輸入密碼再按一下回車就可以了。解密時只要雙擊加密的文件夾或文件,輸入正確密碼即可。
本軟體全面兼容所有基於NT內核的Windows系統,包括 NT/2000/XP/2003,支持FAT32 和 NTFS文件系統。

二、金鎖文件夾加密特警是一款安全性極高的加密和徹底隱藏文件夾軟體,只要記住一個密碼,點幾下滑鼠,就可以隨時保護和靈活使用文件夾,而且平時幾乎不佔系統資源,安全模式也有效哦。其它功能有文件夾加鎖、偽裝文件夾,屏幕鎖,窗口隱藏,程序鎖定,分區隱藏,郵件、文件加密、隱藏、粉碎等。
官方網址: http://www.keepsecret.net/cn/

三、高級加密軟體,用於高級機密信息的加密保護與開放性通訊,也可用於個人文件資料及隱私信息的保護。加密速度快,在CPU為K6-2 450MHz的計算機上加密100MB的大文件僅需80秒。所加密生成的密文是一堆隨機數字,並且在明文與密碼都相同的情況下密文也會千變萬化,永不重復。加密使用特殊演算法,不可破解。可以作為一個強大的間諜工具。在WIN98/2000/XP上測試通過。網址:http://wwjkj.nease.net

四、加密奇兵專業版2005
http://lqweb.nease.net/cn/index.htm

絕對的硬性加密,絕非軟加密。並且有完善的數據安全保護機制,真正捍衛你的數據安全。
沒有使用期限的限制,可以永久試用。未注冊版只是啟動時彈出一個提示窗口,注冊後不再彈出。

熱點內容
國內我的世界電腦版伺服器 發布:2025-07-13 00:51:31 瀏覽:898
qq黃鑽設置隱身訪問 發布:2025-07-13 00:50:56 瀏覽:100
蘋果和安卓哪個看小說方便 發布:2025-07-13 00:20:25 瀏覽:755
網址訪問量查詢 發布:2025-07-13 00:13:25 瀏覽:976
thinkphp關掉緩存 發布:2025-07-12 23:44:01 瀏覽:86
互動平台源碼 發布:2025-07-12 23:42:15 瀏覽:10
矩形密碼是什麼 發布:2025-07-12 23:41:15 瀏覽:407
kvm存儲技術包括 發布:2025-07-12 23:41:15 瀏覽:951
安卓手機網路怎麼設置才好 發布:2025-07-12 23:33:01 瀏覽:272
怎麼修改手機號服務密碼 發布:2025-07-12 23:29:37 瀏覽:158