XOR加密/解密和合规性

时间:2017-11-10 11:23:13

标签: encryption cryptography pci-compliance

XOR加密/解密是一种非常基本的机制,其中一个不需要任何密钥来加密。

我在C ++中使用它来进行文件加密/解密。该文件包含安全数据。该文件分为许多固定大小的块,不同的字符用于加密不同的块,使我获得加密文件。

我想知道两件事:

  1. 如果还有其他方法可以更安全地加密它?
  2. 如果考虑PCI合规性,
  3. 是否可接受这种机制?
  4. 我无法将对openssl等任何加密库的支持添加到我当前的环境中。

    感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

您已经回答了自己的问题。 XOR"加密",如果你可以称之为,那么永远不会在生产代码中使用。在学术层面,它提供了一个破解加密方案的极好例子,没有经验的密码学家可以对其进行密码分析。过去,这是没用的。但是,与您声明的情况相反,XOR加密确实需要密钥。

撰写本文时的行业标准对称加密算法是AES。 AES用于许多广泛的协议,如TLS和SSH。

对于PCI合规等内容,XOR加密也绝对不可接受。

答案 1 :(得分:3)

  1. 是的,有一种更安全的方式来加密文件:AES(高级加密标准)。

  2. 由于没有密钥,这不是加密,而是混淆。几乎没有安全性,使用秘密方法无法获得安全性。

  3. 这不符合PCI标准,请参阅 PCI Security Standards

  4. "Schneier's Law":" 任何人,从最无能的业余爱好者到最好的密码学家,都可以创建一个他自己无法破解的算法。& #34;

答案 2 :(得分:0)

XOR加密根本不安全。打破它是微不足道的,几乎可以在任何设备上完成。

不适合PCI合规性。 OWASP在这里提供一些指导: https://www.owasp.org/index.php/Cryptographic_Storage_Cheat_Sheet#Rule_-_Use_strong_approved_cryptographic_algorithms

对于C ++,有许多库可以为您进行加密 - 使用这些库并且不要自己实现它,因为你会弄错它!要查看的一些库是OpenSSL和libgcrypt。