Step 3 requires us to create a random 100-char key for vigenere if the key is empty:
If someone doesn't submit a key at all, generate a truly random key of at least 100 lowercase characters in length.
and nowhere in the instructions is there mention of a minimum key length.
However, the tests require the function to return nil for any key < length 3, including length 0.