0

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

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

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

请告诉我。

4

1 回答 1

1

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

于 2009-11-18T22:48:41.460 回答