versleutelingsalgoritmen komen in verschillende vormen en terminologieën , maar hebben de neiging een aantal fundamentele theorieën die de kern van cryptografie hebben bestaan sinds de mensheid wilde eerst een bericht te verbergen voor nieuwsgierige ogen te delen . Vandaag , deze theorieën van toepassing zijn op de meeste encryptie- algoritmen , ongeacht het type of programmeertaal op keer , door eerst afbreken van het bericht in binaire code . Vervanging substitutiecijfer vervangt een waarde met een ander , bijvoorbeeld , de binaire " 1001 " kan " 101 " en " 0101 " zou worden vervangen door een " 111 ". klassiek voorbeeld van een substitutiecijfer is Caesar cipher , die letters vervangen in het alfabet met de letter drie stappen naar beneden ( " C " wordt " F " ) . Helaas zijn substitutie cijfers gemakkelijk gekraakt , vooral wanneer gebruikt om brieven op basis van frequentie- analyse of context te versleutelen . Een voorbeeld algoritme voor een wissel functie is " c = E ( x , a ) = ( a + x ) mod 26 ', hetgeen betekent dat de gecodeerde letter " c ", is de codering ( of " E " ) of " x " en " a " , waarbij " x " is de mate van verschuiving van de letter " a". het gedeelte mod het gehele getal rest van het resulterende getal van " x " en gedeeld door 26 , het aantal letters in het Engels alfabet . Omzetting /Permutatie Omzetting ciphers verschuiven rond waarden in een vooraf bepaalde volgorde . Een eenvoudige niet - binaire voorbeeld verduidelijkt : Met permutatie , de sequentie " 1234 " zou kunnen worden " 2314 " door het verschuiven van het eerste cijfer op de derde , de tweede naar de eerste , de derde naar de tweede en het verlaten van de vierde . Met een binaire patroon van bits en dezelfde permutatie regel , " 1101 " zou worden " 1011 . " The Rail Fence Cipher is een voorbeeld van een omzetting cipher . Permutatie cijfers zijn iets sterker dan substitutie cijfers , maar kan worden ontcijferd met relatief gemak , afhankelijk van de cipher lengte . XOR De XOR , of " exclusieve OR " operatie is een ander fundamenteel coderingsproces dat geeft" waar "als slechts een van de waarden waar . Met de vorige voorbeelden in het achterhoofd , " 1001 " in vergelijking met de " 0101 " zou de waarde van " 1100 " terug te keren en eenvoudig te wijzigen naar het origineel met dezelfde sleutel - " 1100 " met " 0101 " wordt " 1001 . " Blokcijfers Blokcijfers breken de gegevens in een bepaald aantal bits en gebruiken een of alle van de voorgaande theorieën op die blokken om ze coderen . Meer mogelijkheden omvatten echter Cipher Block Chaining , die het vorige blok gebruikt om het volgende blok te coderen in de keten , verdere versluiering gegevens . Data Encryption Standard en Triple DES zijn goede voorbeelden van blokcijfers met diverse activiteiten van substitutie , permutatie en XOR .
|