So you want to study with or visit me?
This page is general notes on PhD applications,
internships or job applications to work with me.
These are specific notes related to the work
It has been written to enable me to collate in
one place all the questions which I answer for
I do not offer general summer internships for
We have a limited number of summer internships
targeted at undergraduate Computer Science students
from Bristol only.
Please do not email me with requests for internships,
I get so many I am unable to respond to them all.
Any post-doc jobs we have are advertised on the
CS departments web site, and for cryptography on the
IACR web site. Please go there in the first instance.
Want to visit
If you are an existing researcher and you want to visit
me to work on something, please first talk with me
at one of the conferences I attend.
If you are a PhD student then pass your request via
your supervisor, assuming they already know me.
Again we get so many unsoliciated requests I am unable
to respond to all of them.
Prospective PhD Students
Please apply using the procedures outlined here
and not via direct email to me.
This helps us track all applications.
Generally I am after PhD students who can work in a
combination of theoretical and practical cryptography.
So I am more interested in your mathematical and/or
theoretical computer science skills rather than any
experience with security systems.
I am after people with a subset of the following
backgrounds; pure mathematics, computer science
and generic skills.
I elaborate on these below, note that I treat
programming as a generic skill and not a property
of a Computer Scientist.
In your application please highlight the background
you have in the above areas.
- Pure Math
If you have done a Math degree I am interested in
you having covered various subsets of algebra;
for example Galois Theory, Number Theory (up to
say class groups of number fields), Algebraic
- Computer Science
If you have done Comp Science I am interested in
what in theoretical computer science you have done;
for example Complexity Theory (up to say the complexity
classes IP and BPP), Formal Methods, Information Theory.
- Generic Skills
I expect students to be able to perform experiments
using a computer; either using a language such as C/C++
or via an algebra systems such as Magma, Maple or SAGE.
We also expect students to be able to give presentations
and to be able to think on their feet.
If you have done a course on cryptography or a project
please detail this.
Pay particular attention to covering how much you have
already covered. For example do you already know
What IND-CCA means? What RSA-OAEP is? What a zero-knowledge
proof is? What is meant by secure multi-party computation?
Describe in your proposal the research you want to do. This
should be aligned to my interests, so read some of my recent
papers. In other words do your homework on the place you
are applying to. If you want to work on something which I
am not interested in working on then your chances of success
are close to zero.