La cryptographie est l’art de dissimuler des informations sous une forme illisible. La cryptographie moderne est un domaine qui croise les mathématiques, l’informatique et le génie électrique. Avant l’ère moderne, la cryptologie était presque synonyme de chiffrement, où l’information était convertie d’un état lisible à un état apparemment dépourvu de sens.
La capacité de protéger et de sécuriser l’information est vitale pour la croissance du commerce électronique et pour Internet. Le chiffrement des données joue un rôle majeur dans la sécurité. Par exemple, les banques utilisent des méthodes de chiffrement pour protéger les transactions financières et les numéros d’identification de leurs clients.
De nombreuses entreprises en ligne utilisent des techniques de chiffrement pour sécuriser les transactions effectuées via des cartes de crédit. Les clients souhaitent savoir si leurs informations financières sont en sécurité. Votre directeur informatique vous donnera des instructions pour chiffrer les données à l’aide de divers algorithmes afin de sécuriser les informations de l’organisation.
Pour ce laboratoire, vous devez écrire du code pour différentes techniques de chiffrement classiques et les analyser. Assurez-vous d’ajouter des titres, des étiquettes d’axe et des légendes aux graphiques.
Ce laboratoire vous apprendra à :
Dans ce TP, nous appliquerons plusieurs chiffrements classiques tels que le chiffre de César, et analyserons leur niveau de sécurité.
Le but de cet exercice est d’implémenter des fonctions Python pour le chiffrement/déchiffrement avec le chiffre de César, ainsi que pour les attaques. Le chiffre de César est une variante du chiffre de décalage (avec une clé secrète k = 3) utilisé par Jules César.
$c = (p + k)\ \%26$
Pour récupérer le texte en clair :
$p = (c - k)\ \% 26$
où $p$ et $c$ représentent respectivement la valeur numérique des lettres de l’alphabet original et chiffré. De plus, $\%$ est la fonction modulo qui renvoie le reste de la division. En outre, la fonction d’index fournit la représentation décimale des lettres de l’alphabet. L’utilisation du reste de la division à la fin nous garantira que le caractère chiffré/déchiffré fera toujours partie de l’alphabet (supérieur ou égal à 0 et inférieur à 26).