學術研究 密碼學

密碼學筆記 – Witness Encryption 證據加密法(?)

Witness Encryption 中可以使用一個 NP 語言 L(對應一個關係 R)的一個實例 x 加密一段訊息,對於知道某個 w 使 R(x, w) 成立的人可以解密,而若某 x 不存在於 L 中,則沒有多項式時間的攻擊者可以分辨任兩個具有相同長度原文的密文。值得注意的是,加密者不一定知道 x 是否存在於 L[1] 以更白話的說法,我們可以找到一個 NP 問題,但不必要知道這個問題是否有解,而利用這個問題對某段訊息加密,接著交給可能知道的人解密。例如在 Goyal and Goyal[2] 中利用某筆紀錄對於某個 PoS 區塊鏈的存在條件中作為 NP 問題並對某電路進行加密,因此這個電路只有在區塊鏈將某筆紀錄上鏈後才可執行,也只能執行一次。

閱讀全文
區塊鏈 學術研究

聽過 Merkle Tree,那你聽過 Verkle Tree 嗎?

上個月 Vitalik 寫了一篇文講 Verkle Tree,對於區塊鏈技術熟悉的人,大概會很快聯想到 Merkle Tree,也確實,Verkle Tree 就是 Merkle Tree 的一種變形,意思是 Very Short Merkle Tree,那具體改了什麼?又有什麼好處呢?從 Very Short 上,大概就可以猜出 Verkle Tree 提供的改進就是縮短了 Merkle Tree 的某部分。在開始之前,我們先往回看 Merkle Tree 這東西。

閱讀全文
區塊鏈 學術研究 密碼學

代理重加密:NuCypher Umbral 介紹

NuCypher 是一個滿久的項目了,最主要的目標是為隱私保護的應用提供基礎設施,包含了 Secret Management、Dynamic Access Control 與 Secure Computation。其中會用到的代理重加密這個功能,這篇文章將介紹 NuCypher 使用的代理重加密方法,他們命名為 Umbral,在西班牙文中這是 Threshold 的意思。

閱讀全文