信息安全技术--一次一密钥密码
2016-05-10 16:33
330 查看
一次一密钥密码
1.加密原理
一个随机密码字母集,包括多个随机密码,这些密码就好象一个本本,其中每页上记录一条密码。 类似日历的使用过程,每使用一个密码加密一条信息后,就将该页撕掉作废,下次加密时再使用下一页的密码。
2.一次一密钥密码的推广
可推广到二进制数据的加密。用二进制数据组成一次密码本,用异或代替加法,对二进制密码和明文进行操作。解密时用同样的密码和密文进行异或,得到明文。一次一密钥密码必须是随机产生的,这样才可做到最好效果的保密。
3.一次一密钥密码的具体实现发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过程就是将明文字母串和密钥本中的密钥字母串进行模26加法运算。接收者有一个同样的密钥本,并依次使用密钥本上的每个密钥去解密密文的每个字母串。接收者在解密信息后也销毁密钥本中用过的一页密钥。如果没有正确的密钥,密文可以被各种猜测来的密钥映射成任何有意义或无意义的文字。窃取者无法知道哪一种映射得到的是真正的原文。
例如:
密文为"dgtyibwpja", 密钥为"wclnbtdefj"
根据公式
C=(P+K) mod 26
可得到名文为:"heilhitler"(希特勒您好)
若密钥为"wggsbtdefg",则名文为"hanghilter"(绞死希特勒)
4.注意一次一密的密钥字母必须是随机产生的。对这种方案的攻击实际上是依赖于产生密钥序列的方法。不要使用伪随机序列发生器产生密钥,因为它们通常有非随机性。如果采用真随机序列发生器产生密钥,这种方案就是安全的。
1.加密原理
一个随机密码字母集,包括多个随机密码,这些密码就好象一个本本,其中每页上记录一条密码。 类似日历的使用过程,每使用一个密码加密一条信息后,就将该页撕掉作废,下次加密时再使用下一页的密码。
2.一次一密钥密码的推广
可推广到二进制数据的加密。用二进制数据组成一次密码本,用异或代替加法,对二进制密码和明文进行操作。解密时用同样的密码和密文进行异或,得到明文。一次一密钥密码必须是随机产生的,这样才可做到最好效果的保密。
3.一次一密钥密码的具体实现发送者使用密钥本中每个密钥字母串去加密一条明文字母串,加密过程就是将明文字母串和密钥本中的密钥字母串进行模26加法运算。接收者有一个同样的密钥本,并依次使用密钥本上的每个密钥去解密密文的每个字母串。接收者在解密信息后也销毁密钥本中用过的一页密钥。如果没有正确的密钥,密文可以被各种猜测来的密钥映射成任何有意义或无意义的文字。窃取者无法知道哪一种映射得到的是真正的原文。
例如:
密文为"dgtyibwpja", 密钥为"wclnbtdefj"
根据公式
C=(P+K) mod 26
可得到名文为:"heilhitler"(希特勒您好)
若密钥为"wggsbtdefg",则名文为"hanghilter"(绞死希特勒)
4.注意一次一密的密钥字母必须是随机产生的。对这种方案的攻击实际上是依赖于产生密钥序列的方法。不要使用伪随机序列发生器产生密钥,因为它们通常有非随机性。如果采用真随机序列发生器产生密钥,这种方案就是安全的。
相关文章推荐
- 【第五章】Spring表达式语言 之 5.3 SpEL语法 ——跟我学spring3
- hdu2188(巴什博弈)
- Leetcode - 21. Merge Two Sorted Lists
- MySQL 性能优化的最佳20多条经验分享
- 字符串与byte[]之间的转换
- 2003
- mysql 自连接 公交换乘
- spring问题集锦
- 分布式设计与开发(一)------宏观概述
- Android实际开发问题09_微信的授权登录
- intent.setFlags方法中的参数值含义
- 信息安全密码技术--ADFGX密码
- 数据结构与算法练习-Linked List/链表
- 创建索引的原则
- [css]零散的重构知识
- Servlet & JSP - UrlRewriteFilter
- 学生信息管理
- java8 HashMap
- 双线dp ——牧场物语
- ios的下载链接中?mt=8||?mt=12的含义