Zum Inhalt springen
uencoder

ECDSA signatures implementieren

ECDSA (Elliptic Curve Digital Signatur Algorithmus) provides digital signatures mit smaller Schlüssel than RSA. Lernen signing und verification.

  1. 1

    ECDSA: to sign message m with private key d, compute e = hash(m), pick random k, compute (x, y) = k*G, r = x mod n, s = k^(-1)(e + r*d) mod n. Signature is (r, s). To verify with public key Q = d*G: compute w = s^(-1) mod n, u1 = e*w, u2 = r*w, (x, y) = u1*G + u2*Q, verify x mod n = r. The random k must never repeat or leak — this broke PlayStation 3 and some Bitcoin wallets.

  2. 2
    HMAC-Generator →

    Erzeugen a deterministic HMAC for the message. ECDSA requires a hash of the message — use SHA-256. For deterministic ECDSA (RFC 6979), derive k from the private key and message hash using HMAC, eliminating the need for random k and preventing nonce reuse vulnerabilities.

  3. 3
    Hash-Rechner →

    Hash the message with SHA-256 before signing. The hash reduces the message to a fixed-size digest that fits in the curve's field. Use SHA-256 for P-256, SHA-384 for P-384. Never use MD5 or SHA-1 — they are broken and allow signature forgery.

Häufige Fragen

What happens if the ECDSA nonce k is reused?
Catastrophic key compromise. If two messages are signed with the same k, an attacker can compute the private key d from the two signatures. This broke Sony PlayStation 3 (static k) and some early Bitcoin implementations. Use deterministic ECDSA (RFC 6979) to eliminate this risk.
ECDSA vs EdDSA?
ECDSA requires a random nonce per signature (or deterministic derivation). EdDSA (Ed25519) is deterministic by design, uses Edwards curves (faster, simpler, no special cases), and is strongly unforgeable. Use Ed25519 (EdDSA) for new systems — it is simpler, faster, and avoids the nonce pitfall.

Workflows, die diese Aufgabe lösen

Inhalt hashen und als Base64 kodieren
Einen Hash der Eingabe berechnen und den Hash-Digest als Base64 kodieren für kompakten Transport.
PIPELINE
Text hashen und Integrität verifizieren
Einen Hash des Eingabetextes berechnen und mit einem erwarteten Hash vergleichen zur Integritätsverifikation.
PIPELINE
Text hashen und mit CRC32-Prüfsumme verifizieren
Sowohl einen kryptografischen SHA-256-Hash als auch eine CRC32-Prüfsumme berechnen zur Datenintegritätsverifikation.
PIPELINE
HMAC signieren dann Base64 kodieren
HMAC-Signatur generieren dann Base64 kodieren für API-Auth-Header.
PIPELINE
HMAC signieren und verifizieren
Eine HMAC-Signatur für eine Nachricht generieren und gegen eine erwartete Signatur verifizieren.
PIPELINE
HMAC eine API-Anfragezeichenkette signieren
Eine HMAC-SHA256-Signatur für eine Anfrage-Nutzlast generieren zur Authentifizierung von API-Aufrufen.
PIPELINE
MD5 hashen dann Base58 kodieren
MD5-Hash berechnen dann als Base58 kodieren für kompakte Darstellung.
PIPELINE
Multi-Hash-Geschwindigkeitsvergleich
Die Eingabe hashen und mehrere Hash-Algorithmen benchmarken zum Vergleich von Geschwindigkeit und Ausgabe.
PIPELINE
Passwort generieren und hashen
Ein Zufallspasswort generieren dann hashen für sichere Speicherung.
PIPELINE
SHA3-256-Hash mit CRC32-Prüfsumme
SHA3-256-Hash berechnen dann CRC32-Prüfsumme für duale Integritätsverifikation.
PIPELINE
SHA-512 hashen dann Hex
SHA-512-Hash berechnen dann als Hex kodieren für Lesbarkeit.
PIPELINE
Text umkehren und hashen
Text umkehren dann SHA-256-Hash des umgekehrten Ergebnisses berechnen.
PIPELINE
Text verschlüsseln und hashen
Text verschlüsseln dann das verschlüsselte Ergebnis hashen.
PIPELINE

Verwandte Tools