This can be used for decryption, but just do negative shift lengths for that. Sorry it turns out all lowercase every time. Only supports letters
Shift length 1: A-B B-C C-D ... Shift length 2: A-C B-D C-E ... Shift length 3: A-D B-E C-F ... Shift length 4: A-E B-F C-G ... Shift length 5: A-F B-G C-H ... ...