Arithmétique Modulaire

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données avancés
Advertisements

COURS DE MATHEMATIQUES DISCRETES SM
INTRODUCTION 1. Une représentation du signal où le bruit est isolé
La spécialité mathématique en TS
Enseigner l’arithmétique en série L
Autour des nombres en première L(option) et en terminale L (spécialité) Marie-Françoise BOURDEAU Jeanne-Marie DUMAS.
Algorithme des différences Fraction irréductible
DIVISION EUCLIDIENNE 1. Définition 2. Propriétés de la division
INTRODUCTION.
Présentation Unité de codage
CHAPITRE 3 Calcul numérique et puissances
Par Clément en vacances sur la Côte d’Azur Le 17 décembre 2011
Conception et analyse des algorithmes
Progression Mathématiques CM1-CM2
PGCD : sous ce sigle un peu bizarre se cache un outil bien utile dans les simplifications de fractions, mais aussi dans bien des problèmes de la vie courante…
Module 1 Module 1.
Le codage des nombres en informatique
DIVISIONS 1) La division euclidienne: Définition: Une division euclidienne est une division entre nombres entiers. dividende diviseur a b r q quotient.
Nombres entiers. Ensembles de nombres
Particularités des calculs
Division euclidienne - décimale
ARITHMETIQUE : NOMBRES PREMIERS, PGCD
Chiffrement de Lester Hill
EXERCICES D’ARITHMETIQUES
Présentation dans le cadre du congrès mathématique
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Le dernier théorème de Fermat
Analyse d’algorithmes
Méthodes de prévision (STT-3220) Section 6 Exemple: Prévisions dans un modèle AR(1) Version: 18 décembre 2008.
Mise en forme en Mathématiques
Calcul de probabilités
Quelle spécialité en Terminale S ?
Quand le français est plus important que les calculs en mathématiques
MATHÉMATIQUES DISCRÈTES Chapitre 2 (section 4)
Un peu de maths (et d’info)
Introduction Les niveaux de RAID offrent un large choix d’alternatives qui permettent de choisir un rapport performance/sécurité différent. Il est aussi.
Eléments d’arithmétique dans l’ensemble des naturels
Le codage des nombres en informatique
Fabienne BUSSAC EQUATIONS (1) 1. Définition
Arithmétique Classe 3e.
Le chiffrement asymétrique
SIG3141 Partie I: Analyse de Fourier ESIEA D Kateb
Codage des nombres réels avec la norme IEEE-754
INTRODUCTION.
La spécialité mathématique en TS
TAI DE MATHEMATIQUE Michaël Gallego, Alexis Yvin, Bruno Gabriel Promo 2013 Janvier 2009.
Codage des nombres en informatique : le système binaire.
Cette présentation est une proposition de corrigé pour le premier concours blanc donné à l’IUFM d’Alsace en L’énoncé.
Arbres binaires et tables de hachage
Programmation fonctionnelle Preuve
Chapitre -3- FRACTIONS [A] MULTIPLES ET DIVISEURS (rappels de 6°: fiche n°106) jeudi 13 avril 2017  multiples  diviseurs  critères de divisibilité 
Mathématiques Discrètes Chapitre 2 (section 3)
Langage Binaire Introduction.
Algorithme des différences
Ecritures fractionnaires Quotients
Algorithme des différences Fraction irréductible
Les régularités de la division Mathématiques 7e année
Leçon Nombres entiers et rationnels
Réalisation d’un logiciel de Chiffrement RSA.
Soit n un nombre entier supérieur ou égal à 1.
Comment améliorer les performances des élèves en calcul mental?
M. YAMANAKA – Cours de mathématiques. Classe de 6ème.
Chapitre 4b La représentation des nombres.
Opérations sur les nombres relatifs
Principe de la numération en une base donnée
Division euclidienne - décimale
Les stratégies de calcul 5 e et 6 e année. Addition.
Calcul réfléchi 3 Diviser par 4.
Chap.V RSA. I. Rappels Mathématiques La congruence Définition 1 a et b sont congrus modulo n s’ils ont même reste par la division par n. On note a≡b[n]
La place du calcul mental et du calcul réfléchi dans la résolution de problème. Qu’est-ce que chercher?
Transcription de la présentation:

Arithmétique Modulaire Comprendre le calcul dans Z modulo un entier m Des algorithmes efficaces pour le calcul dans Z/m Puissance modulaire rapide

MathématiquesInformatique Mathématique: on résout un problème en l’existence d’une solution Informatique: on cherche à construire cette solution en s’intéressant à l’efficacité de la construction

Exponentiation Calcul de xn = x.x.… x Algorithme simple : (n-1) multiplications Optimisation si n=2k xn = (((x)2 )2 .… )2 K multiplications

Entiers pairs et impairs Les nombres entiers se répartissent en entiers pairs et entiers impairs : 0 := {a  Z | a mod 2 = 0} 1:= {a  Z | a mod 2 = 1}

Entiers modulo 3 Généralisons cette idée des entiers pairs et entiers impairs, et regardons maintenant le reste modulo 3 au lieu de 2. Ici les nombres entiers se répartissent en trois classes : := {a Z | a mod 3 = 0} := {a  Z | a mod 3 = 1} := {a  Z | a mod 3 = 2}

Processeurs binaires Tout nombre entier a s’ écrit de manière unique en base B comme: a = (an, an−1, . . . , a1, a0)B := anBn + an−1Bn−1 + · · · + a1B + a0. où an, an−1, . . . , a1, a0  Z vérifient 0 ≤ak ≤ B pour tout k. Calculer modulo B signifie que l’on ne retient que le dernier « chiffre » a0. Calculer modulo Bk signifie que l’on ne retient que les k derniers chiffres. Exemple Un processeur à 64 bits fournit des « petits entiers » allant de 0 à 264 − 1. Si le résultat dépasse la plage {0, . . . , 264 − 1}, le processeur ne retient du résultat que les 64 bits bas et supprime d’éventuels bits hauts. Ceci revient à réduire systématiquement tous les calculs modulo 264. Conclusion La structure mathématique ainsi implémentée n’est pas l’anneau (Z,+, ·) des entiers mais l’anneau quotient (Z/264 ,+, ·) des entiers modulo 264.

La congruence modulo m Définition (congruence modulo m) Soient a, b,m  Z. Si m | a − b, on dit que a et b sont congrus modulo m, ou aussi que a est congru `a b modulo m, noté a  b mod m ou ab (m). Exemples a  b (0) si et seulement si a = b. a  b (1) pour tout a, b  Z. a  b (2) si et seulement a et b ont la même parité.

La congruence modulo m est une relation d’équivalence Proposition (relation d’équivalence) Pour tout a, b, c  Z on a a  a (m) (réflexivité) a  b implique b  a (symétrie) a  b et b  c impliquent a  c (transitivité)

La congruence modulo m représentant canonique Proposition Si a = qm + r alors a  r (m). En particulier r = a mod m vérifie a  r (m). Si m > 0 et 0 ≤ r < m, 0 ≤ r0 < m, alors r  r0 (m) implique r = r0. Démonstration. Explicitons le dernier point, le reste étant clair. On peut supposer que r ≥ r’. Ainsi on obtient 0 ≤ r − r’ < m. Or, la congruence r  r’ (m) veut dire que m | r − r’. Ceci n’est possible que pour r − r' = 0. Autrement dit, pour m > 0 et tout a Z le reste r = a mod m est l’unique représentant de la classe de congruence de a modulo m vérifiant 0 ≤ r < m.

Calcul modulo m : compatibilité Proposition (compatibilité avec les opérations) Si a  a’ (m) et b  b’ (m) alors a + b  a’ + b’ (m). a · b  a’ · b’ (m). an  a’n (m).

Calcul modulo m : exemples Si a = (an, an−1, . . . , a1, a0)10 = an10n + an−110n−1 + · · · + a110 + a0, alors a  a0 (10) car 10  0 (10), a  nk=0 ak (9) car 10  1 (9), a  nk=0 (-1)k (11) car 10  -1 (11), la divisibilité par 10, 9, 11. Exercice Calculer (de tête) la dernière décimale de 326587927247. Solution. Calculant modulo 10 on trouve 326587927247  927247  (−1)27247  −1  9.

L’ensemble quotient Z/m des entiers modulo m Définition Z/m = Z/mZ est l’ensemble quotient de Z par la relation de congruence Rm. On note m: Z → Z/m l’application quotient définie par m(x) := cl(x). On a la propriété fondamentale : cl(x) = cl(y) si et seulement si x  y (m).

Implémentation des opérations modulo m Calculer dans le quotient Z/m, c’est calculer dans Z modulo m, c’est donc la r éduction au reste de la division euclidienne par m.

Exponentiation binaire Idée: décomposer l’exposant en écriture binaire Exemple: n= 6=4+2 x6=1.x2.x4 = (((1)2 x)2 x)2 .1 n=11=8+2+1 x11=x.x2.x8 = ((((1)2 x)2 1)2 x)2.x

Exponentiation binaire y= 1; n= 0k bi .2i for i =0, k do y = y2 if bi = 1then y = y.x done Return y

Exponentiation modulaire Soient a, x et n ; calculer ax mod n Surtout ne pas faire le calcul Exemple: 29987654321 = 1 mod 7 Calcul immédiat: faire les réductions modulaires au fur et à mesure

Exponentiation binaire y= 1; n= 0k bi .2i for i =0, k do y = y2 mod n if bi = 1then y = y.a mod n done Return y

Exponentiation binaire y= 1; P=a; w hile x > 0 do if x impair then y = y . P mod n n = x / 2; P = P2 mod n; done Return y