You use the one-time pad to encrypt which is nice and all, but I have a question. How are keys distributed? One-time pad relies on completely random keys to be information theoretically secure. If, for example, you used Diffie-Hellman to distribute keys then this scheme would only be as secure as Diffie-Hellman is (notably, the difficulty discrete logarithm problem which is not information theoretically secure) since the completely random key would be sent using this scheme across the network. Furthermore, if the two parties agree on a pre-shared key then this is not information theoretically secure since the xor of two ciphertexts equals the xor of two plaintexts. If the adversary could guess a single plaintext he or she has the key. Finally, if the two parties agree on a pre-shared key then use that to seed a PRNG, then this is not information theoretically secure either since the key is no longer completely random. If an adversary knows the number of messages sent then he or she only has to guess the seed of the generator in order to be able to recover every single message sent. Again, since we are using the one-time pad, the xor of two ciphertexts equals the xor of the two corresponding plaintexts. Guessing any plaintext and getting it right would give the key and, unless one is careful, the internal state of the PRNG.

I guess I'm just curious what you do.