> Tech > Exemple de cryptage

Exemple de cryptage

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Supposons le cryptage du texte clair sensible à la casse (majuscules/ minuscules) Squeamish Ossifrage avec notre modulo 100.160.063 et notre clé publique 10.037. SIMPLE sépare le texte clair en blocs de deux octets, puis il ajoute un troisième octet aléatoire à chaque bloc et crypte des blocs de

trois octets.

Le troisième octet aléatoire dans chaque bloc aide à déjouer la cryptanalyse. Si vous cryptez le même texte clair avec la même clé de façon répétitive, vous obtenez chaque fois des textes chiffrés différents. Supposons que SIMPLE ajoute le caractère aléatoire Ñ après les deux premiers octets. Notre premier bloc à crypter est donc SqÑ, qui est X’E29869′ en EBDIC, qui est 14.850. 153 en décimal. L’algorithme RSA nous présente le défi suivant :

ciphertext = 14.850.153 **

10.037 // 100.160.063; Ouah – 14.850.15310037 est un nombre gargantuesque !

Franchement, le fait de le calculer à sa pleine longueur est une victoire à la Pyrrhus parce que, en définitive, le texte chiffré n’est pas un nombre gargantuesque, mais simplement un nombre inférieur à 100.160.063. On peut faire cela d’une manière plus simple. A côté de mon poste de travail, j’ai toujours un boulier. Il me distrait lorsque j’attends, par exemple, que Windows se « dégèle ».

Mon boulier est la version chinoise à sept boules. Deux boules au-dessus d’une barre horizontale peuvent chacune « reporter » ou « emprunter » cinq boules au-dessous de la barre. Face à notre problème de texte chiffré RSA, il est pertinent de vouloir fragmenter un problème arithmétique ardu en quelques étapes simples.

Dans ce cas, le boulier divise un problème arithmétique ardu en quelques étapes simples consistant à pousser des boules vers le haut et vers le bas pour reporter ou emprunter des cinq sur la barre en utilisant l’arithmétique binaire/quinaire. Si je commence un problème de boulier 45 minutes après l’heure et si Windows se dégèle 18 minutes plus tard, nous serons trois minutes après l’heure.

C’est une simple arithmétique d’horloge : (45 + 18) // 60 = 3. C’est aussi de l’arithmétique modulo avec le modulo 60. Par rapport à notre problème de texte chiffré RSA, il est pertinent de considérer que l’arithmétique modulo a une propriété distributive. Notre « horloge » RSA (façon de parler) a 100.160.063 minutes dans une heure au lieu de 60.

Si nous pouvons injecter la propriété distributive de l’arithmétique modulo dans notre calcul de texte chiffré RSA et diviser le problème en étapes plus simples (comme un boulier), nous pouvons alors éviter l’écueil de nombres gargantuesques et garder les résultats intermédiaires au-dessous de 100.160. 063. Commençons par noter que notre clé publique 10.037 est la somme de huit puissances de 2 : 10,037 = 20 + 22 + 24 + 25 + 28 + 29 + 210 + 213 = 1 + 4 + 16 + 32 + 256 + 512 + 1.024 + 8.192

J’utiliserai la lettre « p » pour indiquer notre valeur de texte clair 14.850.153 et la lettre « m » pour indiquer notre valeur modulo 100.160. 063. Le code REXX utilise cet algorithme pour calculer notre texte chiffré. Simplement, il élève au carré et calcule les restes du texte clair, à répétition.

Aucun nombre gargantuesque n’émerge. Il écrit des instructions REXX à la volée dans une variable nommée ABACUS, puis il exécute toutes les instructions dynamiques nouvellement écrites d’un seul coup en utilisant une instruction INTERPRET ABACUS. L’instruction INTERPRET ABACUS traverse ces huit ensembles de multiplications et de restes séquentiellement, sans accumuler des résultats temporaires gargantuesques.

Le texte chiffré de notre premier bloc est 79.731.027, ou GSMJHZ en hexavigesimal. A noter qu’un point sépare les blocs dans le texte chiffré. On a bien récupéré notre texte clair : Squeamish Ossifrage.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010