3.5. Rationale (Begründung)
3.5. Rationale (Begründung)
Der in den vorherigen Abschnitten beschriebene Prozess ahmt das "Approved"-Verfahren zur Erzeugung von k nach, das in Anhang D von [X9.62] mit dem "HMAC_DRBG"-Pseudozufallszahlengenerator beschrieben ist. Der Hauptunterschied besteht darin, dass wir die Verkettung des privaten Schlüssels x und der gehashten Nachricht H(m) als Seed für den Pseudozufallszahlengenerator (PRNG) verwenden. Bei Verwendung einer "Sicherheitsstufe" von n Bits sollte HMAC_DRBG mit einer Seed-Entropie von mindestens n+64 Bits verwendet werden. Der Schlüssel x sollte jedoch ebenfalls mit dieser Entropie erzeugt worden sein, und die Länge von x ist qlen, die mindestens gleich 2*n und somit größer als n+64 ist (DSA und ECDSA, wie von den Standards spezifiziert, erfordern qlen >= 160). Es kann daher argumentiert werden, dass deterministisches ECDSA die Entropieanforderungen von Anhang D von [X9.62] erfüllt.
Wir verwenden bits2octets(H(m)) anstelle von H(m), um die Integration zu erleichtern. Tatsächlich lagern viele bestehende Signatursysteme das Nachrichten-Hashing aus. Die Signatur-Engine (die Zugriff auf den privaten Schlüssel hat) erhält nur H(m). In einigen Anwendungen, wo die Datenbandbreite eingeschränkt ist, werden nur die ersten qlen Bits von H(m) zur Signatur-Engine übertragen, auf der Grundlage, dass die bits2int-Transformation nachfolgende Bits ohnehin ignoriert. Möglicherweise könnte in einigen Systemen das gekürzte H(m) extern modulo q reduziert werden, da dies das Erste ist, was (EC)DSA mit der gehashten Nachricht durchführt. Mit der Definition von bits2octets kann deterministisches (EC)DSA mit derselben Eingabe angewendet werden.