Cijfertekst is versleutelde tekst die met behulp van een versleutelingsalgoritme is omgezet van klare tekst. Cijfertekst kan niet worden gelezen totdat hij met een sleutel is omgezet in klare tekst (ontcijferd). Het ontcijferingsalgoritme is een algoritme dat de cijfertekst weer in klare tekst omzet.
De term cipher wordt soms gebruikt als synoniem voor cijfertekst. Het verwijst echter naar de methode van encryptie in plaats van het resultaat.
Soorten cijfers
Er zijn verschillende soorten cijfers, waaronder:
- Substitutiecijfers. Vervang bits, tekens of tekenblokken in de klare tekst door alternatieve bits, tekens of tekenblokken om cijfertekst te produceren. Een substitutiecijfer kan mono-alfabetisch of polyalfabetisch zijn:
- Een enkel alfabet wordt gebruikt om de gehele onbewerkte tekst te vercijferen. Bijvoorbeeld, als de letter A wordt vercijferd als de letter K, zal dit voor het gehele bericht hetzelfde zijn.
- Een complexere substitutie waarbij een gemengd alfabet wordt gebruikt om elk bit, teken of tekenblok van een onbewerkt bericht te vercijferen. Bijvoorbeeld, de letter A kan gecodeerd worden als de letter K voor een deel van het bericht, maar later kan het gecodeerd worden als de letter W.
- Transpositiecijfers. In tegenstelling tot substitutiecijfers die letters vervangen door andere letters, houden transpositiecijfers de letters hetzelfde, maar herschikken hun volgorde volgens een specifiek algoritme. Bijvoorbeeld, in een eenvoudig kolomvormig transpositiecijfer kan een bericht horizontaal worden gelezen, maar verticaal worden geschreven om de cijfertekst te produceren.
- Polygrafische cijfers. Een polygrafisch cijfer vervangt een letter door een andere letter en voert substituties uit met twee of meer groepen van letters. Dit maskeert de frequentie verdeling van letters, waardoor frequentie analyse aanvallen veel moeilijker worden.
- Permutatie cijfers. In dit cijfer worden de posities van de klare tekst verschoven naar een regelmatig systeem, zodat de cijfertekst een permutatie van de klare tekst is.
- Private-key cryptografie. In dit cijfer, moeten de verzender en de ontvanger een vooraf gedeelde sleutel hebben. De gedeelde sleutel wordt geheim gehouden voor alle andere partijen en wordt gebruikt voor zowel encryptie als decryptie. Deze vorm van cryptografie staat ook bekend als “symmetrisch sleutelalgoritme.”
- Public-key cryptografie. Bij deze vorm van cryptografie worden twee verschillende sleutels – de openbare sleutel en de particuliere sleutel – gebruikt voor encryptie en decryptie. De verzender gebruikt de openbare sleutel om de encryptie uit te voeren, maar de privésleutel wordt geheim gehouden voor de ontvanger. Dit wordt ook wel “asymmetrisch sleutelalgoritme” genoemd.”
Toepassingen van cijfertekst
Symmetrische cijfers, die meestal worden gebruikt om online-communicatie te beveiligen, zijn in veel verschillende netwerkprotocollen opgenomen om te worden gebruikt voor het versleutelen van uitwisselingen. Transport Layer Security gebruikt bijvoorbeeld cijfers om gegevens op de toepassingslaag te versleutelen.
Virtuele privénetwerken die externe werknemers of filialen met bedrijfsnetwerken verbinden, gebruiken protocollen met symmetrische cijfers om de gegevenscommunicatie te beschermen. Symmetrische cijfers beschermen de privacy van gegevens in de meeste Wi-Fi-netwerken, online bankieren, e-commerce-diensten en mobiele telefonie.
Andere protocollen, waaronder secure shell, OpenPGP en Secure/Multipurpose Internet Mail Extensions, maken gebruik van asymmetrische cryptografie om eindpunten te versleutelen en te authenticeren, maar ook om de symmetrische sleutels voor de versleuteling van sessiegegevens veilig uit te wisselen. Om prestatieredenen vertrouwen protocollen vaak op cijfersleutels om sessiegegevens te versleutelen.
Cijfertekstaanvallen
De bekende cijfertekstaanval, of cijfertekst-only aanval (COA), is een aanvalsmethode die in cryptoanalyse wordt gebruikt wanneer de aanvaller toegang heeft tot een specifieke set van cijfertekst. Bij deze methode heeft de aanvaller echter geen toegang tot de overeenkomstige klare tekst, d.w.z. gegevens die onversleuteld worden verzonden of opgeslagen. Het COA is geslaagd wanneer de overeenkomstige klare tekst kan worden bepaald uit een gegeven reeks cijferteksten. Soms kan door deze aanval de sleutel worden achterhaald waarmee de cijfertekst is versleuteld.
Bij een chosen ciphertext attack (CCA) kan de aanvaller het slachtoffer (dat de geheime sleutel kent) een willekeurige cijfertekst laten ontcijferen en het resultaat terug laten sturen. Door de gekozen cijfertekst en de bijbehorende ontvangen klare tekst te analyseren, probeert de aanvaller de geheime sleutel te raden die het slachtoffer heeft gebruikt. Het doel van de CCA is informatie te verkrijgen die de veiligheid van het vercijferingsschema vermindert.
Related-key attack is elke vorm van cryptoanalyse waarbij de aanvaller de werking van een vercijfering onder verschillende sleutels kan observeren waarvan de aanvaller de waarden aanvankelijk niet kent. Er is echter een wiskundige relatie tussen de sleutels die de aanvaller wel kent.
Cijfertekst voorbeeld
Eén van de vroegste en eenvoudigste cijfers is het Caesar cijfer, dat gebruik maakt van een symmetrisch sleutelalgoritme. De sleutel fungeert als een gedeeld geheim tussen twee (of meer) partijen dat kan worden gebruikt om geheime informatie te verzenden die niemand kan lezen zonder een kopie van de sleutel.
Het Caesar cijfer is een substitutie cijfer waarbij elke letter in de klare tekst een bepaald aantal plaatsen in het alfabet wordt “verschoven”. Bijvoorbeeld, met een verschuiving van 1, zou A B worden, B zou worden vervangen door C, enz. De methode is genoemd naar Julius Caesar, die deze zou hebben gebruikt om met zijn generaals te communiceren.
Hier volgt een voorbeeld van de vercijferings- en ontcijferingsstappen van het Caesar-cijfer. De te versleutelen tekst is “verdedig de oostelijke muur van het kasteel,” met een shift (sleutel) van 1.
- Plaintext: verdedig de oostelijke muur van het kasteel
- Cijfertekst: efgfoe uif fbtu xbmm pg uif dbtumf