# Machine learning to break imperfect randomness

I have a shared randomness between two user. But to make situation worse Eve can listen to exchanges and guess noisy or error prone version of shared randomness, whose correlation varies depending on it's proximity from either party. Are there works to help leak secret based on Eve's observation using machine learning?

• I think your question might be too broad for this site. Can you distill it down to something more concrete? – mikeazo Jun 19 '17 at 15:50
• Eve's observation are correlated, less though, with Alice and Bobs about the secret. I can make Eve create situation to leak more information by increasing higher degree of correlation. Are there works using deep learning and feedback networks to assist Eve? – Jay Jun 19 '17 at 15:54
• Machine learning is meme tier jargon words now – daniel Jun 19 '17 at 16:44
• Related this question about machine learning in general. I guess most of it applies to this topic as well. – Maarten Bodewes Jun 19 '17 at 20:47

Both cryptography and machine learning are very broad terms. I gather you are wondering if it's possible to use some sort of inference techniques (like support vector machines or deep learning) to exploit a weak PRNG to extract a secret key. If this is possible, it's only true in a very limited manner, and there are probably more effective ways to infer secret material (see, for example, Bleichenbacher’s method for learning about biased nonces).

The only obvious application to me seems to be in the validation of the strength of a PRNG.

If you're willing to consider other kinds of applications of machine learning, you may be able to make some progress. For example, in this paper (unfortunately behind a paywall), the author trains a neural network to carry out a known-plaintext attack against DES and 3DES and infer the plaintext from a given ciphertext. Of course, DES and 3DES are not secure, and the key is not leaked by the method. Furthermore, I don't find this approach any better than just brute-force. Why not?

Machine learning is most useful when it can teach you something about your data. Good cryptosystems publish their designs, so I already know what they will do with the data, so again, I can really only learn about the security of the generation of secret key material: Kerckhoff's Principle in action.

Machine learning may fit into the security landscape in other ways. Enter adversarial machine learning, which concerns the security of the ML itself. How do you know someone isn't feeding you deliberately-biased training samples to skew your algorithms, for example?

Also, consider the learning with errors problem: given a system of linear equations mod some $q$, solve it assuming some additive random noise is added in. The "random noise" part makes the solution very difficult. In a way, it flips your question on its head: trying to learn about vectors in this system has created a useful hard problem that cryptosystems can be built from!

• The quoted paper claims: "The attack was practically, and successfully, applied on DES and Triple-DES. This attack required an average of $2^{11}$ plaintext-ciphertext pairs to perform cryptanalysis of DES in an average duration of 51 minutes". I am totally skeptical! This has to be a statistical error, much like this which in other form crept in an international journal paper according to the author's webpage; see one of several rebutals. – fgrieu Jun 20 '17 at 5:29

Attacks against established cryptography of their modern time have rarely if ever succeeded without exploiting knowledge about the cryptographic system they attacked (I do not know any exception since WWII; Enigma, Purple.. are not; and I'd be surprised to learn of any since 1970 in the open literature).

This applies to machine learning: my advise is that it won't solve interesting cryptographic problems if it does not know the structure of the cryptographic system under attack.

I do believe in automated cryptanalysis:

• from output of weak (including some poorly studied) cryptosystems and random number generators;
• or from a description of the cryptosystem.

Machine learning can be useful towards these goals.

• My design involves Alice and Bob observing a process. By inherence property of design Alice and Bob observe similar(noisy) information while Eve's observation are different yet somewhat correlated. If Eve comes close to Bob or Eve tries to forcefully induce some physical changes she can leak more correlated observations.If Eve can use machine learning to leak the observations at Bob and Eve. Actually the observation itself is secret which is generated without any deterministic model. So learning model using Machine learning like described in previous suggestions can be still valid here. – Jay Jun 20 '17 at 7:16