精華區beta FreeBSD 關於我們 聯絡資訊
※ 引述《[email protected] (蛋捲廣場)》之銘言: : 《 在 [email protected] (啦啦:)我是好in2) 的大作中提到: 》 : : 理論上不行. : : 因為 FreeBSD, Windows儲存密碼都是單向加密的, : : 妳沒有辦法取得原來的密碼. : : 所以頂多把所有的帳號轉來轉去, : : 不可能把密碼一起轉過去。 : 對於單向加密這個問題一直覺得很好玩 : 單向加密是不是連設計加密方法的人都解不出來呢? : 或者是說因為單向加密的加密方式因為沒公開,所以沒法子解? : 還是說需要花很多時間才能解? : thanks 這樣子講好了... 大致上,這種所謂的“單向性密碼”有一個特色 通常都會有一個“加密原則”這項是固定的... 比如 123 加密後 會變成 234(加1) 這樣子是可以反運算的 但是如果我在加個“加密字串”如“3” 那 123 加密後 會變成 456 另一種方式是利用運算後得到一串值 如 123 加密後 會變成 AbcdEfghIjk 但是 AbcdEfghIjk 反運算回來之後,不一定是123,也可能是456 目前之所以說,是單向性的 1. 無法還原: 因為是經由運算之後的字串,經由反運算後不見得能獲得原本的字串 2. 加密字串不同: 甲電腦用 用1做加密字串、乙電腦用 3做加密字串 同樣的密碼,獲得的加密結果並不一樣。 所以有所謂的爆力解密法 把所有文字的組合拿去驗證,看能不能幸運的拿到正確的原始密碼 (所以一般而言,完全不建議拿字典裡的字、ID、生日做密碼) 在簡言之... 一般完全採用預設值,架設的二台同系統的OS 他們的密碼檔可能是用同樣的編碼 那麼他們的密碼檔能夠互通 但是管理員如果沒有利用特別的方式(如直接紀錄每個login時打進的字串) 是無法拿到user的原始密碼的。 題外話: SSH 連線,也是類似的方式... 主機一組加密、用戶端一組加密字串 如果沒同時拿到這二組,那麼得到的結果就不會是正確的了... 以上如有膠誤,請來信指正 謝謝... -- 想找Linux 或是 FreeBSD 的資料? 到 http://www.study-area.org 找找吧! by Study-Area 團隊 梁楓 -- Origin:《 成大計中 BBS 站 》[bbs.ncku.edu.tw] 來源:[PC1.brain-c.com] > -------------------------------------------------------------------------- < 發信人: [email protected] (無言無言到處晃), 看板: FreeBSD 標 題: Re: 請問要怎麼把user跟group轉到windows2000上 發信站: 成大計中BBS (Wed Jun 19 08:29:44 2002) 轉信站: Ptt!news.ntu!spring!news.nctu!news.nsysu!news.ccns.ncku!ccnews.ncku!nc : 上面這段, 其實我看不太懂 :~ 就只是加密的方式而己 裡面講的 123 加密後是456 其實不過是把所有的數字加上3 所以照推算密碼如果是 456 那結果就是 789了 一般加密都會有一個加密原則,只是這個原則一不一樣而己。 : > 目前之所以說,是單向性的 : > 1. 無法還原: 因為是經由運算之後的字串,經由反運算後不見得能獲得原本的字串 : 通常不是反運算後不同, 而是根本找不到反函數可以逆推回來 : > 2. 加密字串不同: 甲電腦用 用1做加密字串、乙電腦用 3做加密字串 : > 同樣的密碼,獲得的加密結果並不一樣。 : 這跟 one-way function 有什麼關係 ? 這二個合在一起講... 就算是不能反推回去的密碼,一定要有固定的加密原則 否則無法比對使用者輸入的密碼是否正確 這點應該是無庸置疑的吧? 除非你的一次性加密連往後都不需要驗證。 所以,您講的“根本找不到反函數可以逆推回來” hmm.... 我不能完全認同,至少我們用固定的加密原則的話 每次得到的結果會是一樣的 ex. 一個程式語言用來加密的話,如perl是crypt的方式加密 我曾經寫過一個程式是“更變所有User的密碼”就是以這個函式為主 先利用 RedHat 7.2 做一次實驗: Password 是 1234,加密字串是ab,結果是:abWMpd9uBwR.g Password 是 2345,加密字串是ab,結果是:abMcHhdS/ZmJo Password 是 3456,加密字串是ab,結果是:abuqMTW.acYGA Password 是 5678,加密字串是ab,結果是:abFxQCo2p0du. 在到FreeBSD 4.5 做一次實驗: Password 是 1234,加密字串是ab,結果是:abWMpd9uBwR.g Password 是 2345,加密字串是ab,結果是:abMcHhdS/ZmJo Password 是 3456,加密字串是ab,結果是:abuqMTW.acYGA Password 是 5678,加密字串是ab,結果是:abFxQCo2p0du. 是否有發現,結果都是一樣的? 在來一個,我們只更改加密字串: Password 是 1234,加密字串是ab,結果是:abWMpd9uBwR.g Password 是 1234,加密字串是ac,結果是:acjaUf8m.3i1U 所以上面我才特別申名,除非你是特意的去變更加密字串 否則不同的主機,密碼加密後的結果可能是完全一樣的 但是你反解回去的時候,並不表示結果就會一樣 就像前面的文章說的,所謂一次性的加密法,也許沒有“逆向函式”的功能 但是如果你能先做出一個資料庫,在去比對出結果是否有可能一樣 這種單向加密的優點,是無法了解“最初的原始密碼”長什麼樣 但是如果單純要能破解密碼,使用想用的系統的話,並不是做不到的... 記得,只要結果相同,就無所謂是不是利用“逆向函式”處理的,都一樣的危險 那還是有機會被破解的,所以爆力破解法一直是許多人的最愛 :p 。 我就有朋友寫了個程式,想要把1~0 a~b A~B 加密字串ab的結果全算出來... 然後就等著拿到人家的shadow or master.passwd了 :p