cipher

Wat is een cipher?

in de cryptologie, de discipline die zich bezighoudt met de studie van cryptografische algoritmen, is een cipher een algoritme voor het versleutelen en decoderen van gegevens.

symmetrische sleutelversleuteling, ook wel geheime sleutelversleuteling genoemd, is afhankelijk van het gebruik van cijfers, die symmetrisch werken. Bij symmetrische versleutelingsalgoritmen wordt dezelfde versleutelingssleutel op dezelfde manier op gegevens toegepast, ongeacht of het doel is om platte tekst naar versleutelingstekst of versleuteltekst naar platte tekst te converteren. Een cipher transformeert gegevens door het verwerken van de originele, platte tekst tekens of andere gegevens in versleutelde tekst. De cijfertekst moet verschijnen als willekeurige gegevens.

traditioneel werden deze twee belangrijke transformatievormen gebruikt:

  1. transpositie cijfers houden alle originele bits van gegevens in een byte, maar meng hun volgorde.
  2. Substitutiecodes vervangen specifieke gegevensreeksen door andere gegevensreeksen. Bijvoorbeeld, een soort substitutie zou zijn om alle bits met een waarde van 1 te transformeren naar een waarde van 0, en vice versa.

de gegevensuitvoer van beide methoden wordt de versleutelde tekst genoemd.

moderne cijfers maken privécommunicatie mogelijk in veel verschillende netwerkprotocollen, waaronder het Transport Layer Security (TLS) – protocol en andere die versleuteling van netwerkverkeer bieden. Veel communicatietechnologieën, waaronder telefoons, digitale televisie en geldautomaten, zijn afhankelijk van cijfers om de veiligheid en privacy te behouden.

Hoe werken cijfers?

een versleutelingsalgoritme maakt gebruik van een systeem van vaste regels — een versleutelingsalgoritme — om platte tekst, een leesbaar bericht, om te zetten in versleuteling, een schijnbaar willekeurige tekenreeks. Cijfers kunnen worden ontworpen om te versleutelen of decoderen bits in een stream, bekend als stream cijfers. Of ze kunnen Code-tekst verwerken in uniforme blokken van een bepaald aantal bits, bekend als blokcodes.

diagram van hoe versleuteling werkt
versleutelingsalgoritmen passen een cryptografische sleutel toe op platte tekst.

moderne cipher-implementaties zijn afhankelijk van het algoritme en een geheime sleutel, die door het versleutelingsalgoritme wordt gebruikt om gegevens te wijzigen zoals deze versleuteld zijn. Cijfers die langere toetsen gebruiken, gemeten in bits, zijn effectiever tegen brute-force aanvallen. Hoe langer de sleutellengte, hoe meer brute-kracht pogingen nodig zijn om de platte tekst bloot te leggen. Terwijl cipher sterkte is niet altijd afhankelijk van de lengte van de sleutel, experts raden moderne cijfers worden geconfigureerd om sleutels van ten minste 128 bits of meer te gebruiken, afhankelijk van het algoritme en de use case.

een sleutel is een essentieel onderdeel van een versleutelingsalgoritme — zozeer zelfs dat in het echte versleutelen de sleutel geheim wordt gehouden, niet het algoritme. Sterke encryptie-algoritmen zijn zo ontworpen dat, zelfs als iemand het algoritme kent, het onmogelijk zou moeten zijn om ciphertext te ontcijferen zonder de juiste sleutel te kennen. Bijgevolg, voordat een cipher kan werken, moet zowel de afzender als de ontvanger een sleutel of een set sleutels hebben.

versleutelingen zetten platte tekst om in versleutelde tekst
cryptografische versleutelingen worden gebruikt om versleutelde tekst om te zetten in platte tekst en terug.

met symmetrische sleutelalgoritmen wordt dezelfde sleutel gebruikt voor het versleutelen en ontcijferen van gegevens. Asymmetrische sleutelalgoritmen gebruiken publieke sleutels en privésleutels om gegevens te versleutelen en te decoderen.

in asymmetrische cryptografie, ook bekend als public key cryptografie, zijn de sleutels grote getallen die aan elkaar zijn gekoppeld, maar niet identiek zijn (asymmetrisch). Sleutelparen zijn de volgende::

  • de publieke sleutel kan met iedereen gedeeld worden.
  • de private, of geheime sleutel, wordt geheim gehouden.

een van de sleutels kan worden gebruikt om een bericht te versleutelen; de tegenovergestelde sleutel van degene die wordt gebruikt om het bericht te versleutelen wordt gebruikt voor decryptie.

de private of geheime sleutel van het paar wordt gebruikt door de eigenaar van het sleutelpaar om gegevens te ontcijferen of te versleutelen, terwijl de publieke sleutel wordt gebruikt door iedereen die een bericht wil versleutelen dat alleen door de houder van de private sleutel kan worden ontcijferd.

diagram van symmetrische versleuteling vs. asymmetrische versleuteling
symmetrische versleutelingsalgoritmen gebruiken slechts één sleutel voor zowel versleuteling als decryptie, terwijl asymmetrische versleutelingsalgoritmen gebruik maken van publiek / private sleutelparen.

waarvoor worden cijfers gebruikt?

symmetrische cijfers worden meestal gebruikt om onlinecommunicatie te beveiligen. Ze zijn ook opgenomen in veel verschillende netwerkprotocollen voor de uitwisseling van gegevens. Secure Sockets Layer en TLS gebruiken bijvoorbeeld cijfers om applicatielaaggegevens te versleutelen, vooral wanneer ze worden gebruikt met HTTP Secure (HTTPS).

virtuele particuliere netwerken die werknemers op afstand of filialen op afstand verbinden met bedrijfsnetwerken maken gebruik van protocollen met symmetrische sleutelalgoritmen om datacommunicatie te beschermen. Symmetrische cijfers beschermen de privacy van gegevens in de meeste Wi-Fi-netwerken, online bankieren en e-commerce diensten, en mobiele telefonie.

sommige protocollen gebruiken asymmetrische cryptografie om eindpunten te versleutelen en te verifiëren. Ze gebruiken het ook om de uitwisseling van symmetrische sleutels te beveiligen om sessiegegevens te versleutelen. Deze protocollen omvatten het volgende::

  • TLS
  • HTTPS
  • Secure Shell
  • Open vrij goede Privacy
  • Secure / Multipurpose Internet Mail Extensions

hoewel cryptografie met publieke sleutels als veiliger wordt beschouwd dan symmetrische versleuteling, is het ook computerintensiever. Om prestatieredenen vertrouwen protocollen vaak op symmetrische sleutelalgoritmen om sessiegegevens te versleutelen.

verschil tussen codes en cijfers

Codes en cijfers zijn verschillende manieren om een bericht te versleutelen. Een code is een methode om een bericht te veranderen door elk woord te vervangen door een ander woord dat een andere betekenis heeft.

aan de andere kant Converteert een cipher het bericht met behulp van zijn algoritme om de gegevens te transformeren die de letters en woorden in het bericht vertegenwoordigen. Cijfers zijn gemakkelijker te implementeren en te gebruiken met computers omdat algoritmen zijn geautomatiseerd en Gemakkelijk geprogrammeerd.

typen cijfers

cijfers kunnen op verschillende manieren worden gekarakteriseerd, waaronder::

  • blok cijfers versleutelen uniform formaat blokken van gegevens.
  • Stroomcodes kunnen worden toegepast op gegevensstromen die vaak via een netwerk worden ontvangen en verzonden.

cijfers kunnen afhankelijk zijn van traditionele sleutels die rechtstreeks worden gebruikt voor sleutelcodes of van ECC (elliptical curve cryptography). Wanneer ECC wordt gebruikt met een 160-bit sleutel, kan het de beveiliging van een traditionele cipher bieden, zoals die wordt gebruikt in het RSA (Rivest-Shamir-Adleman) cryptosysteem met behulp van een sleutel van 1.024 bits in lengte.

moderne versleutelingsalgoritmen zijn ontworpen om aanvallen te weerstaan, zelfs wanneer de aanvaller weet welke versleuteling wordt gebruikt. Historisch gezien zijn cijfers minder veilig geweest tegen aanvallen omdat ze werden gebruikt om gewone tekst met de hand te vercijferen en gemakkelijker kunnen worden geanalyseerd en gebroken met computervermogen.

voorbeelden van cijfers

enkele bekende historische cijfers zijn::

  • Caesar. Dit cijfer wordt toegeschreven aan Julius Caesar, die het gebruikt zou hebben om veilig te communiceren met zijn generaals. Het is een eenvoudige substitutie cipher waarbij elke letter in de platte tekst wordt verschoven een specifiek aantal plaatsen in het alfabet. Het dienstnummer dat Caesar zou gebruiken was drie. Substitutiecodes worden vaak uitgevoerd door het schrijven van het platte-tekst alfabet, waarbij het versleutelde alfabet boven de platte-tekst letters wordt geschreven, verschoven door het nummer waarmee de communicerende personen akkoord gaan. Een verschuiving van drie zet de letter D boven de platte tekst A, E boven B enzovoort. Het aantal verschoven tekens wordt beschouwd als een eenvoudige vorm van een sleutel.
  • Atbash. Deze cipher is een substitutie cipher waarin het alfabet met platte tekst op zichzelf is afgebeeld, maar in omgekeerde volgorde. Met andere woorden, de platte tekst letter A wordt toegewezen aan versleuteling Z, B wordt toegewezen aan Y, C aan X enzovoort. Atbash is vernoemd naar de twee eerste en twee laatste letters in het Hebreeuwse alfabet. Men denkt dat het al honderden jaren in gebruik is.
  • eenvoudige substitutie. Deze wordt ook al honderden jaren gebruikt. Het vervangt elk teken met platte tekst door een ander teken met versleutelde tekst, wat resulteert in wat in feite een 26-karaktersleutel is. Het verschilt van de Caesar cipher omdat het coderen alfabet is volledig door elkaar gehaald, in plaats van gewoon verschoven een uniform aantal plaatsen.
  • Vigenère. Dit cijfer is een vorm van polyalfabetische substitutie, wat betekent dat het gebaseerd is op substitutie met behulp van meerdere substitutie alfabetten. De Vigenère cipher maakt gebruik van een reeks doorweven Caesar-cijfers, gebaseerd op de letters van een trefwoord. De originele tekst wordt versleuteld met behulp van wat bekend staat als het Vigenère-plein of de Vigenère-tafel.
  • homofone substitutie. Deze substitutie cipher gebruikt verschillende versleutelde letters om enkele platte letters te vervangen. Dit type cipher is meestal veel moeilijker te breken dan standaard substitutie cijfers.

deze historische cijfers zijn nog steeds relevant omdat ze verschillende fundamentele componenten van moderne cijfers gebruiken, zoals vervanging en omzetting.

cijfers kunnen in en uit de mode gaan, afhankelijk van hun track records voor kracht tegen aanvallen, evenals de ontdekking van nieuwe aanvalsvectoren. Leer meer over de eerste stappen om versleutelingsalgoritmen veilig te gebruiken door de basisprincipes van symmetrische sleutelversleutelingsalgoritmen te begrijpen.

Leave a Reply