<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Crypto on 万屋猫Labs</title><link>https://yn-labs.com/en/tags/crypto/</link><description>Recent content in Crypto on 万屋猫Labs</description><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 13 Jul 2026 11:00:00 +0900</lastBuildDate><atom:link href="https://yn-labs.com/en/tags/crypto/index.xml" rel="self" type="application/rss+xml"/><item><title>KalmarCTF 2026 RBG+ Writeup — Cracking a Sum-Hidden RSA with Alternating Sums and Polynomial GCD</title><link>https://yn-labs.com/en/writeups/ctf/kalmarctf-2026-rbg-plus-polynomial-gcd/</link><pubDate>Mon, 13 Jul 2026 11:00:00 +0900</pubDate><guid>https://yn-labs.com/en/writeups/ctf/kalmarctf-2026-rbg-plus-polynomial-gcd/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;KalmarCTF 2026 Crypto challenge &amp;ldquo;RBG+&amp;rdquo; (106pts). It combines RSA with an LCG (linear congruential generator): the flag &lt;code&gt;m&lt;/code&gt; is encrypted with RSA, and the exponent &lt;code&gt;e&lt;/code&gt; is updated by the LCG. The tricky part is that &lt;strong&gt;the output is given as &amp;ldquo;the sum of two ciphertexts&amp;rdquo;&lt;/strong&gt;. Because the two terms are added together, they cannot be separated into individual &lt;code&gt;m^e mod N&lt;/code&gt; values, so the RSA structure cannot be used as-is (each value is the integer sum of the two terms taken &lt;code&gt;mod N&lt;/code&gt;, and the sum can exceed &lt;code&gt;N&lt;/code&gt;. This integrality makes the later argument easier, but the essence of the attack is that the value is &amp;ldquo;hidden inside a sum&amp;rdquo;).&lt;/p&gt;</description></item></channel></rss>