需要破解演算法簡單描述:
一個通信設備的主機向連接的外置設備發出一個32byte的資料(16進制),當外置的設備接收到該資料后會發回一組32byte的應答資料,如果主機所收到的資料經過分析對比正確,主機才能與外置設備建立通信。
附件每組資料前面32byte為應該是一組亂數(猜測為亂數),后兩位數值是為前面32byte的校驗和。現在希望知道從機收到“發送”的32byte后,怎么計算出“接收”的32byte.
如有高手能破解出演算法,先聯系我,事成重酬!扣:6-8-7-1-0-3-0-2
下面是我們模擬主機發送從00-FF的資料從而得到外置設備的應答資料(篇幅問題只發了兩組,如需更多資料可聯系我)。
注:“發送”是主機發出去的資料,“接收”是外置設備發回的應答資料。
發送: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 A4
接收: C9 1C 9D DF 43 41 00 E6 2E 66 71 2D EB 62 C1 BD A2 33 57 06 6C A1 FD 3A 9F F4 D2 3D 2E CE 1B 3F E1 81
發送: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 C0 64
接收: 9E 4F 42 63 60 BC FC D0 9B 85 4C F3 26 88 5C 44 5B 14 42 B8 7B 38 C2 04 81 80 D5 9A BD AA 65 D4 98 CE
uj5u.com熱心網友回復:
如果發送固定的資料,得到的應答也是固定的嗎?你所說的情況,很可能是一個“外部認證”。它的原理,就是共享秘密密鑰。
可能的協議:
1 主機發送的亂數包括兩部分,Rm1 和 Rm2。
2 外設用根密鑰加密 Rm1,得到密文作為“程序密鑰”。
3 外設用程序密鑰加密全部的亂數,回傳密文。
(實際上,更嚴謹的協議是雙向認證:
3 外設用程序密鑰加密 Rm2 ,密文作為回傳資料的一部分。
4 外設產生一個 16-byte 亂數 Rd。
5 外設將 16-byte 密文和 16-byte 亂數回傳。
6 主機應使用相同的程序密鑰加密 Rm2 得到密文,進行比對,如果一致,主機認可外設。
7 主機使用相同的程序密鑰加密 Rd,將密文發送給外設。
8 外設對密文進行驗證,如果一致,認可主機。
這樣的程序是通過 3 次單向通訊實作的,也稱為 3-pass 認證。)
如果設備廠商用的是國家或國際標準的商用密碼演算法,基本上以你的條件和資源無法破解(找出密鑰)。比如說,國際上的 TDES, AES 演算法等都曾懸賞百萬美元找到攻擊(破解)方法,那怕是將破解窮舉的輪次降低一兩個數量級。至今無人能領賞。
如果能破,還要你的“重酬”,直接拿美國人的賞金就是了。
如果確有必要且不計成本,你手頭又有主機和外設,并且你確認是單向認證,可以通過窮舉測驗建立一個“字典”。就是所謂字典攻擊。
uj5u.com熱心網友回復:
謝謝做樓上的高手做那么詳細的回復你所問的“如果發送固定的資料,得到的應答也是固定的嗎?”
是的。如果發送一個固定的資料,所得到的應答也是同一個固定數值。
努力。。。。。。。。
uj5u.com熱心網友回復:
MD5隨便加點鹽,一輩子你也破解不出來。uj5u.com熱心網友回復:
把程式拿到手,除錯。哪怕是md5加點鹽,也是有可能找到玩法的
uj5u.com熱心網友回復:
這個方向才是坦途。
uj5u.com熱心網友回復:
除錯不行,就丟虛擬就玩。
總有一條路能玩死垃圾的加密。
雖然我不會玩虛擬機除錯
uj5u.com熱心網友回復:
不錯,學習學習!uj5u.com熱心網友回復:
能再發兩組資料嗎?發送資料明顯是CRC16校驗后再運算處理后發送
接收資料是CRC16校驗后再運算處理回發的
uj5u.com熱心網友回復:
你是不是想跳過這個驗證或知道回傳資料如何得來的???????uj5u.com熱心網友回復:
這個回傳結果很容易得到,而且驗證是正確的轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/122858.html
標籤:VB基礎類
下一篇:windows桌面監視
