Digitale signaturer er avhengige av en kryptografiarkitektur med offentlig nøkkel for å bekrefte et dokuments autentisitet og avsenderens identifikasjon. De to standardmåtene for å skaffe digitale signaturer er RSA (Rivest–Shamir–Adleman) og DSA (Digital Signature) algoritmer, men begge er forskjellige når det gjelder å utføre krypterings- og dekrypteringsfunksjoner.
Artikkelen gir en oversikt over en av industristandardalgoritmene DSA, arbeidsprosessen med en kort oversikt av nøkkel- og signaturgenerering og verifisering, trinn involvert i den overordnede prosessen, dens fordeler/ulemper, og dens applikasjon.
Introduksjon til digitale signaturalgoritmer
DSA (Digital Signature Algorithm) inkorporerer de algebraiske egenskapene til diskrete logaritmeproblemer og modulære eksponentiasjoner for å generere en elektronisk signatur for ulike applikasjoner. Den ble foreslått i 1991 og ble vedtatt som en føderal informasjonsbehandlingsstandard av NIST (National Institute of Standards and Technology) i 1994.
De fleste algoritmer for opprettelse av digitale signaturer følger den typiske teknikken for å signere meldingssammendraget (hash for den faktiske meldingen) med kildens private nøkkel for å lage det digitale tommelfingeravtrykket.
Situasjonen er imidlertid annerledes i DSA da den genererer to signaturer ved å inkludere to komplekse og unike signerings- og verifiseringsfunksjoner. Derfor er DSA-algoritmen ikke en enkel bruk av private og offentlige nøkler ved starten og slutten av kommunikasjonen.
Viktigheten av digital signaturalgoritme
På grunn av stadig økende cybertrusler, når en bruker sender data over internett, er det nødvendig å identifisere og verifisere eierens autentisitet. Vi må sørge for at dokumenteieren er troverdig og at ingen har gjort endringer under overføringen.
Digitale signaturer er de elektroniske signaturene som hjelper mottakeren med å autentisere meldingens opprinnelse. Du kan lage disse elektroniske signaturene via ulike algoritmer, og DSA er en av dem. I DSA oppretter avsenderen en digital signatur for å inkludere den i meldingen slik at hvem som helst kan autentisere den ved mottakersiden.
Fordelene DSA tilbyr er:
- Ikke-avvisning: etter signaturverifisering kan avsenderen ikke hevde å ikke ha sendt dataene.
- Integritet: dataendring under overføring forhindrer endelig verifisering eller meldingsdekryptering.
- Meldingsautentisering: riktig kombinasjon av private/offentlige nøkler hjelper med å bekrefte avsenderens opprinnelse.
Hvordan autentiserer algoritmen avsender?
DSA-algoritmen fungerer på den systematiske beregningsmekanismen som beregner en hash-verdi og en digital signatur som utgjør to 160-bits tall fra meldingssammendraget og den private nøkkelen. Tilfeldigheten gjør signaturen ikke-deterministisk. Den bruker en offentlig nøkkel for signaturautentisering, som er mye mer kompleks enn RSA.
DSA-syklusen følger disse tre hovedtrinnene for å fullføre prosessen:
- Nøkkelgenerering: Prosessen er avhengig av konseptet med modulær eksponentiering for å oppnå private (x) og offentlige (y) nøkler som tilfredsstiller de matematiske betingelsene for 0 < x < q og y = gx mod p. Der q er en primtall, er p et primtall, og g tilfredsstiller disse g**q mod p = 1 og g = h**((p–1)/q) mod p-betingelsene. Dermed opprettes private og offentlige nøkkelpakker {p, q, g, x} og {p, q, g, y}.
- Signaturgenerering: En hashing-algoritme genererer en meldingssammendrag, som sendes som en inngang til en signeringsfunksjon for å lage to variabler utganger, r og s, pakket som signatur {r, s} slik at meldingen og disse variablene sendes som en bunt til mottaker.
- Signaturbekreftelse: Prosessen bruker hashing-funksjonen til å sende ut sammendraget og inkorporerer variable s med andre parametere fra nøkkelgenereringstrinnet for å produsere verifikasjonskomponenten v. Verifikasjonsfunksjonen sammenligner den beregnede variabelen v mot parameteren r fra {M, s, r}-pakken.
For å oppsummere prosessen ovenfor ikke-matematisk:
- Du lager nøkler ved hjelp av nøkkelgenereringsalgoritmen for å signere dokumentet.
- Bruk deretter en digital signaturalgoritme for å generere signaturen.
- Bruk en hash-funksjon for å lage en meldingssammendrag, og kombiner den med DSA for å generere den digitale signaturen.
- Send signaturen med dataene for mottakeren å autentisere.
- Mottakeren autentiserer signaturen ved å bruke en bekreftelsesalgoritme. Det er hash-funksjonen som brukes ovenfor for å lage meldingssammendraget.
Fordeler med å bruke digital signaturalgoritme
- Rask signaturberegning
- Krever mindre lagringsplass for hele prosessen
- Fritt tilgjengelig (patentfri) for gratis global bruk.
- Liten signaturlengde
- Observasjon i sanntid
- Ikke-invasiv
- DSA er akseptert globalt for lovlig overholdelse.
- Tidseffektivt (lavt tidsforbruk sammenlignet med prosesser med fysisk signering osv.)
Ulemper med å bruke digital signaturalgoritme
- Prosessen inkluderer ikke nøkkelutvekslingsfunksjoner.
- De underliggende kryptografi må være ny for å sikre sin styrke.
- Standardiseringen av maskinvare- og programvareleverandører på RSA kan forårsake problemer på grunn av DSAs andre autentiseringsstandard.
- De komplekse gjenværende operasjonene krever mye tid for beregning og dermed signaturverifisering.
- Det sikrer kun autentisering, ikke konfidensialitet, da algoritmen ikke krypterer dataene.
- DSA-algoritmer beregner SHA1-hashen for å generere meldingssammendraget. Derfor gjenspeiler den alle feilene til SHA1-hash-funksjonen i algoritmen.
DSA VS RSA
Digital Signature Algorithm er en asymmetrisk nøkkelkrypteringsalgoritme tatt i bruk av amerikanske byråer for hemmelig og ikke-hemmelig kommunikasjon. Mens RSA er en offentlig nøkkel kryptografialgoritme som også bruker modulær aritmetikk, er styrken avhengig av problemet med en primtallsfaktorisering for å sikre kommunikasjon og digitale signaturer. Derfor, i motsetning til vanlige krypteringsalgoritmer som RSA, er DSA en standard kun for digitale signaturer.
Selv om begge inneholder forskjellige matematiske algoritmer, er kryptografistyrken tilsvarende. Hovedforskjellen mellom de to algoritmene begrenser seg til hastighet, ytelse og SSH-protokollstøtte.
- I motsetning til DSA er RSA treg i dekryptering, nøkkelgenerering og verifisering, men rask i kryptering og signering. Imidlertid krever autentisering begge deler, og hastighetsavvik er ubetydelige i virkelige applikasjoner.
- En annen forskjell ligger i støtten for Secure Shell-nettverksprotokollen. RSA støtter den originale SSH og dens sikre andre versjon SSH2, mens DSA bare fungerer med SSH2.
Autentiser datakilden med DSA
Digitale signaturer er et behov for dagens sammenkoblede verden for å skape et trygt og sikkert miljø. De er en fin måte å autentisere enhver post over internett. Artikkelen introduserer Digital Signature-algoritmene med en kort oversikt over arbeidsprosessen, fordeler, ulemper, sikkerhetsbegrensninger og sammenligning med RSA.
Disse to krypteringsprotokollene snakkes ofte om sammen, men hva er de og hvordan fungerer de?
Les Neste
- Sikkerhet
- Digitale signaturer

Rumaisa er frilansskribent ved MUO. Hun har brukt mange hatter, fra en matematiker til en informasjonssikkerhetsentusiast, og jobber nå som SOC-analytiker. Hennes interesser inkluderer å lese og skrive om nye teknologier, Linux-distribusjoner og alt rundt informasjonssikkerhet.
Abonner på vårt nyhetsbrev
Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Klikk her for å abonnere