Hashen versus versleutelen
Het proces van het transformeren van een tekenreeks in een kortere vaste-lengtewaarde (hash-waarden, hash-codes, hash-sommen of checksums genoemd) die de oorspronkelijke tekenreeks vertegenwoordigt, wordt hashing genoemd. Gewoonlijk wordt een functie gebruikt om deze transformatie uit te voeren en deze wordt een hash-functie genoemd. Hashing zou het indexeren en ophalen van gegevens in databases sneller maken, omdat het zoeken naar de kortere hash-waarde met vaste lengte sneller zou zijn dan het doorzoeken van de oorspronkelijke waarde. Versleuteling is het proces waarbij gegevens worden omgezet in een indeling die niet kan worden begrepen door de partijen die niet bevoegd zijn om de gegevens te bekijken. Dit nieuwe formaat wordt de codetekst genoemd. Het omzetten van cijfertekst naar het oorspronkelijke formaat wordt decodering genoemd.
Wat is hash?
Het omzetten van een tekenreeks in een kortere waarde met een vaste lengte die de oorspronkelijke tekenreeks vertegenwoordigt, wordt hashing genoemd. Deze conversie wordt uitgevoerd door een hash-functie. Hashing maakt snellere indexering en het ophalen van gegevens uit databases mogelijk door het gebruik van een kortere hash-waarde dan de oorspronkelijke waarde. Hashing wordt ook gebruikt in coderingsalgoritmen voor de codering en decodering van digitale handtekeningen. Hashing is een bewerking in één richting en de oorspronkelijke waarde kan niet worden opgehaald met de hash-waarde. Bovendien zou hashing niet dezelfde hash-waarde moeten produceren voor twee verschillende oorspronkelijke waarden. Enkele van de eenvoudige en veelgebruikte hashingmethoden zijn de Divisie-restmethode, de vouwmethode en de Radix-transformatiemethode.
Wat is coderen?
Het converteren van gegevens naar een formaat (genaamd codetekst) dat niet kan worden begrepen door de partijen die niet bevoegd zijn om de gegevens te zien, wordt versleuteling genoemd. Versleuteling wordt al lang gebruikt. Versleutelingsmethoden variëren van eenvoudige methoden zoals het vervangen van letters door getallen in complexere methoden, zoals het herschikken van bits in een digitaal signaal met behulp van een computeralgoritme. Het verkrijgen van de originele gegevens uit de codetekst wordt ontcijfering genoemd en vereist de juiste decoderingssleutel. Deze sleutel is alleen beschikbaar voor de partijen die gemachtigd zijn om de gegevens te bekijken. Een coderingsmethode wordt een sterke codering genoemd als deze niet kan worden verbroken zonder de decoderingssleutel te kennen. Public Key-codering is een van de versleutelingsmethoden waarbij de gegevens worden gecodeerd met de openbare sleutel van de ontvanger en deze niet kan worden gedecodeerd zonder een overeenkomende privésleutel te gebruiken.
Wat is het verschil tussen hash en codering?
Het omzetten van een tekenreeks in een kortere vaste lengtewaarde die de oorspronkelijke tekenreeks vertegenwoordigt, wordt hashing genoemd, terwijl het converteren van gegevens naar een indeling (genaamd codetekst) die niet kan worden begrepen door de partijen die niet bevoegd zijn om de gegevens te bekijken, wordt genoemd versleutelen. Omdat hashing een bewerking is waarbij de oorspronkelijke waarde niet kan worden opgehaald met de hash-waarde, wordt deze ook gebruikt voor codering. Message-digest hash-functies (MD2, MD4 en MD5) worden gebruikt om digitale handtekeningen te coderen. Maar het gebruik van hashing is niet beperkt tot codering. Hashing wordt ook gebruikt voor het sneller ophalen van gegevens uit databases. Maar de hashfuncties die voor deze taken worden gebruikt, verschillen van elkaar en werken mogelijk niet goed als ze worden uitgewisseld tussen de twee taken.