Compare commits

..

2 commits

Author SHA1 Message Date
e63300e3a2 Dirty hack to cache decoded values better 2015-11-09 15:40:46 +01:00
9d452a6ba2 Update branch README 2015-11-09 15:40:35 +01:00
3 changed files with 13 additions and 9 deletions

View file

@ -1,5 +1,9 @@
encfs-java
==========
This branch contains a hack to cache decoded values better.
This is to use with encfs-brute.
I made the modifications for encfs-brute. The aim was
1. to cache decoded values better,
2. no exception throwing if the key is incorrect.
Those two items are important to improve speed.

View file

@ -30,24 +30,24 @@ public class EncFSPBKDF2Data
throws InvalidKeySpecException
{
byte[] cipherSaltData = config.getSaltData();
int keySizeInBytes = config.getConfig().getVolumeKeySizeInBits() / 8;
int keySizeInBits = config.getConfig().getVolumeKeySizeInBits();
KeySpec ks = new PBEKeySpec(password.toCharArray(), cipherSaltData,
config.getConfig().getIterationForPasswordKeyDerivationCount(),
(keySizeInBytes + EncFSVolume.IV_LENGTH_IN_BYTES) * 8
keySizeInBits + EncFSVolume.IV_LENGTH_IN_BYTES * 8
);
byte[] pbkdf2Data = skf.generateSecret(ks).getEncoded();
EncFSPBKDF2Data obj;
obj = EncFSPBKDF2Data.from(config, pbkdf2Data);
obj = EncFSPBKDF2Data.from(config.getConfig(), pbkdf2Data);
obj.password = password;
return obj;
}
public static EncFSPBKDF2Data from(EncFSBinaryConfig config, byte[] pbkdf2Data)
public static EncFSPBKDF2Data from(EncFSConfig config, byte[] pbkdf2Data)
throws InvalidKeySpecException
{
EncFSPBKDF2Data obj = new EncFSPBKDF2Data();
int keySizeInBytes = config.getConfig().getVolumeKeySizeInBits() / 8;
int keySizeInBytes = config.getVolumeKeySizeInBits() / 8;
obj.pbkdf2Data = pbkdf2Data;
obj.passKeyData = Arrays.copyOfRange(pbkdf2Data, 0, keySizeInBytes);
obj.passIvData = Arrays.copyOfRange(pbkdf2Data, keySizeInBytes,

View file

@ -76,7 +76,7 @@ class VolumeKey {
EncFSPBKDF2Data pbkdf2DataObj;
try {
binaryConfig = EncFSBinaryConfig.from(config);
pbkdf2DataObj = EncFSPBKDF2Data.from(binaryConfig, pbkdf2Data);
pbkdf2DataObj = EncFSPBKDF2Data.from(config, pbkdf2Data);
} catch (Exception e) {
throw new EncFSInvalidConfigException(e);
}
@ -212,7 +212,7 @@ class VolumeKey {
config.setBase64EncodedVolumeKey(EncFSBase64.encodeBytes(encodedVolKey));
}
private static class DecryptInfo {
protected static class DecryptInfo {
byte[] clearVolKeyData;
Mac mac;
}