Setup agreement on a "standard form" of CPace for ristretto255 and add it to the I-D
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- go
- Área
- cryptography, documentation
Línea de trabajo
Empieza leyendo el I-D de CPace y la discusión existente sobre la serialización de longitud variable, las comprobaciones del elemento neutro y el manejo de SID. El trabajo estará terminado cuando se acuerde una forma estándar para CPace con ristretto255 y se incorpore al I-D; la descripción no menciona archivos de implementación ni pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Simply concatenating variable-length, possibly attacker controlled values as the
I-D suggests is dangerous. For example, the (idA, idB) pairs ("ax", "b") and
("a", "xb") would result equivalent. Instead, this implementation uses HKDF to
separate secret material, salt, and context, and a uint16-length prefixed
serialization for CI.
Thank's for pointing this out.
Checking for the neutral element should be manadtory in my perception and should be explicitly included into the code, even if some part of the ristretto implementation also checks for this.
Regarding the SID agreement, the recommended way would be that the SID is passed to CPace by a higher-level protocol entity, e.g. on the application level. The implementation is then guaranteed that the specific CPace run is uniquely linked to this session on both sides. This avoids problems in the style of the "selfie-attack" on TLS with PSK.
If there is no such higher-level SID handling, one could just make the initiator sample a random string of appropriate length, e.g. 16 bytes.
I'd appreciate any feedback regarding the readability and structure of the CPace I-D. I don't have much experience with writing this type of document, and any feedback would be helpful.
Yours,
Björn.
- Lenguaje dominante
- Go
- Estrellas
- 29
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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.
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
JakeChampion/lang#13132 ·
Los mantenedores suelen responder en 1 día
-
[BUG] deploy.restart_policy without condition drops the restart policyPosiblemente ocupada @akshat-lakhera la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
docker/compose#14383 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Azure/azure-storage-fuse#2429 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
AvengeMedia/dank-greeter#39 · 1 comentario ·
-
bug: dataplane client ignores SERVER_BASEPATH, so create/delete topic miss the subpathPosiblemente ocupada @bhataprameya la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
redpanda-data/console#2693 ·
Los mantenedores suelen responder en 2 días