In dit gedeelte en in de volgende lezingen, ga ik je laten zien hoe je PGP kunt gebruiken om
tekstbestanden, e-mails te coderen en te decoderen, en we gaan het ook gebruiken om de integriteit van bestanden, e-mails en dergelijke te ondertekenen en te
verifiëren. Aan.
Op deze manier kan veilig worden gecommuniceerd omdat alles wat wordt verzonden en ontvangen, versleuteld
is en de integriteit van de verzonden gegevens kan worden gecontroleerd.
We kunnen dus alles ondertekenen wat we verzenden en de ontvanger kan controleren of deze gegevens daadwerkelijk door ons
zijn verzonden en dat er niet mee is geknoeid.
Nu, de reden waarom we PGP gaan gebruiken voor codering en om integriteit te verifiëren, omdat dit een
zeer sterke codering is die de tand des tijds heeft doorstaan en nog niet is verbroken, zelfs op basis van gelekte rapporten, lijkt
het erop dat zelfs de overheid agentschappen zijn nog niet in staat om het te doorbreken.
Het is dus een zeer, zeer sterke encryptie, ook al staat PGP voor behoorlijk goede encryptie.
Deze verklaring is eigenlijk sarcastisch omdat dit een zeer sterke en krachtige codering is.
In deze lezing wil ik u nu uitleggen hoe PGP in het algemeen werkt.
En dan zullen we in de volgende colleges zien hoe we het kunnen gebruiken om allerlei soorten gegevens te versleutelen en hoe we het kunnen gebruiken
om de integriteit te ondertekenen en te verifiëren.
Nu, openbare PGP-sleutel of een asymmetrische codering, en om te begrijpen hoe dat werkt, laten we eerst eens
kijken naar het andere traditionele type codering, symmetrische codering.
Dus laten we een voorbeeld nemen waar we twee mensen hebben, David en John.
We gaan vergeten hoe ze gaan communiceren.
We gaan er gewoon van uit dat David een bericht naar John wil sturen en de inhoud van dit bericht,
een geheime boodschap.
Als David zijn bericht wil beschermen tegen iemand die dit bericht zou kunnen onderscheppen of
lezen, kan hij een coderingssleutel gebruiken om dit bericht te coderen.
En dit zal de boodschap in wartaal veranderen.
Dan kan hij dit bericht op elke willekeurige manier naar John sturen door ons een e-mail of per post of als
sms te sturen.
Het maakt niet echt uit.
En als dit bericht wordt onderschept, wordt de inhoud van het bericht wartaal.
Het is dus niet nuttig voor de persoon die dit onderschept.
John zal het bericht ontvangen.
Hij zal het bericht openen.
Het bericht zal nog steeds wartaal zijn.
En dan gaat John dezelfde coderingssleutel gebruiken om dit bericht te decoderen en de inhoud ervan te onthullen, wat
een geheime boodschap was.
Zo heel, heel simpel.
Kortom, David gebruikt een sleutel om het bericht te versleutelen.
John gebruikt dezelfde sleutel om het te decoderen.
En zo kunnen ze allebei het bericht lezen.
Maar wie de sleutel niet heeft, kan het bericht niet lezen.
Dus dezelfde sleutel wordt gebruikt door David en door John.
Daarom staat dit bekend als asymmetrische codering.
Nu, je raadt het waarschijnlijk al.
Deze sleutel moet privé zijn.
Daarom staat het bekend als een geheime sleutel, want iedereen die erin slaagt deze sleutel te bemachtigen, zal
elk bericht kunnen ontcijferen dat David naar John stuurt en vice versa.
Dus op basis van alles wat we tot nu toe hebben gezegd, kunnen we zien dat de geheime sleutel kan worden gebruikt
om de berichten te decoderen, daarom moet deze geheim worden gehouden.
Maar David moet het op de een of andere manier delen met John en iedereen met wie David wil communiceren.
Daarom is dit een grote fout bij symmetrische encryptie omdat de sleutel geheim moet zijn, maar
tegelijkertijd gedeeld moet worden.
En als je het met meer mensen deelt, vergroot je het aanvalsoppervlak, om nog maar te zwijgen van het probleem van het delen van
de eigenlijke sleutel.
Hoe gaan we het delen?
Gaan we het in een apart bericht sturen?
Wat als dat bericht wordt onderschept?
Wat als we dingen via internet verzenden en we weten hoeveel banen onze gegevens kunnen passeren?
Dit kan rood worden onderschept en dan wordt de rest van onze communicatie gedecodeerd.
Dit was de belangrijkste drijfveer om met een veiligere encryptie te komen.
En dit is waar asymmetrische of openbare sleutelversleuteling om de hoek komt kijken.
Dus laten we teruggaan naar David, die een bericht naar John wilde sturen en de inhoud van het
bericht, een geheime boodschap, een asymmetrische codering.
Eén sleutel wordt gebruikt om het bericht te versleutelen.
Het bericht wordt in de lucht verzonden en vervolgens wordt een andere sleutel gebruikt om het bericht te decoderen.
Zoals je in deze encryptie kunt zien, worden er dus twee verschillende sleutels gebruikt en vandaar de naam asymmetrische encryptie.
Nu worden deze twee sleutels een sleutelpaar genoemd.
Ze zijn wiskundig verwant.
De ene wordt gebruikt voor het versleutelen van het bericht en de andere wordt gebruikt voor de ontsleuteling.
Daarom wordt de decoderingssleutel nooit gedeeld en daarom is deze veiliger.
Nu denk je dat als de decoderingssleutel nooit wordt gedeeld, hoe dit gaat werken?
Laten we teruggaan en eens nader bekijken hoe dit gaat werken.
Dus nogmaals, David wil een bericht naar John sturen, de inhoud van het bericht, een geheime boodschap.
Maar voordat hij dit bericht verzendt en voordat hij het versleutelt, gaat John een bewaarder, een openbare sleutel
en een privésleutel maken.
Zoals ik al zei, deze kinderen zijn wiskundig met elkaar verbonden en John gaat de openbare sleutel naar David sturen,
naar de persoon die het bericht zal verzenden, zodat de openbare sleutel kan worden gedeeld met iedereen die het
daadwerkelijk openbaar kan maken op internet, op sleutel mappen.
Het maakt niet echt uit, omdat het niet kan worden gebruikt om de privésleutel te bepalen.
Daarom is het volkomen veilig om de openbare sleutel te delen.
Dus David ontvangt de publieke sleutel.
Hij gebruikt de publieke sleutel om het bericht te versleutelen.
Het bericht wordt op elke willekeurige manier verzonden.
Het maakt niet echt uit.
En zelfs als het wordt onderschept, blijft het gebrabbel.
John zal het bericht ontvangen.
Hij zal het bericht openen.
Het bericht zal nog steeds wartaal zijn, maar hij zal de privésleutel gebruiken om dit bericht te decoderen.
Zo krijgt hij de inhoud van de geheime boodschap.
En zoals je kunt zien, is de privésleutel nooit gedeeld.
John heeft de privésleutel gemaakt en John heeft de privésleutel bewaard.
Het enige dat wordt gedeeld, is de openbare sleutel, die niet kan worden gebruikt om de privésleutel te bepalen en die niet
kan worden gebruikt om het bericht te decoderen.
Het kan alleen worden gebruikt om het bericht te versleutelen.
Dus tegen het einde van de communicatie zal David de openbare sleutel van John hebben en zal John
hun privésleutel behouden, daarom kan David nu altijd berichten naar John sturen en zal John ze altijd
kunnen decoderen met zijn eigen privésleutel .
Niet alleen dat, maar als David iets versleutelt met de openbare sleutel van John, kan hij er zeker van zijn dat
niemand dit bericht kan ontsleutelen, behalve John, omdat John de enige is die de privésleutel heeft en zijn privésleutel
nooit mag worden gedeeld als John weet wat hij doet, want het heeft geen zin om het te delen,
zelfs als hij wil dat 100 mensen hem berichten sturen.
Het enige wat hij hoeft te doen is zijn openbare sleutel te delen en niet zijn privésleutel.
Als John nu iets naar David wilde sturen, kan hetzelfde in de tegenovergestelde richting worden gedaan.
Dus David zou een hoeder creëren.
Hij zou John zijn openbare sleutel sturen, en dan zou John de openbare sleutel van David gebruiken om berichten te versleutelen.
Wanneer David ze ontvangt, zal hij zijn eigen privésleutel gebruiken om ze te decoderen.
Het idee is dus heel, heel eenvoudig.
Je deelt je publieke sleutel, vandaar de naam public.
Dat is volkomen veilig omdat het niet kan worden gebruikt om de privésleutel te bepalen en het kan niet worden gebruikt om de
berichten te decoderen.
Dus je deelt het publiek en iedereen die je een bericht wil sturen, zullen dat bericht versleutelen met
je eigen openbare sleutel.
En op deze manier bent u de enige die dit bericht kan ontcijferen.
Hetzelfde geldt wanneer u nog een bericht wilt verzenden.
Als u mij bijvoorbeeld een bericht wilt sturen, hoeft u dat bericht alleen maar te versleutelen met
mijn openbare sleutel.
En op deze manier, omdat ik mijn privésleutel met niemand deel, ben ik de enige die het bericht kan
lezen.
Je kunt dit bericht dus overal neerzetten.
Je kunt het openbaar delen en het is nog steeds veilig omdat niemand dat bericht kan lezen behalve
ik.