一次一密密碼

2021-04-13 05:46:47 字數 1211 閱讀 9742

一次一密密碼

一種理想的加密方案,叫做一次一密密碼(one-time pad),由major joseph mauborgne和at&t公司的gilbert vernam在2023年發明的。一次一密亂碼本是乙個大的不重複的真隨機金鑰字母集,這個金鑰字母集被寫在幾張紙上,並一起粘成乙個亂碼本。發方用亂碼本中的每一金鑰字母準確地加密乙個明文本元。加密是明文本元和一次一密亂碼本金鑰字元的模26加法。

每個金鑰僅對乙個訊息使用一次。發方對所發的訊息加密,然後銷毀亂碼本中用過的一頁或用過的磁帶部分。收方有乙個同樣的亂碼本,並依次使用亂碼本上的每個金鑰去解密密文的每個字元。收方在解密訊息後銷毀亂碼本中用過的一頁或用過的磁帶部分。新的訊息則用亂碼本的新的金鑰加密。

例如,如果訊息是:onetimepad,而取自亂碼本的金鑰序列是tbfrgfarfm ,那麼密文就是ipklpsfhgq ,

因為 o + t mod26 = i

n + b mod26 = p

e + f mod26 = k

等等。

如果偷竊聽者不能得到用來加密訊息的一次一密亂碼本,這個方案是完全保密的。給出的密文訊息相當於同樣長度的任何可能的明文訊息。

隨機金鑰序列異或一非隨機的明文訊息產生一完全隨機的密文訊息。再大的計算能力也無能為力。

金鑰字母必須是隨機產生的。對這種方案的攻擊將是針對用來產生金鑰序列的那種方法。使用偽隨機數發生器是不值得考慮的,它們通常具有非隨機性。如果採用真隨機源,它就是安全的。

另乙個重要的事情是金鑰序列不能重複使用。

一次一密亂碼本的想法很容易推廣到二進位制資料的加密,只需由二進位制數字組成的一次一密亂碼本代替由字母組成的一次一密亂碼,用異或代替一次一密亂碼本的明文本元加法就成。為了解密,用同樣的一次一密亂碼本對密文異或,其他保持不變,保密性也很完善。

但有幾個問題。因為金鑰位元必須是隨機的,並且絕不能重複使用,金鑰序列的長度要等於訊息的長度。

即使解決了金鑰的分配和儲存問題,還需確信發方和收方是完全同步的。如果收方有一位元的偏移(或者一些位元在傳送過程中丟失了),訊息就變成亂的了。另一方面,如果某些位元在傳送中被改變了(沒有增減任何位元,更像由於隨機雜訊引起的),那些改變了的位元就不能正確地解密。再者,一次一密亂碼本不提供鑑別。

一次一密亂碼本在今天仍有應用場合,主要用於高度機密的低頻寬通道。

本文**

記一次修改mysql密碼

直接上命令 首先vim etc my.cnf 在my.cnf檔案中,在 mysqld 的段中加上 skip grant tables 改完並儲存後退出,這時需要重啟mysql。因為我的mysql是5.7版本以上的,所以命令如下 bin systemctl restart mysqld.service...

只有一次 只有一次

二十多歲的年紀我累了很久,也在努力的尋找機會向陽而生。十三歲時迫於生活父母把剛上初一的我獨自留在老家,被父母伺候慣的我沒有一點生活常識,不懂得如何把衣服洗淨,不懂得如何生火做飯,不懂得如何花錢,不懂得如何戰勝黑暗和孤獨,每次乙個人回家時都會出現幻聽和幻覺,看著家裡好像有炊煙,聽誰都像媽媽的聲音.好不...

一次性密碼本

一 什麼是一次性密碼本 只要通過暴力破解法對金鑰空間進行遍歷,無論是什麼密文總有一天都能夠被破譯,然而,一次性密碼本是個例外。即使用暴力破解法遍歷整個金鑰空間,一次性密碼本也絕對無法被破解。二 一次性密碼本的加密 三 一次性密碼本的解密 四 一次性密碼本是無法破譯的 我們假設對一次性密碼本的密文嘗試...