|
|
1
4
这里的很多内容将取决于你的“公钥加密”标签的重要性。你真的想要公钥加密,还是仅仅考虑到了这种可能性? 如果您愿意使用对称加密,那么从8字节的输入中生成8字节的输出就相当容易了:只需在ECB(电子码本)模式下运行3DES,您就会得到这样的结果。ECB的主要缺点是,给定的输入总是会产生相同的结果,因此如果您的输入可能重复,攻击者将能够看到这种重复,并且可能能够注意到“加密值X导致操作Y”的模式,即使他们根本不能/不破坏加密本身。如果你能接受,3DES/ECB可能是你的答案。 如果你不能接受这种情况,那么CFB模式下的3DES可能是下一个最好的。这将从8字节的输入中产生16字节的输出(请注意,它通常不会将输入大小增加一倍,而是将输入大小增加8字节)。 3DES并不是任何人都会称之为最先进的算法,但我认为它仍然可以称得上是“相当强的加密”。作为一个算法,它的弱点部分源于它相对较小的块大小,但这也使输出的扩展最小化。
|
|
|
2
2
你可以找一个1:1加密字节的流密码。输入N字节时,有N字节加密/解密输出。这类密码通常基于一种创建随机数流的算法,加密密钥/IV充当种子。 对于一些流密码,请查看 eSTREAM candidates . 例如,我不知道有任何针对HC-128和HC-256的相关攻击。 |