{"licence":{"name":"CC BY-SA 4.0","spdx":"CC-BY-SA-4.0","url":"https://creativecommons.org/licenses/by-sa/4.0/","attribution":"Atlas, a bilingual technical dictionary (https://cmaintz.github.io/tech-atlas/)"},"id":"cs/digital-signature","url":{"en":"https://cmaintz.github.io/tech-atlas/en/terms/cs/digital-signature/","da":"https://cmaintz.github.io/tech-atlas/da/terms/cs/digital-signature/"},"term":{"en":"Digital signature","da":"Digital signatur"},"aka":{"en":["cryptographic signature"],"da":["kryptografisk signatur"]},"domain":["cs"],"cluster":"cryptography","layer":"theory","status":"current","era":1976,"summary":{"en":"A mark made with a private key that proves who sent a message and that nobody has changed it since.","da":"Et mærke lavet med en privat nøgle, der beviser, hvem der sendte en besked, og at ingen har ændret den siden."},"body":{"formal":{"en":"A method from public-key cryptography in which the signer hashes a message and transforms the hash with their private key; anyone holding the matching public key can check that the result fits the message exactly.","da":"En metode fra asymmetrisk kryptografi, hvor underskriveren hasher en besked og omdanner hashen med sin private nøgle; alle med den tilsvarende offentlige nøgle kan tjekke, at resultatet passer præcist til beskeden."},"plain":{"en":"Like a wax seal pressed with a ring only you own - anyone can compare the seal with your known pattern, and a broken seal shows the letter was opened.","da":"Som et laksegl presset med en ring, kun du ejer - alle kan sammenligne seglet med dit kendte mønster, og et brudt segl viser, at brevet er blevet åbnet."},"inPractice":{"en":"The IT operations lead in a municipality rolls out an update to all school computers; each computer checks the supplier's digital signature first and refuses the file if even one character differs.","da":"Den IT-driftsansvarlige i en kommune ruller en opdatering ud til alle skolecomputere; hver computer tjekker først leverandørens digitale signatur og afviser filen, hvis blot ét tegn er anderledes."},"whyItMatters":{"en":"It lets people trust documents, updates and messages from someone they have never met, and makes it hard for the signer to later deny having sent them.","da":"Den gør det muligt at stole på dokumenter, opdateringer og beskeder fra nogen, man aldrig har mødt, og gør det svært for underskriveren senere at nægte at have sendt dem."}},"deepDive":{"en":"A signature scheme is a triple of algorithms: KeyGen produces (sk, pk), Sign(sk, m) produces σ, and Verify(pk, m, σ) returns accept or reject. The security goal is existential unforgeability under chosen-message attack (EUF-CMA): even after obtaining signatures on messages of their choice, an attacker cannot produce a valid signature on any new message. In practice the message is first hashed (hash-then-sign), so the scheme is only as strong as the collision resistance of the hash; the Flame malware (2012) used an MD5 chosen-prefix collision to forge a Microsoft code-signing certificate.\n\nThe popular description of a signature as \"encrypting the hash with the private key\" is only loosely true for textbook RSA and wrong for everything else. Real RSA signatures require padding: PKCS#1 v1.5 or the provably secure RSA-PSS (RFC 8017), and lax parsing of v1.5 padding enabled Bleichenbacher's 2006 low-exponent forgery. ECDSA and EdDSA are not encryption at all. FIPS 186-5 (February 2023) approves RSA, ECDSA and EdDSA (Ed25519, Ed448) and withdraws DSA for generating new signatures. ECDSA needs a fresh, secret, uniformly random nonce per signature; reusing it, as Sony's PS3 firmware signing did in 2010, reveals the private key with simple algebra, and even a few biased bits allow lattice attacks. RFC 6979 deterministic nonces and EdDSA's hash-derived nonces remove that dependency on the RNG.\n\nShor's algorithm breaks RSA and elliptic-curve signatures on a large quantum computer, so NIST published FIPS 204 (ML-DSA, lattice-based) and FIPS 205 (SLH-DSA, stateless hash-based) in August 2024; stateful hash-based schemes LMS and XMSS (NIST SP 800-208) are already used for firmware signing. Post-quantum signatures are much larger (an ML-DSA-65 signature is about 3.3 KB versus 64 bytes for Ed25519), which affects certificate chains and TLS handshakes.\n\nOperationally, a signature proves only that someone with access to the private key signed the bytes, so the guarantees rest on key protection (HSMs, smart cards) and on binding the public key to an identity through a certificate. Long-term validity needs a trusted timestamp (RFC 3161) proving the signature existed before the certificate expired or was revoked. Code signing (Authenticode, Apple notarisation, Sigstore for open-source artefacts) and document signing (PAdES, XAdES) build on this. Legally, eIDAS (Regulation (EU) No 910/2014) distinguishes electronic, advanced (Art. 26) and qualified electronic signatures, and Art. 25(2) gives a qualified electronic signature the equivalent legal effect of a handwritten one. A digital signature differs from a MAC such as HMAC, which uses a shared symmetric key and therefore provides integrity and authentication between the parties but no non-repudiation towards third parties.","da":"Et signaturskema består af tre algoritmer: KeyGen giver (sk, pk), Sign(sk, m) giver σ, og Verify(pk, m, σ) svarer accept eller afvis. Sikkerhedsmålet er existential unforgeability under chosen-message attack (EUF-CMA): selv efter at have fået signaturer på beskeder efter eget valg kan en angriber ikke lave en gyldig signatur på en ny besked. I praksis hashes beskeden først (hash-then-sign), så skemaet er aldrig stærkere end hashfunktionens kollisionsresistens; Flame-malwaren (2012) brugte en MD5-kollision med valgt præfiks til at forfalske et kodesigneringscertifikat fra Microsoft.\n\nDen udbredte beskrivelse af en signatur som \"at kryptere hashen med den private nøgle\" er kun løst sand for lærebogs-RSA og forkert for alt andet. Rigtige RSA-signaturer kræver padding: PKCS#1 v1.5 eller det bevisbart sikre RSA-PSS (RFC 8017), og slap parsing af v1.5-padding muliggjorde Bleichenbachers forfalskningsangreb med lav eksponent i 2006. ECDSA og EdDSA er slet ikke kryptering. FIPS 186-5 (februar 2023) godkender RSA, ECDSA og EdDSA (Ed25519, Ed448) og trækker DSA tilbage til generering af nye signaturer. ECDSA kræver en frisk, hemmelig, ensartet tilfældig nonce for hver signatur; genbruges den, som Sony gjorde ved signering af PS3-firmware i 2010, afslører simpel algebra den private nøgle, og selv få skæve bits muliggør gitterangreb. Deterministiske nonces efter RFC 6979 og EdDSA's hashafledte nonces fjerner afhængigheden af tilfældighedsgeneratoren.\n\nShors algoritme bryder RSA- og elliptisk-kurve-signaturer på en stor kvantecomputer, så NIST udgav i august 2024 FIPS 204 (ML-DSA, gitterbaseret) og FIPS 205 (SLH-DSA, tilstandsløs hashbaseret); de tilstandsfulde hashbaserede skemaer LMS og XMSS (NIST SP 800-208) bruges allerede til firmwaresignering. Post-kvante-signaturer er meget større (en ML-DSA-65-signatur fylder ca. 3,3 KB mod 64 byte for Ed25519), hvilket påvirker certifikatkæder og TLS-håndtryk.\n\nDriftsmæssigt beviser en signatur kun, at nogen med adgang til den private nøgle har signeret de pågældende bytes, så garantierne hviler på beskyttelsen af nøglen (HSM'er, smartcards) og på, at den offentlige nøgle er knyttet til en identitet via et certifikat. Langtidsgyldighed kræver et betroet tidsstempel (RFC 3161), der beviser, at signaturen fandtes, før certifikatet udløb eller blev tilbagekaldt. Kodesignering (Authenticode, Apples notarisering, Sigstore til open source-artefakter) og dokumentsignering (PAdES, XAdES) bygger på dette. Juridisk skelner eIDAS-forordningen (forordning (EU) nr. 910/2014) mellem elektroniske, avancerede (art. 26) og kvalificerede elektroniske signaturer, og art. 25, stk. 2, giver en kvalificeret elektronisk signatur samme retsvirkning som en håndskrevet underskrift. En digital signatur adskiller sig fra en MAC som HMAC, der bruger en fælles symmetrisk nøgle og derfor giver integritet og autentificering mellem parterne, men ingen uafviselighed over for tredjemand."},"edges":[{"type":"requires","to":"cs/public-key-cryptography","confidence":"high","strength":"normal"},{"type":"requires","to":"cs/hashing","confidence":"high","strength":"normal"},{"type":"implements","to":"security/non-repudiation","why":{"en":"Only the holder of the private key can make the signature, so the signer cannot easily claim someone else sent the message.","da":"Kun den, der har den private nøgle, kan lave signaturen, så underskriveren kan ikke uden videre påstå, at en anden sendte beskeden."},"confidence":"high","strength":"primary"},{"type":"implements","to":"security/integrity","why":{"en":"Any change to the signed message makes the check fail, so tampering is caught at once.","da":"Enhver ændring af den signerede besked får tjekket til at fejle, så manipulation opdages med det samme."},"confidence":"high","strength":"primary"}],"depth":2,"sources":[{"title":"NIST FIPS 186-5 - Digital Signature Standard (DSS)","url":"https://csrc.nist.gov/pubs/fips/186-5/final","tier":"standard","publisher":"NIST"},{"title":"Paar & Pelzl, Understanding Cryptography","tier":"textbook"}],"draft":true}