Mecanismes cryptographiques, algo mathematiquement robustes. Quand on veut les implémenter, ils peuvent êtres soumis à différentes attaques.
Attaque par injection de code. (Injecter des données, qui peuvent correspondre à du code donné, exploitation de bug dans le code logiciel)
Attaque par canaux auxiliaires. (temps d'execution, consommation elec, connexion)
Raison d'optimisation (multiplication), multiplier par 0 -> pas de calcul, temps de calcul très long donc si secret = 0, temps de calcul court.
Attaque physique. (Ouvrir le circuit, sonder (microprobing) entre la mémoire et le processeur, FIB ?)
Certaines attaques nécessitent le composant physique, d'autres à distances (marron et bleu p4)
Tirs lasers pour modifier la mémoire, injecter des fautes.
p9. nécessite une précision en cycle processeur très grande. Il faut cibler une ou quelques cycles.
p10. Algo plus connus/utilisé.
Evaluation : QCM sur toutes les parties. (qu'est-ce qu'une attaque etc... Contres mesures et classification) Dans quel cas on utilise certaines contre mesure et dans cette attaque là quelle contre mesure utiliser ?
p12. CRC pour protéger les CSP (critical security parameters) pour éviter de changer les p,q qui sont premiers.
p14. On faute l'exposant d_i de proche en proche pour obtenir les m_i
p15. Contre mesure = rajouter un produit avec un nombre aléatoire (Stratégie Résilience)
Vérification de valeur -> Stratégie détection
p19. On déplace l'instant d'exécution de l'instruction sensible -> Observation de la consommation électrique
On peut rajouter des capteurs (lumière pour l'ouverture de la puce, f_clk pour le downclocking pour observer les signaux)
### TD
Q1 Donner l'équation de R_16 en fonction de R_15 et L_15
p58: Si on a pas de connaissances à priori sur le système, on regarde une fenetre temporelle élevée pour déterminer la trace. On réduit la fenêtre quand on cible l'attaque.