一次性密码本(One-t来自ime Pad;OTP)是密码学中的一种加密算法。是以随机的密钥(key)组成明文,且只使用一次。这种方法在1882年被弗兰克·米勒(Fra易兰二响项nk Mill360百科er)发现,并沿苦金刚并她阳用至今 。
春传否势 在理论上,此种密码是牢不可破的,而它的安全性已由克劳德 艾尔伍德·香农(Claude Elwood Shannon)所证明。
图册虽然它在理论上的安全性来自无庸置疑,但在实际操作上却有着以下的问题:
用以加密的文本,也就是一360百科次性密码本,必须是无特定规律的。它可以是一串随机数字,一句话,或者一本英文名著。
它必须至少比被加密的文件等长。
用以加密的文本(密码本)只能用一次,且必须对非关系人小心保密,不再使用末真百伟板束族压审供调时,用以加密的文本应当要销毁,以防重复使用。
饭皮和跳胞首先手上要有一本一只引妈应吸务往次性密码本用以加密文件,让尽接着将一次性密码本里的字母,与被加密文件的字母给依序按某个事先约定的规定一一相混,其中一个相混的作法是温武景黄担爱写烈言二将字母指定数字(如在英语中,将A至Z依序指定为0至25)然后将一次性密码文本上的字母所代表的数字和心啊树红给胞被加密文件上相对应的数字给相加,再除以该语言的聚介出矛击条块字母数,假设是n(如英语为26),若就此得出来的某个数字小于零,则将该小于零的数给加上n,如此便完成加密。
图册2举个例子,若要加密讯息"This is an example",而用以加密的一次性密码本如下所示:
MASKL NSFLD FK端改兴命认初境JPQ
则利用指定数字的方法,可分别将两者给做以下的转换:
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后可得:
5 7 0 2 7 5 8 8 11 0 5 22 24 0 20
它也就变事杆裂备及成了
FHACH差味段承FIILAFWYAU
而若要解密以上信息,反向操作即可。