Hardwarebeveiliging
Welke uitspraak over wat moet worden nagekomen bij het implementeren van cryptografische verwerking in 'constante tijd' is juist?
- ADe hele verwerking moet altijd in 1 seconde klaar zijn
- BHalverwege de verwerking moet de klok worden stopgezet
- CRichting van voorwaardelijke sprongen, aantal herhalingen en de adressen waar geheugen wordt gelezen of geschreven mogen niet met de geheime waarde veranderen
Antwoord en toelichting tonen
Antwoord: C. Richting van voorwaardelijke sprongen, aantal herhalingen en de adressen waar geheugen wordt gelezen of geschreven mogen niet met de geheime waarde veranderen
Constante tijd betekent dat de verwerkingstijd niet met de geheime waarde verandert. Als de richting van een if met een geheime waarde verandert, verandert de tijd, en als een array-index door een geheime waarde wordt bepaald, verandert het spoor in de cache. Daarom schrijft men bijvoorbeeld zo dat in plaats van een sprong met bitbewerkingen beide resultaten worden berekend en gekozen, en dat geen tabel met een geheime waarde wordt geraadpleegd. Ook moet worden gecontroleerd dat optimalisatie door de compiler geen sprongen introduceert.