演算法:
演算法簡單的來說.就是指完成一個任務所需要的"具體"步驟與方法.也就是說.給訂初始資料.經由電腦程式的運算之後.求出所要求的資料.但演算法通常都有缺點.在不同的問題可能就要使用不同的演算法來解決問題.而演算法的主要特徵就是"輸入"."輸出"."有效性"."確定性"."有限性".經由這些特徵來進行有效的運算.演算法又分成很多種像是"基本演算法"."資料結構演算法"."數論與代數演算法"."圖論演算法"等等.....依不同的問題來使用不同的演算法.以寄信為例
開始-->信封寫上地址-->把信紙折起來-->把信放入信封-->有郵票嗎?
有-->不買郵票-->貼郵票-->完成
無-->去買郵票-->貼郵票-->完成
MD5:
"MD5"是電腦廣泛使用的演算法之一.又稱為摘要演算法.哈希演算法.主流的程式語言已經有MD5的實作.老師也在上課中提到"MD5"是由"MD4"."MD3"."MD2".一步一步演化而來的.主要是增強演算法的複雜度與不可逆性.而MD5的散列長度通常只有128位.隨著電腦運算能力增高.很容易就會發生"碰撞".所以在許多要求高安全性的場合是不使用MD5的.讓我們來看看一個示意圖.使大家更能了解.
一個MD5運算— 由類似的64次迴圈構成,分成4組16次. F 一個非線性函式; 一個函式運算一次. Mi 表示一個 32-bit 位元組的輸入資料, Ki 表示一個 32-bit 常數, 用來完成每次不同的計算引用自http://zh.wikipedia.org/w/index.php?title=MD5&variant=zh-tw
加密:
老師上課一直提到"加密".那家密到底是甚麼?加密有甚麼用?加密簡單的來說.就是將某種重要的資料當作一個房間一樣鎖起來.而鑰匙.也就是密碼.只有你知道.但你能保證鑰匙部會被拿去拷貝起來?你能保證密碼不會經由網路或者破解密碼的程式被其他人知道你的密碼?即使是這樣.你還認為加密有用嗎?有辦法加密就一定有辦法破密.即使你在做出多麼好的加密程式.到最後還是會被破解.所以說.我個人認為.最好的辦法就是加密.但是.在你覺得重要的密碼.你必須以"分散風險原則"為考量.也就是說.密碼不要都設一樣的.但是你覺得不重要的.被發現沒關西的.你就可以隨便設密碼.這樣一來.我想應該多多少少能降低被一次就被KO的機率吧?
2008年12月9日 星期二
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言