A big problem with these types of ciphers is that you need to transmit the key somehow. If you have had no previous encrypted contact with the intended receiver, you have to get the key to that person in plaintext. This is why public key cryptography was invented.
As a side note, isn't this just a less secure Enigma cipher? Alan Turing would have your u-boats for dinner.