# Tag Info

-1

If you mean perfectly secure, then YES OTP is indeed perfectly secure. But if you mean practically secure, then NO OTP is not practically secure. The reason is due to the fact that OTP requires usage of perfectly random numbers used as keys on both sides, however in practice using completely random keys is non-trivial, and usage of Pseudo Random Number ...

1

Is this secure? Yes, One-Time-Pads (OTPs) can be proven information theoretically secure. For a sketch of what this means and how to do this, please refer to this previous answer by me. Can I actually use modular addition as encryption like it said in Wikipedia? Yes, any group operation can be used to form a pefectly secret encryption scheme ...

4

Your first sentence is entirely wrong. A OTP is a theoretical construct that requires a fully random key (at least) the size of the plaintext. Limiting the amount of random bits to 256 will by definition not be an OTP - at least not for constructions that accept a plaintext larger than 256 bits. The same idea is that if you use a key called $i$ which is ...

4

As long as the keys $K_i$ are only used once, this is semantically secure. To see it, observe that if $K_i$ is a uniformly random value in $\{0,1\}^{|M|}$ then so is $C_i = M \oplus K_i$.

2

/dev/urandom is only computationally secure, so you won't get information-theoretical security for your OTP if you draw it from /dev/urandom. If you're happy with computational security, you might as well use a stream cipher instead of a OTP. Stream ciphers are much easier to use securely than OTPs. On Linux /dev/random aims for information-theoretical ...

2

Scheme is not IND-CPA for any message longer than one block. I'll include a image of CBC mode below for reference (Source: Wikipedia). Suppose instead of block cipher encryption we have plaintext xor-ed with the key as you propose. You'll note that for message block 1, $M_1$, the ciphertext block $C_1 = M_1 \oplus IV \oplus Key$. Similarly \$C_2 = M_2 ...

Top 50 recent answers are included