|
|
|
|
|
by jiehong
466 days ago
|
|
So far, SIMD operations are contant time, since the whole vector needs to be computed, and not just a single element in it. ChaCha20 or Kyber might be using that. Although, I don’t know if any cryptographic algorithm depend on vector only calculation as a base for their strength. Alternatively, I suppose that specialised cryptographic CPUs could be made to follow strict standards ensuing constant time runtime. |
|
Is that actually guaranteed? Having to do the whole vector doesn't necessarily mean the time can't vary for different values for complex operations. (like division)
I can't find the details, but https://gleissen.github.io/papers/iodine.pdf at least mentions "Dually, if timing variability is unavoidable, e.g., in SIMD or floating-point units, making this variability explicit can better inform..." so it sounds like simd is at least situation specific here.