1樓:
看題主所說
不同長度的明文加密後長度相同
相同的明文每一次加密後密文不同
那應該不是雜湊演算法
應該是分組加密
不同長度明文加密後長度相同的原因是明文還不夠長而且需要按照一定方式填充
每次加密結果不一樣是因為有IV(初始化向量)如何判斷到底是不是雜湊呢?雜湊完得到的結果無法還原。
而加密得出的密文可以恢復。
2樓:
回答之前,這部分回答設定的密碼演算法應該是屬於hash演算法,因為對稱加密演算法理論上得到的訊息長度與輸入的長度是相關的,所以題主的意思應該屬於hash加密演算法。
題主問了4個問題,在這裡分別簡單地回答:
相同的密碼用過密碼演算法後,得到的key值是一樣的嗎?
鑑於題主問的比較模糊,相同的密碼使用相同的加密演算法和計算過程,得到的Key值是一樣的。這也是密碼驗證的根本過程。你可以這麼理解,對計算機來說,你的輸入資料和計算過程一致,程式的結果理論上肯定是一致的。
如果是,那麼密碼的演算法又是如何實現的?
密碼演算法是通過hash實現的,舉個例子,自然數有無窮多個,但是我們能利用能否被2整除,可以將其分為兩類,被2整除余為0一類,另一類余為1。同理利用能否被37整除,我們可以將自然數分37類,分別為餘0,餘1,……,等等。那麼我們找到乙個位寬為128bit的大素數,我們將能將自然數分為2的128次方類,每個自然數都能劃歸這當中某一類。
這個給無限的自然數分類的過程可以視為hash過程。某個特定的分類的標記,就是我們拿到的hash值,也就是Key值。密碼演算法其實解決了如何找到乙個極大的128bit的素數,然後將任意長度的數值去整除取餘,得到了key的值。
為什麼不同長度的密碼會獲得相同長度的key值?
因為這當中我們其實是做了摘要,就是將乙個無限域(不同長度的值)的值對映到有限域(有限固定長度的key)的過程。根據上文的回答,訊息值的摘要的長度是一致的。
如果不是,演算法又是通過什麼方式,將相同值通過同種演算法獲得不同的結果的?
在實際應用過程中,為了增強使用者密碼的強度,往往會隨機地在使用者輸入的金鑰中加入特定的字串。這個特定的字串有著一定的隨機性,比如是加時間戳,隨機值,或者使用者名稱等等。因此在使用者看來,輸入相同的的金鑰在不同的時候得到的不同的hash值。
以上,不知道有沒有解答題主的問題!
量子計算機攻擊密碼演算法的原理是什麼?
asdacs 現代密碼基本都是基於某種數學上求解的困難。以最經典的rsa演算法為例,破解rsa演算法只需要將公鑰進行因數分解。但是一般用作公鑰的數都是兩個非常大的素數 上萬位甚至更大 相乘,破解是能破解,但在現在的計算機上耗時非常長,目前還沒有乙個高效率的解決辦法。事實上,對於大多數密碼而言,只要解...
量子密碼,用量子做為密碼的途徑和前景?
Alex 先搞清楚什麼是密碼,再搞清楚量子計算技術在密碼中的應用!不然你看上面的回答也是一頭霧水,密碼應用取決於三要素,金鑰 演算法和密碼方案或者密碼協議。演算法不用大夥研究,各安全廠商都集中在金鑰管理和密碼方案的安全性設計上,這是雲舒大V對密碼的誤解,覺得密碼就得搞演算法,密碼演算法的理論研究交給...
如何破解使用書籍作為密碼本的密碼?
因為研究諜戰故事創作,對這個問題很感興趣。補充一下,諜戰劇裡要怎麼破解這種密碼。實際上,首先肯定需要找到這本作為密碼本的書。這本書,通常都會選擇一本平時放著要不那麼顯眼的書,需要的就是就算被人偶然看到這本書也覺得很正常不容易想到會被用來作為密碼本。於是方法來了,調查嫌疑犯日常工作生活的環境,看看其能...