Skip to content

State that "base32" always means RFC4648, unpadded.

Ian Jackson requested to merge Diziet/torspec:base32 into main

I found src/lib/encoding/binascii.[ch] in the C Tor codebase. It has

  #define BASE32_CHARS "abcdefghijklmnopqrstuvwxyz234567"

The function "base32_encode" says "Implements base32 encoding as in RFC 4648.". Now, that RFC says that it's supposed to be padded unless explicitly stated otherwise. However, the padding is pointless and neither our "base32_encode" nor our "base32_decode" seem to implemnet it.

I hope that we are using the same base32 encoding everywhere, but have not checked.

Merge request reports