Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
cryptologie

cryptographie & cryptanalyse

ARITHMÉTIQUE MODULAIRE

Publié le 18 Janvier 2014 par Levy

Bonjour, après un long moment d'inactivité me voici de retour avec un nouvel article sur l'arithmétique modulaire.
Pour beaucoup d'entre vous cela ne veut rien dire, mais d'ici une vingtaine de minutes ce ne sera plus le cas.

C'est un peu comme l'arithmetique habituelle à quelques diférences près.Par exemple si l'on travaille en modulo n , tout resultat x sera remplacé par un élément de  {0, 1, . . . , n − 1} qui est congru à x modulo n (autrement dit, x est remplacé par x mod n). 

Ce modèle informel est suffisant si l’on s’en tient aux opérations d’addition, de soustraction et de multiplication. Un modèle plus formel pour l’arithmétique modulaire, que nous allons donner maintenant, se décrit plus aisément dans le cadre de la théorie des groupes.

  • Les groupes finis

En mathématiques, un groupe fini est un groupe constitué d'un nombre fini d'éléments.

Un groupe (S, ⊕) est un ensemble S associé à une opération binaire ⊕ définie sur S
qui vérifie les propriétés suivantes.

  • Composition interne (fermeture) : Quels que soient a et b ∈ S, on a a ⊕ b ∈ S.
  • Elément neutre : Il existe un élément e ∈ S, appelé élément neutre du groupe,tel que e ⊕ a = a ⊕ e = a pour tout a ∈ S.
  • Associativité : Quels que soient a, b, c ∈ S, on a (a ⊕ b) ⊕ c = a ⊕ (b ⊕ c).
  • Symétrique : Pour chaque a ∈ S, il existe un élément b ∈ S unique, appelésymétrique de a, tel que a ⊕ b = b ⊕ a = e.

Comment voir plus simplement un groupe.Il est toujours simple de representer les choses mathématiques par quelques choses de physique, disons palpable.

Par exemple un groupe comme un ensemble de personnes.Le groupe est groupe uniquement parce que les gens sont en interactions entre eux, si non ce ne serait pas un groupe.Ainsi dans un groupe de personnes les opérations que l'on peut avoir c'est par exemple "saluer","dire bonjour".
Bref je pense que vous avez compris.

Considérons l’exemple du groupe bien connu (Z, +) des entiers Z muni de l’addition :

0 est l’élément neutre, et le symétrique de a est −a. Si un groupe (S, ⊕) respecte en
plus la loi de commutativité a ⊕ b = b ⊕ a pour tout a, b ∈ S, on dit alors qu’il est
abélien. Si un groupe (S, ⊕) est tel que |S| < ∞, on dit que c’est un groupe fini.

  • Les classes d'équivalence

La congruence sur les entiers est une relation pouvant unir deux entiers. Elle fut pour la première fois étudiée en tant que structure par le mathématicien allemand Carl Friedrich Gauss à la fin du xviiie siècle et présentée au public dans ses Disquisitiones arithmeticae en 1801. Elle est aujourd'hui couramment utilisée en théorie des nombres, en algèbre générale et en cryptographie. Elle représente le fondement d'une branche mathématique appelée arithmétique modulaire.C'est une arithmétique où l'on ne raisonne pas directement sur les nombres mais sur leurs restes respectifs par la division euclidienne par un certain entier : le module (qui sera noté n tout au long de l'article). On parle alors de congruence.

Étant donné un entier n, on peut séparer les entiers qui sont multiples de n de ceux qui
ne le sont pas. Une grande partie de la théorie des nombres est basé sur un affinement
de ce partitionnement, obtenu en classant les non multiples de n selon la valeur du
reste de leur division par n. Le théorème suivant est à la base de cet affinement.

Théorème (Théorème de la division) Pour tout entier a et tout entier positif n,
il existe deux entiers q et r uniques tels que 0 r < n et a = qn + r.

La valeur q = a/n est le quotient de la division. La valeur r = a mod n est le
reste de la division. On a n | a si et seulement si a mod n = 0.
Les entiers peuvent être divisés en n classes d’équivalence en fonction du reste de
leur division par n. La classe d’équivalence modulo n qui contient un entier a est
[a] n = {a + kn : k ∈ Z} .

Par exemple, [3] 7 = {. . . , −11, −4, 3, 10, 17, . . .} ;

cet ensemble se note aussi [−4] et [10] 7 .On peut dire que écrire a ∈ [b] n est la même chose qu’écrire a ≡ b (mod n). L’ensemble de toutes ces classes d’équivalence est

Zn = {[a] n : 0 <= a <=n − 1} 
 

 

  • Groupes définis par l’addition et la multiplication modulaire

On peut former deux groupes abéliens finis à l’aide de l’addition et la multiplication

modulo n, où n est un entier strictement positif. Ces groupes sont basés sur les classes
d’équivalence des entiers modulo n.

 

+6 0 1 2 3 4 5
0 0 1 2 3 4 5
1 1 2 3 4 5 0
2 2 3 4 5 0 1
3 3 4 5 0 1 2
4 4 5 0 1 2 3
5 5 0 1 2 3 4

 

Un tel tableau peut être facilement rempli avec un programme en langage C par exemple:

 Il suffit de créer une matrice que l'on va remplir avec (n+m) mod 6.

On peut voir facilement que 

[a]n +n [b]n = [a + b]n ,

[a]n ·n [b]n = [ab]n .

Commenter cet article