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