Homomorfe encryptie
Homomorfe encryptie is een vorm van encryptie die het mogelijk maakt (bepaalde) berekeningen te maken op versleutelde tekst. Het resultaat van deze berekening is ook versleuteld, maar komt na ontsleuteling overeen met het resultaat als dezelfde berekening was uitgevoerd op de oorspronkelijke klare tekst. Om de berekening uit te voeren, hoeft de versleutelde data niet eerst ontsleuteld te worden. Hierdoor kan de versleutelde data ook door een mogelijk onbetrouwbare derde partij beheerd worden.
Daar waar andere vormen van encryptie tot doel hebben voor iedereen zonder de juiste sleutel gegevens verborgen te houden, kan bij homomorfe encryptie voorkomen worden dat zelfs met de juiste sleutel iemand de klare tekst in kan zien. Vooral voor gegevens waarbij privacy of geheimhouding een rol speelt, kan zo voorkomen worden dat verkregen informatie bij decryptie terug te herleiden is naar een enkele individu of entiteit. Voorbeelden hiervan zijn beveiliging van patiëntgegevens (onderzoekers kunnen bijvoorbeeld wel het aantal patiënten of het aantal beddagen per ziekte uit de data herleiden, maar niet wie deze patiënten zijn), financiële data, en verkiezingen (het is niet te herleiden wat iemand heeft gestemd, maar de kiezer kan wel nagaan dat zijn of haar stem is meegenomen in het uiteindelijke resultaat).
Gedeeltelijke homomorfe encryptiesystemen
bewerkenIn onderstaande voorbeelden is de notatie gebruikt als zijnde het coderen van bericht x.
Ongepade RSA
bewerkenWanneer de publieke RSA-sleutel modulo en exponent is, wordt de encryptie van bericht verkregen door . De homomorfe eigenschap is dan
ElGamal
bewerkenIn het ElGamal encryptiesysteem, in een cyclische groep van volgorde met generator , als de publieke sleutel is, met , en als geheime sleutel, is het coderen van bericht gedaan door , met een willekeurige . The homomorfe eigenschap is dan
Andere gedeeltelijk homomorfe encryptiesystemen
bewerkenGedeeltelijke homomorfe encryptiesystemen
bewerkenEen encryptie die op een compacte wijze alle circuits evalueert.[1]