IBM同態(tài)加密技術(shù)重大突破,加解密速度可提升75倍
無需先解密出明文文件才可以編輯加密數(shù)據(jù),也無需完工后再加密回去,這就是全球頂尖的加密技術(shù)——同態(tài)加密,但性能一直是這種技術(shù)的最大問題。最近,由于IBM重寫了其C++同態(tài)加密庫,加解密速度最高可提升75倍。
同態(tài)加密是用于在不解密數(shù)據(jù)的情況下直接操作加密數(shù)據(jù)的一種技術(shù)。這種技術(shù)可讓敏感操作更加安全。比如說,公司企業(yè)可以加密托管在云端的數(shù)據(jù)庫,并直接對加密記錄進(jìn)行操作而無需先將記錄解密成明文,避免了明文記錄泄露的風(fēng)險。IBM早在多年前即已展開同態(tài)加密研究,并在3年前發(fā)布了其 HElib C++ 庫第一版。但直到2016年,該技術(shù)都還存在性能瓶頸,巨大的性能開銷讓人無奈至極。

同態(tài)加密的發(fā)明者克雷格?金特里(Craig Gentry)帶領(lǐng)IBM的研究團(tuán)隊進(jìn)行了一系列同態(tài)加密嘗試。最初的時候,同態(tài)加密的數(shù)據(jù)處理速度比明文操作慢“100萬億倍”,后來在16核服務(wù)器上執(zhí)行,速度就提升了200萬倍,但還是比明文操作慢很多。因此,IBM繼續(xù)改進(jìn)HElib,其發(fā)布在GitHub上的最新版就重新實現(xiàn)了 同態(tài)線性變換 ,性能得到極大提升,速度加快了15-75倍。
國際密碼學(xué)研究協(xié)會的一篇論文中,IBM密碼研究團(tuán)隊的謝?哈勒維(Shai Halevi)和紐約大學(xué)庫朗數(shù)學(xué)研究所教授維克多?舒普闡述了速度提升的方法。
論文中寫道:“目前的HElib線性變換算法中,大量時間耗在加密向量間的數(shù)據(jù)轉(zhuǎn)移上?!本€性變換通過“特殊自同構(gòu)”實現(xiàn)(自同構(gòu)是將對象映射到自身的同時保持其全部結(jié)構(gòu)的一種數(shù)學(xué)操作),其計算開銷由自同構(gòu)的循環(huán)次數(shù)決定。
論文寫道:“這種自同構(gòu)應(yīng)用到密文上的主要開銷其實就是‘密鑰交換’的開銷:密文中每個環(huán)元素都應(yīng)用了自同構(gòu)后(該操作開銷很?。?,我們就得到了與‘錯誤’密鑰相對的加密密文;使用該自同構(gòu)特定公鑰中的數(shù)據(jù),也就是所謂的‘密鑰交換矩陣’,我們可以將密文轉(zhuǎn)換回相對于‘正確’密鑰的加密密文?!?span style="color: #ff6600;">所以,性能提升中的主要目標(biāo)是,減少自同構(gòu)數(shù)量,降低每個自同構(gòu)的開銷。
通俗點講,新庫運(yùn)用了新的自同構(gòu)計算策略(速度提升15-20倍);很多必要計算都經(jīng)過了重構(gòu);有些計算甚至被移出了該庫的主循環(huán)(再添6-8倍的提速)。因為密鑰交換矩陣的存在,同態(tài)加密的公鑰構(gòu)造開銷也十分高昂。每個矩陣都會在公鑰里添個幾MB數(shù)據(jù),而HElib的公鑰中可能含有幾百個這種矩陣。研究人員稱,常見操作中,他們可以將矩陣體積減小33-50%。
HElib項目還處于研究階段。正如其GitHub頁面上聲明的:“現(xiàn)階段,本庫主要面向研究同態(tài)加密及其使用的研究人員。目前HElib還相當(dāng)?shù)图?,最好把它看做‘面向HE的匯編語言’。










