Startpagina » hoe » Wat is versleuteling en hoe werkt het?

    Wat is versleuteling en hoe werkt het?

    Versleuteling heeft een lange geschiedenis die teruggaat tot het moment waarop de oude Grieken en Romeinen geheime berichten stuurden door letters te vervangen die alleen te decoderen waren met een geheime sleutel. Ga met ons mee voor een snelle geschiedenisles en leer meer over hoe codering werkt.

    In de HTG Explains van vandaag geven we je een korte geschiedenis van codering, hoe het werkt en enkele voorbeelden van verschillende soorten codering - zorg ervoor dat je ook de vorige editie bekijkt, waarin we uitlegden waarom zoveel geeks een hekel hebben aan internet Ontdekkingsreiziger.

    Afbeelding door xkcd, duidelijk.

    De vroege dagen van versleuteling

    De oude Grieken gebruikten een hulpmiddel genaamd Scytale om hun berichten sneller te versleutelen met behulp van een transpositiecijfer - ze zouden simpelweg de strook perkament om de cilinder wikkelen, het bericht wegschrijven en vervolgens wanneer afgewikkeld niet klopten.

    Deze versleutelingsmethode kan natuurlijk vrij eenvoudig worden verbroken, maar het is een van de eerste voorbeelden van versleuteling die feitelijk in de echte wereld wordt gebruikt.

    Julius Caesar gebruikte in zijn tijd een enigszins vergelijkbare methode door elke letter van het alfabet naar rechts of links te verschuiven met een aantal posities - een coderingstechniek die bekend staat als Caesars codage. Als u bijvoorbeeld het onderstaande voorbeeldcijfer gebruikt, schrijft u "GEEK" als "JHHN".

    Normaal: ABCDEFGHIJKLMNOPQRSTUVWXYZ
    Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

    Omdat alleen de beoogde ontvanger van het bericht het cijfer kende, zou het moeilijk zijn voor de volgende persoon om de boodschap te decoderen, wat als wartaal zou lijken, maar de persoon met het cijfer zou het gemakkelijk kunnen decoderen en lezen.

    Andere eenvoudige versleutelingcodes zoals het Polybius-vierkant gebruikten een polyalfabetisch cijfer dat elke letter opsomde met de corresponderende numerieke posities aan de boven- en zijkant om te vertellen waar de positie van de brief was.

    Gebruik een tabel zoals hierboven om de letter "G" als "23" of "GEEK" als "23 31 31 43" te schrijven.

    Enigma Machine

    Tijdens de Tweede Wereldoorlog gebruikten de Duitsers de Enigma-machine om versleutelde transmissies heen en weer door te geven, wat jaren duurde voordat de Polen in staat waren om de berichten te kraken, en de oplossing aan de geallieerde troepen gaven, wat hun overwinning ten goede kwam.

    De geschiedenis van moderne versleuteling

    Laten we eerlijk zijn: moderne coderingstechnieken kunnen een uiterst saai onderwerp zijn, dus in plaats van ze alleen met woorden uit te leggen, hebben we een stripverhaal samengesteld over de geschiedenis van encryptie, geïnspireerd op de stick figure guide van Jeff Moser voor AES.  Opmerking: het is duidelijk dat we niet alles over de geschiedenis van de codering in een stripverhaal kunnen overbrengen.

    Vroeger hadden mensen geen goede versleutelingsmethode om hun elektronische communicatie te beveiligen.

    Lucifer werd de naam gegeven aan enkele van de vroegste civiele blokcijfers, ontwikkeld door Horst Feistel en zijn collega's bij IBM.

    De Data Encryption Standard (DES) is een block cipher (een vorm van gedeelde geheime encryptie) die in 1976 door de National Bureau of Standards werd geselecteerd als een officiële Federal Information Processing Standard (FIPS) voor de Verenigde Staten en die vervolgens wijdverbreid heeft gebruik internationaal.

    Bezorgdheid over veiligheid en de relatief trage werking van DES in gemotiveerde software-onderzoekers om een ​​verscheidenheid aan alternatieve block cipher-ontwerpen voor te stellen, die eind jaren tachtig en begin jaren negentig van de vorige eeuw begonnen te verschijnen: voorbeelden zijn RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 en FEAL

    Het coderingsalgoritme van Rijndael is door de Amerikaanse overheid aangenomen als standaardsymmetrische-sleutelcodering of Advanced Encryption Standard (AES). AES werd aangekondigd door het National Institute of Standards and Technology (NIST) als US FIPS PUB 197 (FIPS 197) op 26 november 2001 na een 5-jarig normalisatieproces waarbij vijftien concurrerende ontwerpen werden gepresenteerd en geëvalueerd voordat Rijndael als de meest geselecteerde werd gekozen geschikt coderingsalgoritme.

    Versleutelingsalgoritme Prestaties

    Er zijn veel versleutelingsalgoritmen en ze zijn allemaal geschikt voor verschillende doeleinden - de twee belangrijkste kenmerken die het ene versleutelalgoritme identificeren en onderscheiden van het andere zijn het vermogen om de beschermde gegevens te beveiligen tegen aanvallen en de snelheid en efficiëntie daarbij..

    Als een goed voorbeeld van het snelheidsverschil tussen verschillende soorten codering, kunt u het benchmarking-hulpprogramma gebruiken dat is ingebouwd in de wizard voor het maken van volumes van TrueCrypt. Zoals u ziet, is AES verreweg het snelste type sterke codering..

    Er zijn zowel langzamere als snellere versleutelingsmethoden en ze zijn allemaal geschikt voor verschillende doeleinden. Als u eenvoudigweg een klein stukje gegevens probeert te decoderen, kunt u het zich veroorloven de sterkst mogelijke codering te gebruiken of zelfs twee keer coderen met verschillende soorten codering. Als je snelheid nodig hebt, wil je waarschijnlijk met AES gaan.

    Kijk voor meer informatie over het vergelijken van verschillende soorten codering eens met een rapport van de Washington University in St. Louis, waar ze heel wat testen op verschillende routines uitvoerden, en legde het allemaal uit in een zeer nerd artikel.

    Typen moderne versleuteling

    Het fraaie coderingsalgoritme waarover we eerder hebben gesproken, wordt meestal gebruikt voor twee verschillende soorten codering:

    • Symmetrische sleutelalgoritmen gebruik gerelateerde of identieke coderingssleutels voor zowel codering als decodering.
    • Asymmetrische sleutelalgoritmen gebruik verschillende sleutels voor codering en decodering - dit wordt meestal aangeduid als Public-key Cryptography.

    Symmetrische sleutelversleuteling

    Om dit concept uit te leggen, gebruiken we de metafoor voor de postdienst die wordt beschreven in Wikipedia om te begrijpen hoe symmetrische sleutelalgoritmen werken.

    Alice stopt haar geheime boodschap in een doos en vergrendelt de doos met een hangslot waaraan ze een sleutel heeft. Vervolgens stuurt ze de box via de reguliere post naar Bob. Wanneer Bob de doos ontvangt, gebruikt hij een identieke kopie van de sleutel van Alice (die hij op de een of andere manier eerder heeft verkregen, misschien door een persoonlijke ontmoeting) om de doos te openen en het bericht te lezen. Bob kan dan hetzelfde hangslot gebruiken om zijn geheime antwoord te verzenden.

    Symmetrische-sleutelalgoritmen kunnen worden onderverdeeld in stroomcodes en blokcodes: stroomcoders versleutelen de bits van het bericht één voor één en blokcoderingen nemen een aantal bits, vaak in blokken van 64 bits per keer, en coderen ze als een enkele eenheid. Er zijn veel verschillende algoritmen waaruit je kunt kiezen - de meer populaire en gerespecteerde symmetrische algoritmen zijn onder meer Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES en IDEA.

    Asymmetrische codering

    In een asymmetrisch sleutelsysteem hebben Bob en Alice aparte hangsloten in plaats van het enkele hangslot met meerdere sleutels uit het symmetrische voorbeeld. Let op: dit is natuurlijk een zeer versimpeld voorbeeld van hoe het echt werkt, wat veel ingewikkelder is, maar je krijgt het algemene idee.

    Eerst vraagt ​​Alice Bob om zijn open hangslot via de gewone post naar haar te sturen, waarbij hij zijn sleutel in zichzelf bewaart. Wanneer Alice het ontvangt, gebruikt ze het om een ​​vakje met haar bericht te vergrendelen en stuurt het het vergrendelde vak naar Bob. Bob kan dan de doos ontgrendelen met zijn sleutel en het bericht van Alice lezen. Om te antwoorden moet Bob op dezelfde manier het open hangslot van Alice krijgen om het vak te vergrendelen voordat het naar haar wordt teruggestuurd.

    Het cruciale voordeel van een asymmetrisch sleutelsysteem is dat Bob en Alice nooit een kopie van hun sleutels naar elkaar hoeven te sturen. Dit voorkomt dat een derde partij (misschien in het voorbeeld een corrupte postbeambte) een sleutel kopieert terwijl deze onderweg is, waardoor deze derde alle toekomstige berichten die tussen Alice en Bob zijn verzonden, kan bespioneren. Als Bob bovendien onvoorzichtig was en iemand anders toestemming had gegeven om te kopiëren zijn sleutel, Alice's berichten aan Bob zouden in gevaar komen, maar Alice's berichten aan andere mensen zouden geheim blijven, omdat de andere mensen verschillende hangsloten zouden leveren voor Alice om te gebruiken.

    Asymmetrische codering gebruikt verschillende sleutels voor codering en decodering. De ontvanger van het bericht maakt een privésleutel en een openbare sleutel. De openbare sleutel wordt verdeeld onder de afzenders van het bericht en ze gebruiken de openbare sleutel om het bericht te coderen. De ontvanger gebruikt zijn privésleutel gecodeerde berichten die zijn gecodeerd met de openbare sleutel van de ontvanger.

    Er is een groot voordeel aan het coderen op deze manier in vergelijking met symmetrische codering. We hoeven nooit iets geheims te verzenden (zoals onze coderingssleutel of wachtwoord) over een onveilig kanaal. Je openbare sleutel gaat de wereld in - het is niet geheim en hoeft ook niet zo te zijn. Uw privésleutel kan knus en gezellig op uw pc blijven, waar u deze hebt gegenereerd - u hoeft hem nooit meer per e-mail te verzenden of te lezen door aanvallers.

    Hoe codering communicatie op internet beveiligt

    Het SSL-protocol (Secure Sockets Layer) beveiligt al jaren webtransacties met behulp van codering tussen uw webbrowser en een webserver en beschermt u tegen iedereen die in het midden op het netwerk rondsnuffelt.

    SSL zelf is conceptueel vrij eenvoudig. Het begint wanneer de browser een beveiligde pagina aanvraagt ​​(meestal https: //)

    De webserver verzendt zijn openbare sleutel met zijn certificaat.

    De browser controleert of het certificaat is uitgegeven door een vertrouwde partij (meestal een vertrouwde basiscertificeringsinstantie), dat het certificaat nog steeds geldig is en dat het certificaat gerelateerd is aan de gecontacteerde site.

    De browser gebruikt vervolgens de openbare sleutel om een ​​willekeurige symmetrische coderingssleutel te coderen en verzendt deze naar de server met de vereiste gecodeerde URL evenals andere versleutelde http-gegevens.

    De webserver decodeert de symmetrische coderingssleutel met zijn persoonlijke sleutel en gebruikt de symmetrische sleutel van de browser om de URL en http-gegevens van de browser te decoderen.

    De webserver verzendt het gevraagde html-document en http-gegevens versleuteld met de symmetrische sleutel van de browser. De browser decodeert de http-gegevens en het html-document met behulp van de symmetrische sleutel en geeft de informatie weer.

    En nu kun je veilig dat eBay-object kopen dat je echt niet nodig had.

    Heb je iets geleerd??

    Als je zover bent gekomen, zijn we aan het einde van onze lange reis naar het begrijpen van encryptie en een beetje van hoe het werkt - vanaf de vroege dagen van versleuteling met de Grieken en Romeinen, de opkomst van Lucifer, en ten slotte hoe SSL gebruikt asymmetrische en symmetrische codering om u te helpen dat donzige roze konijntje op eBay te kopen.


    We zijn grote fans van encryptie hier bij How-To Geek en we hebben een heleboel verschillende manieren behandeld om dingen te doen als:

    • Aan de slag met TrueCrypt (om uw gegevens te beveiligen)
    • Voeg automatische website-encryptie toe aan Firefox
    • BitLocker To Go versleutelt draagbare flashstations in Windows 7
    • Hoe uw Linux-pc te beveiligen door uw harde schijf te versleutelen
    • Add Encrypt / Decrypt Options to Windows 7 / Vista Klik met de rechtermuisknop op Menu
    • Aan de slag met TrueCrypt Drive Encryption op Mac OS X

    Natuurlijk is encryptie een veel te ingewikkeld onderwerp om alles echt uit te leggen. Hebben we iets belangrijks gemist? Voel je vrij om wat kennis over je mede-lezers te leggen in de commentaren.