Podcast
Root Causes 280: Did an AI Break CRYSTALS-Kyber?
Hosted by
Jason Soroko
Fellow
Original broadcast date
February 24, 2023
Recent news reports might suggest that an AI-enhanced side attack has defeated the CRYSTALS-Kyber PQC algorithm. In this episode we clarify that Kyber has not been defeated to date and exactly what did occur. We define side channel attack, discuss the broader implications of this attack, and speculate on what would happen if Kyber actually were broken.
Podcast transcript
Lightly edited for flow and brevity.
TCTim CallanSo we saw a headline. This particular article appeared, it was February 21, 2023 in Security Week, written by Kevin Townsend and I’m gonna read the headline: “AI Helps Crack NIST Recommended Post-Quantum Encryption Algorithm”. Subhead: “The CRYSTALS-Kyber public-key encryption and key encapsulation method recommended by NIST for post-quantum cryptography has been broken using AI combined with side channel attacks.”
So, Jason, when I read this headline my brain exploded because I thought, OH WOW! But I think we’ve learned that there’s more to it than this. Correct?
So, Jason, when I read this headline my brain exploded because I thought, OH WOW! But I think we’ve learned that there’s more to it than this. Correct?
TCTim CallanSadly over-simplified.
TCTim CallanThat’s the first headline. CRYSTALS-Kyber as a cryptographic algorithm as of the time of this recording has not been defeated. So, go on, Jason. What really happened then as opposed to CRYSTALS-Kyber having been defeated?
TCTim CallanAnd, Jason, my brain is telling me that you and I might have done an entire episode on this, but I didn’t look it up. Just briefly, what is a side channel attack?
TCTim CallanSo, something like power consumption or voltage or sound emitted actually is modified, changes, based on the operation that’s being run and if you can understand what these changes signify then you can help to reduce the potential possible activities that a chip is taking and narrow the field of what you need to research. Which is one of the methods that people use to sometimes cut down on the cryptographic space that they are trying to break. Is that correct?
TCTim CallanSo, that’s what a side channel attack is. That was used in combination with an AI? What did they do?
TCTim CallanRight. So, to be clear, there is no need to run away from CRYSTALS-Kyber. We just need to make sure that we understand what is necessary to implement this correctly. The algorithm itself is not changing in any way but we have discovered – and we will probably continue to discover – ways that implementations of this algorithm could be vulnerable. We are going to need to document those and understand those and make sure that the real implementations in the real world in authenticate secure implementations isn’t subject to those vulnerabilities. Is that right?
Therefore, you are gonna see more attacks like this. What it really means is really, really good implementations that are rock solid. And it makes sense, Tim, because I mean CRYSTAL-Kyber hasn’t gone through the standardization process yet to make what is a rock-solid implementation of it standardized. That’s what we are waiting for, and it’s a good example of why we are waiting for it, and good on the white hat community for pressing AI against this and showing a weakness in implementation. Bravo. This is good work. This has to happen but it’s just up to the journalist to not be inaccurate or to sensationalize.
TCTim CallanOne more time. We’ve said this twice. We’ll say it a third time. CRYSTALS-Kyber is not itself threatened in any way. That said, one wonders, you know, AIs have gone through leaps and bounds improvements in a very short period of time and it would be easy to guess that if you tried this same attack two years ago that we might not have had the tools to make it succeed. Is there an implication here that somebody might be able to use the same methodology and go take a hack at tried-and-true implementations of other algorithms like RSA and ECC and defeat them as well? Like real stuff that’s really implemented in the real world and is this something we should be really worried about?
It wasn’t a side channel attack. It was another form of attack, but same thing. We’ve seen poor implementations ruin very good - - bad outcomes for very good intentions, unfortunately. And, hey, that’s what the white hats do. They ruin your day but they make you better
TCTim CallanAnd I guess this is asking you to speculate, but we do some speculating on this show. I start to wonder as our use of AI as a tool to augment our work becomes more sophisticated and as the AIs become better, and as you start to look at something that’s, again, very noisy and difficult to interpret for a human, like a side channel attack that in a lot of ways is made for AI, right, like that’s the juicy kind of AI use case right there, should we be worried that more attacks are gonna emerge against the real stuff we have in the real world that’s really widely deployed that there’s gonna be a whole new breed of zero days that we haven’t yet considered that are gonna suddenly pop up because of this new methodology?
TCTim CallanYeah.
TCTim CallanYeah. This particular combination of factors going into this particular attack was not something that had occurred to me until I just learned about it empirically and it just makes me wonder can you extrapolate that idea to other aspects of not even cryptography, just security in general? And maybe that’s too broad for this podcast but it’s an interesting thing to think about.
Now my next point that I come to out of this is, again, my initial response when I looked at this was HOLY MOSES, has CRYSTALS-Kyber been broken and if so, what are the implications of that. So I thought maybe it would be fun for you and I to talk about it. Let’s suppose that the headline and subhead as read were what I originally interpreted them to be. Someone had used an AI to determine that CRYSTALS-Kyber was fundamentally not secure as an algorithm. What would the implications of that be?
Just as a reminder for the listener, CRYSTALS-Kyber really is the de facto KEM in the NIST – key encryption module – in the NIST recommendations that we expect to be in use almost all of the time. So, hypothetically, if CRYSTALS-Kyber had to be taken out of the mix the way let’s say SIKE was last year or Rainbow was last year, what would that mean?
Now my next point that I come to out of this is, again, my initial response when I looked at this was HOLY MOSES, has CRYSTALS-Kyber been broken and if so, what are the implications of that. So I thought maybe it would be fun for you and I to talk about it. Let’s suppose that the headline and subhead as read were what I originally interpreted them to be. Someone had used an AI to determine that CRYSTALS-Kyber was fundamentally not secure as an algorithm. What would the implications of that be?
Just as a reminder for the listener, CRYSTALS-Kyber really is the de facto KEM in the NIST – key encryption module – in the NIST recommendations that we expect to be in use almost all of the time. So, hypothetically, if CRYSTALS-Kyber had to be taken out of the mix the way let’s say SIKE was last year or Rainbow was last year, what would that mean?
TCTim CallanProbably go to somewhere around four candidates in an awful hurry. Right.
TCTim CallanAnd try and see if you can feel good about one of these as the go forward algorithm. Classic McEliece would probably have to be the one just because it’s so well understood. We’d have to go, go, go because standards bodies are already talking about are they going to incorporate CRYSTALS-Kyber into their standards. Like they are doing that now. And if we have to switch to a different algorithm, maybe not all that work is lost but surely some of that work is lost.
TCTim CallanWe’ve talked about this in the past, too. Having all your eggs in that one basket just makes it really scary in case something bad happens to that basket. Especially since so much of these cryptographic strategies that we are talking about are relatively young and so they haven’t been in production for the last 40 years the way RSA has - 45 years. Such that there’s been a lot of time for people to pound on it. And these are just newer. And that makes us nervous. And what if we fundamentally misunderstood the only basket we have, and it turns out it has no bottom?
TCTim CallanYes. Thank goodness it failed before it was implemented on every single chip in production in the world.
TCTim CallanAbsolutely. And of course, the thing is, to some degree unless it can be mathematically proven that it’s unbreakable and even then you have to know are the boundaries of that mathematical proof really broad enough to cover all the possible attacks? And it’s ultimately a Black Swan problem, right? Like we are never going to know for sure that somebody tomorrow isn’t going to discover what wasn’t discovered today, and that’s just something we are stuck with. And, you know, this question about is something bad gonna happen? Are we gonna standardize on a PQC and roll it out super broad and then one day a genius at a whiteboard just ruins it all for everybody? That lurking possibility is never gonna really go away.
And we are gonna report on that here as soon as that’s announced. You know it.
TCTim CallanYou bet.
TCTim CallanThat would be enormous. If it turned out that you could use an existing quantum computer with an existing number of stable qbits and you could actually break an RSA session, a 2048-bit RSA session, gee, that would be the ultimate game changer
TCTim CallanAbsolutely. There’s all kinds of secrets that you don’t want to have revealed in a year. 100%. That would be big trouble even if it took a full year.
Wow. Ok. Well, anyway, this headlines as you can see, it got our attention real quick, but we will say for the fourth time in this podcast, the CRYSTALS-Kyber encryption algorithm has not been defeated. Rather, this is important progress in understanding how to implement CRYSTALS-Kyber correctly so it cannot be defeated and that’s the research to take away. It’s very important research but don’t worry, we are still good with Kyber for now.
Wow. Ok. Well, anyway, this headlines as you can see, it got our attention real quick, but we will say for the fourth time in this podcast, the CRYSTALS-Kyber encryption algorithm has not been defeated. Rather, this is important progress in understanding how to implement CRYSTALS-Kyber correctly so it cannot be defeated and that’s the research to take away. It’s very important research but don’t worry, we are still good with Kyber for now.