是否有可能对机器密钥加密进行明文攻击?

时间:2013-11-04 12:14:02

标签: c# asp.net security encryption

我使用以下功能保护一些字符串:

public static string ProtectString(string input)
{
    System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
    return enc.GetString(MachineKey.Protect(enc.GetBytes(input), null));
}

如果我现在加密字符串,攻击者现在可以(即用户名),是否能够使用加密和解密的值提取机器密钥?

2 个答案:

答案 0 :(得分:1)

我做了一些研究,发现使用过的算法就是其中之一:DES, 3DES or AES。而且这些算法对纯文本攻击非常有抵抗力。

基于Chris的评论,DES非常弱,所以如果可能的话选择AES。

但是,向攻击者提供纯文本值并不是理由:)

答案 1 :(得分:-1)

如果你给黑客一个密文和明文,那就是他需要强制加密密钥。那是一个高性能计算机的农场。

真的很少有理由同时发送明文和纯文本。只是不要这样做。如果您想使明文防篡改,请将明文与HMAC一起传递。