当前位置:网站首页 > 加密货币 > 正文

凯撒密码加密算法(凯撒密码加密算法的实现)



密码学——公钥密码体系之背包算法1

众所周知,公钥密码,又称非对称密码,比较常见的是基于以下三种数学难题的公钥密码体制;

背包算法的安全性起源于背包难题,他是一个NP完全问题,但后来发现该算法并不安全,但是由于它证明了如何将NP完全问题用于公开秘钥密码学,因此,值得去学习。

对于易解的背包问题,可以选择超递增序列,那么相应的背包问题容易求解。
超递增序列:它的每一项都大于它之前所有项之和,例如{1,3,6,13,27,52}是一个超递增序列,而{1,3,4,9,15,25}则不是。

超递增背包问题的解很容易找到,计算其总量并与序列中最大的数比较,如果总重量小于这个数,则它不在背包中,如果总重量大于这个数,则它在背包中,背包重量减去这个数,进而考察序列中下一个最大的数,重复直到结束。如果总重量减为0,那么只有一个解,否则,无解。

例如,总重量为70的一个背包,超递增序列为{2,3,6,13,27,52};最大重量为52,小于70,所以52在背包中,70-52 = 18,下一个重量27 >18,因此,27不在背包中,在下一个13<18,13在背包中,18-13 = 5,以此类推,再下一个,3与2均在背包中,总重量减为0,表明已求出一个解,如果这个一个M-H背包加密分组,那么对应的密文70的解为.

非超递增序列的背包是困难的问题,它们没有快速算法。要决定哪一项在背包中的唯一方法,是依次测试所有解,直到你得到正确的解为止。最快的算法仍随背包中物品超递增问题困难,对于后者,当你加入一项到序列中,求解只需要再进行一次运算。

Merkle-Hellman背包算法就是利用这个性质。私人秘钥是一个超递增背包问题的重量序列。公开秘钥是有相同解的普通背包问题的序列,Merkle和Hellman设计了一种方法可将超递增背包问题转化为普通的背包问题,它们用模运算来完成此变化。

消息 = 011000
011000对应 93 + 81 = 174
对应 62 + 93 + 88 + 37 = 280
对应 62 + 81 + 88 + 102 = 333







因此,密文为 174, 280, 333

接收者直到私人秘钥:原始的超递增背包、用于把它转换成一般背包的n和m的值,为解密消息,接收者必须首先计算出以满足。用模m乘密文值得每项,然后用私人背包对它进行划分就可获得明文。

解决仅有6项背包序列的问题不是很难,甚至对非超增序列也是一样。实际使用的背包算法至少应该包含250项。在超递增背包中,每项值一般为200~400位。模数一般为100 ~ 200位。该算法在实际使用中,用随机序列发生器来产生这些值。

对这样的背包,试图用穷举攻击来破译是无用的。即使一台计算机每秒能计算100万次,试完所有可能的背包值,也需要年。

到此这篇凯撒密码加密算法(凯撒密码加密算法的实现)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 摩斯密码加密器下载(摩斯密码加密方法)2026-02-12 22:54:10
  • 密码加密怎么解密(加密的密码怎么破开)2026-02-12 22:54:10
  • u盘怎么设置密码加密(u盘怎么设置密码加密联想小新)2026-02-12 22:54:10
  • 博图程序块加密破解(博途程序块加密)2026-02-12 22:54:10
  • u盘设置密码加密方法(u盘设置密码加密方法图解)2026-02-12 22:54:10
  • 破解pdf权限加密(怎么破解pdf的权限密码)2026-02-12 22:54:10
  • 凯撒密码加密算法(凯撒密码加密算法是什么)2026-02-12 22:54:10
  • 凯撒密码加密解密工具(凯撒密码加密解密算法的实现)2026-02-12 22:54:10
  • 文档加密破解软件(文档加密 破解)2026-02-12 22:54:10
  • ini配置文件加密(ini配置文件注释符号)2026-02-12 22:54:10
  • 全屏图片