<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Quantum on Zero&#39;s Blog</title>
    <link>/tags/quantum/</link>
    <description>Recent content in Quantum on Zero&#39;s Blog</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 04 Mar 2026 10:55:00 +0700</lastBuildDate>
    <atom:link href="/tags/quantum/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>HTB - Quantum: Phase Madness</title>
      <link>/posts/htb-quantum-phase-madness/</link>
      <pubDate>Wed, 04 Mar 2026 10:55:00 +0700</pubDate>
      <guid>/posts/htb-quantum-phase-madness/</guid>
      <description>&lt;h2 id=&#34;challenge-summary&#34;&gt;Challenge Summary&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; Phase Madness&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Quantum&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium-Hard&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Recover all encoded bytes from qubit phase rotations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pagevault hint=&#34;Ask bz for access&#34;&gt;&#xA;&lt;h2 id=&#34;root-cause&#34;&gt;Root Cause&lt;/h2&gt;&#xA;&lt;p&gt;Each flag byte is encoded directly as a rotation angle in degrees.&lt;/p&gt;&#xA;&lt;p&gt;From source:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;index &lt;code&gt;% 3 == 0&lt;/code&gt;: &lt;code&gt;RX(byte)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;index &lt;code&gt;% 3 == 1&lt;/code&gt;: &lt;code&gt;RY(byte)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;index &lt;code&gt;% 3 == 2&lt;/code&gt;: &lt;code&gt;H&lt;/code&gt; then &lt;code&gt;RZ(byte)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The service lets us:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;choose qubit index,&lt;/li&gt;&#xA;&lt;li&gt;apply extra known rotations (&lt;code&gt;RX/RY/RZ&lt;/code&gt;),&lt;/li&gt;&#xA;&lt;li&gt;receive high-shot measurement counts.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;That is enough to estimate sin/cos components and recover the original angle (thus byte).&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTB - Quantum: Flagportation</title>
      <link>/posts/htb-quantum-flagportation/</link>
      <pubDate>Wed, 04 Mar 2026 10:50:00 +0700</pubDate>
      <guid>/posts/htb-quantum-flagportation/</guid>
      <description>&lt;h2 id=&#34;challenge-summary&#34;&gt;Challenge Summary&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; Flagportation&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Quantum&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Easy-Medium&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Decode all teleported 2-bit symbols and recover the flag.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pagevault hint=&#34;Ask bz for access&#34;&gt;&#xA;&lt;h2 id=&#34;root-cause&#34;&gt;Root Cause&lt;/h2&gt;&#xA;&lt;p&gt;The challenge is a teleportation protocol correctness trap. The server reveals:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;encoding basis (&lt;code&gt;Z&lt;/code&gt; or &lt;code&gt;X&lt;/code&gt;),&lt;/li&gt;&#xA;&lt;li&gt;Bell-side measurement bits (&lt;code&gt;qubit 0&lt;/code&gt;, &lt;code&gt;qubit 1&lt;/code&gt;),&lt;/li&gt;&#xA;&lt;li&gt;then asks user operations before measuring receiver (&lt;code&gt;qubit 2&lt;/code&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If the correction mapping is wrong, decoded bits are wrong.&lt;/p&gt;&#xA;&lt;p&gt;Correct mapping for this implementation:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTB - Quantum: Global Hyperlink Zone</title>
      <link>/posts/htb-quantum-global-hyperlink-zone/</link>
      <pubDate>Wed, 04 Mar 2026 10:45:00 +0700</pubDate>
      <guid>/posts/htb-quantum-global-hyperlink-zone/</guid>
      <description>&lt;h2 id=&#34;challenge-summary&#34;&gt;Challenge Summary&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; Global Hyperlink Zone&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Category:&lt;/strong&gt; Quantum&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Difficulty:&lt;/strong&gt; Medium&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Satisfy the hidden hyperlink pattern check and print the flag.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pagevault hint=&#34;Ask bz for access&#34;&gt;&#xA;&lt;h2 id=&#34;root-cause&#34;&gt;Root Cause&lt;/h2&gt;&#xA;&lt;p&gt;The server checks only a specific relationship between measured bitstreams (&lt;code&gt;shares&lt;/code&gt;) and does not constrain users to a trusted circuit template.&lt;/p&gt;&#xA;&lt;p&gt;From source analysis, success requires:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;shares[0] == shares[1] == shares[3]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;shares[2] == shares[4]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;shares[2] != shares[0]&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;and no share may be all-0 or all-1 bytes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Because arbitrary gate sequences are allowed, we can construct a circuit that enforces exactly those relations.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
