AES has three different key sizes: 128, 192 and 256 bits. AES-128 and AES-256 are implemented in the standard library as std.crypto.core.aes.{Aes128,Aes256}
. However, AES-192 is not implemented. Why isn’t AES-192 implemented?
Two answers spring to mind:
- Nobody has needed it.
- Nobody has implemented it.
Zig std right now tends to gain the things the Zig compiler and core tools need, and not more, until someone makes a compelling case for inclusion by providing actual data on what real-world scenarios require the thing, and not just someone taking a completionist view (Zig tends to lean to the practical side).
There are plans for a deep dive into std much later in Zig’s road to 1.0. In this phase, a lot will change about what’s missing, what’s in, what’s out, where things live, what they’re named, etc.
However, for all I know, there may be a thoughtful reason it isn’t there, but I’m guessing my answer above is pretty close to the actual answer. [NB - I’m wrong on this one – see link below]
3 Likes
4 Likes