① 同態加密的實現原理是什麼在實際中有何應用
同態加密是一種加密形式,它允許人們對密文進行特定的代數運算得到仍然是加密的結果,將其解密所得到的結果與對明文進行同樣的運算結果一樣。換言之,這項技術令人們可以在加密的數據中進行諸如檢索、比較等操作,得出正確的結果,而在整個處理過程中無需對數據進行解密。其意義在於,真正從根本上解決將數據及其操作委託給第三方時的保密問題,例如對於各種雲計算的應用。
這一直是密碼學領域的一個重要課題,以往人們只找到一些部分實現這種操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的論文 從數學上提出了「全同態加密」的可行方法,即可以在不解密的條件下對加密數據進行任何可以在明文上進行的運算,使這項技術取得了決定性的突破。人們正在此基礎上研究更完善的實用技術,這對信息技術產業具有重大價值。
② 隱私計算-密碼學-同態加密
近年來,隨著大數據與人工智慧的盛行,針對個人的個性化的推薦技術的不斷發展,人們在享受便利的同時,也深深的感覺到無處不在的監控與監事,比如剛剛瀏覽了一個網站的商品,當去其他網站訪問的時候就會推薦類似的產品;剛剛搜索了某件商品,在很多其他的場景中都會給你推薦。這種體驗,談不上不好,也談不上多壞,但是如果仔細想想,就感覺自己的網上進行裸奔,個人隱私,一清二楚,毫無隱私可言,細思極恐。
不過隨著廣大用戶對於個人隱私的重視程度不斷加強,以及法律法規的不斷完善,針對個人隱私的保護提出了更高的要求,什麼樣的數據可以採集、收集與使用,如何使用都是一個比較敏感的問題。十三屆全國人大常委會第三十次會議表決通過了《 中華人民共和國個人信息保護法 》,並與2021年11月1日起施行。確立個人信息保護原則、規范處理活動保障權益、禁止「大數據殺熟」規范自動化決策、嚴格保護敏感個人信息、賦予個人充分權利等。新規施行後,違法的主體將 最高可處五千萬以下或者上一年度營業額百分之五 以下的罰款。
鑒於上述情況,近年來隱私計算技術被不斷的提及,源於其有優秀的數據保護作用,使得 「數據不出域、數據可用不可見、數據可算不可見」 ,限定了數據的使用場景,防止了數據的泄露,而引起了業界的熱捧。
隱私計算技術的演進歷程如下圖描述,以下是楊強教授在KDD 2021中國區的分享材料:
可以看到,隱私計算技術從1979年就開始了,最開始是安全多方計算、到差分隱私、到TEE, 再到最近火的不能再火的聯邦學習 ,一系列的技術應運而生。那為啥現在隱私計算這么火呢。
註:隱私計算技術成熟度曲線
但是這些技術本身的安全加密都是採用共同的方法與策略,下面講述下隱私計算的加密技術。
本文主要介紹同態加密,
眾所周知,優秀的程序員需要 嚴謹的邏輯思維與具象能力 ,當然在材料的時候,可能需要適當的渲染。但是對於技術的理解,對技術的探索,嚴謹的邏輯與堅實的推理是非常重要的。所以,對於「數據加密」這個命題,需要進行一番探索。
如此三態合一,即可保障數據的全鏈路的生命周期安全 。
那麼有沒有辦法解決數據計算的安全問題呢?答案就是 同態加密技術 。保障數據的運行態的安全,那麼同態加密技術具體是如何實現,如何應用,並且有哪些限制呢?
什麼是同態加密? ,引用Gentry大佬的原話:
同態加密(Homomorphic Encryption, HE),指滿足密文同態運算性質的加密演算法,即數據經過同態加密之後,對密文進行某些特定的計算,得到的密文計算結果在進行對應的同態解密後的明文等同於對明文數據直接進行相同的計算, 實現數據的「可算不可見」 。同態加密的實現效果如圖所示。
舉個例子: 國內某家大型的三甲醫院,由於歷史悠久,並且醫術精湛,歷史遺留了大量的用戶病例數據 。如今思考基於這些病例數據進行建模分析。但是由於數據量特別巨大,醫院本身的IT資源有限,計算能力不足。
這個時候,雲廠商找了過來。但是對於醫院來說,這些數據本身是用戶的隱私信息,並且也是醫院的核心價值,所以盡管雲廠商再三保證數據安全, 但是醫院還是不能夠放心的將數據上傳到雲廠商進行計算 。
正當這個事情推進不下去的時候,雲廠商從密碼行業花大價錢招來某個大牛,大牛提出一個方案,這樣吧,我們現在有 這樣一門技術,不需要傳輸明文數據,只需要傳輸密文就好,而且加密秘鑰由醫院自己保存,我們基於上傳的密文數據做不解密的密態運算( 並計算函數醫院提供就好),這樣數據不會泄露,雲廠商對數據無感知,之後傳回密文結果,醫院自己解密就好 。醫院一聽非常高興,那就這么辦吧。
下面將核心流程描述下。
這里,大家可能有個問題,這個f應該是什麼樣的函數,有什麼樣的限制條件?HE方案是支持任意的數據處理方法f,還是說只支持滿足一定條件的f呢?根據f的限制條件不同,HE方案實際上分為了兩類:
Paillier加密演算法是Pascal paillier[1]在1999年發明的概率公鑰加密演算法,該演算法 基於復合剩餘類的困難問題,是一種滿足加法的同態加密演算法 ,已經廣泛應用在加密信號處理或第三方數據處理領域。
前面我們分析過 同態加密的核心流程 ,大家可以一起回憶一下。核心的函數包括:秘鑰生成、明文加密、密文解密,下面我們來一步一步的分析,並且描述下,
秘鑰的生成主要有如下的步驟,
下面介紹一個完整的同態運算,m由 組成,介紹下同態加密的是如何使用密文計算的。
③ 網路安全就業難度大不大
未邀自答。本來我都關機、躺下、准備睡覺了,結果手賤點了知乎,看到了這么一個問題,又看到好朋友 @scalers回答了這個問題,忍不住又把電腦打開,准備花一點時間認真回答一下這個問題。這可能不僅是對問題本身的回答,也是差不多這一年來我對信息安全這個領域的理解和體會吧。=============================利益相關:信息安全方向博士生,主攻Public Key Encryption,主要方向是Predicate Encryption。1-2年之內就要就業,方向應該就是數據安全了。這一年認識了不少領域內的前輩和朋友,了解到不少現狀。=============================0. 總體感受:人才既飽和,又匱乏現在安全行業的現狀基本是:上層人才極度匱乏,下層人才極度飽和。大概半年多前和一位領域內的人士聊天,對方說了這么一句話:我們招人要求真的不高啊,只要領域相關,7年以上工作經驗就好了。當時,幼稚的我心想,我靠你逗我呢,這還要求不高?哪兒找安全領域干7年以上的人去?經過半年的折騰,我現在的感覺是:這個要求真的不高,一點都不高,可能太低了…為什麼?因為信息安全這個領域太大了,大到什麼程度呢?大到做這個領域的人可能需要把幾乎計算機科學的所有領域全理解(注意,不是了解,是理解)以後,才能集大成,然後把這個領域做好。=============================1. 數學和計算機理論基礎要求信息安全中最理論的基礎是密碼學。密碼學誰提出來的?圖靈提出來的。為什麼是他提出的密碼學?因為密碼學的實現基礎是圖靈機,或者說是有限自動機原理。密碼學的理論基礎是抽象代數和資訊理論。想要比較深入的學習密碼學裡面的知識,至少要明白計算機領域的歸約(Rection),計算復雜性理論;至少要明白抽象代數裡面的群(Group)、環(Ring)、域(Field);至少要了解資訊理論中信息熵的概念;這些如果不理解的話,安全證明估計就過不去了…要是追新,看看密碼學界的發展,起碼說提出一個名字能明白是什麼意思,估計得了解了解橢圓曲線(Elliptic Curve),雙線性對(Bilinear Pairing)或者多線性對(Multilinear Pairing),格(Lattice)等等。=============================2. 編程能力要求有人說了,我不用學密碼學理論,我能看懂論文,把方案實現了就行了啊。因為實現的方案從理論上是否安全,要考察參數的選擇。參數選擇的話,就得看懂安全性證明了。我個人只是做了Java Pairing-Based Cryptography Library(jPBC)的一些實現,幾乎時常會收到很多郵件,詢問這個庫怎麼用,為什麼自己實現的不對。多數情況都是因為對根上的東西沒理解,導致用起來不對。有人說了,我也不用看懂論文,我能寫最經典的密碼學演算法,能正確調用就好了。很遺憾,就算是最經典的密碼學演算法,即使是有經驗的開發人員,絕大多數都不能正確實現。僅以RSA為例,請移步我的專欄文章:RSA有多安全,有多不安全?Black Hat 2014 - The Matasano Crypto Challenges解析 - 第一部分 - 劉學酥的密碼學與信息安全專欄 - 知乎專欄看看裡面有多少坑吧。=============================3. 計算機相關技術能力要求有人說了,我不用寫密碼學演算法,我能正確用就行了。提到網路通信,就有計算機網路的相關知識了。我個人感覺計算機網路知識的復雜度現在和操作系統都差不多了。尤其是現在分布式系統,比如分布式計算和分布式存儲技術的普及,分布式計算機網路本身就構成了一個比操作系統還要復雜的總系統。做安全的話,沒有計算機網路和操作系統的知識幾乎只能做點皮毛工作。提到網路和操作系統,就會想到這本身就需要比較強的編程能力。舉個簡單的例子,Java優秀的網路通信框架Netty和MINA(感謝 @Edsger Lin 的指正,這里打錯了),是不是需要了解一下?HDFS,MapRece是不是了解一下?要不要看看源代碼… 來吧,這相關的資料、書籍,可以放滿一個書櫃了。=============================4. 網路安全技術要求有人說了,我也不用懂這些,我是做技術的,了解網路知識以後,找漏洞挖漏洞,直接走向人生巔峰!怎麼說呢,漏洞這個東西雖然知識本身要求的不深入,但是非常考驗廣度。比如資料庫的了解,網路得了解,各種Web語言得了解,裡面有什麼坑得了解。而且,很多時候漏洞檢測和網路滲透會涉及到語言本身上去。舉個例子,Black Hat 2014中有個視頻,所在的公司開發了一套漏洞檢測工具Ravage(為什麼我知道,我聽譯的…逆天漏洞檢測及滲透生成工具——RAVAGE課程詳情)。這個工具的製作已經深入到JVM的匯編層了。=============================5. 文檔能力和與人交流的能力信息安全領域,不光是技術層面的,還有人員層面的。軟體開發過程中出現的漏洞,絕大多數都是開發人員沒有遵守安全軟體開發要求而導致的。同時,各個公司、各個產品的安全架構,安全技術都不太一樣。這種時候,為了保證產品的安全特性,就需要文檔撰寫和閱讀能力,以及交流能力了。我和某位領域內人士交流的時候,總聽到一種抱怨:我靠,這安全機制不是瞎搞么,這怎麼評估,怎麼實現?很遺憾,互聯網發展太快了,很多東西都沒有模塊化體系化,現實就是這樣。想要解決這個問題,就需要一群在計算機各個領域內都精通,或者退一步,都了解的人,將各種安全技術和產品抽象,從而提出並設計架構。這樣才能提出一種比較通用的方法,從架構上去解決大部分的安全問題。不過這對一個人的要求可是有點高啊。安全又僅僅是技術問題嗎?非也。信息安全中,技術佔3成,管理佔7成。技術再好,密鑰管理不成熟,開發流程不成熟,訪問控制機制設計的不成熟,甚至私下交易,從內部泄露用戶隱私,也會導致嚴重的安全問題。這並不是聳人聽聞。CSDN密碼資料庫泄露可能僅僅是冰山一角。要我看,用戶的密碼早就被泄露光了… 當然現在已經好了很多。這就意味著,管理也是個很困難的問題。說到管理,交流能力也是必不可少的。=============================6. 其他能力信息安全和通信技術是密不可分的。通信技術的發展必然會導致信息安全技術的發展。舉例來說,枚舉法是最沒創意的攻擊方法了。但是現在有了高性能計算機,分布式計算機系統,對於幾年前的數據,用枚舉法可能反而比其他方法更快。另一個例子,量子計算領域現在蓬勃發展,沒准幾年,十幾年或者幾十年後量子計算機就普及了。這並不是不可能,想想計算機從剛出現到現在人手幾台一共花費了多長時間?那個時候,現有的體制全部推翻重來,作為安全人員就要更新自己的知識庫了。當然了,這個例子有點極端,量子計算機真的來了,所有計算機科學相關的從業人員就要洗牌了。總的來說,信息安全領域要求從業人員隨時學習,隨時更新知識庫。而且這種更新速度是依賴於計算機科學這門學科的發展而來的。2008年DDoS攻擊還沒影子呢,現在DDoS幾乎就是家常便飯了。網路的迅速發展,特別是後面雲計算雲存儲的發展,給安全從業人員又帶來了更多的問題。這必須要求從業人員隨時更新自己的知識,持之以恆的站在最前沿思考問題。=============================7. 有人能做到嗎?密碼學精通,可以到安全研究院。比如很多著名密碼學家,Gentry,Shoup什麼的就在IBM,進行全同態加密的理論研究和具體實現。而且,理解密碼學的人學其他方面也比較快。但是需要到領域內快速積累。編程能力強,計算機相關技術強,就可以不光做安全了。但安全領域絕對歡迎這樣的人才。網路安全技術能力強,可以到任何一家互聯網公司做安全。知乎上的幾位技術派大牛們,大多是這方面的佼佼者。文檔能力和與人交流的能力強,可以做安全咨詢。這是個比較有意思的領域。這個領域更需要廣泛了解安全的相關知識。不僅從技術角度,也要從管理角度。我自己只是在公鑰密碼學中的一個很小的領域有一點點很小的成績。因為計算機基礎知識不足,接下來的一年我估計要各種補基礎知識了,而且估計還補不完。上面說的這些對人才的需求,基本上只要精通一點,就是領域內的佼佼者了。所以,信息安全領域是一個集大成的領域。而且幾乎任何一個分領域對於領域內知識的要求,都高於本身的要求。因為基礎不夠的話,想做安全就有點痴人說夢了。=============================8. 回到主題:會飽和嗎?回到問題上面來,安全人才會達到飽和嗎?我認為有生之年能把上面說的起碼都做過一遍,幾乎都是不可能的。信息安全的人才要求很高。能力強,哪怕是一方面能力強,都可以從茫茫人海中脫穎而出。一個直接的體現就是信息安全周圍配套內容的普及。我在做Black Hat,包括密碼學一些視頻的聽譯時,就嘗試過讓別人幫忙聽寫,我來翻譯。結果,即使是專業聽譯人員,拿到這些視頻也都瞎了。因為專業詞彙太多,幾乎是中文都不知道什麼意思。Black Hat系列這么好,為什麼一直以來沒人做字幕,聽寫翻譯?因為確實對聽譯人員要求很高。我自己水平有限,只能聽譯密碼學、Java、以及部分資料庫、網路通信相關主題的Black Hat,而且也會遇到各種問題,遇到從來沒聽說過的技術、開源代碼、工具、或者思想。當然這個過程也是收獲的過程。所以,從高層看,信息安全人才應該一直會保持匱乏的狀態,等待新鮮血液的注入。另一方面,由於門檻太高,不少人會在門外徘徊。門外的人多了,飽和一詞也就來了。對於我自己,雖然得到了領域內人士的部分認可。但是,越往裡面走,越發現裡面的坑有多深。唯一的辦法就是不停的學習和更新知識。畢竟,學習要比提出新方法簡單多了,大家說對嗎?=============================9. 只有信息安全領域是這樣?就如同事物都是螺旋向上發展的一樣,正像其他回答說的那樣,任何領域都是:水平不高,哪裡都飽和;水平高了,哪裡都會要。什麼叫水平高,高到什麼程度就夠了?我認為沒有盡頭。一個領域,越是鑽研,越是往深了看,就越發現自己的渺小和無能。這會反過來導致更強的求知慾和更強的動力。等覺得自己小到只是一個沙子的時候,抬頭一看,可能就會明白,絕大多數人,可能連分子大小都沒到,但他們認為自己內部的原子和電子,就是整個世界。希望我們都能成為一粒沙子,看著大海的波濤洶涌,而毫無意識的,為這個世界的組成貢獻自己的一份力量。以上。
④ 量子密碼,用量子做為密碼的途徑和前景
應該這么說,量子通信是量子物理和信息科學結合的產物,由於經典密碼學並不能保證通信的理論安全性,而量子通信根據量子基本理論而具有絕對的安全性。一旦有竊聽存在,就會引起誤碼,而被通信雙方發現。如今最有可能最先實現的量子通信方式是量子密鑰分發,即先通過量子密鑰分發完成絕對安全的密鑰分發,再以「一字一密」的方式進行保密通信。量子密鑰分發(QKD)主要包括准備-再測量(prepare-measure)和基於糾纏源(entanglement-based)。經典協議主要是BB84,還有BB92和六態協議。由於分裂攻擊的可能,現在協議還需要加入誘騙態,我國王向斌教授的三態協議是很好的應用協議。國內有多個小組在進行的研究,國家也投入比較大,蠻有看點的,但是在實用化上要走的路非常多。
⑤ 區塊鏈中現代密碼學
1983年 - David Chaum描述的盲簽
1997年 - Adam Back發明的HashCash(工作證明制度的一個例子)
2001年 - Ron Rivest,Adi Shamir和Yael Tauman向加密社區提出了環簽名
2004年 - Patrick P. Tsang和Victor K.提出使用環簽名系統進行投票和電子現金;
2008年 - 由Satoshi Nakamoto出版的Bitcoin白皮書
2011年 - 比特幣系統中的匿名分析,Fergal Reid和Martin Harrigan
2012 - 目的地址比特幣匿名(CryptoNote中的一次性地址)。
安全多方計算起源於1982年姚期智的百萬富翁問題。後來Oded Goldreich有比較細致系統的論述。
姚氏百萬富翁問題是由華裔計算機科學家、圖靈獎獲得者姚啟智教授首先提出的。該問題表述為:兩個百萬富翁Alice和Bob想知道他們兩個誰更富有,但他們都不想讓對方知道自己財富的任何信息。該問題有一些實際應用:假設Alice希望向Bob購買一些商品,但她願意支付的最高金額為x元;Bob希望的最低賣出價為y元。Alice和Bob都非常希望知道x與y哪個大。如果x>y,他們都可以開始討價還價;如果z<y,他們就不用浪費口舌。但他們都不想告訴對方自己的出價,以免自己在討價還價中處於不利地位。
該方案用於對兩個數進行比較,以確定哪一個較大。Alice知道一個整數i;Bob知道一個整數j, Alice與B0b希望知道究竟i>=j還是j>i,但都不想讓對方知道自己的數。為簡單起見,假設j與i的范圍為[1,100】。Bob有一個公開密鑰Eb和私有密鑰Db。
安全多方計算(Secure Multi-Party Computation)的研究主要是針對無可信第三方的情況下, 如何安全地計算一個約定函數的問題. 安全多方計算在電子選舉、電子投票、電子拍賣、秘密共享、門限簽名等場景中有著重要的作用。
同態加密(Homomorphic Encryption)是很久以前密碼學界就提出來的一個Open Problem。早在1978年,Ron Rivest, Leonard Adleman, 以及Michael L. Dertouzos就以銀行為應用背景提出了這個概念[RAD78]。對,你沒有看錯,Ron Rivest和Leonard Adleman分別就是著名的RSA演算法中的R和A。
什麼是同態加密?提出第一個構造出全同態加密(Fully Homomorphic Encryption)[Gen09]的Craig Gentry給出的直觀定義最好:A way to delegate processing of your data, without giving away access to it.
這是什麼意思呢?一般的加密方案關注的都是數據存儲安全。即,我要給其他人發個加密的東西,或者要在計算機或者其他伺服器上存一個東西,我要對數據進行加密後在發送或者存儲。沒有密鑰的用戶,不可能從加密結果中得到有關原始數據的任何信息。只有擁有密鑰的用戶才能夠正確解密,得到原始的內容。我們注意到,這個過程中用戶是不能對加密結果做任何操作的,只能進行存儲、傳輸。對加密結果做任何操作,都將會導致錯誤的解密,甚至解密失敗。
同態加密方案最有趣的地方在於,其關注的是數據處理安全。同態加密提供了一種對加密數據進行處理的功能。也就是說,其他人可以對加密數據進行處理,但是處理過程不會泄露任何原始內容。同時,擁有密鑰的用戶對處理過的數據進行解密後,得到的正好是處理後的結果。
有點抽象?我們舉個實際生活中的例子。有個叫Alice的用戶買到了一大塊金子,她想讓工人把這塊金子打造成一個項鏈。但是工人在打造的過程中有可能會偷金子啊,畢竟就是一克金子也值很多錢的說… 因此能不能有一種方法,讓工人可以對金塊進行加工(delegate processing of your data),但是不能得到任何金子(without giving away access to it)?當然有辦法啦,Alice可以這么做:Alice將金子鎖在一個密閉的盒子裡面,這個盒子安裝了一個手套。工人可以帶著這個手套,對盒子內部的金子進行處理。但是盒子是鎖著的,所以工人不僅拿不到金塊,連處理過程中掉下的任何金子都拿不到。加工完成後。Alice拿回這個盒子,把鎖打開,就得到了金子。
這裡面的對應關系是:盒子:加密演算法盒子上的鎖:用戶密鑰將金塊放在盒子裡面並且用鎖鎖上:將數據用同態加密方案進行加密加工:應用同態特性,在無法取得數據的條件下直接對加密結果進行處理開鎖:對結果進行解密,直接得到處理後的結果同態加密哪裡能用?這幾年不是提了個雲計算的概念嘛。同態加密幾乎就是為雲計算而量身打造的!我們考慮下面的情景:一個用戶想要處理一個數據,但是他的計算機計算能力較弱。這個用戶可以使用雲計算的概念,讓雲來幫助他進行處理而得到結果。但是如果直接將數據交給雲,無法保證安全性啊!於是,他可以使用同態加密,然後讓雲來對加密數據進行直接處理,並將處理結果返回給他。這樣一來:用戶向雲服務商付款,得到了處理的結果;雲服務商掙到了費用,並在不知道用戶數據的前提下正確處理了數據;
聚合簽名由Boneh等人提出,主要是通過聚合多個簽名為一個簽名,來提高簽名與驗證的效率。要對多個用戶的數據進行簽名,聚合簽名能夠極大地降低簽名計算復雜度。CL就是聚合簽名。
零知識證明過程有兩個參與方,一方叫證明者,一方叫驗證者。證明者掌握著某個秘密,他想讓驗證者相信他掌握著秘密,但是又不想泄漏這個秘密給驗證者。
雙方按照一個協議,通過一系列交互,最終驗證者會得出一個明確的結論,證明者是或不掌握這個秘密。
對於比特幣的例子,一筆轉帳交易合法與否,其實只要證明三件事:
發送的錢屬於發送交易的人
發送者發送的金額等於接收者收到金額
發送者的錢確實被銷毀了
整個證明過程中,礦工其實並不關心具體花掉了多少錢,發送者具體是誰,接受者具體是誰。礦工只關心系統的錢是不是守恆的。
zcash 就是用這個思路實現了隱私交易。
零知識證明的三條性質對應:
(1)完備性。如果證明方和驗證方都是誠實的,並遵循證明過程的每一步,進行正確的計算,那麼這個證明一定是成功的,驗證方一定能夠接受證明方。
(2)合理性。沒有人能夠假冒證明方,使這個證明成功。
(3)零知識性。證明過程執行完之後,驗證方只獲得了「證明方擁有這個知識」這條信息,而沒有獲得關於這個知識本身的任何一點信息。
只有環成員,沒有管理者,不需要環成員之間的合作,簽名者利用自己的私鑰和集合中其他成員的公鑰就能獨立的進行簽名,不需要其他人的幫助,集合中的其他成員可能不知道自己被包含在了其中。
環簽名可以被用作成一種泄露秘密的方式,例如,可以使用環形簽名來提供來自「白宮高級官員」的匿名簽名,而不會透露哪個官員簽署了該消息。 環簽名適用於此應用程序,因為環簽名的匿名性不能被撤銷,並且因為用於環簽名的組可以被即興創建。
1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)
2)簽名。簽名者用自己的私鑰和任意n個環成員的公鑰為消息m生成簽名a
3)簽名驗證。簽名者根據環簽名和消息m,驗證簽名是否是環中成員所簽。如果有效就接收,如果無效就丟棄。
群簽名的一般流程
盲數字簽名(Blind Signature)簡稱盲簽名——是一種數字簽名的方式,在消息內容被簽名之前,對於簽名者來說消息內容是不可見的。1982年大衛·喬姆首先提出了盲簽名的概念。盲簽名因為具有盲性這一特點,可以有效保護所簽署消息的具體內容,所以在電子商務和電子選舉等領域有著廣泛的應用。
類比例子:對文件簽名就是通過在信封里放一張復寫紙,簽名者在信封上簽名時,他的簽名便透過復寫紙簽到文件上。
所謂盲簽名,就是先將隱蔽的文件放進信封里,而除去盲因子的過程就是打開這個信封,當文件在一個信封中時,任何人不能讀它。對文件簽名就是通過在信封里放一張復寫紙,簽名者在信封上簽名時,他的簽名便透過復寫紙簽到文件上。
一般來說,一個好的盲簽名應該具有以下的性質:
不可偽造性。除了簽名者本人外,任何人都不能以他的名義生成有效的盲簽名。這是一條最基本的性質。
不可抵賴性。簽名者一旦簽署了某個消息,他無法否認自己對消息的簽名。
盲性。簽名者雖然對某個消息進行了簽名,但他不可能得到消息的具體內容。
不可跟蹤性。一旦消息的簽名公開後,簽名者不能確定自己何時簽署的這條消息。
滿足上面幾條性質的盲簽名,被認為是安全的。這四條性質既是我們設計盲簽名所應遵循的標准,又是我們判斷盲簽名性能優劣的根據。
另外,方案的可操作性和實現的效率也是我們設計盲簽名時必須考慮的重要
因素。一個盲簽名的可操作性和實現速度取決於以下幾個方面:
1,密鑰的長度;
2,盲簽名的長度;
3,盲簽名的演算法和驗證演算法。
盲簽名具體步驟
1,接收者首先將待簽數據進行盲變換,把變換後的盲數據發給簽名者。
2,經簽名者簽名後再發給接收者。
3,接收者對簽名再作去盲變換,得出的便是簽名者對原數據的盲簽名。
4,這樣便滿足了條件①。要滿足條件②,必須使簽名者事後看到盲簽名時不能與盲數據聯系起來,這通常是依靠某種協議來實現的。
⑥ SEAL,使用的對稱加密技術是
同態加密。對稱密鑰加密方案使用相同的密鑰進行加密和解密,故對稱加密方案允許任何知道公鑰的人對數據進行加密,而同態加密就允許多人共同加密,故同態加密是SEAL加密的首選技術。
⑦ 同態加密的實現原理是什麼在實際中有何應用
同態加密是一種加密形式,它允許人們對密文進行特定的代數運算得到仍然是加密的結果,將其解密所得到的結果與對明文進行同樣的運算結果一樣。換言之,這項技術令人們可以在加密的數據中進行諸如檢索、比較等操作,得出正確的結果,而在整個處理過程中無需對數據進行解密。其意義在於,真正從根本上解決將數據及其操作委託給第三方時的保密問題,例如對於各種雲計算的應用。
這一直是密碼學領域的一個重要課題,以往人們只找到一些部分實現這種操作的方法。而2009年9月克雷格·金特里(Craig Gentry)的論文 從數學上提出了「全同態加密」的可行方法,即可以在不解密的條件下對加密數據進行任何可以在明文上進行的運算,使這項技術取得了決定性的突破。人們正在此基礎上研究更完善的實用技術,這對信息技術產業具有重大價值。
⑧ 同態加密簡介
同態加密是數據加密方式的一種,特點是允許數據在加密情況下實現數學或邏輯運算。
同態加密通常為非對稱性加密。因此在介紹同態加密之前,簡單介紹一下非對稱性加密。非對稱性加密分為三個步驟:
1. 生成一對鑰匙,一個公鑰pub和一個密鑰priv;
2. 使用公鑰pub加密原始數據,得到加密數據,公式:pub(原始數據)= 加密數據 ;
3. 使用密鑰priv解密加密數據,得到原始數據,公式:priv( 加密數據 )= 原始數據 ;
同態加密允許對 加密數據 進行處理,得到的解密結果等價於在原始數據下做運算。以聯邦學慣用到的Paillier演算法舉例,假設我有兩個數 和 ,我希望把它們扔給第三方做加法運算,即 + 。同時不希望第三方知道 、 及它們之和的具體值,同態加密可以派上用場,具體步驟如下:
1. (本地)生成一對鑰匙,公鑰pub和密鑰priv,公鑰用於加密,密鑰用於解密;
2. (本地)使用公鑰pub分別加密 和 ,得到 ( )和 ( );
3. (第三方)使用 函數處理 和 ,即 ;
4. (本地)使用密鑰priv解密 ,即 ;
4中 = + 。第三方通過上述步驟3實現了 和 在加密狀態下做加法的操作。
為了更直觀認識上述步驟,假設 =100, =200,步驟就變成:
1. (本地)生成一對鑰匙,公鑰pub和密鑰priv,公鑰用於加密,密鑰用於解密;
2. (本地)使用公鑰pub分別加密 和 ,得到 =1234, =4321 (舉例);
3.(第三方) 使用 函數處理 和 ,即 =12345678;
4. (本地)使用解密priv解密 ,得到 = 300。
第三方在不知道 =100和 =200,但是通過 函數依然可以在加密情況下實現相加運算。
⑨ 信息安全安全前沿技術有哪些
信息安全基本上都是都是攻與防的對抗,正是這種對抗促使了信息安全的發展,因此攻也屬於信息安全非常重要的一塊。因而前沿的東西都在攻防這一塊兒,這也是為什麼各大安全公司都有攻防實驗室的原因。由於種種原因,攻擊技術遠遠超前於防護技術,最近幾年流行的威脅情報也是為了解決如何更快的發現攻擊並做情報共享,堵住同類型攻擊。
把信息安全劃分為北向和南向,北向偏理論,務虛;南向偏技術,務實。當然本人屬於南向。
北向前沿:機器學習和深度學習在信息安全中的運用,威脅情報的識別,大數據和雲技術在信息安全領域的運用等。
南向前沿:關注blackhat吧,目前都在研究智能硬體設備的安全,物聯網安全,智能家居安全,車聯網安全,工控安全等等。這些領域目前還都處於攻擊技術領先的狀態。
至於代表人物,沒有,誰敢來代表一個方向的前沿,有也是吹牛瞎忽悠的人。