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

crypto improvements #9

Open
CreateRemoteThread opened this issue Dec 5, 2021 · 1 comment
Open

crypto improvements #9

CreateRemoteThread opened this issue Dec 5, 2021 · 1 comment
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@CreateRemoteThread
Copy link
Owner

This framework needs wider support for different crypto primitives (or at least a way to work out whether they fit or not).

  • des large keys
  • aes192,aes256
  • masked aes, second order trickery
  • point multiplication (see donjonctf 2021 side channel)

I'm not sure how to manage this high-level. Maybe using the CW approach of scripts for each attack is correct.

@CreateRemoteThread CreateRemoteThread added enhancement New feature or request good first issue Good for newcomers labels Dec 5, 2021
@CreateRemoteThread
Copy link
Owner Author

CreateRemoteThread commented Jan 7, 2022

AES / DES and friends

  • AES 192/AES 256 forward sbox now supported (todo: port to other models).

    • To specify the first round key, use --opt knownKey:<hex_string_of_known_key> and ignore the bits of the second round key you don't need
  • Last round backwards model also supported. Use ChipWhisperer's key calculator to reverse the key schedule

  • nddla.py (non-profiled deep learning) works vs masked AES, and can load other attack models, but either needs manual adjustment of hyperparameters - or implement automated sensitivity analysis (todo)

  • template attacks now work, but require significant model-specific fixes (e.g. cherrypicker.py).

    • can we reliably detect masking in a black-box scenario?
    • more broadly, how well can we detect code segments?
  • 32-bit hardware accelerated AES (cw308_target, stm32f215) not yet working. Can cleanly spot the "encryption bracket" via PT / CT tlva, but can't recover the key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant