Skip to content
  • Adam Langley's avatar
    Add optimised Aarch64 GCM. · c6e37807
    Adam Langley authored
    Cost: 6.3KiB, based on the size of the .o file. (The bssl tool size
    doesn't really change, probably due to padding somewhere.)
    
    This code originally came from ARM but David has merged the AES-128 and
    AES-256 specific code into a function that works across AES sizes.
    
    Speeds from an M1 Pro:
    
    Did 16546000 AES-128-GCM (16 bytes) seal operations in 1000018us (16545702.2 ops/sec): 264.7 MB/s
    Did 10450500 AES-128-GCM (256 bytes) seal operations in 1000011us (10450385.0 ops/sec): 2675.3 MB/s
    Did 2822500 AES-128-GCM (1350 bytes) seal operations in 1000042us (2822381.5 ops/sec): 3810.2 MB/s
    Did 547000 AES-128-GCM (8192 bytes) seal operations in 1000826us (546548.6 ops/sec): 4477.3 MB/s
    Did 279000 AES-128-GCM (16384 bytes) seal operations in 1000411us (278885.4 ops/sec): 4569.3 MB/s
    Did 16991250 AES-256-GCM (16 bytes) seal operations in 1000001us (16991233.0 ops/sec): 271.9 MB/s
    Did 9257000 AES-256-GCM (256 bytes) seal operations in 1000072us (9256333.5 ops/sec): 2369.6 MB/s
    Did 2398000 A...
    c6e37807
This project is licensed under the MIT License. Learn more