La description totale de l'attaque temporaire



Paul' Kocher
e-mail : paul@cryptography.com

() la Traduction Olga Buksheva, Pavel Sem'janov, 1998.
e-mail : psw@ssl.stu.neva.ru ? subject=timing attack

Les thèses. En mesurant soigneusement la quantité du temps nécessaire aux opérations avec les clés fermées, le malfaiteur peut trouver le paramètre constant du degré dans le schéma de Diffi-Hellmana, факторизованные les clés à RSA, ainsi que forcer et les autres криптосистемы. Si le système attaqué est vulnérable, l'attaque peut être bon marché sous la relation calculatoire et souvent pour elle sera demandé seulement connu шифрованный le texte. Les systèmes existant sont potentiellement vulnérables, y compris криптомаркеры (tokens), de réseau криптосистемы et d'autres applications, où l'attaquant est capable de faire les mesures assez exactes du temps. On présente les méthodes pour la prévention de l'attaque contre les systèmes RSA et Diffi-Hellmana. Certains криптосистемы doivent être reconsidérés pour la protection contre telles attaques, mais les nouveaux procès-verbaux et les algorithmes doivent insérer les moyens pour la prévention des attaques par l'analyse temporaire (timing attacks).

Les mots clefs : temporaire l'analyse, криптоанализ, RSA, Diffi-Hellman, DSS.


 1. L'introduction



Криптосистемы utilisent souvent une diverse quantité de temps pour le traitement des diverses données d'entrée. Les raisons de cela insèrent l'optimisation par temps, l'atteinte à кэш, l'instruction du processeur (comme la multiplication et la division), qui n'ont pas le nombre fixé des tacts, ainsi que plusieurs autres. La vitesse dépend d'habitude de la clé шифрования et les données d'entrée (le texte ouvert ou chiffré). Pendant que l'on sait que, généralement parlant, les canaux temporaires peuvent manquer les données ou les clés dans le périmètre protégé du traitement, l'intuition souffle que les caractéristiques temporaires peuvent découvrir seulement l'information insignifiante sur криптосистеме (le type хэммингского les poids de la clé). Cependant l'attaque présentée ici, est capable d'utiliser les mesures du temps dans les systèmes vulnérables pour la présence de toute la clé confidentielle.


 2. Криптоанализ de la construction simple modulaire au degré



Dans les algorithmes de Diffi-Hellmana DH [2] et RSA [8] il faut calculer R=yx mod n, où n - est connu, mais y peut être trouvé l'interception. Le but de l'attaquant - trouver la clé confidentielle x. Pour la réalisation de l'attaque il est nécessaire que la victime calcule yx mod n pour quelques significations y, où y, n et le temps des calculs sont connu attaquant. (Si confidentiel de l'exposant x changera pour chaque opération, l'attaque ne fonctionnera pas). L'information nécessaire et le temps des calculs peuvent être reçue par l'interception passive, puisque l'attaquant peut inscrire les messages envoyés au but de l'attaque et mesurer le temps de la réception de la réponse pour chacun y.

L'attaque peut être réalisée à n'importe quelle réalisation de l'algorithme de la construction modulaire au degré, où le temps du calcul n'est pas fixé, mais d'abord il vaut mieux examiner l'algorithme ordinaire du calcul R = yx mod n,x - la longueur w le bit :

    Let s0 = 1. 
    For k = 0 upto w-1 : 
      If (bit k of x) is 1 then 
        Let Rk = (sk Ћ y) mod n. 
      Else 
        Let Rk = sk. 
      Let sk+1 = Rk2 mod n. 
    EndFor. 
    Return (Rw-1). 
:

L'attaque permettra à celui qui connaît les bits 0. (b-1), trouver le bit b. Pour recevoir à l'exposant entièrement, il faut commencer avec b égal 0 et répéter l'attaque jusqu'à ce que tout du l'exposant ne sera pas connu.

Car les premiers b le bit sont connu, l'attaquant peut calculer les premiers b des itérations du cycle et trouver la signification sb. L'itération suivante demandera du premier bit inconnu. Si ce bit est établi à 1, sera calculé Rb = (sbЋy) mod n. Si le bit est égal au zéro, la multiplication sera manquée.

Nous examinerons d'abord l'attaque dans le cas suivant hypothétique. Que le système attaqué utilise la fonction très rapide de la multiplication modulaire, mais qui consomme parfois le temps beaucoup plus grand, que toute la fonction de la construction modulaire au degré. Alors pour certaines significations sb et y les calculs Rb = (sbЋy) mod n seront extraordinairement lents, et, en utilisant les connaissances selon la réalisation du système attaqué, l'attaquant peut définir, quelles ces significations. Si le temps du calcul de toute la fonction de la construction modulaire au degré ne suffit pas, mais de plus Rb = (sb* y) mod n devrait être calculé lentement, le bit b, évidemment, est égal 0. Au contraire, si de longs calculs par temps Rb = (sbЋy) mod n amènent toujours à la construction lente modulaire au degré, c'est le bit, probablement, est établi à 1. Dès que le bit b sera connu, attaquant peut contrôler que le temps complet des opérations lentement être toutes les fois, quand sb+1 = R2b mod n on s'attend lent. Les mêmes suppositions peuvent être utilisées et il est plus loin pour trouver les bits suivants.


 3. La correction des erreurs



Si le bit b est deviné incorrectement, les significations calculées pour Rk> = b seront aussi incorrectes, et ensuite le résultat sera, à total, accidentel. Le temps demandé pour la multiplication après l'erreur ne se reflétera pas sur complet le temps de la construction au degré. L'attaque a ainsi la propriété "les détections de l'erreur"; après la supposition incorrecte selon la signification du bit ne sera pas observé d'aucune corrélation signifiante.

La propriété de "la détection de l'erreur" peut être utilisée pour sa correction. Par exemple, l'attaquant peut soutenir la liste les plus probable intermédiaire l'exposant également avec la signification, la probabilité correspondante juste. L'attaque se prolonge pour le seul candidat le plus probable. Si la signification en cours est incorrecte, il aura la tendance à tomber dans la liste des significations les plus probables, tandis que le juste devrait augmenter. Les méthodes de la correction des erreurs augmentent la mémoire nécessaire et le temps de processeur, mais de plus diminuent considérablement le nombre des significations nécessaires.


 4. Le schéma total de l'attaque



On peut interpréter l'attaque comme le problème de la reconnaissance des signaux. "Le signal" comprend les versions de la mesure du temps pour les bats connus, "le bruit" - des erreurs de la mesure du temps et les versions de la mesure du temps pour les bats inconnus. Les propriétés du "signal" et "le bruit" définissent la quantité de mesures du temps demandées pour l'attaque. Que soit reçu j des messages y0, y1., yj-1 et lui les mesures correspondantes du temps T0, T1., Tj-1. La probabilité que la supposition xb pour les premiers b le bit correctement, est proportionnelle(Equation not displayed), où

t (yi, xb) - le temps demandé pour les premiers b les itérations du cycle вычсиления yix mod n avec l'utilisation du bit xb,

F - attendu фунция les distributions de la probabilité T-t (y, xb) selon toutes les significations y et juste xb. Car F est définie comme la distribution verojatnostiTi-t (yi, xb), si xb il est correct, ce c'est la meilleure fonction pour la prédiction Ti-t (yi, xb). Ferez l'attention que les mesures du temps et les significations intermédiaires s peuvent être utilisées pour l'amélioration de l'estimation F.

À la supposition juste pour xb-1 il y a deux significations possibles pour xb. La probabilité de ce que xb - est juste, mais xb ' - incorrect, peut être trouvé comme(Equation not displayed)

Pratiquement cette formule est pas trop utile, car la recherche F demandera des efforts trop grands.


 5. La simplification de l'attaque



Heureusement, il n'y a pas de nécessité de calculer F. Chaque observation du temps comprend de(Equation not displayed), où ti - le temps demandé pour la multiplication et la construction au degré pour le bit i, mais e insère l'erreur de la mesure, le temps sur l'incrément du cycle En ayant etc. la supposition xb, l'attaquant peut calculer(Equation not displayed) pour chaque signification y1. Si xb il est correct, en soustrayant ce temps de T, nous recevrons(Equation not displayed)(Equation not displayed). Car les temps de la multiplication modulaire ne dépendent pas de l'un l'autre et de l'erreur de la mesure, la dispersion(Equation not displayed) selon toutes les significations observées, est attendue, sera égale Var (e) + (w-b) Var (t). Cependant, si seulement les premiers c <b le bit est deviné correctement, la dispersion attendue sera Var (e) + (w-b+2c) Var (t). Les itérations avec les suppositions justes diminuent la dispersion attendue sur Var (t), chaque itération après la supposition incorrecte augmente la dispersion sur Var (t). Calculer les dispersions il est facile, et cela assure un bon moyen de l'identification du bit juste.

Maintenant il est possible d'estimer le nombre des significations demandées pour l'attaque. Nous supposerons que l'attaquant a j des heures exactes de la mesure et deux suppositions en ce qui concerne les premiers b des bits de la signification de w bits, un juste et autre - incorrect avec la première erreur dans le bit c. Pour chaque supposition le temps de la mesure peut être vérifié s si une (Equation not displayed)telle vérification a une plus petite dispersion, c'est la supposition juste. Il est possible de s'approcher ti avec l'utilisation des variables indépendantes standard normales. Si Var (e) est insignifiant, la probabilité attendue de la justesse de la supposition

(Equation not displayed), Où

X et Y - les variables normales accidentelles avec la loi (0, 1). Car j assez grand,(Equation not displayed) et(Equation not displayed) sont normaux approximativement avec la loi (0,(Equation not displayed)). D'ici(Equation not displayed)(Equation not displayed), où Z - standard normal accidentel la variable. L'intégration pour la présence de la probabilité de la supposition juste donne(Equation not displayed), où Phi (x)- le domaine sous la courbe standard normale deminus infinity jusqu'à x. Le nombre demandé des significations j ainsi en proportion de la longueur les exposants w. Le nombre des mesures peut être diminué, si l'attaquant peut choisir telles données d'entrée pour avoir les extremums du temps dans ces bits les exposants, qui l'intéressent.


 6. Les résultats expérimentaux



Sur fig. 1 on montre la distribution de l'exécution de la multiplication modulaire de 106 fois. On utilisait pour cela le paquet RSAREF [10] sur 120-MHz l'ordinateur Pentium des GUÊPES MS-DOS. La distribution était construite, en mesurant le temps d'un million de calculs (aЋb mod n), où a et b résultaient comme le résultat des opérations réelles de la construction modulaire au degré avec les données accidentelles d'entrée. En qualité n on utilisait le premier nombre premier de 512 bits du programme d'exposition de la méthode de Diffi-Hellmana du paquet RSAREF. Toutes les significations les plus écartées des mesures (qui ont occupé plus 1300 мкс) étaient rejetées. La distribution sur fig. 1 a les obscénités. L'attente Њ = 1167.8 мкс et l'écart type sigma= 12.01 мкс. L'erreur de la mesure est petite; les essais étaient passés deux fois et une moyenne différence entre les mesures a fait moins 1 мкс. RSAREF utilise la même fonction pour la construction au carré et la multiplication; ainsi les temps de la construction au carré et la multiplication ont les distributions identiques.

RSAREF calcule d'avance y2 mod n et y3 mod n et travaille à la fois deux bits. De tout, la construction de 512 bits modulaire au degré avec le paramètre accidentel du degré de 256 bats demande 128 itérations du cycle de la multiplication modulaire et le total des actions de la multiplication modulaire et la construction au carré approximativement 352, car chaque itération accomplit deux actions de la construction au carré et, si chacun de deux bats non 0, une multiplication. L'attaque peut être ajustée pour ce cas pour ajouter une paire du bats et estimer quatre significations du candidat dans chaque position les exposants au lieu de deux.

Puisque modulaire de la multiplication consomment la plus grande quantité de temps total, on s'attend que la distribution du temps sera normale approximativement avec la loi (Њ,sigma), où Њ> = 1167.8Ћ352 = 411065.6 мкс etsigma> = 12.01 sqrt (352) = 225 мкс. Le dessin 2 montre les mesures des 5000 actions réelles utilisant le même ordinateur et le module n, où a résulté la distribution avec Њ = 419,901 мкс etsigma = 235 мкс.

Figure 1Figure 2

À 250 mesures du temps la probabilité de ce que la soustraction du temps de l'itération juste de chaque signification réduira la dispersion totale d'une grande valeur, que la soustraction de l'itération incorrecte, est estimée par la formule(Equation not displayed), où j=250, b=1, c=0 et w=127. (Il Y a 128 itérations du cycle à RSAREF pour les exposants à 256 bits, mais la première itération est ignorée). Les suppositions justes sont attendues ainsi avec la probabilité(Equation not displayed). 5000 significations du dessin 2 étaient divisées en 20 groupes selon 250 dans chacune, et on comparait les dispersions reçues à la soustraction du temps pour les itérations incorrectes et justes du cycle, pour chacune de 127 paires de bats. De 2450 essais, dans 2168 dispersion après la soustraction du temps du cycle incorrect était plus qu'après la soustraction du temps juste, ayant fait la probabilité 0.885. Les premiers bits sont plus difficiles à l'analyse, mais dans la mesure de l'augmentation b la probabilité doit s'améliorer. (Les essais n'utilisaient pas cette propriété). Il est important de marquer que l'on utilisait les mesures exactes du temps; les erreurs des mesures avec un assez grand rejet en comparaison du temps du calcul de la construction modulaire au degré, augmenteront le montant de l'extrait.

L'attaque sous la relation calculatoire est très simple. À l'utilisation de RSAREF, l'attaquant doit estimer quatre variantes pour chaque paire du bats. Ainsi, l'attaquant doit faire seulement à quatre fois le plus grand nombre des actions accomplies par la victime (non y compris le temps dépensé en vain pour les suppositions incorrectes).


 7. La multiplication de Montgomery et le théorème Chinois selon les restes



La plupart des versions du temps dans la multiplication modulaire provoque d'habitude la réduction des opérations modulaires. La multiplication de Montgomery [6] élimine la nécessité de la réduction mod n et, finalement, a la tendance à diminuer l'importance des caractéristiques temporaires. Cependant, certaines versions restent quand même. Si "le signal" resté n'est pas éclipsé par les erreurs de la mesure, la dispersion à tb la dispersion(Equation not displayed) seraient réduits en proportion et l'attaque fonctionnerait encore. Cependant, si l'erreur de la mesure e grand, le nombre demandé des significations augmentera en proportion1/Var (t_i).

Le théorème chinois selon les restes (QUI) aussi est utilisé souvent pour optimiser les opérations à RSA. À son utilisation d'abord sont calculés y mod p et y mod q, où y - le message. Ces pas initiaux peuvent être vulnérables pour les attaques temporaires. Le plus simple d'eux est qu'il faut choisir les significations y, qui sont proches vers p ou q, et, en utilisant les mesures du temps, éclaircir, si est la signification supposée moins que la signification réelle p (ou q). Si y - moins que p, le calcul y mod p ne faut pas, pendant que si y plus que p, pour le calcul y mod p la soustraction p au moins une fois est nécessaire. Aussi, si le message à peine plus que p, y mod p a les premiers bits nuls que peut réduire le temps demandé pour le premier pas de la multiplication. Les particularités des caractéristiques temporaires dépendent de la réalisation. La fonction modulaire de la réduction RSAREF avec le module de 512 bits sur l'ordinateur Pentium avec y, choisi par hasard entre 0 et 2p, occupe en moyenne 42.1 мкс, si y <p, et 73.9 мкс, si y> p. Le temps de la mesure pour plusieurs y peut être utilisé pour l'approximation successive p.

Il est possible d'améliorer dans certains cas l'attaque sur RSA avec QUI, si utiliser connu non (choisi) шифрованный le texte, en réduisant le nombre des messages demandés et en faisant possible à l'attaque contre les signatures en chiffre RSA. La réduction des opérations modulaires est accomplie par la soustraction de quelques modules à la fois, et les versions du temps, que l'on peut utiliser, apparaissent aux frais d'une différente quantité de pas de "la comparaison-soustraction". Par exemple, le cycle de la division RSAREF accomplit целочисленное la division de deux chiffres principaux y sur le chiffre principal p, multiplie p sur privé, rapproche à gauche sur le nombre correspondant des chiffres, mais puis soustrait le résultat d'y. Si le résultat plus que p (rapproché à gauche), on accomplit la soustraction supplémentaire. La décision, si faire la soustraction supplémentaire dans le premier cycle de l'algorithme de la division, dépend d'habitude seulement d'y (qui est connu) et deux chiffres principaux p. Temporaire l'analyse peut être utilisée pour la définition des chiffres principaux p. Par exemple, l'excédent complet selon les significations toutes possibles pour deux chiffres principaux p (ou plus de méthodes efficaces) peut établir la signification, pour laquelle le temps observé corrèle le plus tout près avec la quantité attendue d'actions de la soustraction. Comme en cas de l'attaque pour la méthode de Diffi-Hellmana, dès qu'un chiffre p sera trouvé, les mesures du temps peuvent plusieurs fois être utilisées pour trouver les chiffres ultérieurs.

On ne sait pas encore, si on peut adapter temporaire l'analyse pour directement attaquer la construction au degré selon le module p et q, accompli avec l'aide QUI.


 8. Par Kriptoanaliz temporaire DSS



Le standard de la signature en chiffre (Digital Signature Standart, DSS) calcule s = (k-1 (H (m) +x Ћ r)) mod q, où r and q on savent attaquant, k-1 est d'habitude calculé d'avance, H (m) - хэш les messages, mais x - la clé confidentielle. Pratiquement d'abord est calculé (H (m) + x Ћ r) mod q, mais puis se multiplie sur k-1 (mod q).

Si la fonction de la réduction modulaire n'est pas accomplie au temps fixé, le temps de la signature complète doit corréler avec le temps les calculs (x Ћ r mod q). Attaquant peut calculer et compenser le temps demandé pour le calcul H (m). Puisque H (m) a approximativement le même montant que q, son addition exerce l'influence insignifiante sur le temps de la réduction modulaire. Les bits les plus signifiants x Ћ r sont utilisés d'habitude par les premiers dans la réduction modulaire. Ils dépendent de r, qui est connu, et des bats les plus signifiants de la signification confidentielle x. Ainsi, il y avoir exister une corrélation entre les significations des bits principaux x et le temps total de la réduction modulaire. En utilisant les plus grandes probabilités selon les significations, l'attaquant peut tenter d'identifier les bits principaux x. Plus le bit x est connu, il est plus grand et le bit x Ћ r on sait, en permettant attaquant modeler de plus en plus des itérations du cycle de la réduction modulaire, en attaquant tous les nouveaux bits x. Si k-1 - est calculé d'avance, les signatures DSS demandent seulement 2 opérations de la multiplication modulaire, produisant potentiellement temporaire le bruit, qui doit être filtré.


 9. Le déguisement des caractéristiques temporaires



La voie la plus évidente de la prévention des attaques par l'analyse temporaire comprend que toutes les actions occupent exactement même временя. Malheureusement, cela arrive souvent difficilement. La création du logiciel, particulièrement le platformo-indépendant, pour qu'il soit accompli au temps fixé, est très difficile, parce que l'optimisation du compilateur, les atteintes à de programme кэш, le temps de l'exécution des instructions et d'autres facteurs peuvent apporter les hésitations inattendues pendant l'exécution. Si pour le retard des résultats rendus jusqu'au temps défini est utilisé таймер, les facteurs comme "la résonance du système" (responsiveness) ou la consommation énérgetique peuvent servir encore des signes de la fin réelle de l'opération. Aussi certains systèmes d'exploitation montrent le pour-cent de l'utilisation ЦПУ par le procès. De plus, les réalisations avec le temps fixé seront lentes; La plupart оптимизаций ne pourra pas être utilisée, puisque toutes les actions doivent occuper le temps, l'exécution de l'opération la plus lente. (La remarque : si le pas non obligatoire Ri = (si Ћ y) mod n accomplir toujours, on ne peut pas appeler une telle réalisation accompli au temps fixé, car attaquant peut utiliser les caractéristiques temporaires de la construction au carré et les actions ultérieures du cycle).

Une autre approche comprend pour faire les mesures du temps tellement inexact pour que l'attaque devienne irréalisable. Les retards accidentels ajoutés au procès, augmenteront la quantité nécessaire шифрованного du texte pour l'attaquant, mais il pourra surmonter cela par l'augmentation du nombre des mesures. Le nombre demandé des significations est estimé grossièrement comme le carré du bruit. Par exemple, si la construction modulaire au degré, les caractéristiques temporaires de qui ont l'écart type 10 мс, peut être forcée pour 1000 mesures du temps, le supplément du retard accidentel normalement distribué avec l'écart type à 1 seconde demandera approximativement(1000мс/10мс) ^2 (1000) = 107 significations. (La remarque : le retard doit être quelques secondes pour que son écart type serait à 1 seconde). Bien que 107 significations - plus que la plus grande quantité possible de significations, que l'on peut recueillir, le facteur de la sécurité à 107 ne soient pas considérées d'habitude assez adéquates.


 10. La prévention de l'attaque



Heureusement, il y a une meilleure décision. Les méthodes utilisées pour скрытия des signatures [1], peuvent être adaptées pour prévenir la connaissance attaquant des données d'entrée vers la fonction modulaire de la construction au degré. Avant le calcul modulaire les exposants, choisissez la paire accidentelle (vi, vf), une telle que vf-1 = vix mod n. Pour la méthode de Diffi-Hellmana choisir le plus simplement accidentel vi, puis calculer vf = (vi-1) x mod n. Pour RSA il vaut mieux choisir accidentel vf, mutuellement simple vers n, puis calculer vi = (vf-1) e mod n, où e - ouvert l'exposant. Avant la construction modulaire au degré, les données d'entrée doivent être multipliés sur vi (mod n), mais plus tard le résultat est corrigé par la multiplication sur vf (mod n). De plus le système doit rejeter messages égaux 0 (mod n).

Le calcul des inversions mod n lentement, c'est pourquoi non raisonnablement choisir nouvel accidentel (vi, vf) une paire pour chacun nouveau les exposants. De plus, le calcul lui-même vf = (vi-1) x mod n peut être soumis à l'analyse temporaire. Cependant (vi, vf) les vapeurs ne doivent pas être être utilisé de nouveau, puisqu'ils peuvent être découverts par l'analyse temporaire que fait confidentiel à l'exposant vulnérable. La décision effective de ce problème - la modernisation vi and vf devant chaque pas de la construction modulaire au degré, en calculant vi ' = vi2 and vf ' = vf2. Les dépenses totales pour cela seront petites (2 constructions modulaires au carré, qui peut être calculé d'avance, plus de 2 multiplications modulaires). Il est possible d'utiliser et la modernisation plus complexe des paire, en utilisant les ordres est plus haut 2, la multiplication par une autre paire (vi, vf) etc., mais cela n'apportera pas les nouveaux avantages.

Si (vi, vf) se trouve dans le secret, l'attaquant n'a pas aucune information utile en ce qui concerne les données d'entrée pour la fonction de la construction modulaire avec le degré. Donc, le maximum de ce que peut apprendre l'attaquant, est une distribution totale du temps pour les actions de la construction au degré. Pratiquement, ces distributions sont proches vers normal et 2w l'exposant on ne peut pas distinguer. Cependant, la fonction spécialement élaborée par le malfaiteur de la construction modulaire au degré pourrait théoriquement avoir la distribution avec aigu par les pics correspondant aux bits les exposants, et dans ce cas скрытие, probablement, ne préviendra pas temporaire l'analyse.

Même en utilisant скрытие, la distribution reflétera un moyen temps de l'opération que l'on peut utiliser pour trouver хаммингский le poids les exposants. Si est important l'anonymat ou si on demande le camouflage ultérieur, de l'exposant peut être multiplié sur accidentelphi (n) avant chaque construction modulaire au degré. Si cela se fait, il faut se persuader que le procès de la multiplication n'a pas les caractéristiques temporaires, qui peuvent découvrirphi (n). Une telle technique peut être utile et dans la prévention des attaques, qui utilisent la fuite de l'information pendant la construction modulaire au degré à cause des irradiations électromagnétiques, les hésitations dans la productivité du système, les changements de la consommation de l'énergie etc. jusqu'au changement du bats les exposants dans chaque opération.


 11. La direction ultérieure des études



Temporaire l'analyse peut en principe être utilisée contre les autres криптосистем, y compris les symétriques. Par exemple, dans la réalisation de programme DES [4] significations de 28 bits Avec et D tournent souvent (rotate), en utilisant la condition, qui contrôle, si doit un bit être enveloppé autour. Le temps supplémentaire demandé pour déplacer les bits excellents du zéro, peut un peu se faire sentir la productivité шифрования ou le temps de la préparation (setup) des clés. La productivité du chiffre peut montrer ainsi хаммингский le poids de la clé qu'accordera en moyenne leequation not displayed bit de l'information clé. IDEA [3] utilise la fonction $f () $ avec la multiplication selon le module (216 + 1), qui ne sera pas accompli d'habitude au temps fixé. RC5 [7] sera sous la menace sur les quais, où битовое la rotation est accomplie au temps variable. Les atteintes à de programme кэш peuvent donner au malfaiteur les caractéristiques temporaires Blowfish [11], SEAL [9], DES et les autres des les chiffres, si les tableaux à la mémoire ne sont pas utilisés également pour chacune зашифровки. Si les études supplémentaires sont nécessaires pour définir sont les réalisations concrètes sont vulnérables et, si cela ainsi, le degré de leur vulnérabilité. On en détail étudiait aujourd'hui seulement quelques systèmes définis, mais les attaques contre la multiplication montgomeri/qui dans les réalisations RSA et DSS sont encore purement théoriques. Les compléments ultérieurs des attaques peuvent être aussi possibles. L'attaque directe sur p et q à RSA avec l'utilisation QUI serait particulièrement importante.


 12. Les conclusions



En général, n'importe quel canal, qui peut porter l'information du domaine protégé à l'extérieur doit être étudié comme potentiellement vulnérable. Les caractéristiques temporaires dépendant de la réalisation sont un de tels canaux et peuvent parfois être utilisés pour le dévoilement des clés confidentielles. Les algorithmes vulnérables, les procès-verbaux et les systèmes doivent être reconsidérés pour insérer les mesures de la résistance à l'analyse temporaire et les attaques liées à lui.


 13. De la reconnaissance



Je suis reconnaissant Matt Blaze, Joan Feigenbaum, Martin Hellman, Phil Karn, Ron Rivest et Bruce Schneier de leur soutien, les commentaires utiles et les propositions sur l'amélioration du manuscrit.


 Les références :



  1. D. Chaum, "Blind Signatures for Untraceable Payments," Advances in Cryptology : Proceedings of Crypto 82, Plenum Press, 1983, pp. 199-203.
  2. W. Diffie and M.E. Hellman, "New Directions in Cryptography," IEEE Transactions on Information Theory, 22 informatique, n. 6, Nov 1976, pp. 644-654. :
  3. X. Lai, On the Design and Security of Block Ciphers, ETH Series in Information Processing V. 1, Konstanz : Hartung-Gorre Verlag, 1992. :
  4. National Bureau of Standards, "Data Encryption Standard," Federal Information Processing Standards Publication 46, January 1977. :
  5. National Institute of Standards and Technology, "Digital Signature Standard," Federal Information Processing Standards Publication 186, May 1994. :
  6. P.L. Montgomery, "Modular Multiplication without Trial Division," Mathematics of Computation V. 44, n. 170, 1985, pp. 519-521. :
  7. R.L. Rivest, "The RC5 Encryption Algorithm," Fast Software Encryption : Second International Workshop, Leuven, Belgium, December 1994, Proceedings, Springer-Verlag, 1994, pp. 86-96. :
  8. R.L. Rivest, A. Shamir, and L.M. Adleman, "A method for obtaining digital signatures and public-key cryptosystems," Communications of the ACM, 21, 1978, pp. 120-126. :
  9. P.R. Rogaway and D. Coppersmith, "A Software-Optimized Encryption Algorithm," Fast Software Encryption : Cambridge Security Workshop, Cambridge, U.K., December 1993, Proceedings, Springer-Verlag, 1993, pp. 56-63. :
  10. RSA Laboratories, "RSAREF : A Cryptographic Toolkit," Version 2.0, 1994, available via FTP from rsa.com. :
  11. B. Schneier, "Description of a New Variable-Length Key, 64-bit Block Cipher (Blowfish)," Fast Software Encryption : Second International Workshop, Leuven, Belgium, December 1994, Proceedings, Springer-Verlag, 1994, pp. 191-204.

:


1. Dans l'article ne dit nulle part sur les exigences présentées à la productivité de l'ordinateur attaquant. On peut faire de cette phrase la conclusion qu'elle doit être même, comme près de l'ordinateur attaqué. - rem. la ruelle

Яндекс цитирования

Subscribe Subscribe.Ru
The Family Tree of Family