两种公钥加密算法——Merkle-Hellman背包、RSA

今天看了一些加密体制,很厉害,佩服之余顺便总结下公钥(对称密钥很多啊,历史比较有名的有DES、AES、RC系列...水平不够说不清楚,所以不写了)。自己以后也要看,所以尽量通俗易懂(其实是不怎么会很官方很学术,顺道说,明天就七夕了,我还在搞些啥跟啥,怎么过%>_<%)。这些加密算法具体的发展历程,内容即变种可以百度,蛮有意思的,。

①Merkle-Hellman背包
       先说说背包问题吧(第一次看觉得。。。wc,背包也可以拿来加密,难不成是忽悠?)。
已知东西大小(一个整数序列An,n∈Z)和背包大小(目标和T),然后问哪些东西恰好能装满背包。即找出一个01序列P(n∈Z)使得ΣAi*Pi=T。
       这是个NP问题(什么是NP问题不解释了),反正要找出这个P序列复杂度还挺高的,而这个序列刚好就可以当做明文啦。序列An就是公钥,而T自然而然就是密文(加密后数据)。
这里的明文P(待加密的数据)与一般的不太一样,是由0、1组成的比特流(别小看二进制,计算机所有数据存储可都是01哟)。

具体实现例子:
       假设明文P=0100 1011 1010 0101,公钥An={15,13,9,16},
加密:
       那密文就等于{13,40,24,29}。第一个13由前4个Pi*Ai得到,即0*15+1*13+0*9+0*16=13,其他类似。
然后公钥An{15,13,9,16}是公开的,密文T{13,40,24,29}可能被窃取到,这个例子n只有4,所以也蛮好猜明文的。比如13刚好在公钥有&
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值