So I recently learned about the concept of a One Time Pad; and I from what I understand it means that if a XOR key is completely random and equal to or longer than the plaintext, it makes it so that anyone trying to break the encryption would basically only be able to narrow it down to all appropriate possibilities from the selection field.

Is there a way to renew the key over each transmission between clients sharing a key? In other words, if the original key is xxxxxxxxxxxxxxxx and the sent data is made of the first half being a message and the next half being some form of data, can a pre-determined protocol be fed the data to generate a new full-length key? Or is it impossible to do this without compromising the integrity of the randomness of the new key? What would theoretically be required of such a protocol to make it secure?

Thanks in advance!

  • 3
    $\begingroup$ So in other words, using an algorithm to generate the pad? That's what a stream cipher is. $\endgroup$
    – forest
    Dec 26 '19 at 3:49
  • $\begingroup$ Yes, but does that send only a small amount of data that can be used to generate a full-length symmetric key again without compromising the security of the random characters? $\endgroup$
    – Goel Nimi
    Dec 26 '19 at 5:44
  • 1
    $\begingroup$ You could describe it that way. The "official" way to describe it is that the stream cipher expands a finite key into an unlimited keystream which can be XORed with plaintext. $\endgroup$
    – forest
    Dec 27 '19 at 8:21
  • $\begingroup$ Ok thanks! @forest if you want to put that as an answer so I can select it that would be great! $\endgroup$
    – Goel Nimi
    Jan 1 '20 at 19:02
  • $\begingroup$ You cannot renew the key without also breaking the requirements of a fully random key if you perform the transmission over the same / unsecure network. The reason for this is that you need to use as many bits from an OTP key stream to encrypt the new OTP key stream, so you can only break even. Otherwise it may still be secure, but it would not be an OTP. $\endgroup$
    – Maarten Bodewes
    Nov 26 '20 at 12:38