日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【密码学】【多方安全计算】Secret Sharing秘密共享浅析

發布時間:2024/1/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【密码学】【多方安全计算】Secret Sharing秘密共享浅析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Secret Sharing秘密共享淺析

    • 什么是秘密共享
    • 加解密過程
    • 驗證加解密
    • 參考文獻

秘密共享(Secret Sharing)是實現多方安全計算的一種常用方式,MPC當然也可以用混淆電路(Garbled Circuit)實現,本文旨在淺析秘密共享的基本原理,有對混淆電路感興趣的同學可閱讀下一篇博客。

什么是秘密共享

Secret Sharing被稱為秘密共享或私密共享,有一個秘密數值D,數值D被分解為n個片段并設置一個閾值k,當擁有k個以上片段時才可以恢復數值D,這種秘密分享叫做閾值秘密分享。

普通的秘密分享指將秘密數值D,分解成n個片段,當n個片段都被集合起來時才可以恢復秘密值D。

普通的秘密共享的問題在于,秘密的安全性得到了保證,但是管理的風險增加了,如果有一個片段被丟失將導致整個秘密無法被恢復。所以在業界常用的是閾值秘密共享。本文也就此進行討論。

加解密過程

在閾值秘密分享中,每個i人手中的信息被記為D_i,從D計算出D_1,…,D_n的過程被稱為加密。從k個D_i中計算D的過程稱之為解密。
1.加密過程
隨機生成k-1個數,a_1,…,a_{k-1},加上a_0==D湊夠k個數。多項式的定義:D_i = a_0 + … + a_{k-1}*i^(k-1)。
2.解密過程
湊齊k個人,每人手中有i和D_i。D_i值為上述多項式計算出來的結果,k個多項式就構成了一個方程組,其中a_0,…,a_{k-1}為未知數。通過對方程組的求解即可獲得未知數的值。其中a_0為D。

這里方程組未知數的個數為k,所以需要k個以上的方程才能明確未知數的值。如果湊的人數少于k,是無法求解出未知數的。

驗證加解密

我們可以設置一個秘密值D來對上述的過程進行驗證。我們假設秘密值D=7,只有湊夠了k=3人時才可以解密出D的值。
我們構造k個系數,其中a_0=D=7,剩下兩個參數我們隨機指定,a_1=0,a_2=1。

假設我們有n個人有可能需要了解秘密D,我們給他們每個人的信息如下:
D_1 = q(1)= D + a_1 + a_2 = 8
D_2 = q(2) = D + 2a_1 + 4a_2 = 11
D_3 = q(3) = D + 3a_1 + 9a_2 = 16

D_n = q(n) = D + n*a_1 + n^2 * a_2

假設現在第 1, 3, 10 三個人湊到一起了,他們可以湊出來以下方程組:
D_1 = 8 = D + a_1 + a_2
D_3 = 16 = D + 3a_1 + 9a_2
D_10 = 107 = D + 10a_1 + 100a_2

求解這個方程組,我們得到 a_0=D=7,a_1=0, a_2=1 。其中 a_0=7 就是要揭示的秘密。

參考文獻

如何共享一個秘密
密鑰分享Secret Sharing介紹

總結

以上是生活随笔為你收集整理的【密码学】【多方安全计算】Secret Sharing秘密共享浅析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。