1
$\begingroup$

I refer to questions For a one-time pad, which MAC method is information-theoretically secure?, Seeking clarification of OTP & MAC discussion and this page illustrating various MACi. And the question context is authentication of true one time pads.

The MAC requires one or two secret keys depending on the algorithm. Where should these keys come from in a OTP environment? Should they come directly from the store of OTP key material, or should they be entered from memory by the user (via a password then a key derivation function)?

$\endgroup$

1 Answer 1

2
$\begingroup$

Should they come directly from the store of OTP key material, or should they be entered from memory by the user (via a password then a key derivation function)?

Depends on what the security goals are. If you are satisfied with computational-complexity security (that is, with the assumption that the adversary is not able to amass sufficient computational power to break the system), then entering a password from memory is fine.

On the other hand, the fact that you're using OTP for privacy might indicate that your security goals might be a tad higher than that; if so, then using some of the bits from the one-time-pad would make sense (and is generally fairly cheap, as there are informationally secure MACs, such as the One-Time MAC on the page you cited [1], that require a fixed number of secret bits per message (compared to the 'number of secret bits depends on the message length' that privacy requires).

[1]: BTW: the description they give on the page is missing a few details, for example, how leading 0 message blocks are treated. It might be easier to take the core of either Poly1305 or GMAC (the authentication part of GCM), and use OTP bits rather than the output of ChaCha20 or AES - those constructions have the details worked out.

$\endgroup$
2
  • $\begingroup$ Err, what does "some of the bits" mean? Is that a hybrid password/TRNG combination? $\endgroup$
    – Paul Uszak
    Jan 24, 2022 at 0:21
  • $\begingroup$ @PaulUszak: the one-time-pad consists of a series of random bits. Use some of the bits for privacy (xor'ing with the plaintext to form the ciphertext) and use other of the bits for the integrity (one-time-MAC) $\endgroup$
    – poncho
    Jan 24, 2022 at 3:10

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.