{"id":387,"date":"2015-11-26T13:14:36","date_gmt":"2015-11-26T11:14:36","guid":{"rendered":"http:\/\/calypt.com\/blog\/?p=387"},"modified":"2015-11-26T13:14:36","modified_gmt":"2015-11-26T11:14:36","slug":"grehack-2015-write-up-crypto-250-john-bill","status":"publish","type":"post","link":"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/","title":{"rendered":"GreHack 2015 \u2013 Write-up CRYPTO 250 John &#038; Bill"},"content":{"rendered":"<h3>L&#8217;\u00e9preuve :<\/h3>\n<p>Les <a href=\"http:\/\/grehack.fr\/data\/grehack2015\/crypto\/Grehack%202015%20-%20Crypto%20-%20250.zip\" target=\"_blank\">fichiers<\/a>\u00a0de l&#8217;\u00e9preuve se trouvent sur le site de <a href=\"http:\/\/grehack.fr\/ctf\" target=\"_blank\">GreHack<\/a>. On y trouve 2 clefs publiques, respectivement celles de John et de Bill, ainsi qu&#8217;un m\u00eame message chiffr\u00e9 avec les 2 clefs (<em>message1<\/em> et <em>message2<\/em>).<\/p>\n<h3>L&#8217;attaque :<\/h3>\n<p>En analysant les clefs, on remarque 2 choses \u00e9tonnantes pour un chiffrement RSA :<\/p>\n<ul>\n<li>Le m\u00eame module n est utilis\u00e9 pour les 2 clefs ;<\/li>\n<li>L&#8217;exposant public e est diff\u00e9rent, on a e_john = 3 et e_bill = 65537.<\/li>\n<\/ul>\n<p>Le fait que <em>gcd(e_john, e_bill)=1<\/em> implique qu&#8217;il est possible pour un attaquant de retrouver le message comme d\u00e9montr\u00e9 <a href=\"http:\/\/crypto.stackexchange.com\/questions\/16283\/how-to-use-common-modulus-attack\" target=\"_blank\">ici <\/a>:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-388\" src=\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture-600x214.png\" alt=\"Attaque RSA - module commun\" width=\"600\" height=\"214\" srcset=\"https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture-600x214.png 600w, https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture.png 645w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>En pratique :<\/h3>\n<p>On utilise <a href=\"http:\/\/www.sagemath.org\/\" target=\"_blank\">sage<\/a>.<\/p>\n<p><strong>Etape 1<\/strong>\u00a0: on initialise les variables <em>n<\/em>, <em>eBill<\/em> et <em>eJohn<\/em> avec les donn\u00e9es des clefs publiques. On calcule ensuite s1 et s2 tels que <em>eBill*s1 + eJohn*s2 =1<\/em> \u00e0 l&#8217;aide de la fonction <a href=\"http:\/\/doc.sagemath.org\/html\/en\/reference\/rings_standard\/sage\/rings\/arith.html\" target=\"_blank\">xgcd()<\/a>. On obtient <em>s1=-1<\/em> et <em>s2=21846<\/em>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-389\" src=\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture1-600x103.png\" alt=\"Initialisation des params RSA\" width=\"600\" height=\"103\" srcset=\"https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture1-600x103.png 600w, https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture1.png 952w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><strong>Etape 2<\/strong> : on initialise les variables <em>chiffre1<\/em> et <em>chiffre2<\/em> avec les messages chiffr\u00e9s fournis dans l&#8217;archive de l&#8217;epreuve. On\u00a0retrouve le message clair M \u00e0 l&#8217;aide du produit des puissances modulaires des chiffr\u00e9s, comme expliqu\u00e9 au dessus. On affiche le r\u00e9sultat \u00e0 l&#8217;aide de la fonction <a href=\"http:\/\/calypt.com\/blog\/index.php\/grehack-write-crypto-300\/\" target=\"_blank\">int2Text<\/a>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-390\" src=\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture2-600x82.png\" alt=\"Resolution\" width=\"600\" height=\"82\" srcset=\"https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture2-600x82.png 600w, https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture2-1024x140.png 1024w, https:\/\/www.calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture2.png 1070w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;\u00e9preuve : Les fichiers\u00a0de l&#8217;\u00e9preuve se trouvent sur le site de GreHack. On y trouve 2 clefs publiques, respectivement celles de John et de Bill, ainsi qu&#8217;un m\u00eame message chiffr\u00e9 avec les 2 clefs (message1 et message2). L&#8217;attaque : En analysant les clefs, on remarque 2 choses \u00e9tonnantes pour un chiffrement RSA : Le m\u00eame [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[17,23,41,40,39],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.1.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<meta name=\"description\" content=\"GreHack 2015 - Write up de l&#039;\u00e9preuve cry250. Attaque contre RSA\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GreHack 2015 \u2013 Write-up CRYPTO 250 John &amp; Bill - Calypt\" \/>\n<meta property=\"og:description\" content=\"GreHack 2015 - Write up de l&#039;\u00e9preuve cry250. Attaque contre RSA\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\" \/>\n<meta property=\"og:site_name\" content=\"Calypt\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-26T11:14:36+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture-600x214.png\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"1 minute\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.calypt.com\/blog\/#website\",\"url\":\"https:\/\/www.calypt.com\/blog\/\",\"name\":\"Calypt\",\"description\":\"Security thoughts\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/www.calypt.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture-600x214.png\",\"contentUrl\":\"http:\/\/calypt.com\/blog\/wp-content\/uploads\/2015\/11\/Capture-600x214.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/#webpage\",\"url\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\",\"name\":\"GreHack 2015 \\u2013 Write-up CRYPTO 250 John & Bill - Calypt\",\"isPartOf\":{\"@id\":\"https:\/\/www.calypt.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/#primaryimage\"},\"datePublished\":\"2015-11-26T11:14:36+00:00\",\"dateModified\":\"2015-11-26T11:14:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.calypt.com\/blog\/#\/schema\/person\/b39592c4058c8985f373832ef96a7cf6\"},\"description\":\"GreHack 2015 - Write up de l'\\u00e9preuve cry250. Attaque contre RSA\",\"breadcrumb\":{\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.calypt.com\/blog\/\",\"url\":\"https:\/\/www.calypt.com\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\",\"url\":\"https:\/\/www.calypt.com\/blog\/index.php\/grehack-2015-write-up-crypto-250-john-bill\/\",\"name\":\"GreHack 2015 \\u2013 Write-up CRYPTO 250 John &#038; Bill\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.calypt.com\/blog\/#\/schema\/person\/b39592c4058c8985f373832ef96a7cf6\",\"name\":\"Lo\\u00efc\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.calypt.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3c9955a661ca1f761736f9a7f32772c3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3c9955a661ca1f761736f9a7f32772c3?s=96&d=mm&r=g\",\"caption\":\"Lo\\u00efc\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/387"}],"collection":[{"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=387"}],"version-history":[{"count":2,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/387\/revisions"}],"predecessor-version":[{"id":392,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/posts\/387\/revisions\/392"}],"wp:attachment":[{"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.calypt.com\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}