I have a ciphertext encoded with One Time Pad. I do not know the key. How can I find the possible keys which when decoded, will result in a meaningful plain text?

-
Take the ciphertext you have and the message you want, xor them. That gives you the key which decrypts the message to that given message. Obviously this only works with OTPs, not with short key stream-ciphers. –  CodesInChaos Aug 16 '13 at 9:38

You will need more than one ciphertext encrypted with the same key to do that. The one time pad is perfectly secret if the key is used only once (Which is why its called the one time pad).

The only way for you to find the actual key without more ciphertexts is to try all possible key combinations (i.e. brute force it), but this could take a long long time if your ciphertext is also long.

If you manage to get more than one ciphertext, you could XOR the two ciphertexts together and use crib dragging techniques to determine the contents of the plaintext. This is possible because the xor of two ciphertexts is the same as xoring the two plaintexts together:

Let:
c1 = p1 xor k
c2 = p2 xor k

Then:
c1 xor c2 = (p1 xor k) xor (p2 xor k)
c1 xor c2 = p1 xor k xor p2 xor k          (associative property of xor)
c1 xor c2 = p1 xor p2 xor k xor k
c1 xor c2 = p1 xor p2 xor 0                (k xor k = 0)
c1 xor c2 = p1 xor p2                      (x xor 0 = x)


See the link i posted to see how this relationship can be used to uncover the plaintext.

Also, notice that the above property would not hold if i had two keys k1, k2 instead of just k.

-
You may want to reread the question, which was how to find the key (pad) which will map a given ciphertext to a given plaintext (or a given ciphertext to meaningful plaintext for some definition of "meaningful", not sure how best to interpret it). –  Thomas Aug 16 '13 at 13:13
As far as i understood the OP wants to figure out what the key of some ciphertext is? Figuring out the plaintext would reveal the key in the process. There is no mention of having both the ciphertext and the plaintext which is why i answered the question as i did. If its the case where both the plaintext and ciphertext are available then it can simply be found by xoring the plaintext and ciphertext together. –  Michael Aquilina Aug 16 '13 at 13:31