开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3061|回复: 23
收起左侧

[易语言纯源码] 一次性密码本算法,理论上是无法破译的

[复制链接]
结帖率:100% (3/3)
发表于 2023-7-14 17:03:25 | 显示全部楼层 |阅读模式   宁夏回族自治区中卫市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
一次性密码本是有维纳(G.S.Vernam)于1917年提出的,并获得专利,因此又称为密码(Vernam cipher)(该专利已经过有效期)。一次密码本无法破译这一特性是由香农(C.E.Shannon)于1949年通过数学方法加以证明的。一次性密码本是无条件安全的,在理论上是无法破译的

之所以叫做一次性密码本,是因为加密所用的密钥是一次性的,即密钥只会使用一次,不会出现因为密钥泄露导致之前的加密内容被解密。

即使密钥被泄露了,也只会影响一次通信过程。

为什么没有被普遍使用
密钥配送 最大的问题在于密钥的配送。
我们来设想一下使用一次性密码本进行通信的场景,发送者Alice使用一次性密码本生成密文发送出去。发送的密文即便被窃听者Eve截获也没关系,因为一次性密码本是绝对无法破译的。
 接收者Bob收到了Alice发来的密文。Bob要想进行节目,就必须使用和Alice进行加密时相同的密钥,因此Alice必须将密钥发送给Bob,且该密钥的长度和密文是相等的。但这样就产生了一个矛盾,如果能够有一种方法将密钥安全送出去,那么岂不是也可以用同样的方法来安全地发送明文了么?
密钥保存 一次性密文本中,密钥的长度必须和明文的长度相等,而且由于密钥保护着明文的机密性,因此必须妥善保存,不能被窃听者窃取。不过,如果能够有办法安全保护与明文一样长的密钥,那岂不是就有办法安全保存明文本身了么?


无法破译
虽然一次性密码本非常简单,但是一次性密码本是无法破译的,这个破译并不是指现有的计算能力不够,而是指即使拥有无穷大的计算能力也无法破译。

为什么呢?

假如你拿到了加密的结果,然后遍历等长的密钥进行暴力破J,最后你会生成原文,假设这个原文长度是128bit,那么就可以生成2的128次方个原文,即128bit长度的原文的所有组合排列。

即使这些组合里面出现了一些有意义的文字,但是你不能确定这些文字是不是就是原文,因为在所有的组合排列中可能生成多个有意义的文字。

所以这种解密是无意义的,就像是我知道了原文的长度,然后自己构造这个长度的原文。

缺陷
既然一次性密码本这么好,那么为什么我们在实际的工作中很少用到呢?

密钥太长
一次性密码本是用与原文等长的密钥做异或得到的,如果原文很大,那么相应的密钥也非常大。

无法重用密钥
每个密钥只用一次,即是缺点也是优点。意味着我们每次都要不停的更换密钥,增加了复杂性。

密钥的配送
因为密钥和原文以及密文都是等长的,目标端如果想解密就必须拿到密钥,如果能够机密的传输密钥给目标端,那为什么不直接将原文机密的传送给目标端呢?

密钥的保存
每次加密都需要换一个密钥,这意味着每一个明文都需要保存一个同样长度的密钥,如果明文已经可以很好的保存了,那何必多做一步加密呢?

虽然一次性密码本有这么多缺点,但是他给其他的加密算法以启发,于是产生了很多个变种,后面我们会介绍更多的加密算法

一次性密码系统在某些特定场景下可能是有效的,但在大多数实际应用中,更常见的是使用其他加密算法,如对称加密算法(如AES)或非对称加密算法(如RSA),以提供更高的安全性和更方便的消息传输




我想问  论坛的上传附件是不是有问题  上传了没反应



下载地址  [color=rgba(0, 0, 0, 0.85)]https://www.123pan.com/s/mNMiVv-8acI.html



评分

参与人数 2好评 +2 精币 +3 收起 理由
易语言资源网 + 1 + 3 开源精神必须支持~
循环判断首 + 1 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (4/4)

签到天数: 21 天

发表于 2024-3-21 07:57:19 | 显示全部楼层   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:13% (1/8)
发表于 2023-8-7 11:37:36 | 显示全部楼层   湖南省常德市
好像不带模块,比较的麻烦
回复 支持 反对

使用道具 举报

结帖率:13% (1/8)
发表于 2023-8-7 11:37:17 | 显示全部楼层   湖南省常德市
持开源~!感谢分享
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2023-8-4 01:37:31 | 显示全部楼层   浙江省温州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2023-8-1 09:13:16 | 显示全部楼层   山东省青岛市
感谢分享
回复 支持 反对

使用道具 举报

发表于 2023-7-24 21:02:54 | 显示全部楼层   江苏省南京市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:89% (24/27)

签到天数: 1 天

发表于 2023-7-24 11:31:25 | 显示全部楼层   广东省中山市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2023-7-21 14:50:17 | 显示全部楼层   陕西省延安市
怎么解谜?
回复 支持 反对

使用道具 举报

结帖率:97% (33/34)

签到天数: 12 天

发表于 2023-7-18 18:37:45 | 显示全部楼层   甘肃省兰州市
感谢分享
回复 支持 0 反对 1

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表