{"id":1328,"date":"2013-05-07T08:52:29","date_gmt":"2013-05-07T06:52:29","guid":{"rendered":"https:\/\/locallost.net\/?p=1328"},"modified":"2013-05-07T08:52:29","modified_gmt":"2013-05-07T06:52:29","slug":"chiffrage-homomorphique","status":"publish","type":"post","link":"https:\/\/locallost.net\/?p=1328","title":{"rendered":"Chiffrage homomorphique"},"content":{"rendered":"<p>Je viens de lire un article sur Slashdot intitul\u00e9\u00a0<a href=\"http:\/\/it.slashdot.org\/story\/13\/05\/02\/175249\/ibm-researchers-open-source-homomorphic-crypto-library\">IBM Researchers Open Source Homomorphic Crypto Library<\/a>\u00a0qui me rappelle un autre article que j&rsquo;avais pr\u00e9c\u00e9demment lu sur ce sujet de chiffrage homomorphique\u00a0<a href=\"http:\/\/www.americanscientist.org\/issues\/pub\/2012\/5\/alice-and-bob-in-cipherspace\">Alice and Bob in Cipherspace<\/a>.<\/p>\n<p>Le chiffrage homomorphique est une m\u00e9thode qui permet \u00e0 une personne tierce de faire une op\u00e9ration sur des donn\u00e9es chiffr\u00e9s, donc sans avoir acc\u00e8s \u00e0 la valeur non-chiffr\u00e9e.<\/p>\n<p>Cela ouvre la voie \u00e0 la possibilit\u00e9 de pouvoir faire faire des op\u00e9rations lourdes et complexes sur des machines distantes (\u00ab cloud \u00bb) sur des donn\u00e9es dont on souhaite garder le secret.<\/p>\n<p>L&rsquo;exemple le plus simple d&rsquo;un chiffrage homomorphique est le suivant :<\/p>\n<p><!--more--><\/p>\n<p>Admettons que j&rsquo;ai deux nombres A et B avec A=3 et B=5.<\/p>\n<p>Je souhaite pouvoir additionner ces deux nombres, mais supposons que cette op\u00e9ration soit lourde et que mon ordinateur mette des heures \u00e0 faire cette op\u00e9ration. Je souhaite alors pouvoir faire cette op\u00e9ration dans le \u00ab cloud \u00bb, qui lui disposerait de machines et d&rsquo;architectures bien plus adapt\u00e9s \u00e0 ce traitement.<\/p>\n<p>Par contre, je ne veux pas envoyer mes deux nombres en clairs, mais si je les chiffres, il faudrait alors que le \u00ab cloud \u00bb ait la clef pour les d\u00e9chiffrer, faire son op\u00e9ration, rechiffrer le r\u00e9sultat avant de le renvoyer : mes deux nombres ne seront pas secrets au moment de l&rsquo;op\u00e9ration, et donc quiconque aurait acc\u00e8s aux machines du cloud pourrait intercepter mes deux chiffres.<\/p>\n<p>C&rsquo;est ici que rentre en jeux le chiffrage homomorphique.<\/p>\n<p>Je vais tirer au hazard un nombre entier M : disons M=2.<\/p>\n<p>Je vais multiplier A et B par M pour obtenir A&rsquo; et B&rsquo; : j&rsquo;obtiens donc A&rsquo;=M*A=6 et B&rsquo;=M*B=10.<\/p>\n<p>Ce nombre M et l&rsquo;op\u00e9ration \u00ab\u00a0multiplication\u00a0\u00bb sont en fait la m\u00e9thode de chiffrage homomorphique.<\/p>\n<p>Je soumet alors au \u00ab cloud \u00bb les nombres A&rsquo;=6 et B&rsquo;=10 pour qu&rsquo;il effectue son op\u00e9ration d&rsquo;addition.<\/p>\n<p>Le \u00ab cloud \u00bb additionne donc 6+10 et il me retourne 16.<\/p>\n<p>Je r\u00e9cup\u00e8re le r\u00e9sultat 16 et j&rsquo;applique la fonction homomorphique inverse qui est une division par M : 16\/M=16\/2=8.<\/p>\n<p>J&rsquo;ai donc le r\u00e9sultat 8 qui correspond bien \u00e0 l&rsquo;op\u00e9ration souhait\u00e9 A+B=3+5=8, et ceci sans que le \u00ab cloud \u00bb n&rsquo;ai \u00e0 aucun moment eu acc\u00e8s \u00e0 mes nombres 3 et 5 qui sont donc rest\u00e9s secret.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je viens de lire un article sur Slashdot intitul\u00e9\u00a0IBM Researchers Open Source Homomorphic Crypto Library\u00a0qui me rappelle un autre article que j&rsquo;avais pr\u00e9c\u00e9demment lu sur ce sujet de chiffrage homomorphique\u00a0Alice and Bob in Cipherspace. Le chiffrage homomorphique est une m\u00e9thode &hellip; <a href=\"https:\/\/locallost.net\/?p=1328\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-1328","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2Bei9-lq","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/posts\/1328","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/locallost.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1328"}],"version-history":[{"count":3,"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/posts\/1328\/revisions"}],"predecessor-version":[{"id":1335,"href":"https:\/\/locallost.net\/index.php?rest_route=\/wp\/v2\/posts\/1328\/revisions\/1335"}],"wp:attachment":[{"href":"https:\/\/locallost.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1328"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/locallost.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1328"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/locallost.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1328"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}