Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AES加密FIPS 140-2兼容吗?_Java_Encryption_Cryptography_Aes - Fatal编程技术网

Java AES加密FIPS 140-2兼容吗?

Java AES加密FIPS 140-2兼容吗?,java,encryption,cryptography,aes,Java,Encryption,Cryptography,Aes,我用Java8编写了加密模块,如下所示- private static final String SECRET_KEY_PASSPHRASE="012345678901234567890123456789012"; //256 bit public Cipher getCipherInstance(int encryptionMode) throws ... /*throws necessary exceptions*/{ Cipher cipher

我用Java8编写了加密模块,如下所示-

private static final String SECRET_KEY_PASSPHRASE="012345678901234567890123456789012"; //256 bit

public Cipher getCipherInstance(int encryptionMode)
            throws ... /*throws necessary exceptions*/{


        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");

        byte[] keyBytes=getKeyBytes(SECRET_KEY_PASSPHRASE);
/*getKeyBytes function returns 16 bytes from 256 bit passphrase*/

        SecretKeySpec secretKeySpecy = new SecretKeySpec(SECRET_KEY_PASSPHRASE.getBytes("UTF-8"), "AES");
        IvParameterSpec ivParameterSpec = new IvParameterSpec(keyBytes);

        cipher.init(encryptionMode, secretKeySpecy, ivParameterSpec);
        return cipher;
    }
我正在使用从上述函数返回的cipher对象加密/解密数据

AES或密码类FIPS 140-2的代码或Java实现是否兼容


但我并没有得到任何文件明确说明JavaAES实现是符合FIPS的

默认Java JCE不符合FIPS,因为它支持较弱或过时的原语

AES是FIPS-140-2(附录a)中支持的列出的加密功能

为确保FIPS合规性,您可以使用符合FIPS的JCE实施(IBM FIPS JSSE、RSA BSAFE、BouncyCastle BC-FA等)或FIPS模式下的JSSE(连接到符合FIPS的硬件-智能卡、hsm)

AES或密码类FIPS 140-2的代码或Java实现是否兼容

FIPS-140-2是关于加密模块的,因此除非您自己实现加密模块,否则您不能要求密码类或您的应用程序符合要求(不管代码中明显的弱点)


但我并没有得到任何文件明确说明JavaAES实现是符合FIPS的

默认Java JCE不符合FIPS,因为它支持较弱或过时的原语

AES是FIPS-140-2(附录a)中支持的列出的加密功能

为确保FIPS合规性,您可以使用符合FIPS的JCE实施(IBM FIPS JSSE、RSA BSAFE、BouncyCastle BC-FA等)或FIPS模式下的JSSE(连接到符合FIPS的硬件-智能卡、hsm)

AES或密码类FIPS 140-2的代码或Java实现是否兼容


FIPS-140-2是关于加密模块的,因此除非您自己实现加密模块(不管代码中明显的弱点)

什么版本的Java,否则您不能要求密码类或您的应用程序符合要求?在早期版本中,您需要为FIPS 140-2或BouncyCastle使用Java加密扩展(JCE)。查看其java 8。我需要检查次要版本。该库可能符合FIPS,但您的代码肯定存在安全缺陷(使用密钥作为IV,没有完整性检查,…)但我没有得到任何文档明确说明JavaAES实现是FIPS兼容的。默认的JavaJCE不支持FIPS,因为它支持较弱或过时的原语。AES是FIPS-140-2(附录a)中支持的列出的加密功能。为确保FIPS合规性,您可以使用FIPS投诉JCE实施(IBM FIPS JSSE、RSA BSAFE、BouncyCastle BC-FA、FIPS模式下的JSSE…)有效禁用弱密码和不受支持的密码或合规硬件(智能卡、hsm)。FIPS-140-2是关于加密模块的,因此您不能要求密码类或您的应用程序符合要求(无论实现中的明显缺陷如何)什么版本的Java?在早期版本中,您需要为FIPS 140-2或BouncyCastle使用Java加密扩展(JCE)。查看其java 8。我需要检查次要版本。该库可能符合FIPS,但您的代码肯定存在安全缺陷(使用密钥作为IV,没有完整性检查,…)但我没有得到任何文档明确说明JavaAES实现是FIPS兼容的。默认的JavaJCE不支持FIPS,因为它支持较弱或过时的原语。AES是FIPS-140-2(附录a)中支持的列出的加密功能。为确保FIPS合规性,您可以使用FIPS投诉JCE实施(IBM FIPS JSSE、RSA BSAFE、BouncyCastle BC-FA、FIPS模式下的JSSE…)有效禁用弱密码和不受支持的密码或合规硬件(智能卡、hsm)。FIPS-140-2是关于加密模块的,因此您不能要求密码类或您的应用程序符合要求(不管实现中的明显缺陷)