Oblivious Transfer 很不错的一篇文章

除了OT还有其他东西,OT部分很清楚

https://crypto.stanford.edu/pbc/notes/crypto/

最后一部分的阅读笔记,其要点是说明复杂度的1-out-of-N的OT可以基于任何1-out-of-2 的OT 构建出来(但效率咋样就不好说了,只是说原则上可以构建,更好的构建需要看下面的另一个链接)

1) n 和 N 是不同的,这里没有任何录入错误问题. n是消息的位数,而N+1则是代表了消息一共有多少条(2^l (look首字母)),意义不同

2) PRF中的K是seed,被称为key.  一共产生 2*l 个不同的key

3) 作为消息下标的I(Ink首字母),其本身位数是l(look首字母),I1是I的第1位,I2是I的第2位,以此类推。

4) 通信复杂度不是说的轮次,而是比特数。


本篇随笔最后的Naor-Pinkas 早期算法的1-out-of-2 OT被用在下文的这个算法中用来帮助实现PSI,

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/02/799.pdf

非常有意思,值得一看

下图的这个算法对于单次查询是非常高效的,也可以实现高效的PSI,图是自己整理的

OPRF-PSI的源代码里面用的Naor-Pinkas OT的原理和上面不一样,是一个比较简单的算法(和阿里云的OT示意非常类似)

你可能感兴趣的:(Oblivious Transfer 很不错的一篇文章)