而與格基加密算法相關,從中衍生出來的,當今最熱門的當屬全同態加密算法。
如果f(a)+f(b)=f(a+b),則將這種加密函數稱作加法同態。
如果f(a)f(b)=f(ab),則將這種加密函數稱作乘法同態。
如果加密函數f只滿足加法同態,那就只能進行加減法運算,如果只滿足乘法同態,那就只能進行乘除法運算。
只有同時滿足加法同態和乘法同態才能成為全同態加密。
而當今慣用的rsa算法對于乘法操作是同態的。
全同態加密這一概念在碧穹星上從上世紀八十年代提出,到2009年方才誕生第一個同時滿足加法同態和乘法同態的全同態加密——gentry算法。
由于可加減可乘除,全同態加密也就有了一項別的算法所不具備的驚人的能力:它能夠在不解密的情況下,對密文數據進行計算,這使得無需破壞敏感源數據,同時可以對數據進行處理。
一個淺顯的例子,1加密成a,26加密成z。全同態可以對加密后的密文進行數學計算,如a+z=aa,所以aa正確解密為27。
這種處理方式放在其他加密算法上那簡直就是在扯淡,但對全同態加密來說只能叫基操。
通過這種方式,可以避免出現在數據處理時對數據的明文提供。
也就是說需求方完全可以將數據進行加密后傳輸給數據處理方。
因為目前碧穹星的數據分析方法大多是數理統計方法,所以數據處理方仍舊可以對密文數據進行同態密文計算。
再將處理過的密文返回給需求方,由需求方通過自己的密鑰完成解密。
這么一來既不會影響數據計算正確率,又能保護數據隱私安全,數據處理方只能處理密文而得不到私密數據。
顏安挑挑揀揀,最終看重的也就是全同態加密算法。
不過這玩意不是沒有缺點,首先對計算性能要求非常高,也就是說執行起來需要一定的時間和性能。
其次是目前碧穹星的全同態加密算法只能支持加減乘除,但是很多數理統計方法會有開根號等操作。
這里只能用信息論和數學中的逼近理論,通過近似算法來達到相同或相近的計算目的。
也因此,通常會出現精度丟失,計算誤差偏大等情況。
這些都是顏安要解決的問題,而魚和熊掌不可兼得,對全同態加密算法進行擴展,就勢必會增大對計算性能的需求。
對計算性能需求降低的算法,則不可避免出現第二點問題。
顏安找遍了bt的數據庫,都沒有翻找到同時滿足這兩個條件的算法。
或許被隱藏起來的,一級文明以后的技術中有滿足條件的算法,但bt絕不會向他開放。
即便開放他多半也是用不上的,得先將碧穹星的理論、設備都往上提一截才行。
“那就只能自己動手了。”顏安興致滿滿的將數據庫中所有可調閱的全同態加密算法翻出來。
這些算法也不是全部都滿足“加密、簽名、認證于一身”的要求,而且在各方面都存在一些對顏安來說不可忽略的缺點。
一共有七種體系完善的全同態加密算法,顏安打算一口氣全部學完,然后靠自己設計出一套各方面堪稱優秀的加密算法來。
只是學習也不容易,二十三號一整天他也沒推進多少,想要學完這七種算法,估摸著得要近一個月的時間。
二十四號除夕,對門傳來淅淅索索的聲音,顏安讓bt將攝像頭轉了向,看到了正在忙著貼對聯的高勝寒一家人。