利申: 係中學讀過電腦科咁大把, 以下乃個人知識最真切見解。有錯就笑一下就好
讀得書少, 唔太識(打)英文
1) Hash function既大概原理係將資料(data) 變成一D index. 如有31個學生, 阿john 既香港考試及評核局[會考學生號]係 01, Marry 係 02... Peter 係 31.
你問Marry, 佢永遠會答你佢會考學生號係 02. 但如果你係街邊執到份HKEAA 既試卷上面好多個大交叉, 而個[會考學生號] 03, 其實你想找返個學生出黎恥笑既機會係零。因為你都無個table (or algorithm, de facto) 可以俾你對返係邊個學生豬咁蠢....
2) 而? 但唔係有D叫oclHashca 既野可以俾你Brute-force attack D hash 既??
係, 但其實你要知個 hash 既algorithm, 之後對返個program randomised 既data 如 (sorry*for%my!ignorance1, sorry*for%my!ignorance2, sorry*for%my!ignorance3, sorry*for%my!ignorance4..... ) 既hash 同你手上偷返黎既data 個hash 係唔係一樣. 如一個32byte 既hash, 理論上係有16^32 既組合(combinations) (而唔係26 * 10^6...... 因為我地係crack個hash) . 當然, 世上有D叻人會用number theory 去將collision attack 既combinations 次數減少。[好老實, 如果我係叻人, 我唔會有時間去打D野俾大家笑甩牙]
3) 唔係wo, 我知有D情況, 我用D program 好快會crack 到個(e.g.) MD5 password!?
呢個咁既情況, 我地只可以怪D人唔正確咁用hash function 去store 個password.
好似我用google, 查散列值字典"d5aedf560b928e289dc4a76d8765bc4e" 就會出到佢係"newbie" 既MD5 hash. 其實如果寫database program 個newbie 係個hash function 加d鹽 (糖好似唔得), 就唔會出事....
4) "所有以電子方式收集的個人資料會於傳送時使用SSL進行加密,並會以不能還原的散列代碼形式記錄於伺服器,以確保有關資料實際上無法被人破解和還原。"
請留意"並會" 這兩個字
5) [個人意見] 佢D用紅線mask 左既身份證號碼, 點解好似有D mask左一個字, 有D兩個字。搞到我覺得身份證號碼有D共有8個字, 有D有9個字咁得意 
最後, 如果popvote 係在手機apps generate hash (md5, sha-256 etc) 再加鹽 再用SSL/TSL 建立安全連線到database, 而又無機會俾人middle man attack, 個人資料理應安全, "can crack the irreversible encryption data very easily." 未必成立。
最後八掛問一問, 各位大大對cryptography 有什麼經驗和心得 (用crack tool 不計)。小弟/女在此拋磚引玉。完 |