導覽
近期變更
隨機頁面
新手上路
新頁面
優質條目評選
繁體
不转换
简体
繁體
18.117.142.3
登入
工具
閱讀
檢視原始碼
特殊頁面
頁面資訊
求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。
檢視 一次性密碼本 的原始碼
←
一次性密碼本
前往:
導覽
、
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="wikitable" style="float:right; margin: -10px 0px 10px 20px; text-align:left" |<center>'''一次性密碼本'''<br><img src="https://i.iter01.com/images/6742be93648d60cdc2144af3e14f5d11c5f1cc8b3f49c8719d8913c169842386.png" width="280"></center><small>[https://iter01.com/195274.html 圖片來自iter01]</small> |} '''一次性密碼本'''('''one-time pad''',[[缩写]]为'''OTP''')是[[古典密碼學]]<ref>[http://zake7749.github.io/2015/08/15/classical_cipher/ 古典密碼學],zake7749</ref> 中的一種[[加密]][[演算法]]。是以隨機的[[密钥]](key)組成明文,且只使用一次。 == 加密方法 == 首先手上要有一本一次性密碼本用以加密文件,接著將一次性密碼本裡的字母,與被加密文件的字母給依序按某個事先約定的規定一一相混,其中一個相混的作法是將字母指定數字(如在英語中,將A至Z依序指定為0至25)然後將一次性密碼文本上的字母所代表的數字和被加密文件上相對應的數字給相加,再除以該語言的字母數後取得其餘數,假設字母數是 n(如英語為26),若就此得出來的某個數字小於零,則將該小於零的數給加上n,如此便完成加密。 舉個例子,若要加密訊息「This is an example」,而用以加密的一次性密碼本如下所示: MASKL NSFLD FKJPQ 則利用指定數字的方法,可分別將兩者給做以下的轉換: * This is an example → 19 7 8 18 8 18 0 13 4 23 0 12 15 11 4 * MASKL NSFLD FKJPQ → 12 0 18 10 11 13 18 5 11 3 5 10 9 15 16 兩者依序相加後得到的訊息如下: * 31 7 26 28 19 31 18 18 15 26 5 22 24 26 20 將以上得到的訊息[[模]]26(除以26後取餘數)可得: * 5 7 0 2 19 5 18 18 15 0 5 22 24 0 20 它也就變成了 * FHACTFSSPAFWYAU 而若要解密以上訊息,反向操作即可。 == 安全性 == 在理論上,此種密碼具有[[完善保密性]],是牢不可破的。它的安全性已由[[克劳德·艾尔伍德·香农]]所證明。 雖然它在理論上的安全性無庸置疑,但在實際操作上卻有著以下的問題: * 用以加密的文本,也就是一次性密碼本,必須確實是隨機產生的。 * 它至少必須和被加密的文件等長。 * 用以加密的文本只能用一次,且必須對非關係人小心保密,不再使用時,用以加密的文本應當要銷毀,以防重複使用。 == 參考文獻 == {{reflist}} [[Category: 310 數學總論]]
此頁面使用了以下模板:
Template:Main other
(
檢視原始碼
)
Template:Reflist
(
檢視原始碼
)
模块:Check for unknown parameters
(
檢視原始碼
)
返回「
一次性密碼本
」頁面