Duża różnica w kluczowych rundach transformacji dla KeePass i KeePassX, którą chciałbym wyjaśnić

1

Poniżej używam v2.32 KeePass i v2.0.2 dla KeePassX i używam Linuksa.

Bałam się liczbą rund transformacji i zauważyłem, że wybierając jedną sekundę opóźnienia w KeePassX (nazywa się to testem porównawczym w KeePassX) daje 21760000 rund, a KeePass daje 522174. KeePassX bardzo szybko otwiera oba pliki, zajmując około sekundę w rundach 21760000 jeden, podczas gdy KeePass otwiera plik rundy 21760000 w około 43 sekund. Aby wcierać sól w ranę, Keepass2Android otwiera plik 21760000 w około 4 sekundy, a druga całkiem blisko.

Co powoduje tak dużą różnicę w wydajności między kluczowymi rundami transformacji dla KeePass i KeePassX?

Wygląda na to, że KeePass robi coś złego, przynajmniej w wersji Linux. Uwaga: 21760000/43 to w przybliżeniu 522174. Jestem nieco zaniepokojony, że KeePass może dawać fałszywe poczucie bezpieczeństwa, ponieważ wygląda na to, że atakujący może potencjalnie być znacznie bardziej skuteczny w brutalnym wymuszaniu niż pozwala KeePass.

(Wiem, że KeePass i KeePassX nie są ze sobą ściśle powiązane)

Aktualizacja: Testowałem na moim laptopie w pracy (który jest starszy, a sprzęt nie jest prawie tak dobry), z bardziej aktualnym oprogramowaniem i KeePass v2.34 zajęło około 25 sekund, a KeePassX (v2.0.3) zajęło około 7 sekundy. Kiedy mam szansę, zaktualizuję oprogramowanie na pulpicie domowym, ale wydaje się, że pytanie jest nadal aktualne, ponieważ są to najnowsze oprogramowanie i to wciąż duża różnica.

Paul Plummer
źródło
2
Podejrzewam, że występuje problem z monofoniczną implementacją elementów kryptograficznych używanych przez KeePass lub z uruchomionym kodem zoptymalizowanym dla platformy .NET w trybie mono zamiast problemu z samym KeePass. Spodziewam się, że zobaczysz znacznie bliższe wyniki między KeePassX w systemie Linux a KeePass w systemie Windows. Ale nie wiem wystarczająco dużo, aby udzielić pełnej odpowiedzi. :-)
Ben
@Ben To wydaje się całkiem wiarygodne. Zobaczę, czy znajomy zainstaluje oba na swoim komputerze z systemem Windows (mam wrażenie, że KeePassX będzie bardziej jednolity na różnych platformach).