Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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加密体系结构访问SCrypt?_Java_Encryption_Bouncycastle - Fatal编程技术网

是否可以使用Java加密体系结构访问SCrypt?

是否可以使用Java加密体系结构访问SCrypt?,java,encryption,bouncycastle,Java,Encryption,Bouncycastle,我正在使用Bouncy Castle用Java编写一个应用程序,但我仍然希望通过Java加密体系结构编写尽可能可移植的代码。是否可以通过JCA访问SCrypt算法 它不存在,它只有: AES ARCFOUR DES 德塞德 PBEWithAnd PBEWithAnd PBewithmd5和DES(PKCS5,第1.5节) PBEWITHmACSHA256标准128(PKCS5,2.0版) 带HMACSHA1的PBKDF2 事实上,文件中没有提到Scrypt。你看到了吗?这指向一封讨论这个

我正在使用Bouncy Castle用Java编写一个应用程序,但我仍然希望通过Java加密体系结构编写尽可能可移植的代码。是否可以通过JCA访问SCrypt算法

它不存在,它只有:

  • AES
  • ARCFOUR
  • DES
  • 德塞德
  • PBEWithAnd
  • PBEWithAnd
    • PBewithmd5和DES(PKCS5,第1.5节)
    • PBEWITHmACSHA256标准128(PKCS5,2.0版)
  • 带HMACSHA1的PBKDF2
事实上,文件中没有提到Scrypt。你看到了吗?这指向一封讨论这个问题的邮件

货币报价:

BCJCE提供程序未公开Scrypt

因此,如果它现在没有列在可用密码列表中,那么这一点似乎仍然是这样

我用BC 1.54.0检查了Java 8上可用的密码,这些是可用的密钥工厂算法(不包括别名):


我还浏览了其他服务类型,也没有提到scrypt。

当然,这些服务不会列出它。这些是默认实现附带的标准实现。如果您使用的是不同的提供商,如BC,它们将列在文档中。然而,考虑到scrypt比大多数旧的散列算法要复杂一些,可能您不能只编写JCA代码,而只是添加BC作为提供程序。因此,您将使代码直接依赖于BC包。对于密码派生和密码验证程序,您可以使用
PBKDF2
,这是NIST的建议和标准。
PBKDF21
的一些实现以RFC编号命名为
Rfc2898DeriveBytes
。@zaph:我的理解是,Scrypt和PBKDF2与CPU攻击具有相似的强度,而Scrypt由于内存密集,也比PBKDF2更能抵御GPU攻击;那么,为什么我会选择PBKDF2而不是Scrypt呢?PBKDF2是一个经批准的标准,在大多数平台上都可用。绝大多数用途的安全差异最小。如果您创建了威胁模型(书面形式),并确定PBDKF2和Scrypt之间的差异是最高漏洞,则Scrypt是正确的选择。还有许多其他加密安全问题可能会造成安全漏洞,例如缺少encrypt then MAC、返回填充错误、在每次加密时不使用随机IV。
SecretKeyFactory.DES
SecretKeyFactory.DESEDE
SecretKeyFactory.DESede
SecretKeyFactory.PBEWITHHMACGOST3411
SecretKeyFactory.PBEWITHHMACRIPEMD160
SecretKeyFactory.PBEWITHHMACSHA1
SecretKeyFactory.PBEWITHHMACSHA256
SecretKeyFactory.PBEWITHHMACTIGER
SecretKeyFactory.PBEWITHMD2ANDDES
SecretKeyFactory.PBEWITHMD2ANDRC2
SecretKeyFactory.PBEWITHMD5AND128BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5AND192BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5AND256BITAES-CBC-OPENSSL
SecretKeyFactory.PBEWITHMD5ANDDES
SecretKeyFactory.PBEWITHMD5ANDRC2
SecretKeyFactory.PBEWITHSHA1ANDDES
SecretKeyFactory.PBEWITHSHA1ANDRC2
SecretKeyFactory.PBEWITHSHA256AND128BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHA256AND192BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHA256AND256BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND128BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND128BITRC2-CBC
SecretKeyFactory.PBEWITHSHAAND128BITRC4
SecretKeyFactory.PBEWITHSHAAND192BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND2-KEYTRIPLEDES-CBC
SecretKeyFactory.PBEWITHSHAAND256BITAES-CBC-BC
SecretKeyFactory.PBEWITHSHAAND3-KEYTRIPLEDES-CBC
SecretKeyFactory.PBEWITHSHAAND40BITRC2-CBC
SecretKeyFactory.PBEWITHSHAAND40BITRC4
SecretKeyFactory.PBEWITHSHAANDIDEA-CBC
SecretKeyFactory.PBEWITHSHAANDTWOFISH-CBC
SecretKeyFactory.PBEWithHmacSHA1AndAES_128
SecretKeyFactory.PBEWithHmacSHA1AndAES_256
SecretKeyFactory.PBEWithHmacSHA224AndAES_128
SecretKeyFactory.PBEWithHmacSHA224AndAES_256
SecretKeyFactory.PBEWithHmacSHA256AndAES_128
SecretKeyFactory.PBEWithHmacSHA256AndAES_256
SecretKeyFactory.PBEWithHmacSHA384AndAES_128
SecretKeyFactory.PBEWithHmacSHA384AndAES_256
SecretKeyFactory.PBEWithHmacSHA512AndAES_128
SecretKeyFactory.PBEWithHmacSHA512AndAES_256
SecretKeyFactory.PBEWithMD5AndDES
SecretKeyFactory.PBEWithMD5AndTripleDES
SecretKeyFactory.PBEWithSHA1AndDESede
SecretKeyFactory.PBEWithSHA1AndRC2_128
SecretKeyFactory.PBEWithSHA1AndRC2_40
SecretKeyFactory.PBEWithSHA1AndRC4_128
SecretKeyFactory.PBEWithSHA1AndRC4_40
SecretKeyFactory.PBKDF-OPENSSL SecretKeyFactory.PBKDF2
SecretKeyFactory.PBKDF2WITHASCII
SecretKeyFactory.PBKDF2WithHmacSHA1
SecretKeyFactory.PBKDF2WithHmacSHA1And8BIT
SecretKeyFactory.PBKDF2WithHmacSHA224
SecretKeyFactory.PBKDF2WithHmacSHA256
SecretKeyFactory.PBKDF2WithHmacSHA384
SecretKeyFactory.PBKDF2WithHmacSHA512