{"id":10203,"date":"2021-01-06T00:11:03","date_gmt":"2021-01-06T05:11:03","guid":{"rendered":"https:\/\/nebula.org\/blog\/recryptage-par-proxy-et-cryptage-homomorphique\/"},"modified":"2021-02-20T20:24:48","modified_gmt":"2021-02-21T01:24:48","slug":"recryptage-par-proxy-et-cryptage-homomorphique","status":"publish","type":"post","link":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/","title":{"rendered":"Recryptage par proxy et cryptage homomorphique"},"content":{"rendered":"\n<p>L&rsquo;utilisation et la confidentialit\u00e9 des donn\u00e9es sont souvent en conflit. Par exemple, si nous partagions tous ouvertement nos donn\u00e9es sur la sant\u00e9 avec les chercheurs, cela acc\u00e9l\u00e9rerait les travaux sur les nouvelles technologies et rem\u00e8des pour la sant\u00e9. Mais nous avons \u00e0 juste titre peur de ce qu&rsquo;un acteur malveillant pourrait faire avec nos donn\u00e9es brutes sur la sant\u00e9. C&rsquo;est l\u00e0 que le domaine de la cryptographie peut venir \u00e0 la rescousse.<em> Recryptage par proxy<\/em> et<em> cryptage homomorphe<\/em> sont des outils qui nous permettront de garder notre g\u00e2teau et de le manger aussi, en ce qui concerne l&rsquo;utilisation et la confidentialit\u00e9 des donn\u00e9es.<\/p>\n\n<p>Le rechiffrement par proxy permet \u00e0 un propri\u00e9taire de donn\u00e9es de crypter ses donn\u00e9es une fois, puis de les partager en toute s\u00e9curit\u00e9 avec les acheteurs, aussi souvent qu&rsquo;il le souhaite, en utilisant les services d&rsquo;un tiers. Le cryptage homomorphe permet \u00e0 un acheteur de donn\u00e9es d&rsquo;ex\u00e9cuter des calculs sur des donn\u00e9es crypt\u00e9es stock\u00e9es et calcul\u00e9es par des tiers non approuv\u00e9s, et d&rsquo;obtenir des r\u00e9sultats ou des informations sur ces donn\u00e9es, sans r\u00e9v\u00e9ler les donn\u00e9es d&rsquo;un individu sous une forme non crypt\u00e9e.<\/p>\n\n<p>Ces techniques servent de blocs de construction \u00e0 des syst\u00e8mes cryptographiques plus complexes (par exemple<a href=\"https:\/\/petsymposium.org\/2017\/papers\/issue4\/paper54-2017-4-source.pdf\" rel=\"noreferrer noopener\" target=\"_blank\"> Unlynx<\/a> d\u00e9velopp\u00e9 par l&rsquo;EPFL, inspiration th\u00e9orique de nos travaux actuels). Ainsi notre plan est le suivant 1) Cr\u00e9ez des biblioth\u00e8ques simples \u00e0 utiliser et pratiques pour les primitives de cryptographie avanc\u00e9es 2) ces biblioth\u00e8ques aideront les d\u00e9veloppeurs \u00e0 cr\u00e9er et \u00e0 combiner des primitives avanc\u00e9es pour cr\u00e9er des syst\u00e8mes cryptographiques complexes qui permettront un partage de donn\u00e9es plus s\u00e9curis\u00e9 3) Un partage de donn\u00e9es plus s\u00fbr et plus utile permettra de multiplier par 10 la vitesse de la recherche sur des probl\u00e8mes importants comme la recherche sur le cancer et le diab\u00e8te 4) sauver le monde :-).<\/p>\n\n<p>Pour commencer, nous avons d\u00e9velopp\u00e9 une version alpha d&rsquo;une preuve de concept<a href=\"https:\/\/github.com\/nebula-genomics\/proxy-re-demo\" rel=\"noreferrer noopener\" target=\"_blank\"> biblioth\u00e8que<\/a> . Le code ci-dessous utilise cette biblioth\u00e8que pour offrir un exemple de la fa\u00e7on dont nous appliquons ces technologies pour permettre un flux de donn\u00e9es s\u00e9curis\u00e9 et pratique des propri\u00e9taires aux utilisateurs.<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"d968\">Recryptage par proxy<\/h3>\n\n<p>Le rechiffrement par proxy est un processus dans lequel un tiers, appel\u00e9 proxy, modifie un texte chiffr\u00e9 chiffr\u00e9 par une partie de mani\u00e8re \u00e0 ce qu&rsquo;il puisse \u00eatre d\u00e9chiffr\u00e9 par une seconde partie.<\/p>\n\n<p>Sur la plate-forme de Nebula, le proxy agira en tant que d\u00e9positaire des donn\u00e9es g\u00e9nomiques crypt\u00e9es et g\u00e9rera l&rsquo;acc\u00e8s \u00e0 ces donn\u00e9es par les acheteurs au nom du propri\u00e9taire. Bien que le proxy ne puisse pas acc\u00e9der aux donn\u00e9es brutes sous-jacentes, le proxy est en mesure (avec l&rsquo;autorisation du propri\u00e9taire) de modifier les donn\u00e9es chiffr\u00e9es afin que l&rsquo;utilisateur puisse les d\u00e9chiffrer ult\u00e9rieurement. Le propri\u00e9taire des donn\u00e9es est ainsi en mesure de d\u00e9l\u00e9guer cette t\u00e2che au proxy sans jamais partager d&rsquo;informations en clair avec le proxy. Une autre cons\u00e9quence de cette d\u00e9l\u00e9gation est que ni le propri\u00e9taire ni le destinataire des donn\u00e9es n&rsquo;ont besoin d&rsquo;\u00eatre en ligne.<\/p>\n\n<p>Dans notre exemple, supposons que le proxy est un ensemble de serveurs qui agit comme une autorit\u00e9 collective d\u00e9centralis\u00e9e. Voyons maintenant un exemple de recryptage par proxy o\u00f9 Alice, propri\u00e9taire de donn\u00e9es, partage des donn\u00e9es g\u00e9nomiques avec Bob, un utilisateur de donn\u00e9es, via le proxy.<\/p>\n\n<p>Commen\u00e7ons par installer la biblioth\u00e8que mentionn\u00e9e ci-dessus.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"717\" height=\"123\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.15-PM.png\" alt=\"\" class=\"wp-image-4375\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.15-PM.png 717w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.15-PM-300x51.png 300w\" sizes=\"(max-width: 717px) 100vw, 717px\" \/><\/figure>\n\n<p>Nous pouvons maintenant importer le package nebula.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"708\" height=\"139\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.23-PM.png\" alt=\"\" class=\"wp-image-4370\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.23-PM.png 708w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.23-PM-300x59.png 300w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/figure>\n\n<figure><iframe width=\"700\" height=\"250\" allowfullscreen=\"\" src=\"https:\/\/medium.com\/media\/7b76a2f0cf43f50ebf5a55ecc70bf85a?postId=832055c96142\"><\/iframe><\/figure>\n\n<p>Maintenant, parcourons le processus de partage. La premi\u00e8re \u00e9tape est pour Alice de crypter ses donn\u00e9es. Nous allons g\u00e9n\u00e9rer une cl\u00e9 sym\u00e9trique pour qu&rsquo;elle soit utilis\u00e9e par<a href=\"https:\/\/cryptography.io\/en\/latest\/hazmat\/primitives\/aead\/#cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305\" rel=\"noreferrer noopener\" target=\"_blank\"> ChaCha20 + Poly1305<\/a> .<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"709\" height=\"117\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.32-PM.png\" alt=\"\" class=\"wp-image-4365\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.32-PM.png 709w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.32-PM-300x50.png 300w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>(&lt;umbral.point.Point at 0x10389fe10&gt;, b'\\x10\\x91Y\\xb1*\\x8c\\xf0\\x7f@=\\xefx\\xe9\\xf6\\x12\\xf3W\\xbd\\xdel\\xc4\\x06{\\xae\\x05%\\x1b\\x89U\\xf9eN\\xe5e\\x1a\\xe71xn\\xac@v\\xf4')<\/code><\/pre>\n\n<p>Le proxy d&rsquo;autorit\u00e9 collective a sa propre cl\u00e9 publique, qui est la somme des cl\u00e9s publiques de ses serveurs constituants.<\/p>\n\n<p>Alice prend maintenant la cl\u00e9 de chiffrement qu&rsquo;elle a utilis\u00e9e sur ses donn\u00e9es et la crypte avec la cl\u00e9 publique de l&rsquo;autorit\u00e9 collective. Notez que puisque nous utilisons<a href=\"https:\/\/en.wikipedia.org\/wiki\/Elliptic-curve_cryptography\" rel=\"noreferrer noopener\" target=\"_blank\"> cryptographie \u00e0 courbe elliptique<\/a> les deux textes chiffr\u00e9s qui<a href=\"https:\/\/en.wikipedia.org\/wiki\/ElGamal_encryption\" rel=\"noreferrer noopener\" target=\"_blank\"> Cryptage ElGamal<\/a> produit sont des points sur la courbe elliptique choisie. Ce que vous voyez dans la sortie ci-dessous sont les coordonn\u00e9es des deux points sous forme (x, y).<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"708\" height=\"138\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.46-PM.png\" alt=\"\" class=\"wp-image-4360\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.46-PM.png 708w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.46-PM-300x58.png 300w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>((35632791306511153190425382918654119432212363349182003014749353343128802126727, 64242079364444117954338938658093117507689717419524224721788857406414950009581), (97847103734799578346073884785318736156070617710068604497289838935308031857554, 100772267217308028038724925681024365362775942293927562577198462564518506731626))<\/code><\/pre>\n\n<p>Chaque serveur de l&rsquo;autorit\u00e9 collective d\u00e9chiffre partiellement, puis re-crypte la cl\u00e9 d&rsquo;Alice pour Bob.<\/p>\n\n<ol class=\"wp-block-list\"><li>Pour d\u00e9chiffrer partiellement la cl\u00e9 d&rsquo;Alice, chaque serveur utilise sa cl\u00e9 priv\u00e9e<\/li><li>Pour rechiffrer partiellement la cl\u00e9 d&rsquo;Alice pour Bob, chaque serveur utilise la cl\u00e9 publique de Bob<\/li><\/ol>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"710\" height=\"162\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.54-PM.png\" alt=\"\" class=\"wp-image-4355\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.54-PM.png 710w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.48.54-PM-300x68.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>((77420738395268270953686214496801457604160876120513979866307802146750959593560, 54288930850798967899941066319180759019666461705141800680259295043110704970240), (43931260115404950504844368880031328989231014591201216806426924428987149667105, 90907867688890000833998990379245369153741769092073562236593684729778667077837))<\/code><\/pre>\n\n<p>Bob re\u00e7oit puis d\u00e9crypte la cl\u00e9 d&rsquo;Alice \u00e0 l&rsquo;aide de sa cl\u00e9 priv\u00e9e, puis utilise la cl\u00e9 d&rsquo;Alice pour d\u00e9crypter les donn\u00e9es d&rsquo;origine.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"710\" height=\"98\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.01-PM.png\" alt=\"\" class=\"wp-image-4350\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.01-PM.png 710w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.01-PM-300x41.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>True<\/code><\/pre>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"708\" height=\"75\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.06-PM.png\" alt=\"\" class=\"wp-image-4345\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.06-PM.png 708w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.06-PM-300x32.png 300w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>b'My genomic data'<\/code><\/pre>\n\n<p>Imaginez juste un g\u00e9nome complet ici au lieu de juste cette cha\u00eene!<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"f585\">Cryptage homomorphe<\/h3>\n\n<p>Le cryptage ElGamal est<a href=\"https:\/\/en.wikipedia.org\/wiki\/Homomorphic_encryption\" rel=\"noreferrer noopener\" target=\"_blank\"> additivement homomorphique<\/a> , ce qui signifie que le r\u00e9sultat de la somme des textes chiffr\u00e9s refl\u00e8te le r\u00e9sultat qui serait obtenu en additionnant les textes en clair correspondants. Pour cette raison, si nous d\u00e9chiffrons une somme chiffr\u00e9e, le r\u00e9sultat sera la somme des textes en clair. Le cryptage homomorphe permet \u00e0 une partie int\u00e9ress\u00e9e d&rsquo;\u00e9mettre une requ\u00eate pour des informations agr\u00e9g\u00e9es et d&rsquo;obtenir la r\u00e9ponse appropri\u00e9e, mais sans voir les points de donn\u00e9es sous-jacents. (Cela suppose que d&rsquo;autres contraintes sont remplies, comme sp\u00e9cifi\u00e9<a href=\"https:\/\/petsymposium.org\/2017\/papers\/issue4\/paper54-2017-4-source.pdf\" rel=\"noreferrer noopener\" target=\"_blank\"> ici<\/a> .)<\/p>\n\n<p>Vous trouverez ci-dessous un exemple en trois \u00e9tapes montrant comment notre autorit\u00e9 collective \/ mandataire pourrait r\u00e9pondre \u00e0 une question de Bob concernant le nombre de personnes avec un variant de g\u00e8ne particulier dans notre ensemble de donn\u00e9es.<\/p>\n\n<ol class=\"wp-block-list\"><li>L&rsquo;autorit\u00e9 effectue le calcul n\u00e9cessaire sur les donn\u00e9es chiffr\u00e9es de l&rsquo;ensemble de donn\u00e9es.<\/li><li>L&rsquo;autorit\u00e9 prend ce r\u00e9sultat global (les personnes sont marqu\u00e9es 1 pour avoir la variante et 0 pour ne pas l&rsquo;avoir) et le re-crypte avec la cl\u00e9 publique de Bob.<\/li><li>Bob d\u00e9chiffre le r\u00e9sultat agr\u00e9g\u00e9 avec sa cl\u00e9 priv\u00e9e et a maintenant la somme correcte mais aucune visibilit\u00e9 des points de donn\u00e9es individuels.<\/li><\/ol>\n\n<h3 class=\"wp-block-heading\" id=\"c361\">R\u00e9capitulation des donn\u00e9es chiffr\u00e9es<\/h3>\n\n<p>Ci-dessous, nous \u00absimulons\u00bb 1000 personnes fournissant des informations g\u00e9nomiques \u00e0 la plateforme. Au total, 448 personnes ont cette variante de g\u00e8ne particuli\u00e8re. Les donn\u00e9es de chaque personne sont crypt\u00e9es et stock\u00e9es en toute s\u00e9curit\u00e9.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"710\" height=\"251\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.14-PM.png\" alt=\"\" class=\"wp-image-4340\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.14-PM.png 710w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.14-PM-300x106.png 300w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><\/figure>\n\n<pre class=\"wp-block-preformatted\"><code>Number of people with <\/code>variante du g\u00e8ne<code>: 488 ((21226922480075498561329291252368547521899161064631964196023720750821691033728, 22373176000434530074330330136750061845273006440607485558527039957320386973412), (73527396063873421512162165532068395819931745318640280343429662961367630577212, 38439465994848418879243894553165852646308170673055923181635051985961737087067))<\/code><\/pre>\n\n<h3 class=\"wp-block-heading\" id=\"012a\">L&rsquo;AC re-crypte la somme chiffr\u00e9e pour Bob<\/h3>\n\n<p>Bob va de l&rsquo;avant et demande des informations sur la fr\u00e9quence des variantes g\u00e9n\u00e9tiques dans la population. L&rsquo;autorit\u00e9 de certification le r\u00e9sume et rechiffre les donn\u00e9es \u00e0 Bob. Notez que les coordonn\u00e9es (x, y) du chiffre rechiffr\u00e9 ne sont pas \u00e9gales aux coordonn\u00e9es du chiffre original ci-dessus.<\/p>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"707\" height=\"96\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.22-PM.png\" alt=\"\" class=\"wp-image-4335\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.22-PM.png 707w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.22-PM-300x41.png 300w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>((26066336990521229606715532856762274058860058654632118019680516577894483977430, 111016076743629331281471026942315236039952684121365861080441162051376755931177), (74777752915141648361212288792719003318012040162755253888817602184232651456038, 79121323403285772024091404265686004833455157263244527767410139385386809682035))<\/code><\/pre>\n\n<h3 class=\"wp-block-heading\" id=\"2c7a\">Bob d\u00e9crypte la somme<\/h3>\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"708\" height=\"96\" src=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.30-PM.png\" alt=\"\" class=\"wp-image-4330\" srcset=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.30-PM.png 708w, https:\/\/nebula.org\/blog\/wp-content\/uploads\/2019\/02\/Screen-Shot-2019-02-20-at-3.49.30-PM-300x41.png 300w\" sizes=\"(max-width: 708px) 100vw, 708px\" \/><\/figure>\n\n<pre class=\"wp-block-code\"><code>(488, 488)<\/code><\/pre>\n\n<p>Bob est en mesure d&rsquo;avoir un aper\u00e7u des donn\u00e9es dans leur ensemble sans avoir un aper\u00e7u des informations d&rsquo;un propri\u00e9taire individuel. Cela permet aux propri\u00e9taires de donn\u00e9es qui ne souhaitent pas r\u00e9v\u00e9ler leurs donn\u00e9es de continuer \u00e0 contribuer \u00e0 la plate-forme.<\/p>\n\n<p>Notez que le rechiffrement par proxy a jou\u00e9 un r\u00f4le cl\u00e9 en rendant cela pratique pour Bob. \u00c9tant donn\u00e9 que chaque propri\u00e9taire de donn\u00e9es \u00e9tait d\u00e9l\u00e9gu\u00e9 au proxy, Bob n&rsquo;avait besoin d&rsquo;\u00e9mettre qu&rsquo;une seule requ\u00eate. Sans le proxy, il devrait \u00e9mettre une requ\u00eate pour chaque point de donn\u00e9es qu&rsquo;il souhaite.<\/p>\n\n<p>Le recryptage par proxy et le cryptage homomorphique aident Nebula \u00e0 s\u00e9curiser les donn\u00e9es des utilisateurs, \u00e0 fournir un acc\u00e8s pratique aux donn\u00e9es pour les acheteurs de donn\u00e9es et \u00e0 permettre aux acheteurs de donn\u00e9es de g\u00e9n\u00e9rer des informations sans compromettre la confidentialit\u00e9 individuelle.<\/p>\n\n<h3 class=\"wp-block-heading\" id=\"73e7\">Appel \u00e0 l&rsquo;action<\/h3>\n\n<p>Chez Nebula Genomics, nous pensons que les probl\u00e8mes de confidentialit\u00e9 sont un obstacle majeur au partage de donn\u00e9es biom\u00e9dicales. Cela entrave la recherche m\u00e9dicale et le d\u00e9veloppement de nouveaux traitements. Nous ne pouvons pas r\u00e9soudre ce d\u00e9fi seuls.<\/p>\n\n<p>Si vous \u00eates int\u00e9ress\u00e9 par le code, n&rsquo;h\u00e9sitez pas \u00e0 jouer avec la biblioth\u00e8que, mais soyez prudent: cette impl\u00e9mentation particuli\u00e8re n&rsquo;a pas fait l&rsquo;objet d&rsquo;un audit de s\u00e9curit\u00e9 et est actuellement \u00e0 usage \u00e9ducatif uniquement \ud83d\ude42<\/p>\n\n<p>Si vous souhaitez en savoir plus sur Nebula Genomics en particulier, assurez-vous de<a href=\"https:\/\/twitter.com\/nebulagenomics\" rel=\"noreferrer noopener\" target=\"_blank\"> Suivez-nous sur Twitter<\/a> pour rester \u00e0 jour.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;utilisation et la confidentialit\u00e9 des donn\u00e9es sont souvent en conflit. Par exemple, si nous partagions tous ouvertement nos donn\u00e9es sur la sant\u00e9 avec les chercheurs, cela acc\u00e9l\u00e9rerait les travaux sur les nouvelles technologies et rem\u00e8des pour la sant\u00e9. Mais nous &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"ast-button\" href=\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\"> <span class=\"screen-reader-text\">Recryptage par proxy et cryptage homomorphique<\/span> Lire la suite \u00bb<\/a><\/p>\n","protected":false},"author":2,"featured_media":4420,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","_FSMCFIC_featured_image_caption":"","_FSMCFIC_featured_image_nocaption":"","_FSMCFIC_featured_image_hide":"","footnotes":""},"categories":[4985],"tags":[],"class_list":["post-10203","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news-fr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.13 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Recryptage par proxy et cryptage homomorphique<\/title>\n<meta name=\"description\" content=\"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d&#039;un tiers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recryptage par proxy et cryptage homomorphique\" \/>\n<meta property=\"og:description\" content=\"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d&#039;un tiers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\" \/>\n<meta property=\"og:site_name\" content=\"Nebula Genomics Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/nebulagenomics\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-06T05:11:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-21T01:24:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2018\/10\/1_fxzY01lDOA9yebdep_j3Xw-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"924\" \/>\n\t<meta property=\"og:image:height\" content=\"408\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Nebula Genomics\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nebulagenomics\" \/>\n<meta name=\"twitter:site\" content=\"@nebulagenomics\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nebula Genomics\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\"},\"author\":{\"name\":\"Nebula Genomics\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/36c19290481c6de8bbd64374aa2ec9c4\"},\"headline\":\"Recryptage par proxy et cryptage homomorphique\",\"datePublished\":\"2021-01-06T05:11:03+00:00\",\"dateModified\":\"2021-02-21T01:24:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\"},\"wordCount\":1471,\"publisher\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#organization\"},\"articleSection\":[\"News\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\",\"url\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\",\"name\":\"Recryptage par proxy et cryptage homomorphique\",\"isPartOf\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#website\"},\"datePublished\":\"2021-01-06T05:11:03+00:00\",\"dateModified\":\"2021-02-21T01:24:48+00:00\",\"description\":\"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d'un tiers.\",\"breadcrumb\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/nebula.org\/blog\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Recryptage par proxy et cryptage homomorphique\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#website\",\"url\":\"https:\/\/nebula.org\/blog\/fr\/\",\"name\":\"Nebula Genomics Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nebula.org\/blog\/fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#organization\",\"name\":\"Nebula Genomics\",\"url\":\"https:\/\/nebula.org\/blog\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#\/schema\/logo\/image\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Nebula Genomics\"},\"image\":{\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/facebook.com\/nebulagenomics\",\"https:\/\/twitter.com\/nebulagenomics\",\"https:\/\/www.instagram.com\/nebulagenomics\/\",\"https:\/\/www.linkedin.com\/company\/nebula-genomics\/\",\"https:\/\/en.wikipedia.org\/wiki\/Nebula_Genomics\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/36c19290481c6de8bbd64374aa2ec9c4\",\"name\":\"Nebula Genomics\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ec625d884ac6df0f87c480bd2af56c94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ec625d884ac6df0f87c480bd2af56c94?s=96&d=mm&r=g\",\"caption\":\"Nebula Genomics\"},\"sameAs\":[\"http:\/\/nebula.org\/blog\"],\"url\":\"https:\/\/nebula.org\/blog\/fr\/author\/nebulablog\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Recryptage par proxy et cryptage homomorphique","description":"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d'un tiers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/","og_locale":"fr_FR","og_type":"article","og_title":"Recryptage par proxy et cryptage homomorphique","og_description":"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d'un tiers.","og_url":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/","og_site_name":"Nebula Genomics Blog","article_publisher":"https:\/\/facebook.com\/nebulagenomics","article_published_time":"2021-01-06T05:11:03+00:00","article_modified_time":"2021-02-21T01:24:48+00:00","og_image":[{"width":924,"height":408,"url":"https:\/\/nebula.org\/blog\/wp-content\/uploads\/2018\/10\/1_fxzY01lDOA9yebdep_j3Xw-1.png","type":"image\/png"}],"author":"Nebula Genomics","twitter_card":"summary_large_image","twitter_creator":"@nebulagenomics","twitter_site":"@nebulagenomics","twitter_misc":{"\u00c9crit par":"Nebula Genomics","Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#article","isPartOf":{"@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/"},"author":{"name":"Nebula Genomics","@id":"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/36c19290481c6de8bbd64374aa2ec9c4"},"headline":"Recryptage par proxy et cryptage homomorphique","datePublished":"2021-01-06T05:11:03+00:00","dateModified":"2021-02-21T01:24:48+00:00","mainEntityOfPage":{"@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/"},"wordCount":1471,"publisher":{"@id":"https:\/\/nebula.org\/blog\/fr\/#organization"},"articleSection":["News"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/","url":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/","name":"Recryptage par proxy et cryptage homomorphique","isPartOf":{"@id":"https:\/\/nebula.org\/blog\/fr\/#website"},"datePublished":"2021-01-06T05:11:03+00:00","dateModified":"2021-02-21T01:24:48+00:00","description":"Le recryptage par proxy et le cryptage homomorphe permettent un partage s\u00e9curis\u00e9 des donn\u00e9es en utilisant les services d'un tiers.","breadcrumb":{"@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nebula.org\/blog\/fr\/recryptage-par-proxy-et-cryptage-homomorphique\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nebula.org\/blog\/fr\/"},{"@type":"ListItem","position":2,"name":"Recryptage par proxy et cryptage homomorphique"}]},{"@type":"WebSite","@id":"https:\/\/nebula.org\/blog\/fr\/#website","url":"https:\/\/nebula.org\/blog\/fr\/","name":"Nebula Genomics Blog","description":"","publisher":{"@id":"https:\/\/nebula.org\/blog\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nebula.org\/blog\/fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/nebula.org\/blog\/fr\/#organization","name":"Nebula Genomics","url":"https:\/\/nebula.org\/blog\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nebula.org\/blog\/fr\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"Nebula Genomics"},"image":{"@id":"https:\/\/nebula.org\/blog\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/facebook.com\/nebulagenomics","https:\/\/twitter.com\/nebulagenomics","https:\/\/www.instagram.com\/nebulagenomics\/","https:\/\/www.linkedin.com\/company\/nebula-genomics\/","https:\/\/en.wikipedia.org\/wiki\/Nebula_Genomics"]},{"@type":"Person","@id":"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/36c19290481c6de8bbd64374aa2ec9c4","name":"Nebula Genomics","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/nebula.org\/blog\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ec625d884ac6df0f87c480bd2af56c94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ec625d884ac6df0f87c480bd2af56c94?s=96&d=mm&r=g","caption":"Nebula Genomics"},"sameAs":["http:\/\/nebula.org\/blog"],"url":"https:\/\/nebula.org\/blog\/fr\/author\/nebulablog\/"}]}},"_links":{"self":[{"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/posts\/10203","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/comments?post=10203"}],"version-history":[{"count":0,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/posts\/10203\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/media\/4420"}],"wp:attachment":[{"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/media?parent=10203"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/categories?post=10203"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nebula.org\/blog\/fr\/wp-json\/wp\/v2\/tags?post=10203"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}