<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Writings on Adrien&#39;s Dashbook</title>
    <link>https://adrbqt.ch/writings/</link>
    <description>Recent content in Writings on Adrien&#39;s Dashbook</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 20 Jun 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://adrbqt.ch/writings/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Constant-Time client-side FHE operations</title>
      <link>https://adrbqt.ch/writings/constant-time-client-side-fhe-operations/constant-time-fhe/</link>
      <pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://adrbqt.ch/writings/constant-time-client-side-fhe-operations/constant-time-fhe/</guid>
      <description>&lt;p&gt;&lt;em&gt;This paper was written under the supervision of Ph. D. candidate Christian Knabenhans and Prof. Carmela Troncoso from SPRING Lab at EPFL and is available in PDF format &lt;a href=&#34;../docs/constant-time-FHE.pdf&#34;&gt;here&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; lang=&#34;&#34; xml:lang=&#34;&#34;&gt;&#xA;&lt;meta charset=&#34;utf-8&#34; /&gt;&#xA;&lt;meta name=&#34;generator&#34; content=&#34;pandoc&#34; /&gt;&#xA;&lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0, user-scalable=yes&#34; /&gt;&#xA;&lt;meta name=&#34;author&#34; content=&#34;Adrien Bouquet&#34; /&gt;&#xA;&lt;script defer=&#34;&#34; src=&#34;https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script&gt;document.addEventListener(&#34;DOMContentLoaded&#34;, function () {&#xA;    var mathElements = document.getElementsByClassName(&#34;math&#34;);&#xA;    var macros = [];&#xA;    for (var i = 0; i &lt; mathElements.length; i++) {&#xA;      var texText = mathElements[i].firstChild;&#xA;      if (mathElements[i].tagName == &#34;SPAN&#34;) {&#xA;        katex.render(texText.data, mathElements[i], {&#xA;          displayMode: mathElements[i].classList.contains(&#39;display&#39;),&#xA;          throwOnError: false,&#xA;          macros: macros,&#xA;          fleqn: false&#xA;        });&#xA;      }&#xA;    }&#xA;  });&#xA;&lt;/script&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css&#34; /&gt;&#xA;&lt;style&gt;&#xA;  div.csl-bib-body {}&#xA;&#xA;    div.csl-entry {&#xA;      clear: both;&#xA;      margin-bottom: 0em;&#xA;    }&#xA;&#xA;    .hanging-indent div.csl-entry {&#xA;      margin-left: 2em;&#xA;      text-indent: -2em;&#xA;    }&#xA;&#xA;    div.csl-left-margin {&#xA;      min-width: 2em;&#xA;      float: left;&#xA;    }&#xA;&#xA;    div.csl-right-inline {&#xA;      margin-left: 2em;&#xA;      padding-left: 1em;&#xA;    }&#xA;&#xA;    div.csl-indent {&#xA;      margin-left: 2em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&lt;body&gt;&#xA;  &lt;!-- &#xA;To compile the document:&#xA;&#xA;pandoc REPORT.md --bibliography=references.bib --csl=ieee.csl --citeproc --pdf-engine=pdflatex -o report.pdf &#xA;--&gt;&#xA;  &lt;!-- \newcommand{\MLKEM}{ML-KEM} --&gt;&#xA;  &lt;!-- Fully Homomorphic Encryption, or FHE, is a powerful cryptographic scheme and a privacy-preserving technology. It has a wide range of application such as Secure Cloud Computing, Healthcare Data Processing, or  --&gt;&#xA;  &lt;!---&#xA;Maybe Cite the original paper of FHE ?&#xA;--&gt;&#xA;  &lt;!-- Audience are Master students with the same level of expertise as mine&#xA;START WITH THE RELATED WORKS, TECHNICAL SECTION AND THE RESULTS FIRST --&gt;&#xA;  &lt;!-- &lt;h2 data-number=&#34;1&#34; id=&#34;introduction&#34;&gt;&lt;span class=&#34;header-section-number&#34;&gt;1&lt;/span&gt; Introduction&lt;/h2&gt; --&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;  &lt;p&gt;The development of quantum computers presents a significant threat to&#xA;    classical Public-Key cryptographic systems. Many widely deployed&#xA;    cryptographic primitives, such as RSA, Diffie-Hellman, and Elliptic&#xA;    Curve Cryptography (ECC)—rely on the hardness of integer factorization&#xA;    or the discrete logarithm problem. These problems are vulnerable to&#xA;    quantum computers, and therefore enhance research on post-quantum&#xA;    cryptographic scheme.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a robust test suite of type confusion vulnerabilities</title>
      <link>https://adrbqt.ch/writings/type-confusions/type-confusions/</link>
      <pubDate>Fri, 07 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://adrbqt.ch/writings/type-confusions/type-confusions/</guid>
      <description>&lt;style&gt;&#xA;       /* CSS for citations */&#xA;    div.csl-bib-body {}&#xA;&#xA;    div.csl-entry {&#xA;      clear: both;&#xA;      margin-bottom: 0em;&#xA;    }&#xA;&#xA;    .hanging-indent div.csl-entry {&#xA;      margin-left: 2em;&#xA;      text-indent: -2em;&#xA;    }&#xA;&#xA;    div.csl-left-margin {&#xA;      min-width: 2em;&#xA;      float: left;&#xA;    }&#xA;&#xA;    div.csl-right-inline {&#xA;      margin-left: 2em;&#xA;      padding-left: 1em;&#xA;    }&#xA;&#xA;    div.csl-indent {&#xA;      margin-left: 2em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&lt;p&gt;&lt;em&gt;This paper was written under the supervision of Ph. D. candidate Nicolas Badoux and Prof. Doc. sc. ETH Mathias Payer from HexHive Lab at EPFL and is available in PDF format on &lt;a href=&#34;https://github.com/abouquet27/typepp_report/blob/master/semester_project_report.pdf&#34; target=&#34;_blank&#34;&gt;this repository&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Implementing a Query Count Estimation</title>
      <link>https://adrbqt.ch/writings/llvm-query-estimator/llvm-query-estimator/</link>
      <pubDate>Fri, 09 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://adrbqt.ch/writings/llvm-query-estimator/llvm-query-estimator/</guid>
      <description>&lt;p&gt;&lt;em&gt;This paper was written under the supervision of Ph. D. candidates Solal Pirelli and Can Cebeci from DSLAB at EPFL and is available in PDF format on &lt;a href=&#34;https://github.com/abouquet27/BachelorProject/blob/main/project/Bachelor_report.pdf&#34; target=&#34;_blank&#34;&gt;this repository&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; lang=&#34;&#34; xml:lang=&#34;&#34;&gt;&#xA;&lt;meta charset=&#34;utf-8&#34; /&gt;&#xA;&lt;meta name=&#34;generator&#34; content=&#34;pandoc&#34; /&gt;&#xA;&lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0, user-scalable=yes&#34; /&gt;&#xA;&lt;meta name=&#34;author&#34; content=&#34;Adrien Alain Bouquet&#34; /&gt;&#xA;&lt;style&gt;&#xA;    /* Warning */&#xA;    /* CSS for citations */&#xA;    div.csl-bib-body {}&#xA;&#xA;    div.csl-entry {&#xA;        clear: both;&#xA;        margin-bottom: 0em;&#xA;    }&#xA;&#xA;    .hanging-indent div.csl-entry {&#xA;        margin-left: 2em;&#xA;        text-indent: -2em;&#xA;    }&#xA;&#xA;    div.csl-left-margin {&#xA;        min-width: 2em;&#xA;        float: left;&#xA;    }&#xA;&#xA;    div.csl-right-inline {&#xA;        margin-left: 2em;&#xA;        padding-left: 1em;&#xA;    }&#xA;&#xA;    div.csl-indent {&#xA;        margin-left: 2em;&#xA;    }&#xA;&lt;/style&gt;&#xA;&lt;script defer=&#34;&#34; src=&#34;https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.js&#34;&gt;&lt;/script&gt;&#xA;&lt;script&gt;document.addEventListener(&#34;DOMContentLoaded&#34;, function () {&#xA;        var mathElements = document.getElementsByClassName(&#34;math&#34;);&#xA;        var macros = [];&#xA;        for (var i = 0; i &lt; mathElements.length; i++) {&#xA;            var texText = mathElements[i].firstChild;&#xA;            if (mathElements[i].tagName == &#34;SPAN&#34;) {&#xA;                katex.render(texText.data, mathElements[i], {&#xA;                    displayMode: mathElements[i].classList.contains(&#39;display&#39;),&#xA;                    throwOnError: false,&#xA;                    macros: macros,&#xA;                    fleqn: false&#xA;                });&#xA;            }&#xA;        }&#xA;    });&#xA;&lt;/script&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css&#34; /&gt;   &#xA;&lt;body&gt;&#xA;&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;&#xA;&lt;p&gt;When you’re trying to test code, symbolic execution is an effective&#xA;way of doing this by automatically generating tests and finding bugs.&#xA;However, its cost in terms of performance can be heavy due to path&#xA;explosion and this state explosion. To counter this problem, one&#xA;approach is to merge states obtained on different paths in order to&#xA;reduce the total exploration cost. However, merging two states can&#xA;potentially increase costs and therefore decrease performance rather&#xA;than the opposite. In order to determine which states to merge or not,&#xA;researchers at the Dependable Systems Lab (DSLAB) at the Ecole&#xA;Polytechnique Fédéral de Lausanne (EPFL) have published “Efficient State&#xA;Merging in Symbolic Execution” in 2012 &lt;span class=&#34;citation&#34; data-cites=&#34;kuznetsov_state_merging&#34;&gt;&lt;a&#xA;href=&#34;#ref-kuznetsov_state_merging&#34; role=&#34;doc-biblioref&#34;&gt;[1]&lt;/a&gt;&lt;/span&gt;,&#xA;in which they present two methods for reducing costs of state merging,&#xA;especially deployed on KLEE, a symbolic execution engine &lt;span class=&#34;citation&#34; data-cites=&#34;klee&#34;&gt;&lt;a&#xA;href=&#34;#ref-klee&#34; role=&#34;doc-biblioref&#34;&gt;[2]&lt;/a&gt;&lt;/span&gt;. The first one is a query count&#xA;estimation which computes the impact of each symbolic variable on solver&#xA;queries and indicates which one provides benefits to merge. The second&#xA;one is dynamic state merging which “interacts favorably with search&#xA;strategies in automated test case generation and bug finding tools”. In&#xA;this report, we will be working on an implementation of the query count&#xA;estimation based on its description. The goal of the report is first to&#xA;explain the implementation of the LLVM pass &lt;span class=&#34;citation&#34; data-cites=&#34;llvm&#34;&gt;&lt;a href=&#34;#ref-llvm&#34;&#xA;role=&#34;doc-biblioref&#34;&gt;[3]&lt;/a&gt;&lt;/span&gt; chosen to be as close as possible to&#xA;that described in the paper, and then to test its effectiveness and&#xA;robustness on different examples and the &lt;code&gt;GNU COREUTILS&lt;/code&gt;.&#xA;&lt;span class=&#34;citation&#34; data-cites=&#34;coreutils&#34;&gt;&lt;a href=&#34;#ref-coreutils&#34; role=&#34;doc-biblioref&#34;&gt;[4]&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
