混淆電路(Garbled Circuits)是一種密碼學基礎形式,用於使用亂碼電路進行安全雙方計算,您可以使創建安全定,協定中的各方不會發現彼此的輸入。
雙方可以組成一個亂碼電路來找到一個函數的輸出,而無需了解對方的輸入。
該函數可以是任何可以表示為布爾電路的函數。
電路的每個閘(Gate)都通過使用其輸入作為密鑰來加密其輸出。
由於一方只有在輸入正確的情況下才能知道閘(Gate)的輸出,所以只有正確的輸出是可恢復的。
雙方是混淆者(Garbler)和評估者(Evaluator),他們協議計算電路。
為電路中的混淆者(Garbler)每條線路創建隨機值,並使用其輸入電線標籤(wirelabels)加密每個閘(Gate)的輸出。
通過混淆者(Garbler)將其輸入電線標籤(wirelabels)和亂碼電路發送到評估者(Evaluator),接下來,評估者(Evaluator)需要找出它的輸入電線標籤(wirelabels)是什麼,但不要透露它的輸入是什麼。
我們為此使用不經意傳輸(OT)來評估,評估者(Evaluator)電路並將輸出電線標籤(wirelabels)發送回混淆者(Garbler),後者將它們解開並將輸出顯示給評估者(Evaluator)。
混淆電路(GC)支持電路尺寸優化,包括半門(Half Gates),並使用 AES128 和 AESNI 支持哈希(Hash),最小化昂貴的基於非對稱加密的不經意傳輸(OT)的數量。