[REPO] [SOURCE]

MPC-Notes

(English)

These are my notes from reading A Pragmatic Introduction to Secure Multi-Party Computation. Most viewpoints come from the book or original papers, supplemented with some personal insights. For some topics, I wrote programs to demonstrate the concepts. If there are any errors, please feel free to point them out. Thank you.

Thanks to the Ethereum Foundation’s Learning Grant and to Nam Ngo / Tyler AtHeartEngineer for reviewing this work.


(Chinese)

這是我讀 A Pragmatic Introduction to Secure Multi-Party Computation 這本書時的筆記. 主要觀點都來自書中或原 paper, 再補充一些心得. 部分主題另外寫了程式來展示概念. 如有錯誤, 還請不吝指正, 謝謝.

感謝 Ethereum Foundation 的 Learning Grant. 感謝 Nam Ngo / Tyler AtHeartEngineer 的審閱.

Study Notes

     
Introduction English Chinese
Garbled Circuit English Chinese
Garbled Circuit and Oblivious Transfer (story) English Chinese
Garbled Circuit Optimization: Point-and-Permute English Chinese
Point-and-Permute (story) English Chinese
Garbled Circuit Optimization: Garbled Row Reduction (GRR3) English Chinese
Garbled Circuit Optimization: FreeXOR English Chinese
Garbled Circuit Optimization: Half Gates English Chinese
Oblivious Transfer English Chinese
IKNP OT Extension English Chinese
IKNP OT Extension (story) English Chinese
From Two to Three English Chinese
GMW / GMW87 English Chinese
BGW English Chinese
Shamir’s Secret Sharing English Chinese
Beaver Triple English Chinese
Beaver Triple Generation: The MASCOT Way English Chinese
BMR English Chinese
PRF / OPRF / PSI English Chinese
PSI by PSSZ English Chinese
Permutation Network English Chinese
Tailored Oblivious Data Structures English Chinese
Oblivious RAM (ORAM) / Path ORAM English Chinese
ORAM and MPC English Chinese
Circuit ORAM / Square-Root ORAM English Chinese
Point Function / Distributed Point Function English Chinese
Function Secret Sharing / Distributed Point Function English Chinese
Malicious Security - Cut-and-Choose English Chinese
Malicious Security - Zero-knowledge Proofs English Chinese
Malicious Secret Sharing - Authenticated Secret Sharing English Chinese
Authenticated Garbling English Chinese

Programs

Boolean Circuit
boolean-circuit.png


Garbled Circuit - Evaluator
evaluator.png

Garbled Circuit - Generator
generator.png


Garbled Circuit - Point-and-Permute - Evaluator
evaluator.png

Garbled Circuit - Point-and-Permute - Generator
generator.png


(Learning the inner works)
debug.png


OT Extension (IKNP)
OT-extension.png


Path-ORAM
Path-ORAM.png

(with a demo video)