自从公钥密码体制被提出以来,出现了许多公钥密码方案,例如RSA、密码体制、背包算法、ECC、XTR、NTRU等。
下面介绍各种密码体制的优缺点,并进行比较。
2RSA
在 和 提出公钥密码学的思想之后,1977年麻省理工学院的 、 和 提出了第一个比较完善的公钥密码算法,即RSA算法[2]。
RSA体制是公钥体制最典型的方法,大多数使用公钥密码体制进行加密和数字签名的产品和标准都采用RSA算法。RSA算法是第一个既能用于加密又能用于数字签名的算法,而且易于理解和操作。RSA是研究最为广泛的公钥算法,从提出到现在已经有20多年的历史,经历了各种攻击,逐渐被人们接受,被普遍认为是目前最好的公钥方案之一。RSA的安全性依赖于大数的因式分解,但目前还没有从理论上证明破译RSA的难度与大数因式分解的难度相当,也就是说,RSA的重大缺陷在于不可能从理论上掌握其保密性能,而密码学界大多数人倾向于认为因式分解不是一个NP问题。
RSA 的主要缺点有:(1)生成密钥非常麻烦,受限于素数生成技术,很难实现一次性加密。(2)分组长度太大,要保证安全至少要达到 10000,这使得运算成本很高,特别是速度很慢,比对称加密算法慢几个数量级。随着大数分解技术的发展,这个长度还在不断增加,不利于数据格式的标准化[6]。
-背包加密系统
背包问题的描述很简单,给定一堆具有不同条件质量的物品,我们能否将其中一些物品放入背包,使得它们等于给定的质量?
3.-背包加密算法
假设 B 加密消息 m