而與格基加密算法相關(guān),從中衍生出來(lái)的,當(dāng)今最熱門的當(dāng)屬全同態(tài)加密算法。
如果f(a)+f(b)=f(a+b),則將這種加密函數(shù)稱作加法同態(tài)。
如果f(a)*f(b)=f(a*b),則將這種加密函數(shù)稱作乘法同態(tài)。
如果加密函數(shù)f只滿足加法同態(tài),那就只能進(jìn)行加減法運(yùn)算,如果只滿足乘法同態(tài),那就只能進(jìn)行乘除法運(yùn)算。
只有同時(shí)滿足加法同態(tài)和乘法同態(tài)才能成為全同態(tài)加密。
而當(dāng)今慣用的RSA算法對(duì)于乘法操作是同態(tài)的。
全同態(tài)加密這一概念在碧穹星上從上世紀(jì)八十年代提出,到2009年方才誕生第一個(gè)同時(shí)滿足加法同態(tài)和乘法同態(tài)的全同態(tài)加密——Gentry算法。
由于可加減可乘除,全同態(tài)加密也就有了一項(xiàng)別的算法所不具備的驚人的能力:它能夠在不解密的情況下,對(duì)密文數(shù)據(jù)進(jìn)行計(jì)算,這使得無(wú)需破壞敏感源數(shù)據(jù),同時(shí)可以對(duì)數(shù)據(jù)進(jìn)行處理。
一個(gè)淺顯的例子,1加密成A,26加密成Z。全同態(tài)可以對(duì)加密后的密文進(jìn)行數(shù)學(xué)計(jì)算,如A+Z=AA,所以AA正確解密為27。
這種處理方式放在其他加密算法上那簡(jiǎn)直就是在扯淡,但對(duì)全同態(tài)加密來(lái)說(shuō)只能叫基操。
通過(guò)這種方式,可以避免出現(xiàn)在數(shù)據(jù)處理時(shí)對(duì)數(shù)據(jù)的明文提供。
也就是說(shuō)需求方完全可以將數(shù)據(jù)進(jìn)行加密后傳輸給數(shù)據(jù)處理方。
因?yàn)槟壳氨恬沸堑臄?shù)據(jù)分析方法大多是數(shù)理統(tǒng)計(jì)方法,所以數(shù)據(jù)處理方仍舊可以對(duì)密文數(shù)據(jù)進(jìn)行同態(tài)密文計(jì)算。
再將處理過(guò)的密文返回給需求方,由需求方通過(guò)自己的密鑰完成解密。
這么一來(lái)既不會(huì)影響數(shù)據(jù)計(jì)算正確率,又能保護(hù)數(shù)據(jù)隱私安全,數(shù)據(jù)處理方只能處理密文而得不到私密數(shù)據(jù)。
顏安挑挑揀揀,最終看重的也就是全同態(tài)加密算法。
不過(guò)這玩意不是沒有缺點(diǎn),首先對(duì)計(jì)算性能要求非常高,也就是說(shuō)執(zhí)行起來(lái)需要一定的時(shí)間和性能。
其次是目前碧穹星的全同態(tài)加密算法只能支持加減乘除,但是很多數(shù)理統(tǒng)計(jì)方法會(huì)有開根號(hào)等操作。
這里只能用信息論和數(shù)學(xué)中的逼近理論,通過(guò)近似算法來(lái)達(dá)到相同或相近的計(jì)算目的。
也因此,通常會(huì)出現(xiàn)精度丟失,計(jì)算誤差偏大等情況。
這些都是顏安要解決的問(wèn)題,而魚和熊掌不可兼得,對(duì)全同態(tài)加密算法進(jìn)行擴(kuò)展,就勢(shì)必會(huì)增大對(duì)計(jì)算性能的需求。
對(duì)計(jì)算性能需求降低的算法,則不可避免出現(xiàn)第二點(diǎn)問(wèn)題。
顏安找遍了BT的數(shù)據(jù)庫(kù),都沒有翻找到同時(shí)滿足這兩個(gè)條件的算法。
或許被隱藏起來(lái)的,一級(jí)文明以后的技術(shù)中有滿足條件的算法,但BT絕不會(huì)向他開放。
即便開放他多半也是用不上的,得先將碧穹星的理論、設(shè)備都往上提一截才行。
“那就只能自己動(dòng)手了?!鳖伆才d致滿滿的將數(shù)據(jù)庫(kù)中所有可調(diào)閱的全同態(tài)加密算法翻出來(lái)。
這些算法也不是全部都滿足“加密、簽名、認(rèn)證于一身”的要求,而且在各方面都存在一些對(duì)顏安來(lái)說(shuō)不可忽略的缺點(diǎn)。
一共有七種體系完善的全同態(tài)加密算法,顏安打算一口氣全部學(xué)完,然后靠自己設(shè)計(jì)出一套各方面堪稱優(yōu)秀的加密算法來(lái)。
只是學(xué)習(xí)也不容易,二十三號(hào)一整天他也沒推進(jìn)多少,想要學(xué)完這七種算法,估摸著得要近一個(gè)月的時(shí)間。
二十四號(hào)除夕,對(duì)門傳來(lái)淅淅索索的聲音,顏安讓BT將攝像頭轉(zhuǎn)了向,看到了正在忙著貼對(duì)聯(lián)的高勝寒一家人。
那對(duì)聯(lián)是自己寫的,筆鋒看著有些許奇怪,不像是高勝寒的字。
顏安看了一會(huì),從樓下又上來(lái)兩人,一男一女與顏安差不多大,一見高勝寒就喊道“叔叔好”。
高勝寒本來(lái)還高高興興的,一聽到這稱呼就把臉板起來(lái),黑漆漆的好不嚇人。
那對(duì)男女卻是嘻嘻笑著毫不在意,進(jìn)了門沖高勝寒的父親問(wèn)好。
不能再看了……顏安強(qiáng)迫著自己將監(jiān)控關(guān)掉,在內(nèi)心不斷重復(fù)著這也沒什么好看的。
他試著將注意力轉(zhuǎn)回到眼前的算法上繼續(xù)學(xué)習(xí),可外面?zhèn)鱽?lái)的嬉鬧聲讓他怎么都靜不下心來(lái)。
真沒素質(zhì),顏安找了個(gè)借口在心里罵道,渾然忘了以前他在鬧哄哄的環(huán)境中一樣能輕松進(jìn)入學(xué)習(xí)狀態(tài)。
既然無(wú)心學(xué)習(xí),又是過(guò)節(jié),顏安罕見的給自己放了個(gè)假,用ACM朱赤理事會(huì)給自己贈(zèng)送的會(huì)員在數(shù)字圖書館里找一些論文來(lái)看。
也沒看多久,剛把論文打開看了開頭,又受不了外面的熱鬧將其關(guān)掉,然后又換過(guò)一篇論文看開頭,整個(gè)上午就這樣被消磨掉。
到了中午煮了豬肉白菜餡的餃子,速凍水餃有個(gè)好處在于穩(wěn)定,不會(huì)像手工包的那樣露餡。
上網(wǎng)查了一下速凍要溫水下鍋后,顏安趁著鍋里冒小氣泡的時(shí)候丟進(jìn)去,順利的得到了一碗白嫩嫩的餃子。
在開動(dòng)前,他望著餃子上升騰起的熱氣怔怔出神,“十二年了?!?p> 不知道以后還有多少年。
晚上也是一樣的,把豬肉白菜餡換成了奧爾良雞肉水餃,這種口味的他還是第一次吃,餡是紅色的,看著也很喜慶。
就在他要開動(dòng)時(shí),門被敲響了。
除夕夜,還會(huì)有人來(lái)敲門?
顏安詫異的起身,打開門后看到的是那位獨(dú)臂老人,高勝寒則落后一個(gè)身位。
老人見他開門后快速往房間內(nèi)瞄了一眼,客廳、餐廳或廚房一個(gè)人都沒有,餐桌上只有一個(gè)正在冒著熱氣的碗。
笑呵呵的問(wèn)道,“還沒吃吧?”
“正要吃?!鳖伆灿行┣由拇鸬?,他搞不懂這個(gè)老人的來(lái)意,不過(guò)那張笑臉讓他放下了戒備。
“還沒吃就好!”老人只剩左臂,右臂袖子空蕩蕩的,從肩膀處被截掉了。
他伸出一只蒼老樹皮般干癟的手一把拉住顏安,“沒吃就來(lái)上我們家吃。
高勝寒這個(gè)小崽子也不跟我說(shuō)一聲,我還奇怪呢,怎么這些天也沒見你家人,今個(gè)中午吃飯的時(shí)候一問(wèn)才知道,原來(lái)這邊就你一個(gè)人在。
在大過(guò)年的,一個(gè)人呆屋里多冷清啊,連點(diǎn)煙火氣都沒有,走走走,來(lái)我們家吃,多個(gè)人多份熱鬧。”
老人熱情的拉住他往對(duì)門走去,盡管他只有一只手,也瘦的驚人,力氣卻大得出奇,顏安差點(diǎn)被他拽出去。
被老爹罵了,高勝寒一臉訕訕,以往顏安留給他的印象那就是桀驁不馴的天才,一身怪癖不與人親近,沒誰(shuí)能知道他腦袋里的真正想法。
卻忘了顏安在這世上形單影只。
“別了吧。”顏安下意識(shí)的拒絕,連忙將手縮回來(lái),抗拒著不愿往前。
“我這人怪癖很多的,他們都說(shuō)我沒教養(yǎng),這大過(guò)年的掃了你們的興就不好了。而且我也煮了餃子,吃餃子也挺好的,就不麻煩了?!?