Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Armory wallet support #5422

Merged
merged 7 commits into from
Jan 9, 2024
Merged

Armory wallet support #5422

merged 7 commits into from
Jan 9, 2024

Conversation

solardiz
Copy link
Member

@solardiz solardiz commented Jan 9, 2024

This adds Armory wallet support. The input is btcrecover data extracts. Thanks to @gurnec of btcrecover for providing 2 of the test vectors.

This does not add an extract script of our own, and a self-contained one can't easily be created - btcrecover's uses code from Armory itself, which is expected to be separately installed on the system. But at least the JtR format is kind of self-contained (only uses what we already had in the tree), which I think is the first implementation for this wallet type that does not rely on the wallet software.

Not implemented yet:

  1. Tunable costs reporting.
  2. SIMD.
  3. Interleaving.
  4. Prefetch (only possible with SIMD or/and interleaving).
  5. OpenCL format.
  6. Own *2john script.

5 and 6 are not currently planned, 1 to 4 are.

@solardiz
Copy link
Member Author

solardiz commented Jan 9, 2024

  1. Tunable costs reporting.

Added. The rest of the to-do items I listed are beyond scope of this PR.

@solardiz
Copy link
Member Author

solardiz commented Jan 9, 2024

Armory format: Support only lookup table sizes that are powers of 2

This is per my review of BitcoinArmory/cppForSwig/EncryptionUtils.cpp: KdfRomix::computeKdfParams(). It looks unable to choose anything lower than 1024 bytes or not a power of 2.

@solardiz
Copy link
Member Author

solardiz commented Jan 9, 2024

Added 2 more test vectors kindly provided by @gurnec, also standardizing on 8 MiB, 2 iterations for our benchmarks. These appear to be somewhat-likely settings that Armory would use by default given CPU speeds back when it was popular.

@solardiz solardiz merged commit 904cbad into openwall:bleeding-jumbo Jan 9, 2024
29 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant