Homomorf titkosítással a védelem feloldása nélkül lehet titkosított adatokkal dolgozni, így jóval biztonságosabbá válhat a védett információk feldolgozása. Például a vállalatok anélkül tudnak cloudos adatbázisaikon feladatokat végezni, hogy a rajtuk alkalmazott titkosítást fel kellene oldaniuk és a rekordokat szöveges formába vissza kellene alakítaniuk.
Folyamatos erőforrás-optimalizálás
Jó pár éve dolgozik már homomorf titkosítási eljárásán a Kék Óriás: a HElib C++ könyvtár első változatát három éve adta ki. Elterjedni azonban nem tudott, mert a technológia komoly teljesítménybeli problémákkal küzdött.
Első nekifutásra igazán siralmas eredményekkel zárult a próbálkozás. Craig Gentry, a homomorf titkosítás feltalálójának segítségével is csupán "100 trilliószór" lassabban futott az első implementáció a szöveges adatokon végzett műveletekhez képest. Ezt később sikerült egy 16 magos szerver alatt jelentősen, kétmilliószorosára felgyorsítani. Ez azonban még mindig túl lassúnak bizonyult ahhoz, hogy gyakorlati haszna is legyen a projektnek.
A GitHubon közzétett legutóbbi változat már nem hozott ekkora ugrást, de a teljesítmény most már elfogadható szintre nőtt. Az eggyel korábbi változathoz képest 15-75-szörös teljesítménytöbbletet mutat fel a legfrissebb változat.
Shai Halevi és Victor Shoup, az IBM kutatói röviden el is magyarázták, hogyan sikerült elérni ezt a javulást. Leírásuk szerint a HElibben alkalmazott lineáris transzformációs algoritmusok miatt az idő javában a titkosított vektorok slotjai közötti adatmozgatás zajlik. Ez a feladat speciális automorfizmussal történik, ennek számítási erőforrásigényét az automorfizmus "hurokigénye" jelenti, vagyis az, hogy hányszor kell lefutnia.
A fő cél, azaz a teljesítmény növelése nem csupán az automorfizmusok számának csökkentésére irányult, hanem arra is, hogy minden egyes lefutó hurok a lehető legkevesebb erőforrást igényelje.
Még mindig kutatási fázisban
A fentieken túl a homomorf titkosítás nyilvános kulcsainak előállítása is nagy számítási kapacitást igényel, az úgynevezett kulcsváltási (key switching) mátrix miatt. Utóbbi a titkosítás feloldásához szükséges kulcsok létrehozásában játszik szerepet. Mivel azonban minden egyes mátrix több megabájtnyival növeli a nyilvános kulcs méretét, a HElibben pedig akár több száz mátrixot is tartalmazhat egy nyilvános kulcs, könnyen belátható, hogy hatalmas adatmennyiséggel a végén megküzdeni.
A kutatók állítása szerint a leggyakoribb műveletek esetében sikerült csökkenteni a mátrix méretét. Mintegy 30-50 százalékkal tudták kisebbre faragni a mátrixokat, ami jótékony hatással volt a nyilvános kulcsok méretére is.
Minden fejlődés ellenére a HElib még mindig kutatási fázisban van. Ahogy a GitHubon olvasható, a könyvtár jelenlegi állapotában kutatói célokra használható. Alacsony szintű felépítése miatt nem is könnyű vele dolgozni, kezdők számára nem ad gyors sikerélményt kipróbálása. Jelenlegi formájában leginkább a HE assembly nyelveként lehet hivatkozni rá, mely alacsony szintű rutinokkal dolgozik (összeadás, szorzás stb.).
Remélhetőleg idővel magas szintű rutinok használatára is lehetőség nyílik majd, írják az alkotók a GitHubon. Ezzel pedig kitárulhat az ajtó a szélesebb körű használata előtt.
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak