Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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解密encfs卷密钥_Java_Encoding_Encryption - Fatal编程技术网

用java解密encfs卷密钥

用java解密encfs卷密钥,java,encoding,encryption,Java,Encoding,Encryption,我正试图用Java破解encfs卷密钥。我使用标准设置(即192位aes加密)运行ENCF。有什么方法可以做到这一点吗?这不是一个真正的Java问题,更多的是一个加密问题。对卷密钥的简要调查表明,卷密钥是由用户密码派生的密钥加密的。很可能这代表了最好的攻击向量:对可能是一个弱密码的暴力攻击。然而,我不会抱太多希望 值得一提的是,javax.crypto中的JavaJCE类将是您在Java中执行对称加密的途径。以下代码段显示了如何使用明文密钥执行某些AES解密: byte[] keyBytes =

我正试图用Java破解encfs卷密钥。我使用标准设置(即192位aes加密)运行ENCF。有什么方法可以做到这一点吗?

这不是一个真正的Java问题,更多的是一个加密问题。对卷密钥的简要调查表明,卷密钥是由用户密码派生的密钥加密的。很可能这代表了最好的攻击向量:对可能是一个弱密码的暴力攻击。然而,我不会抱太多希望

值得一提的是,
javax.crypto
中的JavaJCE类将是您在Java中执行对称加密的途径。以下代码段显示了如何使用明文密钥执行某些AES解密:

byte[] keyBytes = ...
byte[] volumeKeyFileContents = ...

SecretKeyFactory factory = SecretKeyFactory.getInstance("AES");
SecretKey aesKey = factory.generateSecret(new SecretKeySpec(keyBytes, "AES"));

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); // for example
cipher.init(Cipher.DECRYPT_MODE, aesKey);
byte[] plaintext = cipher.doFinal(volumeKeyFileContents);

// (written from memory so may not compile without tweaks)
然后需要使用明文值作为卷密钥的潜在候选值。显然,这是一个简化的解决方案,并作出了许多假设;您需要更深入地研究这些卷密钥文件的格式以及在构建加密副本期间使用的算法、模式和填充


祝你好运。

有一个Java库,提供对
encfs
文件系统的读写和实验写访问