Ar trebui să provină direct din depozitul de material cheie OTP sau ar trebui să fie introduse din memorie de către utilizator (prin intermediul unei parole, apoi printr-o funcție de derivare a cheilor)?
Depinde care sunt obiectivele de securitate. Dacă sunteți mulțumit de securitatea complexității computaționale (adică cu presupunerea că adversarul nu este capabil să strângă suficientă putere de calcul pentru a sparge sistemul), atunci introducerea unei parole din memorie este bine.
Pe de altă parte, faptul că utilizați OTP pentru confidențialitate ar putea indica faptul că obiectivele dvs. de securitate ar putea fi puțin mai mari decât atât; dacă da, atunci ar avea sens folosirea unora dintre biții din panoul unic (și, în general, este destul de ieftină, deoarece există MAC-uri sigure din punct de vedere informațional, cum ar fi MAC One-Time de pe pagina pe care ați citat-o [1], care necesită un număr fix de biți secreti per mesaj (comparativ cu „numărul de biți secreti depinde de lungimea mesajului” de care confidențialitatea o cere).
[1]: BTW: din descrierea pe care o oferă pe pagină lipsesc câteva detalii, de exemplu, modul în care sunt tratate blocurile de mesaje 0. Ar putea fi mai ușor să luați nucleul fie Poly1305, fie GMAC (partea de autentificare a GCM) și să utilizați biți OTP mai degrabă decât rezultatul ChaCha20 sau AES - acele construcții au detaliile rezolvate.