什么是最好的核导弹加密系统?

roo*_*ook 21 security encryption cryptography

您在潜艇上,并且有一条您想要阅读的加密消息.两个人必须同时使用他们的密钥才能获得纯文本.什么是最好的加密原语?以下两种实现是否合适?

plain_text=decrypt(Key1 XOR key2,ciper_text,IV)

plain_text=decrypt(Key1,decrypt(key2,ciper_text,IV2),IV1)
Run Code Online (Sandbox Code Playgroud)

(假设AES-256-CBC带有CMAC块,如果它对您很重要.)

Nic*_*son 18

将两个随机生成的密钥拼凑在一起以获得最终秘密肯定是安全的.这种情况的一般形式称为" 秘密共享 ",并且有一些安全算法允许您生成'm of n'方案,其中您生成n个共享,并且任何m都足以推导出原始密钥.

最着名的方案是Shamir的秘密共享,并涉及生成随机m-1次多项式,其中密钥为常数,然后在n个位置对其进行采样,并将其作为关键共享给予个体.


Pau*_*ulG 5

通过对密钥进行异或,您可以保证Key1中的每个位都可能被Key2中的每个位修改(反之亦然).这意味着Key1的持有者无法计算Key2或XORing Key1/Key2的结果.

说明这一点的另一种方式是Key1的持有者必须强制每一个可能的位组合来耗尽可用的密钥空间.他已经拥有其中一把钥匙的事实根本不能帮助他.

还有其他方法可以将两个键组合在一起,但是当键长度相同时,只需要一个简单的XOR.