Comment ajouter deux nombres que vous n’avez pas le droit de voir
On m’a posé cette question le week-end et j’ai donné une mauvaise réponse, alors je suis allé lire correctement.
Hedger utilise le chiffrement homomorphe basé sur ElGamal sur ECC. la version simple de ce que cela vous apporte est la suivante : vous pouvez effectuer des calculs sur des valeurs CHIFFRÉES sans les déchiffrer d’abord.
Ainsi, un contrat qui détient deux soldes chiffrés peut produire la somme chiffrée correctement, sans jamais connaître l’un des deux nombres ni le total.
Ça ressemble à un tour de magie, mais ce n’est pas un tour de magie. C’est une propriété de la façon dont le chiffrement est structuré, et ElGamal a cette propriété pour la multiplication, qui se traduit par une addition dans l’exposant. On le sait depuis les années quatre-vingt.
Pourquoi le combiner avec des preuves à connaissance zéro plutôt que d’utiliser l’un ou l’autre seul.
Parce que le chiffrement homomorphe vous indique que les opérations MATHÉMATIQUES peuvent être effectuées sur des valeurs cachées. Il ne vous dit pas que la personne qui les fait l’a fait honnêtement, ni que les entrées étaient valides à la base. C’est à ça que servent les preuves.
Donc l’un des primitives gère le calcul confidentiel, l’autre gère la correction vérifiable, et aucun ne remplace l’autre. La plupart des systèmes de confidentialité se contentent de preuves seules et paient en complexité de circuit, parce que vous prouvez alors des énoncés sur de l’arithmétique que vous deviez aussi cacher.
La réserve honnête : les schémas homomorphes ne sont pas gratuits. C’est du partiellement homomorphe, pas le chiffrement entièrement homomorphe dont les gens écrivent des articles enthousiastes, et la différence est qu’un schéma partiel prend en charge certaines opérations plutôt qu’un calcul arbitraire. Cette limitation est exactement ce qui le rend suffisamment RAPIDE pour tourner dans un navigateur en moins de deux secondes.
C’est le compromis que j’aurais fait aussi. Un usage général et inutilisable ne sert à personne.
#dusk @Dusk $DUSK
On m’a posé cette question le week-end et j’ai donné une mauvaise réponse, alors je suis allé lire correctement.
Hedger utilise le chiffrement homomorphe basé sur ElGamal sur ECC. la version simple de ce que cela vous apporte est la suivante : vous pouvez effectuer des calculs sur des valeurs CHIFFRÉES sans les déchiffrer d’abord.
Ainsi, un contrat qui détient deux soldes chiffrés peut produire la somme chiffrée correctement, sans jamais connaître l’un des deux nombres ni le total.
Ça ressemble à un tour de magie, mais ce n’est pas un tour de magie. C’est une propriété de la façon dont le chiffrement est structuré, et ElGamal a cette propriété pour la multiplication, qui se traduit par une addition dans l’exposant. On le sait depuis les années quatre-vingt.
Pourquoi le combiner avec des preuves à connaissance zéro plutôt que d’utiliser l’un ou l’autre seul.
Parce que le chiffrement homomorphe vous indique que les opérations MATHÉMATIQUES peuvent être effectuées sur des valeurs cachées. Il ne vous dit pas que la personne qui les fait l’a fait honnêtement, ni que les entrées étaient valides à la base. C’est à ça que servent les preuves.
Donc l’un des primitives gère le calcul confidentiel, l’autre gère la correction vérifiable, et aucun ne remplace l’autre. La plupart des systèmes de confidentialité se contentent de preuves seules et paient en complexité de circuit, parce que vous prouvez alors des énoncés sur de l’arithmétique que vous deviez aussi cacher.
La réserve honnête : les schémas homomorphes ne sont pas gratuits. C’est du partiellement homomorphe, pas le chiffrement entièrement homomorphe dont les gens écrivent des articles enthousiastes, et la différence est qu’un schéma partiel prend en charge certaines opérations plutôt qu’un calcul arbitraire. Cette limitation est exactement ce qui le rend suffisamment RAPIDE pour tourner dans un navigateur en moins de deux secondes.
C’est le compromis que j’aurais fait aussi. Un usage général et inutilisable ne sert à personne.
#dusk @Dusk $DUSK