我有一个处理 AES 加密数据的 .Net Web 服务。我服务的消费者与我就密钥/IV 对达成一致,这样我们就可以安全地传递数据。我有一个使用 PHP 的消费者,它使用 mcrypt 进行加密。mcrypt 用 NULL 填充。我没有设置 pad (NONE),因此无法解密字符串。我将填充更改为零并且能够解密 mcrypt 值。
我想更改我的 Web 服务以使用普遍接受的 pad 设置。并告诉我所有的消费者使用该垫设置。但是,我似乎找不到通用垫设置。我还阅读了一些帖子,其中讨论了一些垫设置“不太安全”。同样糟糕的是,我看到一些关于某些打击垫设置不能可靠地跨系统转换的帖子。
是否有普遍接受、安全和可靠的 AES 加密垫设置?
请告诉我。