Aller au contenu principal

3.5. Rationale (Justification)

3.5. Rationale (Justification)

Le processus décrit dans les sections précédentes imite le processus de génération de k "approuvé" décrit dans l'Annexe D de [X9.62] avec le générateur de nombres pseudo-aléatoires "HMAC_DRBG". La principale différence est que nous utilisons la concaténation de la clé privée x et du message haché H(m) comme graine pour le générateur de nombres pseudo-aléatoires (PRNG). Lors de l'utilisation d'un "niveau de sécurité" de n bits, HMAC_DRBG devrait être utilisé avec une entropie de graine d'au moins n+64 bits. Cependant, la clé x devrait également avoir été générée avec autant d'entropie, et la longueur de x est qlen, qui est au moins égale à 2*n, donc supérieure à n+64 (DSA et ECDSA, tels que spécifiés par les standards, nécessitent qlen >= 160). On peut donc soutenir que ECDSA déterministe satisfait les exigences d'entropie de l'Annexe D de [X9.62].

Nous utilisons bits2octets(H(m)) au lieu de H(m) pour faciliter l'intégration. En effet, de nombreux systèmes de signature existants externalisent le hachage des messages; le moteur de signature (qui a accès à la clé privée) ne reçoit que H(m). Dans certaines applications où la bande passante des données est limitée, seuls les premiers qlen bits de H(m) sont transmis au moteur de signature, sur la base que la transformation bits2int ignorerait de toute façon les bits suivants. Éventuellement, dans certains systèmes, le H(m) tronqué pourrait être réduit modulo q en externe, car c'est la première chose que (EC)DSA fait avec le message haché. Avec la définition de bits2octets, (EC)DSA déterministe peut être appliqué avec la même entrée.