Boolean Masking
Boolesche Maskierung ist eine Seitenkanal-Verteidigung, die schlüsselabhängige Zwischenwerte in zufällige Shares aufteilt, sodass die tatsächlich verarbeiteten Werte statistisch unabhängig vom Schlüssel sind.
Zweck
Widersteht Strom-, EM- und Cache-Seitenkanälen; die Standardverteidigung für Software-AES und Hardware-Krypto-Implementierungen.
Mechanismus
Ein Zwischenwert x wird in x = x1 XOR x2 XOR ... XOR xm (m zufällige Shares) aufgeteilt; die Operationen laufen unabhängig auf den Shares und werden wieder kombiniert, womit Strom-/EM-Leckagen statistisch unabhängig vom Originalwert werden. Maskierung erster Ordnung widersteht DPA erster Ordnung; höherwertige Maskierung widersteht höherwertiger DPA.
Anwendungsfälle
- Seitenkanal-Verteidigung für Software-AES
- DPA-Widerstand von Smartcards
- Härtung der Hardware-Kryptografie