Så här kan offentlig nyckelkryptografi användas för att kryptera ett e -postmeddelande mellan Alice och Bob:
Nyckelkoncept:
* offentlig nyckel: En nyckel som vem som helst kan komma åt. Det används för kryptering.
* Privat nyckel: En nyckel som hålls hemlig och endast är känd för dess ägare. Det används för dekryptering och digitala signaturer.
* Nyckelpar: Varje användare har ett par nycklar - en offentlig nyckel och en privat nyckel. Nycklarna är matematiskt länkade.
Processen:
1. Nyckelgenerering:
* Alice genererar ett nyckelpar:en offentlig nyckel (Alice's offentliga nyckel) och en privat nyckel (Alice's privata nyckel). Hon håller sin privata nyckel helt hemligt och delar sin offentliga nyckel med alla som vill kommunicera med henne säkert.
* Bob genererar ett nyckelpar:en offentlig nyckel (Bobs offentliga nyckel) och en privat nyckel (Bobs privata nyckel). Han håller sin privata nyckel helt hemligt och delar sin offentliga nyckel med alla som vill kommunicera med honom säkert.
2. Alice krypterar e -postmeddelandet:
* Alice vill skicka ett säkert e -postmeddelande till Bob.
* Alice får Bobs offentliga nyckel. Detta kan komma från en nyckelserver, en webbplats, ett visitkort eller på något annat sätt som Bob har gjort sin offentliga nyckel tillgängligt. Det är mycket viktigt att se till att Alice verkligen har Bobs offentliga nyckel och inte nyckeln till en imposter.
* Alice använder Bobs offentliga nyckel för att * kryptera * sitt e -postmeddelande. Krypteringsprocessen förvandlar det ursprungliga meddelandet (klartext) till ett oläsligt format (chiffertext).
3. Alice skickar det krypterade e -postmeddelandet:
* Alice skickar det krypterade e -postmeddelandet till Bob. E -postmeddelandet är nu oläsligt för alla som avlyssnar det under transit.
4. Bob dekrypterar e -postmeddelandet:
* Bob tar emot det krypterade e -postmeddelandet.
* Bob använder sin * privata nyckel * för att * dekryptera * e -postmeddelandet. Endast Bobs privata nyckel kan låsa upp chiffertexten som var krypterad med Bobs offentliga nyckel.
* Bob kan nu läsa det ursprungliga meddelandet (klartext).
Varför detta fungerar:
* Sekretess: E -postmeddelandet är endast läsbart av Bob eftersom bara hans privata nyckel kan dekryptera den.
* asymmetri: Nyckeln som används för kryptering (Bobs offentliga nyckel) skiljer sig från nyckeln som används för dekryptering (Bobs privata nyckel). Detta är den grundläggande principen för offentlig nyckelkryptografi. Att känna till Bobs offentliga nyckel tillåter inte * att du kan härleda Bobs privata nyckel.
Viktiga överväganden:
* Nyckelfördelning: Att säkert distribuera offentliga nycklar är kritiskt. Om Alice får en falsk offentlig nyckel som påstår sig vara Bob's, kommer hon att kryptera meddelandet med fel nyckel, och imposter (som styr motsvarande privata nyckel) kommer att kunna läsa meddelandet. Det är här certifikatmyndigheterna (CA) och digitala certifikat spelar in. CAS verifiera identiteten hos individer och organisationer och utfärda certifikat som binder en offentlig nyckel till den identiteten.
* algoritmstyrka: Krypteringens styrka beror på den använda algoritmen (t.ex. RSA, ECC) och nyckellängden. Längre nycklar ger i allmänhet bättre säkerhet men kräver mer bearbetningskraft.
* Praktisk e -postkryptering (PGP/GPG och S/MIME): Processen som jag beskrev ovan är kärnprincipen. I praktiken använder dock säkra e -postsystem som PGP/GPG och S/MIME ofta en *hybridmetod *. De använder offentlig nyckelkryptografi för att säkert utbyta en symmetrisk nyckel och använder sedan den symmetriska nyckeln för att kryptera huvuddelen av e -postmeddelandet. Symmetrisk kryptering är betydligt snabbare än asymmetrisk kryptering. Denna hybridmetod får det bästa av båda världarna:säkerheten för offentlig nyckelkryptografi och hastigheten på symmetrisk nyckelkryptografi.
* digitala signaturer: Förutom kryptering kan offentlig nyckelkryptografi användas för digitala signaturer. Alice kan använda sin * privata * nyckel för att digitalt underteckna e -postmeddelandet. Bob (eller någon annan) kan sedan använda Alice's * offentliga * nyckel för att verifiera att e -postmeddelandet:1) har sitt ursprung i Alice, och 2) inte har manipulerats med under transitering.
Exempel (förenklad illustration):
1. Alice får Bobs offentliga nyckel: Alice hittar Bobs offentliga nyckel på sin webbplats. Låt oss säga att det är en lång rad siffror.
2. Alice krypterar sitt meddelande: Alice använder ett program som implementerar en offentlig nyckelkrypteringsalgoritm. Hon klistrar in sitt meddelande i programmet, ger Bobs offentliga nyckel och klickar "Encrypt". Programmet matar ut en krypterad sträng av tecken.
3. Alice skickar det krypterade meddelandet: Alice kopierar den krypterade strängen och klistrar in den i ett e -postmeddelande till Bob.
4. Bob dekrypterar meddelandet: Bobs e -postklient (eller ett separat dekrypteringsprogram) använder automatiskt sin privata nyckel för att dekryptera e -postmeddelandet. E -postklienten inser att e -postmeddelandet är krypterat med Bobs offentliga nyckel och försöker automatiskt dekryptera den med Bobs motsvarande privata nyckel. Bobs ursprungliga meddelande avslöjas sedan.
Sammanfattningsvis möjliggör offentlig nyckelkryptografi säker kommunikation genom att låta Alice kryptera ett meddelande med Bobs offentliga nyckel, som bara Bob kan dekryptera med sin privata nyckel, vilket säkerställer sekretess. Det är en grundläggande teknik för säker e -post och andra säkra kommunikationsprotokoll på internet.