3
$\begingroup$

I am currently a MSc student in number theory and considering switching to a phD in cryptography. I would like to use number theory techniques. (i.e. RSA, elliptic curves, etc).

The purpose of all of this is to find a job outside of academia. I would like to find a job in the industry. Here is my worry: in 10-20 years quantum computers will be able to "solve" these problems. Hence, number theory will become useless in cryptography.

Knowing this, will I be able to find a job in the industry in, say, 5 years? My thought is that I will eventually have to adapt but so will everyone else. Will this be a problem for my career?

Kind regards.

$\endgroup$

closed as primarily opinion-based by e-sushi Apr 3 '18 at 19:59

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 6
    $\begingroup$ 'Hence, number theory will become useless in cryptography'; perhaps not, if isogeny-based cryptography still remains viable... $\endgroup$ – poncho Sep 21 '17 at 23:32
  • $\begingroup$ Tell me more @poncho. What is isogeny-based cryptography? $\endgroup$ – usere5225321 Sep 21 '17 at 23:33
  • $\begingroup$ en.wikipedia.org/wiki/Supersingular_isogeny_key_exchange $\endgroup$ – poncho Sep 21 '17 at 23:34
  • $\begingroup$ Sweet @poncho!! It is post-quantum crypto and it still uses elliptic curves! So I could do my phD on this problem and have no problem finding a job in the industry afterwards? $\endgroup$ – usere5225321 Sep 21 '17 at 23:41
  • $\begingroup$ I actually think industry is (still) interested in solutions based in standard assumptions like factoring or discrete logarithm, mainly because it's widely used nowadays and most likely still in 5 years (even 10, 15... 20..?) $\endgroup$ – Daniel Sep 22 '17 at 0:03
9
$\begingroup$

If you want to end up in the industry, I strongly doubt a PhD is a good investment of your time, regardless of the rest of this discussion.

I believe a general purpose quantum computer, the kind that will send us all to relearn all our algorithm theory, is far from certain in 20 years. I won't even be surprised if someone publishes tomorrow a serious proof it can't be built. 10-20 years ago people were making similar predictions, and though quantum annealing seems to have moved forward, general quantum computers have not advanced much.

In the industry, people won't want to hire you because of your specific thesis and maybe not even because of your field of study. A PhD shows you are intelligent, capable of independent research, capable of finding and reading the latest literature, etc. These are marketable skills.

I read many PhD resumes on a daily basis. And though we do machine learning and artificial intelligence work, I won't throw out a cryptography PhD resume. However the real question with any PhD resume is: can they build production grade software? I believe our own requirements are common in the industry.

$\endgroup$
  • 1
    $\begingroup$ I have seen job requirement like "3 years of experience in Formal Mehtods". A PhD is also a job and thus qualifies as "X years of experience", what is also important is what you do during your PhD. $\endgroup$ – Biv Sep 22 '17 at 8:42
  • 6
    $\begingroup$ I would also add this: worrying about hypothetical possibilities in 20 years when deciding the subject of a PhD is a bad idea, as the world is essentially unpredictable at more than 2 years. If you want to go for a PhD, do it in the area where you will most likely have fun, and feel competent. If you want to work in the industry afterward, go for it. If in 20 years, quantum computers appear (and I share the doubts of Meir Maor on this), you will have plenty enough time to respecialize, and you wont be rejected by companies because 20 years ago, you used to work on number theory. $\endgroup$ – Geoffroy Couteau Sep 22 '17 at 9:14
  • 4
    $\begingroup$ 'general quantum computers have advanced not much'; I would disagree with that; one big advancement would be the reduction on error rates on individual physical qbits; the error rates are now low enough that known existing QEC algorithms will be able to produce logical qbits that are more reliable than any physical qbit. Yes, there's a lot of work left; however this is a significant milestone... $\endgroup$ – poncho Sep 22 '17 at 12:49
  • $\begingroup$ Advantages before the useful for any task phase are difficult to quantify. There are still fundamental problems. We are still deep in the academic research phase and not in the let's make it practical phase. But this argument has little barring on my answer to the question asked. $\endgroup$ – Meir Maor Sep 22 '17 at 15:14
7
$\begingroup$

I can speak to the job-market part of the question. I work as a security architect at a company that makes authentication and encryption software products (read: crypto is at the core of every product).

Finding people to hire who can pass an interview on web dev, AWS, or even C++ and linux kernel dev is easy compared with finding people to hire who can pass interview questions like this:

  • What is the difference between a signature and a hash?
  • What is the size of the keyspace of 16 character passwords with uppers, lowers, numbers, and {, "/", "+"}, and if chosen at random, what is the probability that they collide?
  • Group these TLS cipher suites by the security level of their weakest primitive.
  • etc

I may be exaggerating a touch on the questions, but it took us two years to fill a single opening on the security architecture team. Finding candidates who grok crypto is freaking hard. If you come in with a solid intuition on the fundamental theory of crypto and security, and are willing / able to do on the job learning about new tech, the company's products, and software development practices as a whole, then you should have no problems finding a job. Period.

$\endgroup$
  • 2
    $\begingroup$ For bonus points on the TLS question, throw in cipher suites with 3DES, RC4 and NTRU to get real confused looks from the kids these days. $\endgroup$ – Mike Ounsworth Sep 23 '17 at 2:16
  • $\begingroup$ Did anyone at your company consider training someone? $\endgroup$ – Paul Uszak Sep 23 '17 at 21:57
  • 3
    $\begingroup$ @PaulUszak I sense some condescension there. Sure, fully onboarding somebody into this position takes about 18 months, so that's 18 months of training and self-motivated learning on the job. It would take longer if we have to teach them, you know, math. Another path we do is to find internal people already in development who know the products and some crypto, and then teach them math / security / theory, but that didn't seem as relevant to this question since the OP doesn't seem to have a software engineering background. $\endgroup$ – Mike Ounsworth Sep 23 '17 at 22:12

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