Fuzz: compare our AES implementation to AES-NI #27548

issue Sjors openend this issue on May 1, 2023
  1. Sjors commented at 9:31 am on May 1, 2023: member

    We only use AES to generate a wallet encryption key from the user password. In #7689 we ditched the OpenSSL implementation for our own. It intentionally does not use special CPU instructions like AES-NI, because performance is not an issue for our use case. Instead it is based on an existing C implementation that’s known to be constant-time.

    We already have a fuzzer that checks an encryption - decryption round trip.

    On CPU’s that support it, we could add an additional fuzz target that uses AES-NI on one side of the round trip. We only need the 256 bit variant. The fuzzer probably only needs to support one platform, such as Intel’s AES-NI.

    Botan has a c++ implementation: https://github.com/randombit/botan/blob/master/src/lib/block/aes/aes_ni/aes_ni.cpp#L523-L601

  2. MarcoFalke added the label Brainstorming on May 2, 2023
  3. MarcoFalke added the label Tests on May 2, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 09:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me