Escudriñando el NaCl PDF creo que solo generan un secreto compartido.
De una manera interesante:
Sección 5: Alice, utilizando la clave secreta A de Alice y la clave pública B de Bob, calcula un secreto de 32 bytes k. Bob puede calcular el mismo secreto utilizando la clave secreta b de Bob y la clave pública A de Alice.
Usando esa clave compartida, ellos siembran un generador pseudoaleatorio. Los primeros 32 bytes de los cuales se utilizan como el secreto autenticador. Y el resto de los cuales se utilizan para el cifrado real.
definición de DJB
definición de DJB en los grupos de Google :
¿Qué es un autenticador de clave pública? Es un autenticador de clave secreta,
con una clave derivada de g ^ xy, donde g ^ x y g ^ y son las claves públicas de
El remitente y el receptor.
Si ya planeaba cifrar el mensaje, utilice otra clave
derivado de g ^ xy, entonces no tiene que hacer ningún trabajo adicional de clave pública.
Un autenticador de clave secreta es más fácil de implementar que una clave pública
firma, y se necesita menos tiempo de CPU para calcular.
Supongo que si lo hubiera llamado "autenticador de clave pública derivado " en lugar de eso, la idea podría haber sido más obvia.