Given that there are two parties, and a process has been conducted by which both parties are knowledgeable of a shared value p, how could two parties communicate with each other over a public channel using the value p as a seed for a random number generator?
-
2$\begingroup$ Practically speaking you should use a stream cipher if you have a pre-shared key, preferably one that offers authentication e.g. AES-GCM or (X)ChaCha20/Poly1305. Especially system PRNG's usually use the seed as additional value, and you don't know how the bits are extracted from the PRNG; sometimes this changes in runtime as well. I'll not go into symmetric key management (KDF's, ratchets, double ratchets etc.). $\endgroup$– Maarten Bodewes ♦Apr 1 at 2:26
-
$\begingroup$ I did not hear about stream cipher before, I will look into it if it promises a more practical approach. But I have a secondary question, given that I have a primitive root modulo as used in the Diffie-hellman key exchange, how could I only allow a prime value to be the shared value between two parties? For example, I want to have it so that a central authority has knowledge of a secret shared prime between, let's say Alice and bob, and they each share a unique value a for Alice (Alice) and b for bob(bob) respectively, with the central authority that is prime. $\endgroup$– Kevin PerezApr 1 at 2:35
-
1$\begingroup$ I have no idea what you're describing here, or what you are trying to achieve. What do you mean with a "shared prime"? You're using cryptographic terms, but I'm not sure you understand the underlying principles of the terms. $\endgroup$– Maarten Bodewes ♦Apr 1 at 14:02
-
$\begingroup$ @maartenBodewes read one of the last pages on this research paper here $\endgroup$– Kevin PerezApr 1 at 22:05
-
1$\begingroup$ That does not appear to be a high-quality cryptography paper. $\endgroup$– SAI PeregrinusApr 2 at 12:59