将 AES 加密的输出转换为保留格式的输出 (FPE)



我有一个现有的 Java 代码,其中我使用 AES-256 加密加密接收的数据进行加密,但我以更长的文本形式获得输出我希望数据保留格式,例如,如果我输入电话号码(10 位),输出应该是一些电话号码(10 位),同样对于信用卡号等其他敏感字段(16 位),输出应该是 16 位随机数字。

我发现我们为这项工作提出了 3 种算法 FFX、BPS 和 VFPE。

我刚刚编写了与此类似的基本加密代码 https://howtodoinjava.com/security/java-aes-encryption-example/并试图理解它,但我无法完全超出我的理解,任何对算法有更简单理解的人请帮助。

我只是期望一些资源或对BPS或任何会实施的人的一些基本了解(因为文档 https://csrc.nist.gov/csrc/media/projects/block-cipher-techniques/documents/bcm/proposed-modes/bps/bps-spec.pdf 令人困惑)。请帮助如何做到这一点,我是新手,所以即使是最轻微的线索也会有所帮助,谢谢。

截至 2021 年底,您可能希望使用 NIST 批准的 FPE,而不是较旧的 FFX 或 BPS。有两个开源库支持这一点,Mysto和Bouncy Castle。

相关内容

  • 没有找到相关文章

最新更新