Skip to content

Upgrade to HPKE v0.14#109

Open
rozbb wants to merge 1 commit into
divviup:mainfrom
rozbb:upgrade-hpke
Open

Upgrade to HPKE v0.14#109
rozbb wants to merge 1 commit into
divviup:mainfrom
rozbb:upgrade-hpke

Conversation

@rozbb

@rozbb rozbb commented Jul 9, 2026

Copy link
Copy Markdown

Making this to start the conversation about how to upgrade. Right now it's the absolute minimum possible diff to do the upgrade. But I suspect you might want to change your own feature flags to match the new ones upstream, and also maybe add some to expose the new PQ and hybrid ciphersuites. Let me know what you're thinking

@rozbb rozbb requested a review from a team as a code owner July 9, 2026 21:05
@tgeoghegan

tgeoghegan commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Thanks for the PR, Michael.

IMO this crate's goal is just to be an adapter to hpke that allows runtime dispatch. If we introduce any abstractions on top of hpke, like a different set of features, we're doing a disservice to users by getting in the way of what they really want to do. So what I mean by all that is: we should harmonize hpke-dispatch's features with hpke.

We will also need to update the discussion of features in README.md before merging.

And wiring up PQ and hybrid HPKE is worthwhile.

Comment thread Cargo.toml
rand = "0.9.2"
num_enum = "0.7.0"
cfg-if = "1.0.0"
hpke = { version = "0.13.0", default-features = false, features = ["std"] }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

the hpke/std feature is gone, but AFAICT that's because instead of that gating an std::error::Error impl on HpkeError, that's now a core::error::Error impl that can be available unconditionally.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Yup

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We'd still need default-features = false in order for enabling hpke/x25519 etc. again to have any effect.

@tgeoghegan tgeoghegan requested a review from a team July 10, 2026 14:34
@rozbb

rozbb commented Jul 10, 2026

Copy link
Copy Markdown
Author

Great, I can make those changes 👍

@tgeoghegan

Copy link
Copy Markdown
Contributor

Thanks, but let's see if @jcjones or @divergentdave have an opinion to share before we make another move.

@divergentdave divergentdave left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Mirroring hpke's features and forwarding them sounds good. Our existing per-algorithm features may have gone a bit overboard.

Comment thread Cargo.toml
rand = "0.9.2"
num_enum = "0.7.0"
cfg-if = "1.0.0"
hpke = { version = "0.13.0", default-features = false, features = ["std"] }

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

We'd still need default-features = false in order for enabling hpke/x25519 etc. again to have any effect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants