Skip to content
uencoder

Boolean Masking

Boolean masking is a side-channel defense that splits key-dependent intermediate values into random shares so that the actually processed values are statistically independent of the key.

Purpose

It resists power, EM, and cache side channels and is the standard defense for software AES and hardware crypto implementations.

Mechanism

An intermediate value x is split into x = x1 XOR x2 XOR ... XOR xm (m random shares); operations run on the shares independently and are recombined, making power/EM leakage statistically independent of the original value. First-order masking resists first-order DPA; higher-order masking resists higher-order DPA.

Use cases

  • Side-channel defense for software AES
  • Smart-card DPA resistance
  • Hardware cryptography hardening

Related tools

References