At this point, you generally throw hardware at a problem when you either have a power or throughput issue. AES-NI increased the speed of using AES on a CPU considerably, and there's not a reason that you couldn't use Chacha20-Poly1305, but no one has asked for it...in the CPU context.
Having said that, there's a bunch of cores for this available for FPGAs out there. It seems that CISCO has web proxy that has Chacha20-Poly1305 accelerated functions; however, I don't know the details of the implementation.
If you're going to be doing a task all of the time, hardware is great way to go, but if you're not expecting to do it, it's not worth the effort. Zeroth order from looking at the architecture, I would say that Chacha20 would be much faster than AES, as the circuits are smaller. (I've made AES/Blake2/SIMON/curve22519, so this is an opinion).
As an aside, we have super-scaler CPUs, so there's no reason for operations to be in order. I've never understood why AES-NI is clocked, and not just asynchronous where you just insert the output when it's done, like division units, but with AES-NI you have 10, 12, or 14 clocks. Chacha20-Poly1305 would be super easy to implement with or without a clock. I'd probably implement it clockless, but that'd require someone giving me a grant.
chacha20
is more a stream-cipher thanAES-GCM
? Both have a state where a round function mixes a key, and some other data, and the encryption is the same: the result of the mixing (of the length of the state) is xored with the plaintext. If you callchacha20
a stream cipher, so isAES-GCM
. $\endgroup$