From c607e26c4ab503803b4461c53f273d1ffcdbcd7c Mon Sep 17 00:00:00 2001 From: r-zakarya <82443831+r-zakarya@users.noreply.github.com> Date: Fri, 14 Aug 2026 18:33:56 +0100 Subject: [PATCH] feat(android): measure the native PBKDF2 against the vector instead of guessing The Pascal loop takes 1736 ms on a desktop CPU, so several seconds on a phone - too slow for every unlock. SecretKeyFactory is native and roughly an order of magnitude faster, but PBEKeySpec takes a char[] and the provider picks the encoding, which was the reason for avoiding it. The non-ASCII vector settles it on a real device: same key means the provider uses UTF-8 and we adopt it; a different key means the Pascal implementation stays. DecryptContainer keeps using the Pascal one until that measurement says otherwise. --- android-client/PMA.Crypto.pas | 84 ++++++++++++++++++++++++++++++++++ mainApk.pas | 25 ++++++++++ pmserverApk.res | Bin 0 -> 154804 bytes 3 files changed, 109 insertions(+) create mode 100644 pmserverApk.res diff --git a/android-client/PMA.Crypto.pas b/android-client/PMA.Crypto.pas index 96c381a..3c17721 100644 --- a/android-client/PMA.Crypto.pas +++ b/android-client/PMA.Crypto.pas @@ -41,6 +41,18 @@ type function DeriveKeyPBKDF2(const APassword: string; const ASalt: TBytes; AIterations, AKeyLenBytes: Integer): TBytes; +/// Same derivation, delegated to Android's SecretKeyFactory — natively +/// implemented, so roughly an order of magnitude faster than the Pascal loop. +/// +/// NOT used by DecryptContainer, and deliberately so: PBEKeySpec takes a +/// char[] and the provider decides how those chars become bytes. If Android +/// encodes them as anything other than UTF-8, this returns a DIFFERENT key for +/// a non-ASCII password — silently, reported later as a wrong password. +/// The self-test compares it against the known vector on a real device; adopt +/// it only if they match there. Returns nil on any failure. +function DeriveKeyPBKDF2Native(const APassword: string; const ASalt: TBytes; + AIterations, AKeyLenBytes: Integer): TBytes; + /// AES-256-GCM decrypt. ACipherText carries the 16-byte tag at the end, as /// produced by WebCrypto. Raises EPMACrypto when the tag does not verify — /// which is what a wrong password looks like. @@ -163,6 +175,42 @@ type end; TJGCMParameterSpec = class(TJavaGenericImport) end; + JPBEKeySpec = interface; + JSecretKey = interface; + JSecretKeyFactory = interface; + + JPBEKeySpecClass = interface(JObjectClass) + ['{1A2B3C4D-5E6F-7081-92A3-B4C5D6E7F801}'] + function init(password: TJavaArray; salt: TJavaArray; + iterationCount: Integer; keyLength: Integer): JPBEKeySpec; cdecl; + end; + [JavaSignature('javax/crypto/spec/PBEKeySpec')] + JPBEKeySpec = interface(JObject) + ['{2B3C4D5E-6F70-8192-A3B4-C5D6E7F80112}'] + end; + TJPBEKeySpec = class(TJavaGenericImport) end; + + JSecretKeyClass = interface(JKeyClass) + ['{3C4D5E6F-7081-92A3-B4C5-D6E7F8011223}'] + end; + [JavaSignature('javax/crypto/SecretKey')] + JSecretKey = interface(JKey) + ['{4D5E6F70-8192-A3B4-C5D6-E7F801122334}'] + function getEncoded: TJavaArray; cdecl; + end; + TJSecretKey = class(TJavaGenericImport) end; + + JSecretKeyFactoryClass = interface(JObjectClass) + ['{5E6F7081-92A3-B4C5-D6E7-F80112233445}'] + function getInstance(algorithm: JString): JSecretKeyFactory; cdecl; + end; + [JavaSignature('javax/crypto/SecretKeyFactory')] + JSecretKeyFactory = interface(JObject) + ['{6F708192-A3B4-C5D6-E7F8-011223344556}'] + function generateSecret(keySpec: JObject): JSecretKey; cdecl; + end; + TJSecretKeyFactory = class(TJavaGenericImport) end; + JCipherClass = interface(JObjectClass) ['{E081D312-94A5-B6C7-02FD-1E8F90011223}'] function _GetDECRYPT_MODE: Integer; cdecl; @@ -196,6 +244,42 @@ begin end; {$ENDIF} +function DeriveKeyPBKDF2Native(const APassword: string; const ASalt: TBytes; + AIterations, AKeyLenBytes: Integer): TBytes; +{$IF DEFINED(ANDROID)} +var + LChars: TJavaArray; + LSpec: JPBEKeySpec; + LFactory: JSecretKeyFactory; + I: Integer; +begin + Result := nil; + try + // The password goes in as chars — the whole point of the doubt. Delphi + // strings are UTF-16, so this hands the provider the code units and lets + // it apply whatever encoding it wants. That is exactly what the test + // measures against the vector. + LChars := TJavaArray.Create(Length(APassword)); + for I := 1 to Length(APassword) do + LChars.Items[I - 1] := APassword[I]; + + LSpec := TJPBEKeySpec.JavaClass.init(LChars, ToJavaBytes(ASalt), + AIterations, AKeyLenBytes * 8); // keyLength is in BITS + LFactory := TJSecretKeyFactory.JavaClass.getInstance( + StringToJString('PBKDF2WithHmacSHA256')); + Result := FromJavaBytes(LFactory.generateSecret(TJObject.Wrap((LSpec as ILocalObject).GetObjectID)).getEncoded); + except + // Provider missing or algorithm unavailable: the caller falls back to the + // Pascal implementation, which always works. + Result := nil; + end; +end; +{$ELSE} +begin + Result := nil; // no platform provider outside Android +end; +{$ENDIF} + function AesGcmDecrypt(const AKey, AIv, ACipherText: TBytes): TBytes; {$IF DEFINED(ANDROID)} var diff --git a/mainApk.pas b/mainApk.pas index 0d6222a..ae05806 100644 --- a/mainApk.pas +++ b/mainApk.pas @@ -118,6 +118,31 @@ begin Exit; // inutile de tester AES avec une mauvaise cle end; + // ---- Etage 1bis : le PBKDF2 natif d'Android ---------------------- + // Question ouverte, tranchee ici plutot que supposee : PBEKeySpec + // prend un char[] et le fournisseur choisit l'encodage. S'il donne la + // MEME cle sur ce mot de passe non-ASCII, on peut l'adopter et gagner + // un ordre de grandeur. Sinon, le Pascal reste la seule option juste. + Log(''); + Log('PBKDF2 natif (Android)...'); + LSw := TStopwatch.StartNew; + LKey := DeriveKeyPBKDF2Native(TESTVECTOR_PASSWORD, LSalt, 600000, 32); + LSw.Stop; + if LKey = nil then + Log(' indisponible sur cette plateforme') + else + begin + LKeyHex := LowerCase(THash.DigestAsString(LKey)); + Log(' duree : ' + IntToStr(LSw.ElapsedMilliseconds) + ' ms'); + if LKeyHex = TESTVECTOR_KEY_HEX then + Log(' ==> IDENTIQUE — adoptable, encodage UTF-8 confirme') + else + begin + Log(' obtenu : ' + LKeyHex); + Log(' ==> DIFFERENT — encodage du char[] incompatible, garder le Pascal'); + end; + end; + // ---- Etage 2 : AES-GCM + conteneur ------------------------------ Log(''); Log('Dechiffrement du conteneur...'); diff --git a/pmserverApk.res b/pmserverApk.res new file mode 100644 index 0000000000000000000000000000000000000000..f9fd9e49ffaa445d6117e69d956eb1ce9c11668f GIT binary patch literal 154804 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