Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hey, everyone, welcome to my talk on quantum cybersecurity.
Let's get started. So here's
a quick agenda of what we're going to be covering in this presentation.
First of all, we're going to be covering some classical encryption
methods. These include RSA, ECC,
Diff, Diffie, Hellman or DH, and so on.
Then we're going to have a look at Shore's algorithm. Shore's algorithms
is promising to break these classical encryption methods
that you and I commonly use on the Internet. Today. We'll see
what it's about and how it works. Finally, we're going to
be reviewing some quantum resistant classical encryption
methods that are resistant to quantum attacks, like Shore's algorithm.
So to start off with, what is digital security?
When you talk about securing our data on the Internet, what exactly
does that refer to? Well, digital security is a pretty broad
term, and it's essentially defined by the process of protecting
devices, your data, across the Internet,
and even at rest, let's say, on your computers or otherwise,
from misuse. So in this case,
for this presentation, we won't be covering all of the different aspects
of digital security. Rather, we'll be focusing on cryptography,
because that's where Shore's algorithms promises to cause
a lot of mayhem in classical cryptography. So here's
a quick example of what encryption is.
Encryption is the process of taking data that you
already have and converting it to gibberish
using mathematical formulas. So, as an example,
confidentiality.
So let's talk about encryption. Encryption is the process of taking
your data and encoding it using a mathematical algorithm.
This encoding will ensure that anybody who gets access
to your data won't be able to understand, read it,
or really make any use out of it. And this promotes
confidentiality, confidentiality of your data. So you
can rest at ease knowing that nobody will be able to read or
understand what your data is. So here's an example
of encryption at so here's
an example of encryption at play. This is Dave.
Dave has some data that he wants to encrypt. So what is
he going to do? Well, first of all, he's going to take this document
and encrypt it into some gibberish using
a mathematical formula. Now, once he converts it to
this gibberish, he's going to send this gibberish off
to his friend Alice. Now,
Alice not being able to read any of the data,
she is the intended recipient. So she technically should be able to read it,
but she can't because it's gibberish. So what she's going to do
is she's going to use her key, which is essentially able
to reverse the encryption process and get the
original data that Dave sent. Hence,
this sort of loops back into an entire chain where
you can send encrypted data, and then the receiver
can decrypt it using the key that he or she has.
And so this is essentially one kind of encryption,
but it's a very popular one. And this is basically
what you see on the Internet and
many other data communication methods. This is essentially the process
that's being done. So here
are some examples of encryption methods on the Internet. Some of them include
RSA, or the Rivist, Shamir and Edelman algorithm.
These are the names of the creators who created this algorithms.
There's also.
So some examples of these algorithms include RSA,
or the Rivist, Shamir, and Edelman algorithms,
named after the creators of this algorithm. Some use cases
for this algorithms include web browsers,
emails, vpns, and so on. We also
have another algorithm called the diffie Hellman algorithm,
or Df. This algorithm is commonly used in Internet
protocols like TLS, SSH,
iPsec, and so on. Finally, we have
ECC, or elliptic curve cryptography.
You'll know about this if you research.
You'll know about ECC if you research into bitcoin,
cryptocurrency, hashing, and that kind of stuff, because it's very
commonly used in that industry.
So here's
an example of classical factor finding. So in
this example, we want to find the factors of the number 15.
Well, that sounds pretty easy. It's just three and five,
right? Three times five is 15. There we go.
But remember that we, as humans can do this quite easily,
and it's pretty obvious what the answer is. But for a computer,
while there may be more optimized methods, let's just go with
the generic brute force example. So, a computer,
to be able to find the factors of the number 15,
it's going to have to go through all of the possibilities of
factors that can multiply together to create the number 15.
So once this algorithm brute forces
all of the possibilities. And again, there may be more efficient
algorithms, but for our specific use case, and the
message that I want to convey, it isn't going to change too much. So we're
just going to stick with this one. To find the factors of the
number 15, it's going to take approximately 256
possibilities, and that is a lot of possibilities to go through,
until finally, at some point during those
256 possibilities, the computer will be
able to find the factors of 15, which in this case are three and five.
Right. And here's an example of Shore's algorithm.
Now, this is a massive number, like, what's even going on over here?
Well, this is sort of a common number that's used in RSA encryption,
and you can see how many numbers there are. I believe that's about 150
or maybe even 300. That's a very, very big number. And this is the
sort of number that you'd expect to see in an RSA algorithm.
Now, here are the factors of this number. Again, they're massive.
Right. So how do you actually compute this
using a computer? Because if a computer
were to go through all of the possibilities for this number, there'd be
these many possibilities. That's kind of crazy. So how
are computers meant to do it? Well, it's pretty simple,
actually. They can't. So classical computers can
do this calculation in a reasonable amount of time.
It's a problem. However, quantum computers,
they can. So Shore's algorithm,
what does that actually do? Well, imagine going
through all of these possibilities on a classical computer, one after
the other after the other and so on, until you finally reach the
factors that give you the answer 15. So Shore's algorithms
essentially gives you the possibility to search through all
of these possibilities simultaneously with about
eight qubits or eight quantum bits. And that
is a fascinating thing about Shore's algorithm.
It allows you to go through all of these possibilities with just eight
quantum bits or eight qubits, compared to
doing each of these processes individually with,
let's say, a single bit or a couple of bits for each
possibility and doing them iteratively one by one. But with
Shore's algorithm, you can execute all of them at once,
all of the possibilities, you can test all of them,
and you can do that using just eight qubits, which is
absolutely insane.
So with these number of possibilities to go
through, and that's a lot of possibilities, we really end up with two
options here. Either if we do it classically,
it'll basically take an infinite amount of time, because that's a lot of possibilities
to go through. Or if you would do it using a quantum computer,
and let's assume, let's say, 2000 qubits, it would
take about 9.2 years. It's better than the previous
one. So basically infinity, but it still takes 9.2
years with 2000 qubits.
So that isn't something that we can
still feasibly do. Right. So what about that
authentic estimate that if you had about 20
million qubits and that's a lot of qubits, mind you,
that would take 9 hours to
break an RSA encryption. So 9 hours with
20 million qubits, and if you have, let's say, 2000 qubits,
which is a lot more realistic, it'll take you about 9.2 years.
So, yes, it's better than infinity for sure. But practically
actually, breaking an encryption scheme like this, it won't really retain
any of its benefits after like 9.2 years,
or there'd be a very, very low chance of it. And so a hacker's
motive to do this would basically be gone by then.
So what's the reality of quantum computing
in this day and age? Are these things really possible?
Do we have 2000, 20,000 or 20 million
qubits to actually use? Well, no,
unfortunately, we don't. In fact, we're actually very limited by
the number of qubits that we have. So the reality is that IBM's
biggest machine, just 433 qubits,
we said that it would take 9.2 years for a 2000 qubit machine.
But if we just have 433 qubits,
that's pretty bad. And that's
not the only thing. We have another issue to consider as well.
These machines, they're not perfect.
In fact, they're quite the opposite. They are error prone,
meaning that they get a bunch of errors. Your computing
are not perfect. So the
reality of the situation is that your machines have errors.
They won't compute as fast. If you use error mitigation
or error correction techniques, they may not work as well, or it may
take the extend the time of the computation by a lot, and many
other similar problems as well. You need to keep them under dilution.
Refrigerators at very cold temperatures prevent any sort of environmental
noise. It's a very difficult task to actually remove
or prevent errors in a quantum computer. So the
problems are pretty obvious. The first is scalability due
to noise, right. We have noise from our environment, and that affects
our ability to scale the qubits, because our results would be skewed.
They'd not be as accurate as you want them to.
But if we have error correction, that is in
a problem. The problem is that we don't. So we do
not have very good error correction, error mitigation,
or any of these similar techniques to actually reduce or negate these
errors completely. We do not have these techniques made right now,
and that is why quantum computers, practically on
the hardware side, are so limited in today's day and age.
And this is, well, it's definitely very comforting
to us as users of the Internet and technology
in general. But there's still another problem,
which we have to consider called SNDL, or store
now, decrypt later. So what this basically is, and you might
be able to guess by the name, is hackers take encrypted data
and just simply store it. I mean, you can still get encrypted data
pretty easily by doing packet sniffing or basically
sensing a network for transactions going on and
just storing that encrypted data, even though you can't use it,
at least you can store it, right? So what hackers are planning on doing
is storing a bunch of data, credit card data,
transactional data, RSA data, all of these different kinds of
data. They plan to store them and then decrypt it later
when quantum computers actually come onto the scene, and when they
have that many qubits, when they have that level of error correction,
that is what hackers are planning on doing, which is
obviously very dangerous. So post
quantum encryption algorithms, these guys are here to the rescue.
What are they? Well, NIST, the traditional institute
for Standards and Technology, they've essentially partnered
with researchers all around the globe and held a competition
to find the most efficient post quantum encryption algorithms.
These are classical encryption algorithms that are resistant to
quantum attacks, and they came up with quite a few. So what
are they? Well, the first one is crystals.
Crystals does key encapsulation as well as digital signatures.
And this is pretty much one of the most popular ones,
at least in my opinion, out of the three that we're going to see over
here. It is very robust. It has multiple implementations
or variations that have been implemented.
And to be honest, it is my personal favorite. So the first one is
crystals. Second is Falcon. This is specifically for compact
digital signatures. This increases the
speed it takes to actually implement these digital signatures, the time
it takes to encrypt and decrypt and so on. And it makes
the whole sort of sending process to actually send the
information or the digital signatures or the data from one place to the
other. Since the signatures are a lot more compact, it won't
take as much storage space, and hence the
sending of data. Sending and receiving of data is much quicker.
The final algorithms is sphinx. This is a hash based
digital signature algorithm, pretty similar to the other two as well,
although it does have its unique kinks as well.
So that is the end of my talk. It's a pretty short one,
but I hope you got a good general overview of what quantum cybersecurity
is, what shore's algorithm is, and what all of this holds for
us in the future. I just want to talk a bit about QuAE.
So QuAE is an organization that I'm leading
alongside a few other people here in the UAE, and our mission is
to democratize and advance quantum computing education,
empower individuals from diverse backgrounds to explore, understand and
harness the power of quantum technologies. We are under a bigger organization
called Qworld, which does these same global initiatives.
And you could say broadly what our vision is,
is to create a world where quantum computing is accessible,
understood and harnessed by a broad endeavors community. We envision
a future where quantum technologies revolutionize industries, solve complex problems,
and unlock unprecedented possibilities, whether bad
or good. I mean, it's sort of a mix between the
both, as you could clearly see from this presentation. So our
initiatives, what have we done so far? Well, CODIS HQ, it's a government entity
in the UAE that we've partnered with on multiple
occasions, including this one where we did a quantum computing hackathon
at Zaid University. We also did a
demo of New York University, Abu Dhabi's spinq
quantum computer. This is a two qubit nuclear magnetic resonance,
or NMR, quantum computer. And we did a demo for this for
our community live on Zoom.
And then finally we have regular meetups. This was our
first one on the 31 may, quite recent, actually, at code
is HQ, and we talked about quantum computing, what it holds for the future,
and also taught sort of a bit of Kiskit basics. Kiskit,
it's a library which you can use to program quantum computers. And we
covered a lot of basic quantum computing concepts. It was quite a fun experience in
general. And so I invite all of you guys to join us
for our initiatives. Join us on our discord servers for education
related courses, workshops that we regularly organize. We have
unpaid internships, opportunities to work with amazing researchers around the
globe, and also opportunities for independent funding and
doing your own research and sort of advancing the field of quantum science.
So I invite you guys to join our social souls, and thank you
so much for attending this talk. I hope you enjoy the rest of the conference.