Suppose I have a sequence of bits of length M. I need to hide N out of M bits (hiding means forcing them to be 0) using RNG with a key. How I can relate the output of RNG to the number and positions of N bits. Can the attacker knows a pattern here assuming the same key is used each time i want to send the bits? Assume the legitimate receiver use the same key to know the positions of the hidden bits from RNG.

  • $\begingroup$ If you use the same key and seeded RNG for each message the attacker will quickly be able to figure out which bits were hidden since they will be the same indices in all messages. $\endgroup$
    – Marc
    Commented Jun 24, 2020 at 9:48
  • $\begingroup$ Thanks @Marc, yes they will be the same indices but can you explain how the attacker figure out the hidden indices. do you assume known plaintext attack? any suggestion then $\endgroup$
    – Riva11
    Commented Jun 24, 2020 at 10:53
  • 1
    $\begingroup$ You indicated that the same key is used without per-message unique values (ie: IV in block cipher mode parlance). This means that the same indices are hidden in all messages. For each message, all zero bits are candidates for a "hidden bit". The more messages I see, the better my estimation of a true hidden bit index vs a bit that is actually zero in the plaintext. If I'm missing something, you may want to elaborate a bit on the details of your scheme. $\endgroup$
    – Marc
    Commented Jun 24, 2020 at 11:43
  • $\begingroup$ A chosen plaintext attack doesn't give me the key if the RNG is irreversible, but it gives me the list of all hidden indices. $\endgroup$
    – Marc
    Commented Jun 24, 2020 at 11:46
  • $\begingroup$ Thank you @Marc it is very clear $\endgroup$
    – Riva11
    Commented Jun 24, 2020 at 12:11


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.