超递增背包加密
算法介绍
算法类型:非对称加密
公钥:常规背包
私钥:超递增背包+转换因子
乘数:m 模数:n gcd(m,n)=1 并且 n大于公钥中所有数的和
私钥生成公钥过程:
(私钥*m)mod n =公钥
例如:公钥(82,123,287,83,248,373,10,471)
私钥(2,3,7,14,30,57,120,251)
明文:00101100b
加密:
C=82x0+123x0+287x1+83x0+248x1+373x1+10x0+471x0=908
解密:
先计算inverse(m,n)=12
然后计算BagNum=C*12 mod n
然后就是用BagNum和私钥求解超递增背包问题,即可得出明文