<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Adrien&#39;s Dashbook</title>
    <link>https://adrbqt.ch/</link>
    <description>Recent content 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/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>Bienvenue on my website</title>
      <link>https://adrbqt.ch/posts/first-post/</link>
      <pubDate>Sun, 23 Feb 2025 11:50:27 +0100</pubDate>
      <guid>https://adrbqt.ch/posts/first-post/</guid>
      <description>&lt;p&gt;This site serves as my journal, on which I share things that intrigue me, as well as my portfolio, where I publish the different (academic) papers I&amp;rsquo;ve written, or my resume.&lt;/p&gt;&#xA;&lt;p&gt;Please don&amp;rsquo;t hesitate to contact me if you have any advices or comments ;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://adrbqt.ch/about/about/</link>
      <pubDate>Sat, 22 Feb 2025 16:03:14 +0100</pubDate>
      <guid>https://adrbqt.ch/about/about/</guid>
      <description>&lt;p&gt;I am a Swiss-French student presently enrolled a Joint Master’s degree in Cybersecurity (Computer Science) between the &lt;strong&gt;Swiss Federal&#xA;Institutes of Technology in Lausanne (EPFL) and Zurich (ETHZ)&lt;/strong&gt;, since September 2023. While pursuing my Master’s degree, my main interests were &lt;strong&gt;Cryptography, Information Security, Software Security,&#xA;Privacy Engineering, Machine Learning and Network Security&lt;/strong&gt;.&#xA;Prior to that, I completed my Bachelor’s degree in Computer Science with an emphasis on Software Engineering, Theory of Computation and Mathematics, at EPFL between 2020 and 2023.&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>
