Hvad er RSA-kryptografi? Komplet guide til denne krypteringsalgoritme

RSA-kryptografi

Kryptografi er blevet brugt i civilisationer i forskellige formater i tusinder af år. Fra de gamle egyptere til det moderne internet er brugen af ​​kryptografi til at kryptere og dekryptere meddelelser et vigtigt redskab i kommunikation.

RSA-kryptografi (RSA-algoritmen for at være nøjagtig) er den mest allestedsnærværende asymmetriske krypteringsalgoritme i verden. Muliggjort af et antal kryptografiske og matematiske gennembrud, bruger enhver, der bruger internettet, RSA-kryptografi i en eller anden form.

RSA-kryptografi

De fleste kryptokurver anvender en lignende type asymmetrisk kryptering som RSA, kendt som Elliptic Curve Cryptography. Mens de er forskellige, er de begge baseret på lignende begreber, og forståelse af RSA er vigtig for at fremme en forståelse af kryptografi, der er anvendt i kryptovaluta-netværk.

Kryptografisk baggrund og symmetrisk vs asymmetrisk kryptografi

Indtil 1970’erne havde kryptografi primært været baseret på brugen af ​​symmetriske nøgler. I symmetriske nøgealgoritmer bruger to brugere, der ønsker at kommunikere en besked med hinanden, de samme kryptografiske nøgler til både kryptering af almindelig tekst og dekryptering af krypteringsteksten. Nøglerne repræsenterer en delt hemmelighed mellem de to parter og kan bruges som en privat form for kommunikation. Der er dog nogle iboende problemer med dette design, der fører til nogle alvorlige ulemper ved brugen.

For eksempel skal begge parter kende den hemmelige nøgle for at kryptere og dekryptere meddelelsen. Uden for mødet personligt for at udveksle disse oplysninger er der en betydelig mængde kommunikationsomkostninger, der er nødvendige for at opnå dette privat gennem medier, der ikke er sikre. Tredjeparter, der ser disse kanaler, kan muligvis få den hemmelige nøgle, og krypteringsmetoden bliver således kompromitteret. Yderligere er begrebet kryptering af symmetrisk nøgle ikke skalerbart. Hvis du vil sende krypterede meddelelser til flere personer, skal du huske en hemmelig nøgle til hver af disse kommunikationslinjer. Dette bliver naturligvis hurtigt ubelejligt og er klart ikke den bedste model, der skal bruges af kryptokurrency-netværk, hvor værdi udveksles.

Løsningen på dette kom i form af en såkaldt asymmetrisk kryptering eller mere populært benævnt offentlig nøgle-kryptografi. Asymmetrisk kryptering bruger to nøgler, en offentlig nøgle og en privat nøgle. I denne models mest basale form kan en bruger offentliggøre en offentlig nøgle, som alle andre kan bruge til at sende den pågældende en krypteret besked, og kun den person, der har offentliggjort den offentlige nøgle og har den tilsvarende private nøgle, kan dekryptere og se denne besked. Brug af den ene nøgle annullerer brugen af ​​den anden og nøgler til ikke at skulle udveksles mellem parter, der ønsker at kommunikere.

Den asymmetriske krypteringsmodel blev muliggjort af 2 strålende principper, der kom som et resultat af et gennembrud af den britiske matematiker James Ellis i 1970. Ellis beskrev en idé, hvorved kryptering og dekryptering er omvendte operationer af hinanden baseret på 2 forskellige nøgler.

James Ellis

James Ellis, billede fra The Telegraph.

Konceptet er generelt repræsenteret af en hængelås og en nøgle, hvor hængelåsen repræsenterer den offentlige nøgle og nøglen repræsenterer den private nøgle. For at gøre praktisk brug af denne teori udviklede sig to principper.

Trapdoor-funktionen

En falddørfunktion er et meget vigtigt begreb i kryptografi, hvor det er trivielt at gå fra en stat til en anden stat, men at beregne i den modsatte retning ved at gå tilbage til den oprindelige tilstand bliver umulig uden særlig information, kendt som “fældedøren”.

Den mest kendte trapdoor-funktion i dag, det er grundlaget for RSA-kryptografi, kaldes Prime Factorization. I det væsentlige er primfaktorisering (også kendt som Integer Factorization) konceptet i talteori, at sammensatte heltal kan nedbrydes til mindre heltal. Alle sammensatte tal (ikke-primtal), der er opdelt til deres mest basale, er sammensat af primtal. Denne proces er kendt som primærfaktorisering og har alvorlige konsekvenser, når den anvendes til kryptografi.

primær nedbrydning

Prime Factorization, billede brugt fra Wikipedia

I det væsentlige bliver primærfaktorisering af ekstremt store primtal tal umulig at beregne på grund af den enorme mængde prøve og fejl, der kræves for at kunne faktorificere antallet til dets mest basale komponenter. I øjeblikket findes der ingen effektiv faktoriseringsalgoritme til at udføre dette.

RSA og hvordan det anvender primærfaktorisering er beskrevet i et senere afsnit, men først skal vi forstå Diffie-Hellman Key Exchange.

Diffie-Hellman Key Exchange

Diffie-Hellman-nøgleudvekslingen er en af ​​de første kryptografiprotokoller for offentlig nøgle og giver grundlæggende mulighed for at udveksle kryptografiske nøgler over et offentligt medium sikkert. Af hensyn til enkelheden er forsøg på at konceptualisere Diffie-Hellman Key Exchange og det følgende afsnit om, hvordan RSA-algoritmen fungerer, meget mere trivielt med abstrakte begreber sammenlignet med ren matematik, så vi anvender kun matematikken, når det er nødvendigt.

Det mest almindelige eksempel, der bruges til at konceptualisere Diffie-Hellman Key Exchange, er kendt som Secret Color Exchange.

Diffie-Helman Key Exchange

Diffie-Helman Key Exchange, billede brugt fra Wikipedia

Billedet ovenfor repræsenterer en kommunikationslinje mellem Alice og Bob over en offentlig kanal, hvor Eve kan lytte til alt, der kommunikeres offentligt mellem Alice og Bob. Så hvordan kan Alice og Bob kommunikere en privat besked ved hjælp af asymmetrisk kryptering uden eksplicit at udveksle disse oplysninger over det offentlige medium?

De udveksler hemmelige oplysninger med hinanden uden at dele dem. Processen fungerer som følger:

Trin 1

  • Alice og Bob er enige om, at gul er den almindelige maling, der skal bruges. Disse oplysninger udsendes over den offentlige kanal, så Eva også ved det.
  • Gul repræsenterer den offentlige nøgle.
  • Alice beslutter hemmeligt, at hun også skal bruge blå sammen med gul, og Bob beslutter i hemmelighed, at han skal bruge rød med gul.
  • Den blå, der bruges af Alice, og den røde, der bruges af Bob repræsenterer deres hemmelige nøgler.

Trin 2

  • Dernæst blander både Alice og Bob deres hemmelige farver med gul for at skabe en sammensat farve.
  • Alice’s mix skaber Green og Bob’s mix skaber Orange.
  • Nu sender både Alice og Bob hinanden deres sammensatte farver.
  • Eve modtager også disse farver, men står over for et problem, disse sammensatte farver repræsenterer en fældedørfunktion.
  • Det er let at kombinere to farver for at lave en tredje farve, men det er umuligt at vende dette. Det er meget vanskeligt at bestemme, hvilke farver der blev brugt til at skabe den tredje farve ud fra kun at have den tredje farve og den originale gule.

Trin 3

  • Alice og Bob blander derefter deres hemmelige farver med de modtagne kompositfarver, hvilket resulterer i følgende.
  • Alice blander blå med den sammensatte appelsin fra Bob.
  • Bob blander rødt med kompositten Green fra Alice.
  • Begge blandinger resulterer i brun.

Det er hemmeligheden bag Diffie-Hellman Key Exchange. Selvom både Alice og Bob endte med Brown, udvekslede de aldrig den farve, og Eve er tilbage uden den nødvendige information om de hemmelige farver for at kunne beregne den hemmelige besked (Brown).

Eksemplet ovenfor er en meget enkel visualisering af, hvordan udvekslingen fungerer. Med anvendt matematik kan sikker sikkerhed og integritet af meddelelser opnås gennem RSA-kryptografi ved hjælp af primærfaktorisering som fælde.

Hvordan fungerer RSA-algoritmen?

RSA-algoritmen fungerer ved at udnytte hovedfaktoriseringslågen og Diffie-Hellman Key Exchange til at opnå asymmetrisk kryptering. Grundlæggende er RSA-kryptografi afhængig af vanskeligheden ved primærfaktorisering som dens sikkerhedsmetode. Ved hjælp af et meget forenklet eksempel med begrænset matematik beskrevet indeholder RSA-algoritmen 4 trin.

  1. Nøglegenerering – I løbet af dette trin kan en bruger anvende en tilfældig talgenerator eller blot vælge 2 meget store primtal (kaldet p og q). Disse tal skal holdes hemmelige. Beregn n = pq, hvor “n” er modulet for både offentlige og private nøgler, og dens længde er kendt som nøglelængden. Gør “n” offentlig. For nøglestørrelser, der er lig med eller større end 1024 bit, er der ingen effektiv metode til at løse denne algoritme (faktorisering af det meget store antal “n”) effektivt. Selv den største supercomputer i verden ville tage tusinder af år at løse den. Dette er kendt som RSA-problemet, og hvis det løses, ville det kompromittere alle RSA-baserede kryptosystemer.
  2. Nøgledistribution – Bob ønsker at sende Alice hemmelige oplysninger, så følgende trin forekommer.
  1. Bob skal kende Alice’s offentlige nøgle for at kryptere beskeden.
  2. Alice skal kende sin private nøgle for at dekryptere beskeden.
  3. For at Bob kan sende sin krypterede besked, sender Alice sin offentlige nøgle til Bob.
  4. Alice distribuerer aldrig sin private nøgle.
  • Kryptering – Efter at Bob har fået Alice’s offentlige nøgle, kan han sende en besked (M) til Alice. Først forvandler han (M) (på dette tidspunkt en almindelig tekstbesked) til et heltal (m) ved hjælp af en aftalt polstringsplan. Derefter beregner han krypteringsteksten ved hjælp af Alice’s offentlige nøgle og sender (c) til Alice.
  • Dekryptering – Alice kan gendanne beskeden (m) fra ciphertext (c) ved hjælp af sin private nøgle. Hun kan derefter gendanne den originale besked (M) ved at vende polstringsordningen fra (m).
  • En mere detaljeret forklaring af de matematiske operationer, der anvendes i RSA, kan findes her, men er uden for denne artikels anvendelsesområde.

    Derudover tillader RSA-kryptering digital signering af meddelelser, hvilket er altafgørende for kryptokurver og er en nøglekomponent i Bitcoins UTXO-transaktionsmodel. Alice kan digitalt underskrive en besked til Bob for at bekræfte, at hun sendte den (ved at validere, at hendes private nøgle blev brugt) ved at producere en hash-værdi af meddelelsen og vedhæfte den til meddelelsen. Denne værdi kan verificeres af Bob, der bruger den samme hashalgoritme i forbindelse med Alice’s offentlige nøgle og sammenligner den resulterende hashværdi med meddelelsens faktiske hashværdi.

    Konklusion

    RSA-kryptering er den mest udbredte asymmetriske krypteringsmetode i verden på grund af dens evne til at give et højt niveau af kryptering uden nogen kendt algoritme, der endnu er i stand til at være i stand til at løse den. Baseret på nogle geniale gennembrud inden for kryptografi og matematik, herunder Diffie-Hellman Key Exchange og trapdoor-funktion, er RSA-kryptering blevet altafgørende for at sikre kommunikation over hele verden.

    Mike Owergreen Administrator
    Sorry! The Author has not filled his profile.
    follow me