為什麼2DES不安全?

2021-06-10 21:11:30 字數 613 閱讀 9447

2des所用的金鑰長度是112位,所以2des所產生的安全性(破解2des的時間複雜性)應該與

之所以說2des不安全,因為破解2des的時間複雜性遠遠低於

設小明用k1、k2執行2des,給小紅傳送加密過的情書。我們已經截獲了小明的給小紅的情書原文p(plain text)和密文c(cipher text)。我們相信小明也是用k1、k2給小琳發資訊,我們嚴重懷疑他給小琳發的也是情書。故此進行破解!

破解**如下

dictionarydic = new dictionary();

foreach (var k1 in allkeys)

foreach (var k2 in allkeys)

}

dictionary是乙個鍵值對的集合,dic[middle]是從dic裡取得以middle為鍵的值,即第一次foreach時的k1。

應用演算法複雜性理論,該演算法的複雜度在於函式e、d、dic.add、dic.containskey。如果記憶體很大,dictonary雜湊函式很少衝突,則dic的兩個操作的時間可忽略不計。

於是,e函式要執行

證畢本文依照識共享-署名-相同方式共享3.0釋放

作者愛讓一切都對了

ArrayList為什麼不安全

arraylist和vector安全問題 前言 執行緒安全 在多執行緒訪問的時候,採用了加鎖機制,當乙個執行緒訪問該類的某個資料時,進行保護,其他執行緒不能訪問直到該執行緒讀取完,其它執行緒才可以使用,不會出現資料不一致或資料汙染。執行緒不安全 不能提供資料保護,有可能多個執行緒先後更改資料造成所得...

hashmap為什麼不安全

第一點多執行緒同時put的時候 在某一時刻同時操作hashmap並執行put操作,而有大於兩個key的hash值相同,如圖中a1 a2,這個時候需要解決碰撞衝突,而解決衝突的辦法上面已經說過,對於鍊錶的結構在這裡不再贅述,暫且不討論是從鍊錶頭部插入還是從尾部初入,這個時候兩個執行緒如果恰好都取到了對...

ArrayList 為什麼執行緒不安全

我們先來看看 arraylist 的 add 操作原始碼。public boolean add e e arraylist 的不安全主要體現在兩個方面。其一 elementdata size e 不是乙個原子操作,是分兩步執行的。elementdata size e size 單執行緒執行這段 完全...