Repository navigation
Update Rust crate libpep to ^0.13.0 - autoclosed - #7
Closed
renovate[bot] wants to merge 1 commit into
Closed
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.12→^0.13.0Release Notes
NOLAI/libpep (libpep)
v0.13.0Compare Source
libpep 0.13.0
The companion release of the n-PEP paper (STM 2026). This is a large clean-up of the public API ahead of 1.0: the layout is settled, names are consistent, the bindings live in their own crates, and the command-line tool covers the whole library. Everything ships as before:
libpepon crates.io,libpep-pyon PyPI and@nolai/libpep-wasmon npm.Highlights
elgamal(ciphertext, primitives, arithmetic);contextsholdsPseudonymizationDomainandEncryptionContext;factorsis split intotypes,secretsandderivation. The Python and WASM bindings mirror this, including alibpep.contextssubmodule.PseudonymizationInfo,PseudonymRekeyInfo,AttributeRekeyInfoandTranscryptionInfoare structs instead of aliases of factor types. A factor is a single scalar operand; an info is what a transcryptor computes for one transcryption between two contexts.SecretKey::from_scalarandPublicKey::from_point, and derive a public key withSecretKey::public_key(). Secret material no longer dereferences to its scalar; read it withvalue().BlindedGlobalSecretKey,SessionKeyShare) and no longer implementSecretKey.BlindedGlobalKeysis renamedBlindedGlobalSecretKeys.bindings/pythonandbindings/wasm. Thepythonandwasmcargo features are gone; the core crate is a plain rlib. Python ships PEP 561 type stubs.peppyrewritten. A noun/verb command tree (keys,factors,pseudonym,attribute,json,elgamal,scalar,point) with named options,-and@fileinputs,--jsonoutput, exit codes instead of panics, shell completions and a man page. It now covers attribute keys, the full distributed flow, factor derivation and all primitives including the transitive*2variants.Fixes
insecureand no-default-features builds and a depth-2 feature powerset.JsonError(ValueError/JsErrorin the bindings).BatchErrorgains aDecryptionFailedvariant.Upgrading from 0.12
libpep::core::*,libpep::arithmetic::*libpep::elgamal::*,libpep::elgamal::arithmetic::*libpep::factors::contexts::*libpep::contexts::*PseudonymRSKFactorsPseudonymizationInfoinfo.kon a rekey info (was the factor itself)info.konPseudonymRekeyInfo { k }/AttributeRekeyInfo { k }PseudonymSessionSecretKey::from(scalar)and friends::from_scalar(scalar); public keys::from_point(point)*secret_key(Deref)secret_key.value()BlindedGlobalKeysBlindedGlobalSecretKeysfactors::secrets::make_*_factorfactors::make_*_factor(defined infactors::derivation)RekeyInfoProvider,MakeSessionKeyShareinfo.rev()info.reverse()from libpep.factors import EncryptionContextfrom libpep.contexts import EncryptionContextTranscryptor.pseudonym_rekey_info()returned a factorPseudonymRekeyInfo;rekey()takes itpeppy generate-global-keys,peppy encrypt, …peppy keys global generate,peppy pseudonym encrypt, … (seepeppy --help)Dependencies: curve25519-dalek 5.0, sha2 0.11, hmac 0.13, pyo3 0.29. MSRV is 1.85.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.