Ad esempio, diciamo che ci sono due persone nominate, Bob e Jim.
Bob vuole inviare a Jim un messaggio segreto lungo e decide di utilizzare un OTP per crittografare il suo messaggio . Sia Bob che Jim conoscono una password segreta ma è lunga solo 8 caratteri, quindi non possono utilizzarla per crittografare l'intero messaggio. Inoltre, non possono condividere in modo sicuro una nuova chiave.
Quindi Bob genera diverse chiavi casuali "child", e quindi usa la loro password come seme per un CSPRNG che usa seleziona casualmente una serie di caratteri dai tasti "figlio" per formare una nuova chiave, che poi usa per crittografare il suo messaggio. Bob invia quindi i dati crittografati con le chiavi "child" a Jim.
Quindi, fintanto che Jim usa lo stesso seme (la loro password) per CSPRNG, la stessa sequenza verrà selezionata dalle chiavi "figlio", quindi restituendogli la chiave usata da Bob, che può essere usata per decripta il messaggio.
Pertanto, supponendo che un utente malintenzionato abbia una potenza di calcolo infinita, presto si renderà conto che il messaggio potrebbe essere decodificato in un numero di possibili messaggi (proprio come l'OTP originale) e perché non sa quale seme (password) è stato usato per CSPRNG, non saprà mai con certezza quale messaggio è quello vero.
Quindi, questo "adattamento" dell'OTP funzionerebbe effettivamente nel mondo reale? Quali sono le debolezze crittografiche dell'utilizzo di un OTP in questo modo?