API Gap: KeyPairGenerator
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- backend-api-design, cryptography
Direzione di ricerca
Start by reading traits.rs and the existing SignaturePublicKey, SignaturePrivateKey, KEMPublicKey, KEMPrivateKey, RNG, SignatureError, and KEMError definitions. Compare the proposed key-generation traits with the current API and decide whether KEM should remain distinct from broader encryption or agreement terminology. Done means the trait scope and naming are agreed and the relevant key types can use the resulting API.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There's currently nothing in traits.rs for this.
My learned machine colleague suggests a natural fit for the public/private key classes would be:
pub trait SignatureKeyPairGenerator<
PK: SignaturePublicKey<PK_LEN>,
SK: SignaturePrivateKey<SK_LEN>,
const PK_LEN: usize,
const SK_LEN: usize,
>
{
/// Generates a key pair using the library's default OS-backed RNG.
fn keygen() -> Result<(PK, SK), SignatureError>;
/// Generates a key pair using the provided RNG.
fn keygen_from_rng(rng: &mut dyn RNG) -> Result<(PK, SK), SignatureError>;
}
and
pub trait KEMKeyPairGenerator<
PK: KEMPublicKey<PK_LEN>,
SK: KEMPrivateKey<SK_LEN>,
const PK_LEN: usize,
const SK_LEN: usize,
>
{
/// Generates a key pair using the library's default OS-backed RNG.
fn keygen() -> Result<(PK, SK), KEMError>;
/// Generates a key pair using the provided RNG.
fn keygen_from_rng(rng: &mut dyn RNG) -> Result<(PK, SK), KEMError>;
}
These could then be combined with the appropriate types to simplify the notation for invoking one.
It's possible that KEMKeyPairGenerator might be better as EncryptionKeyPairGenerator in-case RSA/OAEP get's added at a later date, XDH might be another candidate for "Encryption" although again, it and Diffie-Hellman might deserve "Agreement".
- Lingua principale
- Rust
- Stelle
- 25
- Fork
- 18
- Merge medio
- 16h 38m
- PR unite (30g)
- 3
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bcgit/bc-rust
-
good first issue refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
Tutte le issue di bcgit/bc-rust
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
gitbutlerapp/gitbutler#15998 · 1 commento ·
-
bug triage:deciding
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100