* z0 k1 m. a" _' {1 C 當(dāng)我們要試著解密之前我們得先來了解一下加密的過程,兼于加密方法的種類之多,我們就講一下標(biāo)準(zhǔn)的UNIX加密技術(shù),但關(guān)于DES加密技術(shù)的材料很少這主要是IBM應(yīng)美國國家安全局的要求把某些文檔定為了國家機密文檔,而UNIX下的一個加密程序Crypt(3)卻廣泛的流傳,甚至它的源代碼隨處可得,它的加密過程如下: 4 }) A7 w/ z$ C: t ) K. h/ h* M- o' }; G1】以明碼正文形式取出口令。 4 ^/ ]& P0 l q( S1 H) i 4 h5 L' ~( k: D. B6 ?: i$ G9 G# @2】把口令作為關(guān)鍵詞,用一系列的“0”進行敝屏加密。' a3 Y# S6 N4 l- b) s7 S
5 y. U: F5 _" Z) F$ g6 b
3】把一個64位二進制值轉(zhuǎn)變成以56位為變量基礎(chǔ)的唯一 7 ^: Y- [3 d1 ?1 Q9 A ^0 J" ^; w/ G% f+ a! Y的64位二進制值,作為關(guān)鍵字再加密。3 J: g$ z @+ @# f& o
$ \6 W1 L( o; w. `6 Y# l+ A) I 兼于CRYPT(3)的加密隨機性之大,56位關(guān)鍵字的存在可能性超過7×10E16種,所以想要逆向解碼是不可能的(如用奔騰II的計算速度可能要1185年零7月,如果那位網(wǎng)友成功的話請馬上通知我,去申請諾貝爾獎。〕* @' g! S7 k# m. w0 _
; o, G# x9 _+ j2 j N但是否真的無解了呢?錯!: z& b5 ^! R0 D# D) x% d
$ e- U3 `; `1 C/ x1】獲得一個字典文件,它是一個單詞表。 / X) G0 S' Z( G* M5 _# j " J; X/ V; a7 b3 ^) a) A2】把這些單詞用用戶的加密程序進行加密,(符合DES標(biāo)準(zhǔn)〕! V7 ~! N [$ o3 ~. o
* f' K3 n- f7 u% n3 U9 |! u9 A4 Y3】把每個單詞加密后的結(jié)果與目標(biāo)加密后的結(jié)果進行比較 " @0 Y, Q) i6 @, O. w+ r# [9 N4 H# ], h1 L b L
如果匹配,則該單詞就是加密關(guān)鍵字。; `$ ?) b Y8 ?% O* S; \4 H) f
3 [0 T! l0 n. J, p 現(xiàn)在已經(jīng)有了一些程序能幫助我們完成上面的工作,使解密變的由其簡單,而我們要作的就是把加密后的口令文件抓回來。 . T; L2 D; O; g6 d. m8 }7 _/ k# f9 c' S0 p) k( o' [
這類軟件常用的有 3 m9 a8 z) x2 \! [/ P# Q. @ # P$ o$ F3 B* ^1 o! t6 ~: wCarck 、Jack14 、 Joun