隱私保護問題

前言: 僅個人小記,未完待續。什麼叫隱私保護?一句話,該知道的要知道,不該知道就一丁點兒都不要知道。

  1. OT: 小陶買旅行社資料問題https://blog.csdn.net/b0Q8cpra539haFS7/article/details/88414737
  1. 姚氏百萬富翁問題:
    2.1 http://zhiqiang.org/cs/yao-millionaires-problem.html
    2.2 論文 Protocols for Secure Computations
    2.4 第二種解法(藉助加法同態實現)

橢圓曲線加法同態: x,y 爲正整數, P爲橢圓曲線上一個點,則根據橢圓曲線性質知道,xP+yP=(x+y)PxP+yP=(x+y)P爲了更爲直觀體現加法同態,描述如下:f(x)=xPf(x)=xPf(x)+f(y)=f(x+y)f(x)+f(y)=f(x+y)顯然,這是加法同態。

橢圓曲線的上述乘法完全可以換一種寫法,即xPPxxP\rightarrow P^x故而上述轉爲PxPy=Px+yP^x*P^y=P^{x+y}

橢圓曲線中,給定 P,PxP,P^xxx的問題就非常之合理稱爲求離散對數問題。

  1. 三角形 多方安全通信

  2. 加密電路 https://blog.csdn.net/b0Q8cpra539haFS7/article/details/88414737

  3. 聯邦學習 http://www.elecfans.com/d/997035.html

  4. 承諾
    6.1 生活中如何保證猜拳無法耍賴?方法一: 引入可信第三方,作爲公證,證明雙方出拳內容。這個方法的瓶頸在於“第三方”,一旦第三方“耍賴”,則該猜拳仍然無法保證“不耍賴”。方法二: 改變具體的猜拳方式,甲乙雙方把要出拳的內容寫入一張紙,然後分別放入各自用自己的密碼盒子,各自保管自己的鑰匙,然後把密碼盒子移交給對方。雙方各自拿到對方的盒子後,再宣稱各自的出拳內容。然後,雙方交換鑰匙,打開手中的密碼盒子,驗證各自的宣稱內容。https://zhuanlan.zhihu.com/p/25241252

6.2 從密碼學角度分析以上 “方法二”密碼盒子的效果:(1) 有鑰匙則很容易打開密碼盒子,沒有鑰匙則無法打開密碼盒子 (2) 紙條放入了密碼盒子,因爲沒有鑰匙故而無法打開密碼盒子,從而無法看見紙條內容,這一點相當於實現了隱蔽功能。(3)雙方交換盒子,各自拿着對方的盒子,即各自不再有可能去更改密碼盒子裏的紙條內容,這一點保證了無法反悔

6.3 對上述討論中密碼盒子在密碼學中找出一個對應的工具。Hash 函數就具備這個功能,對出拳內容計算hash值,然後交給對方。但是,這樣子做不行,因爲Hash函數是一個確定性函數。而猜拳只有三個動作,即紙條上一共可能出現三個值,所以,雙方都可以直接計算出三個值對應的Hash值,此時,Hash的不可逆性就不存在了,相當於構造出了足夠使用的彩虹表了。解決這個問題的方法就是,每次陪伴一個隨機值,即Hash(隨機值+出拳值)。但是, 講到這裏還是沒有結束,就是因爲引入了這個隨機值,甲方有可能篡改原始出拳內容,比如隨機值按如下方法使用:c=H(m+r)c=H(m+r)則甲方,很容易找出(m,r)=m,r)(m',r')=\not (m,r)滿足m+r=m+rm'+r'=m+r進而必然H(m+r)=c=H(m+r)H(m'+r')=c=H(m+r)進而甲方完全可以進行篡改。
所以,必須保證,甲方不可能篡改原始內容。故而,以上方案根本不完備。下面的 Pedersen承諾方案 是完備的承諾方案。另外注意,之所以不完備,也是因爲用戶輸出的值只有三種,即用戶的輸出值是非常有限的,敵手完全可以發動窮舉攻擊。如果用戶的輸出值空間是很大的,那麼使用hash的方案應該也是OK的。
6.4 Pedersen承諾:把“篡改”難度和求解離散對數困難綁定在一起。具體如下:

疑問: Pedersen 中剛開始選用了兩個質數 p, q,而且 q 是 p質數羣裏的一個元素的階,並在該元素形成的循環羣中進行討論?關於這裏存在疑惑,不夠通透,上圖中並沒有展現 p,q。

  1. 同態加密。
    7.1 乘法同態,RSA: A 希望計算aba*b,則A 對 a, b 進行第一把鑰匙 e 加密ra=ae%n,rb=be%nr_a = a^e\%n,r_b=b^e\%n,然後將ra,rbr_a,r_b發送給 B,B 收到 ra,rbr_a,r_b,B 不能從收到的 ra,rbr_a,r_b推斷出原來的 a,ba,b,B 會按照 A 的要求,即對收到的兩個數做乘法運算,然後將運算結果返回給 A。即做 r=rarbr = r_a*r_b,然後將 rr發送回給 A,A 是很清楚 r 的 本質結構的 ,即 r=rarb=aebe=(ab)er=r_a*r_b=a^e*b^e=(a*b)^e,於是用第二把鑰匙 d 對 r 進行解密,即 rd=(ab)ed%n=abr^d=(a*b)^{ed}\%n=a*b,即得到乘法運算結果。
    注意: 以上,A 一個人持有 兩把鑰匙,e 和 d ,完全不需要公開任何一把鑰匙,因爲加密和解密兩個動作都是由 A 完成的,而不是像非對稱加密過程中,一方使用加密,另一方解密。
    疑問, 說好的乘法同態是支持 “乘法和除法” 兩種運算,具體除法又如何體現呢?
    7.2 EIGamal 乘法同態 (gk1,m1hk1)(gk2,m2hk2)=(gk1+k2,m1m2hk1+k2)(g^{k_1},m_1h^{k_1})*(g^{k_2},m_2h^{k_2})=(g^{k_1+k_2},m_1m_2h^{k_1+k_2})
  1. 探索思路:
    8.1 解決姚氏百萬富翁問題的第二種方法(藉助加法同態,參看 https://blog.csdn.net/qq_26816591/article/details/83589365
    8.2 上述文章中沒有具體交代加法同態加密的 Paillier 方案,進一步 https://blog.csdn.net/qq_26816591/article/details/82944696 以及 http://www.doc88.com/p-907289021577.html 進入了數論討論領域,包括討論卡邁克爾函數,模m2m^2的n次剩餘問題。
    8.3 卡邁克爾函數中,n=pqλ(n)=lcm(λ(p),λ(q))n=pq時候,\lambda(n)=lcm(\lambda(p),\lambda(q))λ(n)\lambda(n) 的含義是 n 以內的與 n 互質的元素的階的最小公倍數。進而,涉及到問題“素數 p 以內的{1,2,…,p-1}中的元素的階的最小公倍數爲多少?”,而之前在 BonehShoup 書的附錄中已經交代 {1,2,...,p1}\{1,2,...,p-1\} 構成一個循環羣,所以,顯然該羣中,必然存在階爲 p-1 的元素,所以,必然有 λ(p)=p1\lambda(p)=p-1。問題來了:“爲什麼 {1,2,...,p1}\{1,2,...,p-1\} 一定是一個循環羣????”
    8.4 爲了證明 {1,2,...,p1}\{1,2,...,p-1\} 是一個循環羣,進入到 有限域領域,因爲在有限域領域有交代:有限域的乘法特性: 乘法羣都是循環羣,進而討論 伽羅瓦域

  2. 祕密共享 https://blog.csdn.net/matrix67/article/details/4779854
    9.1 傳統組合方法
    9.2 多項式恢復(拉格朗日插值法,本質上就是求n+1 個未知數,矩陣非齊次線性方程組問題)https://blog.csdn.net/kety_gz/article/details/89366868
    9.3 空間中的一個點
    9.4 中國剩餘定理的應用,非常精彩。

  3. DDH假設,CDH假設,離散對數困難假設,以及三者關係 http://blog.sina.com.cn/s/blog_64370f500100lih7.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章