ctf with perfect.blue, co-founder of a security company
prev: Vector35, Grayshift, Dfsec
| https://twitter.com/gf_256 | |
| YouTube | https://youtube.co/basteg0d69 |
| https://twitter.com/gf_256 | |
| YouTube | https://youtube.co/basteg0d69 |
Many YouTube videos lately are clickbait and stretch out a Wikipedia page into 30 minutes. Many videos are just questions with simple answers.
So I built tldw.tube: put in the URL and save your time!
(No hate on Veritasium, it just happened to work well for the screenshot)
Fun friday night coding project: UBSAN but for Java
it works as a javaagent, instrumenting all loaded classes at the bytecode level. it lifts the bytecode to SSA IR, replaces BinOp nodes for arithmetic with a function call to a checked version of the op, then recompile bytecode
To see all the details on how oblivious transfer and garbled circuits work, I've written a full blog post on MPC from scratch.
Check it out! π
https://www.zellic.io/blog/mpc-from-scratch/
The MPC protocol we'll be building is Yao's Garbled Circuit protocol.
The idea behind garbled circuits is to encode the computation into a boolean circuit made of logic gates, then evaluate each of the logic gates in a MPC-like way.
To do this, we'll first need a primitive known as Oblivious Transfer. OT is MPC-complete, meaning it can be used to accomplish any MPC! But what is oblivious transfer?
Imagine I have two messages. I want to let you pick one of the messages, without seeing the other one. You also don't want to reveal which one you picked. Oblivious transfer accomplishes this.