ICV staat voor Integrity Check Value . Het maakt niet direct deel uit van het versleutelingsproces zelf, maar is eerder een mechanisme dat wordt gebruikt om de integriteit van gegevens te garanderen *nadat* deze zijn versleuteld.
Zie het zo:encryptie beschermt de vertrouwelijkheid van gegevens (houdt deze geheim), terwijl een ICV de integriteit ervan beschermt (verzekert dat er niet mee is geknoeid).
Hier is hoe het werkt:
1. Gegevens worden verwerkt: Vóór de versleuteling, of soms daarna, wordt een cryptografische hashfunctie (zoals MD5 of SHA-256) op de gegevens toegepast. Dit levert een "vingerafdruk" van de gegevens op met een vaste grootte:de ICV.
2. ICV wordt verzonden: De ICV wordt samen met de gecodeerde gegevens verzonden.
3. Gegevens worden gedecodeerd: De ontvanger decodeert de gegevens.
4. ICV is geverifieerd: De ontvanger berekent onafhankelijk de ICV van de gedecodeerde gegevens met behulp van dezelfde hashfunctie. Deze nieuw berekende ICV wordt vergeleken met de ICV die wordt ontvangen met de gecodeerde gegevens.
5. Integriteit bevestigd (of niet): Als de twee ICV's overeenkomen, duidt dit er sterk op dat de gegevens niet zijn gewijzigd tijdens verzending of opslag. Als ze niet overeenkomen, betekent dit dat er met de gegevens is geknoeid.
In het kort: De ICV fungeert als een digitale handtekening voor de integriteit van de gegevens en werkt in combinatie met encryptie om zowel vertrouwelijkheid als integriteit te bieden. Terwijl encryptie de inhoud van de gegevens verbergt, verifieert de ICV dat de inhoud niet is gewijzigd. Houd er rekening mee dat dit niet verhindert dat iemand de gegevens *decodeert*; het detecteert alleen of de gedecodeerde gegevens zijn gewijzigd. |