Comments (8)
Hi @BeStrongok ,
Yes, we are using the same idea here, please check https://github.com/secretflow/spu/blob/beta/spu/hal/ring.cc#L141-L146.
from spu.
Thanks for your reply, but i haven't find the implementation code of the function _msb
, dose you directly reveal the difference x - y
and get the msb of the revealed result?
from spu.
Thanks for your reply, but i haven't find the implementation code of the function
_msb
, dose you directly reveal the differencex - y
and get the msb of the revealed result?
We should not reveal any value here.
Currently, some protocols adopt the arithmetic shares to boolean shares
(A2B) procedure. Thus you could get any bit, including the MSB. Some protocol, say cheetah, has a dedicated MSB implementation. Check here.
A more wise way is to directly perform a carry-out circuit calculation which has a similar procedure as the A2B routine. The carry-out circuit will be supported soon.
from spu.
Cool!! I will learn this code. I'm confused that the shares is generated randomly, so it cannot be used for comparison locally, after A2B procedure, we need to reveal the MSB bit, is my understanding correct?
from spu.
Cool!! I will learn this code. I'm confused that the shares is generated randomly, so it cannot be used for comparison locally, after A2B procedure, we need to reveal the MSB bit, is my understanding correct?
The MSB is also kept in secret sharing form, either boolean or arithmetic. Everything has to be confidential inside a generic secure multiparty computation protocol. Once you've decided to open the secret, you need to reveal it explicitly.
from spu.
Cool!! I will learn this code. I'm confused that the shares is generated randomly, so it cannot be used for comparison locally, after A2B procedure, we need to reveal the MSB bit, is my understanding correct?
The MSB is also kept in secret sharing form, either boolean or arithmetic. Everything has to be confidential inside a generic secure multiparty computation protocol. Once you've decided to open the secret, you need to reveal it explicitly.
Thanks for your guidance, i understand. After A2B procedure, parties can get the secret shares of MSB locally, once we want to open this secret, we need to reveal it explicitly, we can't directly reveal it in the source code implicitly.
from spu.
Thanks for your reply, but i haven't find the implementation code of the function
_msb
, dose you directly reveal the differencex - y
and get the msb of the revealed result?We should not reveal any value here.
Currently, some protocols adopt the
arithmetic shares to boolean shares
(A2B) procedure. Thus you could get any bit, including the MSB. Some protocol, say cheetah, has a dedicated MSB implementation. Check here.A more wise way is to directly perform a carry-out circuit calculation which has a similar procedure as the A2B routine. The carry-out circuit will be supported soon.
Hi~
I noticed that you will implement carry-out circuit calculation, i read the corresponding paper and find that the protocol BitLTL
needs log(k)
communication rounds, which is not effecient enough, especially handling larger amount of data.
I'm wondering that is there any protocol can be implemented with constant round complexity?
The paper is Improved Primitives for Secure Multiparty Integer Computation.
from spu.
Hi @BeStrongok
Carry-out circuit is supported in the latest SPU implementation (for ABY3 protocol), but it's only helps to reduce the total number of communication data, not communication rounds, the rounds is still log(k)
.
AFAIK, at least log(k)
rounds is required :(
from spu.
Related Issues (20)
- 在具备GPU加速的Jax开发环境,基于MPC的LR不能使用GPU进行加速 HOT 9
- nodectl中Socket连接失败 HOT 17
- SPU如何处理域上的负数 HOT 2
- 请教一下,我100w级别的数据查询(pir)花费了30多秒,可以从日志看出这些时间是不是花费在加载数据集里吗? HOT 2
- PSI HOT 19
- PIR隐匿查询报错 HOT 5
- spu进行函数计算,小数精度丢失异常 HOT 7
- SPU项目编译错误 HOT 4
- server端口号不能重复 HOT 2
- 关于使用spu进行计算问题 HOT 3
- 关于bazel run的问题 HOT 1
- call kernels with KernelEvalContext HOT 5
- 使用 SPU 实现逻辑回归算法基础功能 HOT 15
- 使用 SPU 实现决策树模型基础功能 HOT 13
- 使用 SPU 实现主成分分析基础功能 HOT 33
- spu源码安装 HOT 2
- SPU linux arm64 wheel? HOT 21
- SPU 编译失败 HOT 4
- 关于数据预处理去重 HOT 4
- mpc协议 HOT 3
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 spu.