Spent today rewriting the reference C implementation of #SipHash, a secure message authentication code (MAC), in pure gawk (gnu #awk).

I was curious how well the bignum support (-M) works since you need full 64 bit ints (not 64 bit floats -- effectively 53 usable bits). Also needed #gawk because plain old awk doesn't have bit operators.

My inspiration came when I stumbled upon AES written in pure gawk (https://github.com/GinSanaduki/AES_in_AWK/)

GitHub - GinSanaduki/AES_in_AWK: AWK (GAWK) version implementation for the purpose of understanding AES from the specification

AWK (GAWK) version implementation for the purpose of understanding AES from the specification - GinSanaduki/AES_in_AWK

GitHub