Comments (4)
@srcansiz As we discussed in the daily, since now we will have just
cryptography
I would like to implement just the lom functionality, similar tocommon/sec_agg/_jls.py
something likecommon/sec_agg/_lom.py
. I think maybe both they will extend a super class (or maybe not) I can start to implement indepentely see if it works withcryptography
and then move to more refined and generic implementation.Let me know your opinion.
Thanks
Hi @rtaiello,
Extending a super class can be complicated since jls
is used in other places and the constructor of jls
and lom
won't be same since they use different keying material. So creating super class will have impact on other methods and how keying material are passed to the class because all methods and attributes of JLS is very specific to JLS. Therefore, for now, I would suggest to have _lom.py
implementation the same way _jls.py
is coded but of course if there are some common utilities there is no need to duplicate those.
from fedbiomed.
@srcansiz As we discussed in the daily, since now we will have just cryptography
I would like to implement just the lom functionality, similar to common/sec_agg/_jls.py
something like common/sec_agg/_lom.py
. I think maybe both they will extend a super class (or maybe not) I can start to implement indepentely see if it works with cryptography
and then move to more refined and generic implementation.
Let me know your opinion.
Thanks
from fedbiomed.
Hey,
we discuseed with @ybouilla, he will finalize the refactor, in particular, separate the common utils between _lom.py
and _jls.py
.
First create a _utils.py
containing:
quantize
,reverse_quatize
,multiply
anddivide
, and import in_secagg_crypter.py
Modify VEParameters to SAParameters and detachKEY_SIZE
(it's not shared or the same default value for LOM).
Second create a test just for the utils, to access weighted averaging over quantized values using these functions.
from fedbiomed.
Thanks Riccardo, I am going to work on a separated branch feature/1115-isolating-methods-for-lom-and-jls
from fedbiomed.
Related Issues (20)
- Add end2end tests documentation to website documentation
- Design how message exchange between nodes works on the node side application layer HOT 1
- Implement message exchange between nodes on the node side application layer
- Extend researcher side for LOM key negotiation
- Node sampling history of strategy is erased when nodes fail HOT 1
- [BUG]: SecAgg tutorial fails - incorrect encryption factor value HOT 1
- Extend skeleton for LOM secure aggregation training
- Building images fails on Mac with Apple Silicon HOT 3
- docker container researcher misses `notebooks/tutorials`
- improve `node.requests.send_node()` implementation HOT 1
- SecAgg: fixing and adding unit tests HOT 1
- Use real keys for node to node communication
- Misc refactor of `Round._check_configure_secagg()`
- update coding rules
- Implement `Additive Secret Sharing` using note to node communication to replace MP-SPDZ
- Remove deprecated APIs from CLI
- Improve VPN containers HOT 1
- Solve broken Joye-Libert e2e tests
- Small issues regarding website HOT 2
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 fedbiomed.