Tot nu toe hebben we geleerd hoe we PGP kunnen gebruiken om berichten te versleutelen, zodat alleen de ontvanger de inhoud van het bericht
kan lezen.
Om dat te doen, gebruikt de afzender, David, in ons voorbeeld, de openbare sleutel van de ontvanger.
Dus de ontvanger maakt zijn publieke sleutel openbaar, zoals de naam al doet vermoeden.
Dat is prima, want de openbare sleutel kan niet worden gebruikt om berichten te decoderen.
Het kan alleen worden gebruikt om berichten te versleutelen.
Dus versleutelt David het bericht met de ontvangers.
John's waarschijnlijk de sleutel.
Het bericht wordt verzonden en wanneer John het ontvangt, gebruikt hij zijn eigen privésleutel die hij nooit met iemand deelt
om het bericht te decoderen.
Daarom kan David de boodschap naar John sturen op elke manier die hij wil.
Hij kan het verzenden als sms, als expresbericht of zelfs via een onveilige service.
Dat is prima, want als iemand het bericht leest, zullen ze gebrabbel zien.
Ze willen de inhoud kunnen zien, tenzij ze de privésleutel hebben.
En zolang John de privésleutel niet deelt, hoeft hij deze niet te delen.
Dan zal niemand dit bericht kunnen lezen behalve John.
Dus dat is echt heel goed.
Het enige probleem hier is dat John op geen enkele manier kan verifiëren dat het bericht dat ze hebben
ontvangen daadwerkelijk door David is verzonden.
Dus zoals ik al zei, om dit te laten werken, moet John hun openbare sleutel openbaar maken.
Dus het verkrijgen van de openbare sleutel van John is eenvoudig.
Daarom zou John het in zijn handtekening in zijn e-mail kunnen hebben.
Hij kan het in zijn handtekening op een forum hebben.
Hij zou het publiekelijk kunnen delen omdat hij wil dat mensen hem versleutelde berichten sturen.
Er is dus niets mis mee om je publiek openbaar te maken.
Het enige probleem is dat iemand binnen kan komen en zich kan voordoen als David, de openbare sleutel van John kan gebruiken om een bericht te
versleutelen en het naar John te sturen.
En op die manier kan John niet weten of deze boodschap echt van David kwam of niet.
Om dit probleem op te lossen, zal David het bericht moeten ondertekenen.
Dit kan echt met PGP.
Dus laat me je laten zien hoe dit zal werken met dit voorbeeld.
Dus nogmaals, we hebben David.
Hij wil John een geheime boodschap sturen.
En zoals we eerder hebben geleerd, zal David als eerste de openbare sleutel van John gebruiken om het bericht
te versleutelen.
Het bericht zal veranderen in wartaal.
Nu, in dit stadium van de vorige lezing, hebben we het bericht verzonden, maar deze keer
gaat David het bericht ondertekenen met zijn eigen privésleutel.
Dus hij heeft de privésleutel nog steeds niet verzonden.
De boodschap is nog steeds aan het einde van David.
En wat hij gaat doen, is dat hij een handtekening voor dit bericht gaat maken.
De handtekening komt overeen met dit bericht.
En als er iets in het bericht wordt gewijzigd, als één letter wordt gewijzigd, verandert de
handtekening.
Daarom kan deze handtekening worden gebruikt om te verifiëren dat het bericht niet is gewijzigd sinds het is
ondertekend door de privésleutel van David.
Houd er rekening mee dat David nog steeds zijn eigen privésleutel houdt.
Hij heeft het niet via een communicatiemiddel verzonden.
Dus nu hebben we een bericht met een versleutelde inhoud en met een handtekening die overeenkomt met de privésleutel van
David.
Vervolgens wordt het bericht verzonden via elke communicatiemethode.
Zoals we al zeiden, je kunt zelfs een onveilige manier van communiceren gebruiken.
John zal het bericht ontvangen samen met zijn handtekening en voordat hij dit bericht ontcijfert met
zijn eigen privésleutel.
Hij gaat Davids publieke sleutel gebruiken om de handtekening te verifiëren.
Dus, zoals ik al zei, de handtekening is gemaakt met de privésleutel van David.
En dan heeft John de privésleutel van David niet, maar hij gaat de openbare sleutel van David gebruiken om de handtekening
te verifiëren.
Als het bericht niet is gewijzigd, is de verificatie geslaagd.
En op deze manier zal John weten dat dit bericht feitelijk door David is verzonden en door niemand is gewijzigd, omdat, zoals
ik al zei, als één letter wordt gewijzigd, de openbare sleutel, de openbare sleutel van David, de handtekening
niet zal verifiëren.
Dus wanneer de handtekening is geverifieerd, weten we dat David de daadwerkelijke afzender van het bericht was en
dat het bericht niet is gewijzigd zoals het werd verzonden, of het nu via internet werd verzonden als een
sms-bericht of via een andere communicatiemethode.
De volgende stap lijkt erg op wat er in de vorige lezing is gebeurd.
John zal zijn eigen privésleutel gebruiken om het bericht te decoderen en de inhoud ervan te lezen, wat slechts een geheime
boodschap is.
Zoals je kunt zien, behield hierdoor elke partij nog steeds zijn eigen privésleutel.
Niemand heeft zijn privésleutel naar de andere partij gestuurd.
Dus de afzender versleutelt het bericht met de openbare sleutel van de ontvanger en ondertekent het bericht met zijn
eigen privésleutel.
Het bericht wordt verzonden.
De ontvanger controleert of de handtekening met de afzender een openbare sleutel is en wordt gedecodeerd met zijn eigen privésleutel.
Op deze manier kan hij verifiëren dat dit bericht van de afzender kwam, hij kan controleren of
het bericht niet is gewijzigd zoals het werd verzonden en het bericht is gecodeerd en de enige persoon die het kan
lezen is de ontvanger, omdat hij zijn eigen privésleutel privé, en deze is met niemand gedeeld.
Dit zou allemaal duidelijker moeten worden in de volgende lezing, want ik ga je laten zien
hoe je berichten versleutelt en tekent als senator.
En ik ga je ook laten zien hoe je de handtekening kunt verifiëren en de berichten kunt ontsleutelen als ontvanger.