中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一次性密碼本加密的方式是什么

發布時間:2022-01-15 10:47:07 來源:億速云 閱讀:196 作者:iii 欄目:互聯網科技

這篇文章主要講解了“一次性密碼本加密的方式是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“一次性密碼本加密的方式是什么”吧!

一次性密碼本

一次性密碼本即Vernam Cipher,是由Gilbert Vernam在1917年, 開發的一種加密算法。

之所以叫做一次性密碼本,是因為加密所用的密鑰是一次性的,即密鑰只會使用一次,不會出現因為密鑰泄露導致之前的加密內容被解密。

即使密鑰被泄露了,也只會影響一次通信過程。

加密之前的準備

通常來說,如果我們想將一個消息加密傳輸需要做什么工作呢?

在現代計算機社會,大家都知道計算機只能表示0,1這兩個數字,那么如果傳輸文字,則需要將文字轉換為對應的二進制編碼。

現有的編碼規則有很多,比如:ASCII,Unicode等,在后續的文章中我們會做介紹。

同樣的,對于編碼過后的文字進行加密,就是將編碼過后文字的二進制通過一定的bit運算,而得到加密后的結果。

一次性密碼本的加密方式

回到一次性密碼本,他的加密方式非常簡單,就是將明文和一串隨機的二進制進行XOR運算。這個隨機的二進制數可以通過不斷的拋擲硬幣來產生(正面表示1,反面表示0):

  1. 將明文編碼,即轉換為二進制。

  2. 生成和明文二進制位數相同的密鑰。

  3. 將明文和密鑰的二進制進行XOR操作,生成最后結果。

一次性密碼本的解密

加密之后我們怎么去做解密呢? 我們先看一下XOR的特性。

XOR是指異或操作,比特位上的數字一樣,異或的結果就是0,比特為上面的數字不一樣,異或的結果就是1。

舉個例子:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0

異或的一個非常重要的特性就是可逆,即:
A XOR B= C ,則 C XOR B = A 。

那么通過原文和密鑰異或得到的結果,可以通過將結果和密鑰再次異或操作得到原文。

這就是一次性密碼本的解密過程:將密鑰和結果進行異或。

無法破譯

雖然一次性密碼本非常簡單,但是一次性密碼本是無法破譯的,這個破譯并不是指現有的計算能力不夠,而是指即使擁有無窮大的計算能力也無法破譯。

為什么呢?

假如你拿到了加密的結果,然后遍歷等長的密鑰進行暴力破解,最后你會生成原文,假設這個原文長度是128bit,那么就可以生成2的128次方個原文,即128bit長度的原文的所有組合排列。

即使這些組合里面出現了一些有意義的文字,但是你不能確定這些文字是不是就是原文,因為在所有的組合排列中可能生成多個有意義的文字。

所以這種解密是無意義的,就像是我知道了原文的長度,然后自己構造這個長度的原文。

缺陷

既然一次性密碼本這么好,那么為什么我們在實際的工作中很少用到呢?

  1. 密鑰太長

一次性密碼本是用與原文等長的密鑰做異或得到的,如果原文很大,那么相應的密鑰也非常大。

  1. 無法重用密鑰

每個密鑰只用一次,即是缺點也是優點。意味著我們每次都要不停的更換密鑰,增加了復雜性。

  1. 密鑰的配送

因為密鑰和原文以及密文都是等長的,目標端如果想解密就必須拿到密鑰,如果能夠機密的傳輸密鑰給目標端,那為什么不直接將原文機密的傳送給目標端呢?

  1. 密鑰的保存

每次加密都需要換一個密鑰,這意味著每一個明文都需要保存一個同樣長度的密鑰,如果明文已經可以很好的保存了,那何必多做一步加密呢?

感謝各位的閱讀,以上就是“一次性密碼本加密的方式是什么”的內容了,經過本文的學習后,相信大家對一次性密碼本加密的方式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

师宗县| 电白县| 湘乡市| 江油市| 承德市| 安国市| 页游| 八宿县| 仪陇县| 昆明市| 永胜县| 兖州市| 政和县| 布尔津县| 钟山县| 鸡西市| 邛崃市| 根河市| 聊城市| 凯里市| 通州区| 通河县| 上林县| 南江县| 丹凤县| 山阳县| 景宁| 大宁县| 新营市| 隆化县| 积石山| 龙江县| 吉林省| 乌兰浩特市| 大石桥市| 芜湖市| 东港市| 台江县| 垦利县| 青铜峡市| 潮安县|