Request support for HRNG on ARM using their new RNDR / RNDRRS instructions. #26796

issue h76oeI6pMxU9g4p8aCpc6Q openend this issue on January 2, 2023
  1. h76oeI6pMxU9g4p8aCpc6Q commented at 7:46 pm on January 2, 2023: none

    Bitcoin Core currently only support to using RDRAND / RDSEED instruction on x86 architecture when requiring to generate a ultra high quality random numbers. For example, a private key. https://github.com/bitcoin/bitcoin/blob/master/src/random.h https://github.com/bitcoin/bitcoin/blob/master/src/random.cpp

    ARM later added two new similar instructions as well, RNDR (similar to RDRAND) / RNDRRS (similar to RDSEED). https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDR--Random-Number https://developer.arm.com/documentation/ddi0601/2022-12/AArch64-Registers/RNDRRS--Reseeded-Random-Number

    OpenSSL also had a similar feature request on last year. (Implemented) https://github.com/openssl/openssl/issues/15627 https://github.com/openssl/openssl/pull/15361 https://github.com/openssl/openssl/blob/master/providers/implementations/rands/seeding/rand_cpu_arm64.c

    I hope this feature is also available on Bitcoin Core as Bitcoin Core also can using on ARM machine (E.g. A Mac computer using Apple silicon, Raspberry Pi…).

  2. h76oeI6pMxU9g4p8aCpc6Q added the label Feature on Jan 2, 2023
  3. maflcko added the label Utils/log/libs on Jan 3, 2023
  4. john-moffett commented at 11:50 pm on January 3, 2023: contributor

    It appears that these extensions aren’t supported by many hardware implementations yet (look under the ’rng’ column), including any Apple product or Raspberry Pi.

    That said, it would be a useful addition once they become more common.

  5. bitcoin deleted a comment on Feb 13, 2023
  6. achow101 closed this on Nov 7, 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-10-31 03:12 UTC

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