Zum Hauptinhalt springen

5.1.7 Verify (Verifizieren)

5.1.7 Verify (Verifizieren)

  1. Um eine Signatur über eine Nachricht M mit dem öffentlichen Schlüssel A zu verifizieren, wobei F für Ed25519ctx 0 und für Ed25519ph 1 ist und bei Ed25519ctx oder Ed25519ph C der Kontext ist, teile zuerst die Signatur in zwei 32-Oktett-Hälften. Dekodiere die erste Hälfte als Punkt R und die zweite als Ganzzahl S im Bereich 0 <= s < L. Dekodiere den öffentlichen Schlüssel A als Punkt A'. Schlägt eine der Dekodierungen fehl (einschließlich S außerhalb des Bereichs), ist die Signatur ungültig.

  2. Berechne SHA512(dom2(F, C) || R || A || PH(M)) und interpretiere den 64-Oktett-Digest als Little-Endian-Ganzzahl k.

  3. Prüfe die Gruppengleichung [8][S]B = [8]R + [8][k]A'. Stattdessen [S]B = R + [k]A' zu prüfen, ist ausreichend, aber nicht erforderlich.