【问题标题】:.Net AES Encryption - Universally Accepted Pad Setting.Net AES 加密 - 普遍接受的 Pad 设置
【发布时间】:2010-12-18 02:18:14
【问题描述】:

我有一个处理 AES 加密数据的 .Net Web 服务。我服务的消费者与我就密钥/IV 对达成一致,这样我们就可以安全地传递数据。我有一个使用 PHP 的消费者,它使用 mcrypt 进行加密。 mcrypt 用 NULL 填充。我没有设置 pad (NONE),因此无法解密字符串。我将填充更改为零并且能够解密 mcrypt 值。

我想更改我的网络服务以使用普遍接受的垫设置。并告诉我所有的消费者使用该垫设置。但是,我似乎找不到通用垫设置。我还阅读了一些帖子,其中讨论了一些垫设置“不太安全”。同样糟糕的是,我看到一些关于某些打击垫设置不能可靠地跨系统转换的帖子。

是否有普遍接受、安全可靠的 AES 加密垫设置?

请告诉我。

【问题讨论】:

    标签: .net padding aes


    【解决方案1】:

    不是真的。有PKCS padding, Zeros, Ansi X923, ISO10126,都是well supported和公认的标准。您和您的 WWW 服务只需要就使用什么达成一致,就像您就密码块模式、IV 值等达成一致(即,如果需要,使其成为协议的一部分)。

    【讨论】:

    • “这就是标准的伟大之处:有很多可供选择。” - 艾伦霍尔茨曼
    猜你喜欢
    • 2012-11-05
    • 2013-01-16
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 2011-11-22
    相关资源
    最近更新 更多