kem: `from_seed` and `generate_keypair` use unnecessary memory
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- cryptography
Línea de trabajo
Localiza las definiciones de from_seed, generate_keypair, Kem::DecapsulationKey y el trait Decapsulator. Rastrea los llamadores y las pruebas para determinar cómo puede la API dejar de devolver un EncapsulationKey redundante, especialmente si se debería reemplazar generate_keypair. Se considera terminado cuando la API pública y sus llamadores/pruebas ya no requieren la copia de clave innecesaria.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
The methods from_seed and generate_keypair both return a Kem::DecapsulationKey and Kem::EncapsulationKey. However, DecapsulationKey already must impl Decapsulator, which returns a &Kem::EncapsulationKey. Meaning the decap key already owns a copy of the encapsulation key! In other words: the encapsulation key output of from_seed and generate_keypair is guaranteed to be redundant. Since this value is measured in the kilobytes, this is no small overhead.
Proposed fix: from_seed should just return a DecapsulationKey. And it's less clear what to do about generate_keypair. Maybe it gets deleted and replaced with generate_decapsulation_key? Seems invasive.
- Lenguaje dominante
- Rust
- Estrellas
- 760
- Forks
- 258
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de RustCrypto/traits
-
try_sign_digest() is confusing.Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
RustCrypto/traits#2487 · 2 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
RustCrypto/traits#2478 · 5 comentarios ·
-
cipher: tracking issue for v0.6Abiertocipher
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
RustCrypto/traits#2424 ·
-
`signature` v4 tracking issueAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
RustCrypto/traits#2401 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
RustCrypto/traits#2366 · 1 comentario ·
Todos los issues de RustCrypto/traits
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
nautechsystems/nautilus_trader#5365 ·
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
IntersectMBO/developer-experience#347 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
registrystack/registry-stack#2168 ·
Los mantenedores suelen responder en 1 día
-
bug crate: 3d help wanted triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
kornia/kornia-rs#1203 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día