Making sure SecretKey is zeroized on drop
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- cryptography
Línea de trabajo
Comienza reproduciendo el ejemplo proporcionado con la funcionalidad zeroize habilitada y, a continuación, inspecciona la implementación de Drop en secret_key.rs y la configuración de funcionalidades en Cargo.toml. Determina si el contenido de memoria observado coincide con el comportamiento de zeroización previsto y documenta o corrige el comportamiento, con una prueba de regresión específica si las pruebas existentes del repositorio ofrecen una ubicación adecuada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I was trying to make my newtype of SecretKey zeroize properly, and realized I can't even trigger zeroization for SecretKey itself. Consider the code:
use k256::SecretKey;
use rand_core::OsRng;
fn main() {
let sk = SecretKey::random(&mut OsRng);
let ptr = &sk as *const SecretKey;
let ptr_u8 = ptr as *const u8;
println!("Pointer: {:p}", ptr);
drop(sk);
println!("Memory: {:?}", unsafe {
core::slice::from_raw_parts(ptr_u8, 4)
});
}
k256 has zeroize feature enabled in Cargo.toml. This still gives a non-zero output after SecretKey was dropped, despite there being a Drop implementation in secret_key.rs that calls zeroize(). Am I misunderstanding something?
- Lenguaje dominante
- Rust
- Estrellas
- 756
- Forks
- 256
- Merge medio
- 1 h 27 min
- PR fusionados (30 d)
- 2
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
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 4/5 3-5 días Aptitud para principiantes 45/100
RustCrypto/traits#2482 · 5 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
RustCrypto/traits#2478 · 5 comentarios ·
-
cipher: tracking issue for v0.6 Abiertocipher
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
RustCrypto/traits#2424 ·
-
`signature` v4 tracking issue Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
RustCrypto/traits#2401 ·
Todos los issues de RustCrypto/traits
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
TheLarkInn/aipm#2413 ·
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
alexgorbatchev/simple-ptt#15 ·
-
tooling
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
todo:ticket
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
taikoxyz/taiko-mono#22168 · 1 comentario ·