Week 10 - 2023
The weeknote for 3/6 - 3/12.
Job
Crypto
-
I was working on polyfills of
node:crypto
and mainly on AES cipher viacrypto.createCipehriv
API. This time I first learned AES in details, and I found it's very interesting. AES was selected from 15 candidates algorithms. NIST chose Rijndael algotihm as AES and published it as FIPS PUB 197. I still haven't understood it completely. I started the reading notes of AES spec in scrapbox. https://scrapbox.io/kt3k/AES_spec_readingAES itself is not enough for implementing
crypto.createCipheriv
. We also need to implement block operation mode to make it work. AES itself can only encrypt 128 bits input data, and it doesn't work for arbitrary length of data. To make it work for arbitrary length data, we need to choose block operation modes such as ECB, CBC, GCM, etc. These are also very complex and I still keep learning it. Interesting thing about it is that these block operation modes are defined independent of the block ciphers. They can be used together with any block ciphers.
Life
Tax return
- Filed a tax return for 2022. This was the 8th time I filed it by myself.