公开密钥算法
1 概述
成对密钥的思想: 一个加密密钥和一个解密密钥,而从其中一个密钥推导出另外一个是不能的。
混合密码系统:对称算法用于加密消息,公开密钥算法用于加密密钥。
结论:公开密钥算法是不安全的,那些被认为是安全的算法中,又有许多是不实用的。
2 背包算法
背包算法的思想: 明文作为背包问题的解, 对应于bi, 密文为重量和(bi ∈ \in ∈{0,1})
算法的关键:两个不同的背包问题,一个在线性时间内 求解,一个不能在线性时间内求解
超递增序列: 其中每个元素都大于前面所有元素的和(是一种密钥)
超递增背包: 重量列表为一个超递增序列
超递增背包的解法:对于i=n, n-1, …, 1
bi=0,当 ( S − ∑ j = i + 1 n M j b j ) < M (S-\sum^{n}_{j=i+1}M_jb_j)<M (S−∑j=i+1nMjbj)<M
bi=1,当 ( S − ∑ j = i + 1 n M j b j ) ⩾ M (S-\sum^{n}_{j=i+1}M_jb_j)\geqslant M (