<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://surabhimisra.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://surabhimisra.github.io/" rel="alternate" type="text/html" /><updated>2026-02-25T07:19:06+00:00</updated><id>https://surabhimisra.github.io/feed.xml</id><title type="html">Surabhi Misra</title><entry><title type="html">Recent Trends in Hardware Security: The Shift from Logic to Architecture</title><link href="https://surabhimisra.github.io/hardware-security/silicon/architecture/2026/02/24/Recent-Trends-in-Hardware-Security.html" rel="alternate" type="text/html" title="Recent Trends in Hardware Security: The Shift from Logic to Architecture" /><published>2026-02-24T00:00:00+00:00</published><updated>2026-02-24T00:00:00+00:00</updated><id>https://surabhimisra.github.io/hardware-security/silicon/architecture/2026/02/24/Recent-Trends-in-Hardware-Security</id><content type="html" xml:base="https://surabhimisra.github.io/hardware-security/silicon/architecture/2026/02/24/Recent-Trends-in-Hardware-Security.html"><![CDATA[<h1 id="recent-trends-in-hardware-security--the-shift-from-logic-to-architecture">Recent Trends in Hardware Security – The Shift from Logic to Architecture</h1>

<p>Hardware security research has evolved significantly over the past decade.</p>

<p>Earlier work focused heavily on discrete problems:</p>

<ul>
  <li>Detecting hardware Trojans</li>
  <li>Protecting intellectual property through logic locking</li>
  <li>Preventing cryptographic side-channel leakage</li>
</ul>

<p>While these topics remain important, a noticeable shift is happening.</p>

<p>Security is moving from isolated logic-level techniques toward architectural-level thinking.</p>

<hr />

<h2 id="from-add-on-security-to-structural-security">From Add-On Security to Structural Security</h2>

<p>Historically, security mechanisms were often treated as add-ons:</p>

<ul>
  <li>Insert a locking mechanism</li>
  <li>Add a secure key block</li>
  <li>Detect suspicious logic after synthesis</li>
</ul>

<p>Modern systems make this approach insufficient.</p>

<p>Today’s SoCs are:</p>

<ul>
  <li>Deeply pipelined</li>
  <li>Highly concurrent</li>
  <li>Heterogeneous</li>
  <li>Dependent on complex memory hierarchies</li>
  <li>Built with shared resources across cores and accelerators</li>
</ul>

<p>In such systems, the attack surface is not confined to malicious gates. It emerges from interactions.</p>

<hr />

<h2 id="microarchitecture-as-the-new-security-boundary">Microarchitecture as the New Security Boundary</h2>

<p>Recent academic research increasingly focuses on:</p>

<ul>
  <li>Secure memory hierarchies</li>
  <li>Cache partitioning and isolation</li>
  <li>NoC-level security</li>
  <li>Information flow tracking</li>
  <li>Secure accelerator integration</li>
</ul>

<p>This reflects an important realization:</p>

<p>Performance optimizations and architectural decisions often define the true security boundaries.</p>

<p>Side-channel leakage, for example, is frequently a byproduct of:</p>

<ul>
  <li>Shared caches</li>
  <li>Arbitration policies</li>
  <li>Speculative execution</li>
  <li>Data-dependent timing behavior</li>
</ul>

<p>These are architectural features, not simple logic errors.</p>

<hr />

<h2 id="ai-accelerators-and-expanding-attack-surfaces">AI Accelerators and Expanding Attack Surfaces</h2>

<p>The rise of AI-specific hardware introduces new challenges:</p>

<ul>
  <li>Protecting model weights stored in on-chip memory</li>
  <li>Preventing model extraction attacks</li>
  <li>Securing high-bandwidth interconnects</li>
  <li>Isolating workloads in heterogeneous systems</li>
</ul>

<p>AI accelerators amplify concurrency and data movement, which in turn amplifies potential leakage surfaces.</p>

<p>Security research is increasingly adapting to this reality.</p>

<hr />

<h2 id="the-core-trend">The Core Trend</h2>

<p>Hardware security is becoming an architectural discipline.</p>

<p>It is no longer sufficient to verify functional correctness or insert defensive logic late in the design cycle.</p>

<p>Security must be reasoned about alongside:</p>

<ul>
  <li>Memory design</li>
  <li>Resource sharing</li>
  <li>Interconnect topology</li>
  <li>Privilege separation</li>
  <li>Lifecycle management</li>
</ul>

<p>As silicon complexity grows, security becomes a property of system behavior over time, not just gate-level correctness.</p>

<hr />

<h2 id="looking-ahead">Looking Ahead</h2>

<p>Future research directions likely include:</p>

<ul>
  <li>Security-aware AI accelerators</li>
  <li>Chiplet and 3D integration trust models</li>
  <li>Runtime hardware monitoring</li>
  <li>Formal security verification at system scale</li>
</ul>

<p>The most interesting work will not be isolated techniques.</p>

<p>It will be the integration of security principles into the architectural foundation of modern silicon.</p>]]></content><author><name></name></author><category term="hardware-security" /><category term="silicon" /><category term="architecture" /><summary type="html"><![CDATA[Recent Trends in Hardware Security – The Shift from Logic to Architecture]]></summary></entry><entry><title type="html">Understanding Rare Nets and Why Trojans Love Them</title><link href="https://surabhimisra.github.io/rare-nets-hardware-trojans/" rel="alternate" type="text/html" title="Understanding Rare Nets and Why Trojans Love Them" /><published>2025-12-07T00:00:00+00:00</published><updated>2025-12-07T00:00:00+00:00</updated><id>https://surabhimisra.github.io/rare-nets-trojans</id><content type="html" xml:base="https://surabhimisra.github.io/rare-nets-hardware-trojans/"><![CDATA[<h1 id="understanding-rare-nets-and-why-trojans-love-them">Understanding Rare Nets and Why Trojans Love Them</h1>

<p>If you read any hardware Trojan research, you will keep seeing one phrase again and again: <strong>rare nets</strong>.<br />
They show up in Trust-Hub benchmarks, detection algorithms, research papers, and almost every Trojan insertion strategy.</p>

<p>This post explains:</p>
<ul>
  <li>What rare nets actually are</li>
  <li>Why attackers target them</li>
  <li>How designers and researchers can detect Trojans using rare-net analysis</li>
  <li>How this connects to my ongoing experiments with switching activity and power traces</li>
</ul>

<p>This is a beginner-friendly overview, and you can follow along even if you’re new to hardware security.</p>

<hr />

<h1 id="1-what-are-rare-nets">1. What Are Rare Nets?</h1>

<p>A <strong>rare net</strong> is a signal in a digital circuit that toggles very infrequently during normal operation.</p>

<p>For example:</p>
<ul>
  <li>A net that switches once every few thousand cycles</li>
  <li>A deep internal signal far from primary inputs</li>
  <li>Control logic that activates only in edge cases</li>
  <li>Reset or debug-related signals</li>
  <li>Rare combinations of internal states</li>
</ul>

<p>In many circuits, most signals toggle frequently.<br />
But a few remain <strong>quiet</strong> or <strong>almost never active</strong>.</p>

<p>These low-activity nets are the perfect hiding spots for Trojans.</p>

<hr />

<h1 id="2-why-trojans-love-rare-nets">2. Why Trojans Love Rare Nets</h1>

<p>Attackers insert hardware Trojans in places where they will not be triggered accidentally during testing or normal operation.</p>

<p>Rare nets give them exactly what they want:</p>

<h3 id="-high-stealth">• High Stealth</h3>
<p>Low toggle probability means test vectors rarely activate them.</p>

<h3 id="-predictable-silence">• Predictable Silence</h3>
<p>These nets almost never switch, so a Trojan tied to them is nearly invisible.</p>

<h3 id="-stable-trigger-conditions">• Stable Trigger Conditions</h3>
<p>Attackers can tie Trojan triggers to specific rare-net patterns (like <code class="language-plaintext highlighter-rouge">A &amp; B &amp; C = 1</code>), making accidental activation unlikely.</p>

<h3 id="-minimal-power-footprint">• Minimal Power Footprint</h3>
<p>Since rare nets rarely toggle, the Trojan’s trigger circuitry also consumes very little dynamic power.</p>

<h3 id="-hard-to-reach-through-testing">• Hard to Reach Through Testing</h3>
<p>Functional testbenches and ATPG often fail to activate these nets because they require deep state exploration.</p>

<p>In summary:<br />
<strong>Rare nets allow Trojans to hide quietly until a highly specific trigger activates them.</strong></p>

<hr />

<h1 id="3-how-rare-nets-help-in-detecting-trojans">3. How Rare Nets Help in Detecting Trojans</h1>

<p>Interestingly, the same property that makes rare nets good hiding spots also helps in detection.</p>

<h3 id="1-low-baseline-activity--high-sensitivity"><strong>1. Low Baseline Activity = High Sensitivity</strong></h3>
<p>If a net rarely toggles, any unusual activity stands out immediately.</p>

<h3 id="2-power-deviations-become-noticeable"><strong>2. Power Deviations Become Noticeable</strong></h3>
<p>Even small Trojan-induced switching creates measurable transient spikes.</p>

<h3 id="3-useful-for-switching-activity-comparison"><strong>3. Useful for Switching Activity Comparison</strong></h3>
<p>Comparing toggle density before and after Trojan insertion highlights suspicious nets.</p>

<h3 id="4-enable-structural-analysis"><strong>4. Enable Structural Analysis</strong></h3>
<p>Tools can mark nets with VS (Very Small) toggle probability and examine logic cones around them.</p>

<h3 id="5-combine-well-with-logic-locking"><strong>5. Combine Well with Logic Locking</strong></h3>
<p>Logic locking further reduces random switching, which amplifies anomalies in rare nets (based on the paper I summarized).</p>

<hr />

<h1 id="4-how-to-identify-rare-nets">4. How to Identify Rare Nets</h1>

<p>You can identify rare nets using:</p>

<h3 id="-simulation-based-analysis">• Simulation-Based Analysis</h3>
<p>Generate VCD or SAIF files and compute toggle counts.</p>

<h3 id="-atpg-and-signal-probability-tools">• ATPG and Signal Probability Tools</h3>
<p>Use probabilistic models to detect rarely activated internal nodes.</p>

<h3 id="-test-vector-analysis">• Test Vector Analysis</h3>
<p>Compare switching activity under different workloads.</p>

<h3 id="-structural-metrics">• Structural Metrics</h3>
<p>Deep logic cones and unreachable states correlate with rare nets.
—</p>

<h1 id="5-how-attackers-use-rare-nets">5. How Attackers Use Rare Nets</h1>

<p>Attackers typically attach Trojan triggers to:</p>

<ul>
  <li>Deep combinational nodes</li>
  <li>Low-frequency control paths</li>
  <li>Unused internal states</li>
  <li>FSM states that never occur in normal operation</li>
  <li>Signals tied to debug or test modes</li>
</ul>

<p>A simple Trojan example:</p>

<div class="language-verilog highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">if</span> <span class="p">(</span><span class="n">rare_net1</span> <span class="o">&amp;</span> <span class="n">rare_net2</span><span class="p">)</span> <span class="k">begin</span>
    <span class="n">payload_reg</span> <span class="o">&lt;=</span> <span class="n">payload_reg</span> <span class="o">^</span> <span class="mb">1'b1</span><span class="p">;</span>
<span class="k">end</span>
</code></pre></div></div>
<hr />
<h1 id="6-how-rare-nets-factor-into-my-research">6. How Rare-Nets Factor Into My Research</h1>

<h3 id="rare-net-analysis-is-central-to-the-experiments-i-am-running">Rare-net analysis is central to the experiments I am running:</h3>

<ul>
  <li>Inserting Trojans into rare nets</li>
  <li>Comparing switching activity in locked vs unlocked designs</li>
  <li>Analyzing toggle differences in clean vs Trojan versions</li>
  <li>Measuring power trace deviations</li>
  <li>Understanding how logic locking reshapes switching cones</li>
</ul>

<h3 id="this-aligns-directly-with-research-papers-on">This aligns directly with research papers on:</h3>

<ul>
  <li>Switching-activity-based detection</li>
  <li>Transient power signatures</li>
  <li>Structural Trojan detection</li>
  <li>Logic locking + Trojan interactions</li>
</ul>

<p>I will be publishing these experiments in my GitHub repository soon.</p>

<p>If you’re interested in hardware Trojans, switching activity, or logic locking, follow my Research Notes section here:
👉 <a href="https://surabhimisra.github.io/research/">research notes</a></p>

<p>Thanks for reading!
Feel free to reach out if you have questions or want a post on a specific topic.
—</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Understanding Rare Nets and Why Trojans Love Them]]></summary></entry><entry><title type="html">A Technical Guide to Logic Locking for Chip Security</title><link href="https://surabhimisra.github.io/2025/11/23/logic-locking-guide.html" rel="alternate" type="text/html" title="A Technical Guide to Logic Locking for Chip Security" /><published>2025-11-23T00:00:00+00:00</published><updated>2025-11-23T00:00:00+00:00</updated><id>https://surabhimisra.github.io/2025/11/23/logic-locking-guide</id><content type="html" xml:base="https://surabhimisra.github.io/2025/11/23/logic-locking-guide.html"><![CDATA[<h1 id="a-technical-guide-to-logic-locking-for-chip-security">A Technical Guide to Logic Locking for Chip Security</h1>

<p>Strengthening integrated circuits against untrusted manufacturing and Trojan insertion.</p>

<h2 id="1-introduction">1. Introduction</h2>

<p>As semiconductor manufacturing becomes more global, securing the design and fabrication flow has become an important concern. Most design companies use the fabless model, which means fabrication happens in external foundries. This introduces two risks:</p>

<ol>
  <li>Unauthorized overproduction or IP theft</li>
  <li>Hardware Trojan insertion during mask preparation or ECO steps</li>
</ol>

<p>Logic locking introduces key controlled gates into an ASIC so the chip works correctly only when the correct key is applied. It protects IP and increases the difficulty of malicious modification.</p>

<p><img src="/images/Locked-Circuit.jpg" alt="HWT can be inserted anywhere" /></p>

<hr />

<h2 id="2-what-is-logic-locking">2. What is Logic Locking</h2>

<p>Logic locking adds extra gates into a circuit that depend on a secret key. Without the key, the circuit produces incorrect outputs.</p>

<h3 id="common-key-gate-types">Common key gate types</h3>

<ul>
  <li>XOR or XNOR gates</li>
  <li>MUX based key gates</li>
  <li>Anti SAT blocks</li>
  <li>SFLL (Stripped Functionality Logic Locking)</li>
</ul>

<hr />

<h2 id="3-simple-xor-based-locking-example">3. Simple XOR Based Locking Example</h2>

<p>Original RTL:</p>
<div class="language-verilog highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">assign</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">A</span> <span class="o">^</span> <span class="n">B</span><span class="p">;</span>
</code></pre></div></div>

<p>If Key[0] is zero, the circuit behaves normally.
If Key[0] is one, the output is flipped and downstream behavior is corrupted.</p>

<p><img src="/images/LL-circuit-example.jpg" alt="HWT can be inserted anywhere" /></p>

<p>Even this small modification breaks straightforward cloning and reverse engineering.</p>

<h2 id="4-structural-impact-of-locking">4. Structural Impact of Locking</h2>

<h3 id="adding-locking-logic-affects-several-structural-properties-of-the-netlist">Adding locking logic affects several structural properties of the netlist:</h3>

<ol>
  <li>fan out of selected signals</li>
  <li>depth of some logic cones</li>
  <li>switching patterns on internal nodes</li>
  <li>placement of new gates in critical or non critical paths</li>
</ol>

<h3 id="these-structural-changes">These structural changes:</h3>

<ol>
  <li>make reverse engineering harder</li>
  <li>change where an attacker might try to insert a Trojan</li>
  <li>can be used as additional signals in detection</li>
</ol>

<h2 id="5-how-locking-helps-detect-hardware-trojans">5. How Locking Helps Detect Hardware Trojans</h2>

<p>Hardware Trojans often rely on:</p>
<ul>
  <li>rare internal trigger conditions</li>
  <li>very low switching activity when inactive</li>
  <li>payloads that blend into existing logic</li>
  <li>predictable and stable structure</li>
  <li>Logic locking disrupts these assumptions.</li>
</ul>

<p><img src="/images/How-LL-Protects-Chips.jpg" alt="HWT can be inserted anywhere" /></p>

<p>Locking can:</p>
<ul>
  <li>increase switching entropy around key controlled regions</li>
  <li>make power signatures less predictable for attackers</li>
  <li>force Trojans to interact with key logic to remain effective</li>
  <li>expose malicious structures when the wrong key is applied</li>
</ul>

<p>When combined with switching activity localization or power analysis, this improves Trojan detectability.</p>

<h2 id="6-power-analysis-overview">6. Power Analysis Overview</h2>

<p>Power based detection uses the fact that Trojans cause small but measurable changes in switching activity.</p>

<p>A simplified power model:</p>

<p>P_total = P_static + P_dynamic
P_dynamic ∝ C_load * V^2 * f * switching_activity</p>

<p>Locked circuits already modify switching activity. When a Trojan activates, the deviation from the locked baseline can stand out more clearly.</p>

<p>Typical analysis flow:</p>

<ol>
  <li>Run simulation on a golden (Trojan free) design</li>
  <li>Run simulation on a design under test</li>
  <li>Generate VCD or SAIF files with switching activity</li>
  <li>Convert toggles into power traces using synthesis or gate level tools</li>
  <li>Compare traces across test vectors</li>
  <li>Localize suspicious regions or time windows</li>
</ol>

<h2 id="7-mux-based-lock-example">7. MUX Based Lock Example</h2>

<p>To avoid simple attacks that target XOR structures, many schemes use MUX based locking.</p>

<p>Example:</p>

<div class="language-verilog highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">assign</span> <span class="n">Y</span> <span class="o">=</span> <span class="n">Key</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">?</span> <span class="n">real_signal</span> <span class="o">:</span> <span class="n">dummy_signal</span><span class="p">;</span>
</code></pre></div></div>

<ul>
  <li>Correct key selects real_signal and the design behaves correctly.</li>
  <li>Incorrect key selects dummy_signal and the behavior is corrupted.</li>
</ul>

<p>Properties of MUX based locking:</p>

<ol>
  <li>harder for SAT solvers to simplify in some cases</li>
  <li>creates more structural ambiguity</li>
  <li>can be aligned with existing multiplexed datapaths</li>
</ol>

<h2 id="8-sat-attack-notes">8. SAT Attack Notes</h2>

<p>SAT attacks try to recover the secret key by generating discriminating input patterns that eliminate incorrect keys.</p>

<p>Basic idea:</p>

<ol>
  <li>Treat the locked circuit as a black box with key inputs.</li>
  <li>Use a SAT solver to search for input patterns that behave differently under different keys.</li>
  <li>Iteratively narrow down the key space until the correct key is found</li>
  <li>Ways to strengthen locking against SAT attacks</li>
  <li>deeper and more distributed locking</li>
  <li>Anti SAT and SARLock style blocks</li>
  <li>SFLL mechanisms with rare corruptibility</li>
  <li>structural transformations after locking</li>
  <li>removal of obvious XOR key patterns</li>
  <li>mixing multiple locking styles</li>
</ol>

<p>The goal is to make the search space and solver effort impractical.</p>

<h2 id="9-rtl-example-of-a-locked-module">9. RTL Example of a Locked Module</h2>

<p>Below is a small example that shows how key bits can corrupt internal nodes.</p>

<div class="language-verilog highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">module</span> <span class="n">locked_and4</span><span class="p">(</span>
    <span class="kt">input</span>  <span class="kt">wire</span> <span class="p">[</span><span class="mi">3</span><span class="o">:</span><span class="mi">0</span><span class="p">]</span> <span class="n">A</span><span class="p">,</span>
    <span class="kt">input</span>  <span class="kt">wire</span> <span class="p">[</span><span class="mi">3</span><span class="o">:</span><span class="mi">0</span><span class="p">]</span> <span class="n">Key</span><span class="p">,</span>
    <span class="kt">output</span> <span class="kt">wire</span> <span class="n">Y</span>
<span class="p">);</span>
    <span class="kt">wire</span> <span class="n">temp0</span><span class="p">,</span> <span class="n">temp1</span><span class="p">;</span>

    <span class="k">assign</span> <span class="n">temp0</span> <span class="o">=</span> <span class="n">A</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">A</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
    <span class="k">assign</span> <span class="n">temp1</span> <span class="o">=</span> <span class="n">A</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">A</span><span class="p">[</span><span class="mi">3</span><span class="p">];</span>

    <span class="c1">// Insert XOR based key gates</span>
    <span class="k">assign</span> <span class="n">Y</span> <span class="o">=</span> <span class="p">(</span><span class="n">temp0</span> <span class="o">^</span> <span class="n">Key</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">&amp;</span> <span class="p">(</span><span class="n">temp1</span> <span class="o">^</span> <span class="n">Key</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
<span class="k">endmodule</span>
</code></pre></div></div>

<p>This design:</p>
<ul>
  <li>behaves correctly only when Key[0] and Key[1] match the intended values</li>
  <li>corrupts the output for incorrect keys</li>
  <li>introduces new logic cones and switching patterns</li>
</ul>

<h2 id="10-engineering-guidelines-for-logic-locking">10. Engineering Guidelines for Logic Locking</h2>

<p>Some practical guidelines when applying locking in real flows:</p>
<ol>
  <li>distribute key gates across different blocks instead of clustering them</li>
  <li>avoid adding locks only at outputs, which is easier to attack</li>
  <li>combine logic locking with scan chain obfuscation and secure test</li>
  <li>use synthesis remapping to hide simple locking patterns</li>
  <li>avoid locking the most timing critical paths</li>
  <li>evaluate area, power, and timing overhead for each scheme</li>
  <li>test golden versus locked designs with realistic workloads</li>
</ol>

<p><img src="/images/happy-chip-w-LL.jpg" alt="HWT can be inserted anywhere" /></p>

<h2 id="11-tools-and-frameworks">11. Tools and Frameworks</h2>

<p>Common tools used for logic locking and evaluation include:</p>
<ol>
  <li>Yosys for open source synthesis and simple flows</li>
  <li>Commercial tools like Synopsys Design Compiler and Cadence Genus</li>
  <li>TrustHub benchmarks for hardware Trojan evaluation</li>
  <li>SAT attack frameworks for key recovery experiments</li>
  <li>PrimeTime PX or similar tools for power estimation</li>
  <li>Python scripts for VCD parsing and trace analysis</li>
</ol>

<p>These can be combined into reproducible experiments in a public GitHub repository.</p>

<h2 id="12-conclusion">12. Conclusion</h2>

<p>Logic locking is a practical and flexible method for protecting integrated circuits built in untrusted environments. It raises the difficulty of cloning and reverse engineering and can improve hardware Trojan detection when combined with structural and power based analysis.</p>

<p>As semiconductor supply chains remain globally distributed, design for trust techniques like logic locking will continue to be an important part of secure hardware design.</p>

<p>This page is part of a larger set of hardware security and ASIC design notes.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[A Technical Guide to Logic Locking for Chip Security]]></summary></entry><entry><title type="html">What Is a Hardware Trojan?</title><link href="https://surabhimisra.github.io/2025/11/23/what-is-a-hardware-trojan.html" rel="alternate" type="text/html" title="What Is a Hardware Trojan?" /><published>2025-11-23T00:00:00+00:00</published><updated>2025-11-23T00:00:00+00:00</updated><id>https://surabhimisra.github.io/2025/11/23/what-is-a-hardware-trojan</id><content type="html" xml:base="https://surabhimisra.github.io/2025/11/23/what-is-a-hardware-trojan.html"><![CDATA[<p>Most people are familiar with software malware and phishing, but there is a quieter kind of attack that hides in the chip itself. A hardware Trojan is a small malicious change to a circuit that is added somewhere in the design or manufacturing flow.</p>

<p>The key idea is simple. The original design is correct, but an extra piece of logic is inserted that only activates under rare conditions. Under normal tests, the chip seems fine. Under a special trigger, that extra logic can leak data, change outputs, or weaken security checks.</p>

<p><img src="/images/HWT-trigger-payload.jpg" alt="HWT can be inserted anywhere" /></p>

<p>In practice, a hardware Trojan often has two parts:</p>

<ol>
  <li>A trigger that watches for a rare event, such as a specific input pattern or internal state.</li>
  <li>A payload that changes behavior, for example by flipping a bit, opening a backdoor, or bypassing a check.</li>
</ol>

<p><img src="/images/HWT-trigger-payload-state-diagram.jpg" alt="HWT can be inserted anywhere" /></p>

<p>Because the trigger is rarely activated, normal testing and functional verification may never see the Trojan fire. This is what makes these attacks interesting and hard to catch.</p>

<p>In my Hardware Trojan Lab series I work with very small RTL examples that show how this looks in code. A baseline module behaves as expected, and a Trojan version adds a few lines of Verilog that implement a rare trigger and a small payload. By running both through simulation and comparing waveforms, you can see exactly when the Trojan activates.</p>

<p>If you want a starting point to explore these ideas, you can:</p>

<ul>
  <li>Look at the baseline and Trojan inserted designs in my lab repo.</li>
  <li>Compare their simulation behavior and switching activity.</li>
  <li>Read the companion logic locking guide to see how designers can try to protect against untrusted modifications.</li>
</ul>

<p>Hardware Trojans are a deep research area, but even simple examples are enough to build intuition about how hardware can be attacked and how we might defend it.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Most people are familiar with software malware and phishing, but there is a quieter kind of attack that hides in the chip itself. A hardware Trojan is a small malicious change to a circuit that is added somewhere in the design or manufacturing flow.]]></summary></entry></feed>