Skip to content

blog post in post quantum crypto in k8s #582

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jul 14, 2025

Conversation

datosh
Copy link
Contributor

@datosh datosh commented May 30, 2025

Hey 👋
I recently spend some time researching the current state of post quantum cryptography in the cloud native industry.
For some topics I found little to no information especially in the Kubernetes ecosystem, so I thought I share my findings with the community!

Discussion on Slack:

Happy for any comments or suggestions on the post.

/cc @lmktfy

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label May 30, 2025
@k8s-ci-robot
Copy link
Contributor

Welcome @datosh!

It looks like this is your first PR to kubernetes/contributor-site 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes/contributor-site has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot k8s-ci-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 30, 2025
@datosh datosh force-pushed the post-on-pqc-in-k8s branch from 6a12508 to d5013cb Compare May 30, 2025 11:32
Signed-off-by: Fabian Kammel <[email protected]>
Copy link
Contributor

@jberkus jberkus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Composition/writing check. No real grammar/punctuation editing needed. However, one suggestion on article flow, and one link needs to be replaced.

The rest of the links all look OK.

Note that I have no expertise in the cryptography details covered by the article.

Signed-off-by: Fabian Kammel <[email protected]>
@datosh
Copy link
Contributor Author

datosh commented Jun 3, 2025

Thank you, for taking the time to review this @jberkus
I have resolved / replied to all comments.

Signed-off-by: Fabian Kammel <[email protected]>
@lmktfy
Copy link
Contributor

lmktfy commented Jun 3, 2025

@kubernetes/sig-security-pr-reviews is this article OK to publish (in terms of cryptography / infosec message)?

@k8s-ci-robot k8s-ci-robot added the sig/security Categorizes an issue or PR as relevant to SIG Security. label Jun 3, 2025
datosh and others added 3 commits June 4, 2025 16:51
Signed-off-by: Fabian Kammel <[email protected]>
@lmktfy
Copy link
Contributor

lmktfy commented Jun 20, 2025

We should be able to get eyes on this next week.

Signed-off-by: Fabian Kammel <[email protected]>
@smarticu5
Copy link

/LGTM. I don't have super in-depth crypto knowledge, but like the post and learned from the content. Nice work @datosh

@jberkus
Copy link
Contributor

jberkus commented Jun 24, 2025

@EthanHeilman is the general info in this post up-to-date in terms of the cryptography?

@datosh
Copy link
Contributor Author

datosh commented Jun 25, 2025

Pushed 53a7858

Based on some feedback from @EthanHeilman: "While true for some PQ algorithms, ML-DSA, FN-DSA have roughly comparable signing performance as EC-DSA and even outperforms EC-DSA at NIST level I. See https://pqshield.github.io/nist-sigs-zoo/ They are about 2-5x slower in signing."

@EthanHeilman
Copy link

@jberkus After the most recent commit it looks good to me

@lmktfy
Copy link
Contributor

lmktfy commented Jun 25, 2025

OK, this is ready for more reviews (I won't, as @datosh is a colleague)

@bwesterb
Copy link

Nice blog.

`X25519Kyber768Draft00`. This was also enabled by default if
`Config.CurvePreferences` was `nil`. Kubernetes v1.32 used Go 1.23. However,
Go 1.24 removed the draft support and replaced it with the standardized version
`X25519MLKEM768`.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

X25519Kyber768Draft00 was to kick the tires: I don't think we can expect Go to carry around a preliminary version. Given the short release cycles of Go, soon enough every Go version will support X25519MLKEM768.

There is a more serious pitfall: if you compile with Go 1.24, but use go 1.20 in go.mod you still won't get X25519MLKEM768.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we can expect Go to carry around a preliminary version.

Do you think I should reword this section, @bwesterb? I did not intend to put blame on the Go team. I think the approach chosen worked very well!

This section was intended to highlight that the details of the chosen parameters and Go versions are important to get right, if you are an early adopter.

@lmktfy
Copy link
Contributor

lmktfy commented Jun 27, 2025

@kubernetes/sig-contributor-experience-pr-reviews, PTAL

@k8s-ci-robot k8s-ci-robot added sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. labels Jun 27, 2025
Signed-off-by: Fabian Kammel <[email protected]>
@datosh datosh force-pushed the post-on-pqc-in-k8s branch from 4d81b9a to 24b6aa4 Compare June 27, 2025 12:22
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Jun 27, 2025
Copy link
Contributor

@graz-dev graz-dev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a high-quality piece of writing.
I'm not an expert of the field but it looks great and very informative!

@datosh
Copy link
Contributor Author

datosh commented Jul 11, 2025

@mfahlandt @palnabarun could you take a look at this so we can merge this as a draft and schedule for release?
This was already merged to main blog (see activity above).

This was already reviewed from a technical perspective from several people. Also @lmktfy gave his informal 👍, but since we work at the same company we would like to get an 'independent' approval on this.

@jberkus
Copy link
Contributor

jberkus commented Jul 11, 2025

Since this is marked as draft, we can merge until we're ready to publish.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 11, 2025
@avni-mahajan
Copy link

Hi @datosh :)
This is a great blog, really well structured!
I just had a small suggestion. The audience might already be familiar with TLS, but it could be helpful to spell it out the first time it's mentioned, just for clarity and consistency :)

@lmktfy
Copy link
Contributor

lmktfy commented Jul 14, 2025

Given #582 (comment)

/approve

@lmktfy
Copy link
Contributor

lmktfy commented Jul 14, 2025

How about this?

1 similar comment
@lmktfy

This comment was marked as duplicate.

@lmktfy
Copy link
Contributor

lmktfy commented Jul 14, 2025

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: datosh, lmktfy

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 14, 2025
@k8s-ci-robot k8s-ci-robot merged commit 101245b into kubernetes:master Jul 14, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/security Categorizes an issue or PR as relevant to SIG Security. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants