Comments (4)
Hi Sergen, thanks for investigating.
I think the above code could gain robustness: we are doing infinte loops (while True:
), but can we loop over the number of bit instead (before reaching 256
and leading to a Overflow error
while gcd(r, self._n_modules) > 1:
while counter < self.bits_size//8 and len(result)>=self.bits_size//8:
h = hashlib.sha256()
h.update(
int(t).to_bytes(self.bits_size // 2, "big") +
counter.to_bytes(1, "big")
)
result += h.digest()
counter += 1
r = mpz(int.from_bytes(result[-self.bits_size:], "big"))
return r
from fedbiomed.
I tried to run only the first end-to-end test test_01_secagg_joye_libert_pytorch_experiment_basic
I got a different error:
if len(validation) != 1 or not math.isclose(validation[0], self._secagg_random, abs_tol=0.03):
> raise FedbiomedSecureAggregationError(
f"{ErrorNumbers.FB417.value}: Aggregation has failed due to incorrect decryption."
)
E fedbiomed.common.exceptions.FedbiomedSecureAggregationError: FB417: secure aggregation error: Aggregation has failed due to incorrect decryption.
from fedbiomed.
The issue may be twofold:
- a glitch in end2end tests (immediate cause of the problem)
[ ] maybe a bug in=> moved to #1163FDH.H
(testif len(result) < (self.bits_size // 8):
is weird)
from fedbiomed.
I tried to run only the first end-to-end test
test_01_secagg_joye_libert_pytorch_experiment_basic
I got a different error:
if len(validation) != 1 or not math.isclose(validation[0], self._secagg_random, abs_tol=0.03): > raise FedbiomedSecureAggregationError( f"{ErrorNumbers.FB417.value}: Aggregation has failed due to incorrect decryption." ) E fedbiomed.common.exceptions.FedbiomedSecureAggregationError: FB417: secure aggregation error: Aggregation has failed due to incorrect decryption.
Hi @ybouilla,
Thank you for testing the issue. I am going to run again this test and compare the result that I got before, something may be changed since the issue created.
from fedbiomed.
Related Issues (20)
- 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
- Small issues regarding website HOT 3
- add CI test for building containers
- Likely bug in secagg Joye-Libert FDH computation
- [New issue]: Import a custom function as a dependency HOT 2
- make round number available to the `TrainingPlan` on the node side
- update user documentation and notebooks for LOM secagg
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.