Cracking and cryptanalysis are alike. Maybe the same. I like it.
...... var lowercase = input_char_value >= 26 ? true : false; //XXX document.write( alphabet.charAt(input_char_value) + '('+input_char_value+ ')__' + key.charAt(key_index) +'('+ alphabet.indexOf(key.charAt(key_index))+ ')__' ); input_char_value -= alphabet.indexOf(key.charAt(key_index)); //XXX document.write( '(' + input_char_value + ')'); input_char_value += 26; if (lowercase) input_char_value = input_char_value % 26 + 26; else input_char_value %= 26; //XXX document.write( alphabet.charAt(input_char_value) + '<' + '/p>' ); ......For more comfort, let's place it horizontally and forget the numbers, I will present some steps on the right, later comment them, password will be in uppercase below plaintext guesses
B u r u i h p p e y f z n B e k z u s z i k r k < ciphertext G o t o ? ? ? ? ? ? h t m ? ? ? ? ? ? ? ? ? ? ? < [1] B A G o t o ? ? ? j a v h t ? ? ? ? y o u ? ? ? ? ? < [2] B A B A A B A B A ? B A B Y | | | G o t o h ? ? j a v h t m ? ? e y o u t h ? ? e < [3] B A B A Y x y A B A B A Y x y A B A B A Y x y A G o t o h y p j a v h t m S e e y o u t h e r e < [4] B A B A Y A G A B A B A Y A G A B A B A Y A G A[1] "BA" starts pretty well, we immediately see the match on "Go to" and supporting match "you", very inspiring