Comments (10)
https://eprint.iacr.org/2019/1159
https://1drv.ms/p/s!AmQ6D7DVFTx8gYZLJewtP6qRkpTXrw
If that doesn't help I can try to explain it.
from libote.
great! I'll review the code soon.
- A good field to test is a 64-bit prime field. eg Fp for
p=2^64-59
- yes, it processes 8 trees at a time as an optimization. The idea is that we want to take advantage of CPU vectorization and pipelining. It's more efficient to perform the same operation to multiple pieces of data at a time. You could try to do this on one tree but its a bit more complicated. The way i did it was to simply generate 8 trees at a time.
- Correct, the internals of the tree will remain the same. We will first generate leaf values as a
block
and then there should be some way to construct anF
fromblock
. This should be some customization point that the user can specify. There are a few options on how to implement this. One option is the member functionstatic F F::fromBlock(const block& b)
. Another could just be a free template functiontempate<typename F> F fromBlock(const block& b)
. Users can then specialize this function for their ownF
.
For the last layer, you will need to do the summation of it using F
as opposed to using block
and XOR.
from libote.
Maybe I can try if it's not an urgent task.
from libote.
great! Let me know if you have questions.
from libote.
I have some questions:
- What is the application scenario of arbitrary field VOLE?
- It seems that class
block
only supportsgf128
operations now, are other field operations likegf64
needed as well? - A related question, the choice bits of silent ROT are LSB of
B
, but in IKNP or softspoken the choice bits are input value, are there some differences between silent ROT and others?
from libote.
-
There are the zero knowledge protocols (wolverine). Some psi protocols want the field to be different (blazing fast psi). Sometime you might want, say, 1 out of three ot. It's. More efficient to do this with a vole than two one out of two OTs. I'm sure there are many more applications.
-
Yes, you would need to task as input the field that is being considered. This should be a template parameter.
-
The lsb choice bit thing is an optimization that you can sometimes use. You can't always do it depending on what you want as output. In general the choice but isn't the lsb of B, but is OTs own bit vector.
By default the silent protocol picks the choice bits at random. This makes sense because the silent protocols do not sent enough data to even communicate what the choice bits should be.
You can derandomize the choice bits by sending the difference between what you have and what you want.
Iknp and softspoken work differently. They always send a message that fixes the choice bits.
from libote.
Got it!
Let me dive into it!
from libote.
I can try to help, but I am uncertain how PPRF implemention worked in libOTe(specifically I don't understand how the tree is generated/shared) . Which paper should I read?
from libote.
Sorry I was working on other tasks last week. The PPT is very helpful and I also found (https://www.youtube.com/watch?v=uJ2NWmdt0AQ&t=934s) very helpful. I created a draft PR #127 on this with Noisy subfield VOLE and I will work on PPRF next.
I have a few more questions:
- Which fields I should test with? For simplicity I chose
u64
andu128
for current test, but these are not really fields. SlientPprf.h
saysthere are 8 indepenendent trees that are being processed together
. Could you explain this?- For https://github.com/osu-crypto/libOTe/blob/master/libOTe/Tools/SilentPprf.cpp#L524-L525, we need to generate random elements from
pprf.mBaseOTs
(using hashBlocks from AES)? Also, we should not modify the intermediate levels and keep them blocks, only change the leaves in the last level to the extension fieldF
?
from libote.
done
from libote.
Related Issues (20)
- Difference between silent VOLE and silent OT. HOT 5
- Building only Errors HOT 1
- SoftSpoken Test question HOT 2
- Question about slient VOLE HOT 12
- optimizations about silent ot HOT 2
- Fork of fork issue? HOT 1
- SoftSpokenOT doesn't work when using non-power-of-two as the fieldBits parameter HOT 2
- frontend examples does not correctly flush sockets HOT 1
- How to fix Segmantation fault HOT 27
- The network Problem HOT 4
- Can this code generate Random OTs using actively secure IKNP protocol? HOT 1
- libOTe does not build HOT 3
- Questions about codes in silent VOLE HOT 2
- Reverse the direction of the noisy_vole protocols (performance improvement)
- Build Failure: Compilation Error in RegularPprf.h HOT 1
- Can I use the library to silently generate Beaver's triples? HOT 49
- cmake build error: python3 build.py --all --boost --sodium HOT 4
- First build always fails on macOS HOT 3
- A build error HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libote.