

{"id":81,"date":"2017-04-18T15:05:48","date_gmt":"2017-04-18T13:05:48","guid":{"rendered":"https:\/\/project.inria.fr\/hyleak\/?page_id=81"},"modified":"2017-04-18T18:07:33","modified_gmt":"2017-04-18T16:07:33","slug":"shifting-window","status":"publish","type":"page","link":"https:\/\/project.inria.fr\/hyleak\/shifting-window\/","title":{"rendered":"Shifting window"},"content":{"rendered":"<p>In the shifting window example from <a href=\"http:\/\/people.rennes.inria.fr\/Fabrizio.Biondi\/papers\/fm16.pdf\">Kawamoto et al.<\/a>\u00a0 the secret can take N possible values, and an interval (called a &#8220;window&#8221;) in the secret domain is randomly selected from 1 to W.<br \/>\nIf the value of the secret is inside the window, then another window is randomly chosen in a similar way and the program outputs a random value from this second window.<br \/>\nOtherwise, the program outputs a random value over the secret domain. The input code is as follows:<br \/>\n<code><br \/>\nconst N:=16;<br \/>\nconst W:=14;<br \/>\nsecret int32 sec := [0,N-1];<br \/>\npublic int32 minS;<br \/>\npublic int32 sizeS;<br \/>\nobservable int32 obs;<br \/>\npublic int32 minO;<br \/>\npublic int32 sizeO;<br \/>\nrandom minS := random(0,N-W-1);<br \/>\nif (sec&gt;=minS) then<br \/>\nrandom sizeS := random(1,W);<br \/>\nif (sec&lt;=(minS+sizeS)) then<br \/>\nrandom minO := random(0,N-W-1);<br \/>\nrandom sizeO := random(1,W);<br \/>\nrandom obs := random(minO,minO+sizeO);<br \/>\nelse<br \/>\nrandom obs := random(0,N-1);<br \/>\nfi<br \/>\nelse<br \/>\nrandom obs := random(0,N-1);<br \/>\nfi<br \/>\nreturn;<br \/>\n<\/code><br \/>\nIn the figures below we present the results of experiments on the shifting window when increasing the size of the secret domain. The execution time of precise analysis grows proportionally to the secret domain size N while HyLeak and fully statistical analysis do not require much time for a larger N. However, in the fully statistical analysis the error from the true value grows rapidly while in using HyLeak the error is much smaller.<\/p>\n<p><a href=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-145\" src=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph-300x210.png\" alt=\"\" width=\"300\" height=\"210\" srcset=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph-300x210.png 300w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph-214x150.png 214w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph-150x105.png 150w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_time_graph.png 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-144\" src=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph-300x210.png\" alt=\"\" width=\"300\" height=\"210\" srcset=\"https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph-300x210.png 300w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph-214x150.png 214w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph-150x105.png 150w, https:\/\/project.inria.fr\/hyleak\/files\/2017\/04\/window_err_graph.png 500w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>In the shifting window example from Kawamoto et al.\u00a0 the secret can take N possible values, and an interval (called a &#8220;window&#8221;) in the secret domain is randomly selected from 1 to W. If the value of the secret is inside the window, then another window is randomly chosen in\u2026<\/p>\n<p> <a class=\"continue-reading-link\" href=\"https:\/\/project.inria.fr\/hyleak\/shifting-window\/\"><span>Continue reading<\/span><i class=\"crycon-right-dir\"><\/i><\/a> <\/p>\n","protected":false},"author":534,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-81","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/pages\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/users\/534"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":3,"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/pages\/81\/revisions"}],"predecessor-version":[{"id":147,"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/pages\/81\/revisions\/147"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/hyleak\/wp-json\/wp\/v2\/media?parent=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}