0

例如,信用卡到期月份只能有十二个值。因此,黑客将有十二分之一的机会猜出一个月的正确加密值。如果他们知道这一点,他们是否能够更快地破解加密?

如果是这种情况,需要多少个值的变化来避免这种情况?一般只有三位数的银行卡号安全码怎么样?

4

2 回答 2

1

良好的加密意味着如果用户知道例如您提到的信用卡的到期月份是十二个值之一,那么它将限制选项的数量,而不是更多。

IE

如果黑客需要猜三个数字,a,b,c,每个数字可以有 1 到 3 的值。选项的数量将是 3*3*3 = 27。现在黑客发现第一个数字, a, 始终是固定值 2。所以期权的数量是 1*3*3 = 9。如果透露数字 a 的值将导致期权数量限制为小于 9 的值,而不是你被破解的值,但在强模型中,如果显示其中一个数字,则要限制的选项数量将恰好为 9。

现在你显然不只使用 exp。加密日期,我猜。

我希望我足够清楚。

于 2013-08-21T06:13:17.140 回答
1

如果您以正确的方式使用像 AES 这样的正确密码,那么加密这些值是完全安全的。

这是因为被认为是安全的操作模式(例如 CBC 和 CTR)采用称为初始化向量的附加参数,即使相同的纯文本被多次加密,它也会有效地随机化密文。

请注意,正确使用 IV 非常重要。加密函数的每次调用都必须使用不同的 IV。对于 CBC 模式,IV 必须是不可预测的并且最好是随机的,而 CTR 需要唯一的 IV(随机 IV 通常也不是 CTR 的坏选择)。

于 2013-08-21T05:00:56.090 回答