shamir門限方案閱讀與密碼學課程感想

2021-10-10 05:17:31 字數 1774 閱讀 3756

這裡重點談一下對adi shamir的關於閾值金鑰分 享方案的**《how to share a secret 》的理解,以及這兩周密碼學課堂的學習感想。

想要看懂一篇**,首先要知道它是為了解決什麼問題,然後看它為了解決這個問題採用了什麼樣 的方法,最後再總結這個方法的效果。adi shamir的這篇**是為了解決多方計算的資料隱私問題,提 出了一種基於拉格朗日插值多項式的門限方案,從而實現了安全計算。下面具體進行解釋。

乙個比較直觀的方法就是基於噪音的安全計算方法,通過對計算過程新增噪音進行干擾,讓原始數 據淹沒在噪音中,使攻擊者或黑客無法從得到的結果反推原始資料,噪音可以在資料來源、模型引數或輸 出中新增。這種方法的優點是效率高,只需新增某些服從特定分布的隨機數即可,但也有明顯的缺點, 最後得到的結果不夠準確,在複雜的計算任務中可能無法使用。

另乙個方案就是通過密碼學方法將資料編碼或加密,得到加密的數字後進行通訊,加密的方法主要 有混淆電路(garbled circuit)、金鑰分享(secret sharing)和同態加密(homomorphic encryption)這三種。混淆電路方法通過設定電門來實現資料加密+打亂的過程,當在執行複雜的計算任 務時門的設計也會越來越複雜,同態加密是後來提出來的,本**主要介紹了金鑰分享的實現機制。

金鑰分享的基本思路是將秘密 s 進行特定運算,拆分成 w 個秘密碎片 si (0 < i <= w),並將這些秘 密碎片 si 分發到 w 個參與方中儲存,每個參與方拿到的都是原始秘密資料的一部分,乙個或少數幾個 參與方無法還原出原始秘密,只有當至少 k 個參與方同時拿出自己所擁有的秘密碎片 si 時,才能還原出 最初的秘密 s。形式化描述為:將原始資料d分為n份,任意k份可以重組成d,任意小於等於k-1份的數 據碎片不會洩露任何關於d的資訊。這種技術不僅能對資料進行加密,還能為密碼系統構建魯棒的金鑰 管理機制,即使資料被破壞的只剩一部分也仍能安全可靠的執行。

**首先**了這樣的問題:11個科學家從事乙個秘密專案,他們希望把文件所在乙個箱子裡,箱 子只有在6個或更多科學家在場時才能開啟。最少需要多少鎖?每個科學家最少需要保管幾把鑰匙?不難 證明最小的解決方案是使用462把鎖和每人252個鑰匙。這個數目顯然是不實用的,當科學家人數增加時 會呈指數級增加。

文章接著提出了一種簡化的解決方案:(k, n)門限機制。將上述問題歸納為:秘密為某個資料d,將 d分成n份d1,d2,...dn,滿足:(1)任意k或多餘k份di可以很容易地計算出d;

(2)任意k-1或少於k-1份 di資訊不能準確計算出d(所有可能的值相同)。

門限機制適合這樣的應用:一組有矛盾的、相互懷疑的個體必須合作。理想情況下,我們希望合作 是基於多方同意的,但是這種機制會賦予每個成員投票權,這可能導致組織的活動陷於癱瘓。 通過適當 選擇引數k和n,我們可以給予任何足夠多的多數人採取一些行動的權力,同時阻止那些數量不足的少數 方的權力。

這種(k,n)門限機制的優點是:

(1)每部分資訊的大小不會超過原始資料; (2)當k固定時,di可以動態地增刪而不影響其他資訊片(pieces);

(3)可以在不改變原始資料d的情況下容易的改變di,我們需要的只是乙個新的有相同自由項的多項式 q(x)。這種型別的頻繁變化可以提高安全性,這樣由安全漏洞暴露的pieces就不回累積,除非它們都是 同乙個版本的q(x)多項式的值;

(4)通過使用多項式值陣列作為di,我們可以得到乙個分層機制,決定d所需的pieces數量依賴於它們 的重要性;

密碼學課設實驗 古典密碼c 實現

一 實驗目的 通過實現簡單的古典密碼演算法,理解密碼學的相關概念如明文 plaintext 密文 ciphertext 加密金鑰 encryption key 解密金鑰 decryption key 加密演算法 encryption algorithm 解密演算法 decryption algori...

區塊鏈與密碼學

在學完大概了密碼學的知識,其實也只是看完了dan boneh的那本密碼學的書,現在開始密碼學與區塊鏈的結合學習,因為我自己是主要針對密碼學和區塊鏈的,但是去學習密碼學在區塊鏈上面的一些應用,就可以使得對密碼學有更深刻的了解,因為密碼學擁有很龐大的體系,所以我只能這樣去慢慢摸索。因為我有很多學習的內容...

密碼學 公鑰與私鑰

這裡不討論數學原理,只說明其實現和傳輸過程。我們先假定乙個資料的傳送方和乙個資料的接收方 就叫小紅和小明好了!傳送方小紅擁有一對金鑰 乙個公鑰和乙個私鑰。接收方小明也同樣擁有一對金鑰 乙個公鑰和私鑰。注意 這四把鑰匙 密碼 各不相同!公鑰的概念 公鑰是可以在網路上傳輸的,也就是說接收傳送雙方都可以知...