Skip to content

Resolve "Investigate Signature Verification Performance Impacts"

Closes #176

This is essentially just the setup used to answer the question in the ticket:

Determine average runtime added to verify signatures created with RSA 4096 keys

Should this be merged in -> Probably not unless we want to add more things like this and add some actual automated tests following this pattern

Results:

It is slower to verify keys with a 4096 key size compared to a 2048 keysize (~(20-45)ms to ~(93-100) ms).

Is it slow enough to not use them? Probably not IMO but not sure 🤷

Parameters:

  • 1000 keys in the keychain
  • Products each contain 50 "contents" of size 128kb (I think probably overkill as the max is only 128kb not 50*128?)
  • 5000 iterations of "verifying" a product
With a 2048 keysize

Trying/failing to verify every single one of them (worst case scenario) results in: (docker run perftest iterations=1000 keySize=2048 contentSize=131072 randomProductSizePool=15)

  1. Run 1: 23ms Average Verification time

  2. Run 2: 45ms Average Verification time

  3. Run 3: 40ms Average Verification time

With a 4096 keysize

Trying/failing to verify every single one of them (worst case scenario) results in:

(docker run perftest iterations=1000 keySize=4096 contentSize=131072 randomProductSizePool=15)

  1. Run 1: 93ms Average Verification time

  2. Run 2: 100ms Average Verification time

  3. Run 3: 100ms Average Verification time

Edited by Hawthorne, Bryan D

Merge request reports