Apprendre la programmation en VBA pour EXCEL par la pratique - Quatrième partie

Apprendre la programmation en VBA pour EXCEL par la pratique - Quatrième partie Tome 4 - Un algorithme de chiffrement/déchiffrement des cellules pour une meilleure confidentialité Par Laurent OTT Date de publication : 3 septembre 2017 Ce cours est une suite de la série sur « apprendre la programmation en VBA pour Excel par la pratique ». Dans ce tome 4, vous allez apprendre la cryptologie en VBA pour chiffrer des cellules Excel. Merci pour vos avis. Commentez En complément sur Developpez.com • Tome 1 - Des bases de la programmation à l'algorithme de classement rapide QuickRanking • Tome 2 - Des bases de la programmation en mode graphique à la programmation d'un jeu d'arcade en VBA et Microsoft Excel • Tome 3 - Apprendre la programmation en VBA pour EXCEL par la pratique - Troisième partie Apprendre la programmation en VBA pour EXCEL par la pratique - Quatrième partie par Laurent OTT I - Introduction..............................................................................................................................................................3 II - Les bases de la cryptologie - Les cryptosystèmes symétriques........................................................................... 3 III - La cryptologie moderne - Les cryptosystèmes asymétriques...............................................................................6 IV - CryptoVBA - Un cryptosystème adapté à EXCEL............................................................................................... 8 V - L'interface de l'application CryptoVBA................................................................................................................ 10 VI - Ça marche aussi pour les autres applications...................................................................................................12 VII - Ça marche aussi pour chiffrer ou déchiffrer un fichier......................................................................................14 VIII - Utiliser un mot de passe au lieu d'une clé.......................................................................................................14 IX - Lancer automatiquement CryptoVBA à l'ouverture d'EXCEL.............................................................................15 X - Conclusion........................................................................................................................................................... 16 Annexe 1. La programmation VBA............................................................................................................................17 Annexe 2. Les fonctions mathématiques de calcul de modulo.................................................................................20 Annexe 3. Code VBA d'un cryptosystème asymétrique adapté à EXCEL................................................................21 Annexe 4. Utiliser CryptoVBA dans un autre projet..................................................................................................24 Annexe 5. Les fichiers joints..................................................................................................................................... 27 Remerciements.......................................................................................................................................................... 28 - 2 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 Laurent OTT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-4/ Apprendre la programmation en VBA pour EXCEL par la pratique - Quatrième partie par Laurent OTT I - Introduction « Ils sont invisibles, mais ils sont là, partout. Ils lisent nos messages, piratent nos ordinateurs, volent nos fichiers. Ils nous espionnent… » Si comme Alice vous êtes un brin paranoïaque, ou plus simplement si vous avez besoin de communiquer des informations confidentielles, vous utilisez certainement des logiciels permettant de chiffrer vos données pour les protéger des espions. Mais comment faire dans EXCEL pour garder secret le contenu d'une cellule, qui plus est, dans un fichier partagé ? D'autant que les solutions proposées par EXCEL pour protéger une feuille ou un projet VBA n'apportent qu'une sûreté symbolique, car il circule sur Internet des méthodes très simples et rapides pour faire sauter ces protections. Pour répondre à ce besoin de confidentialité, nous allons étudier un algorithme de chiffrement et de déchiffrement, on parle de cryptosystème, qui permet de rendre des cellules illisibles pour un utilisateur n'étant pas dans la confidence. La cryptologie regroupe deux disciplines : la cryptographie qui rend un message inintelligible pour le diffuser en toute sécurité à un destinataire qui sait comment le déchiffrer, et la cryptanalyse qui inversement vise à déchiffrer un message dont on n'est pas le destinataire légitime. Ces deux disciplines vont de pair. En effet, il est difficile d'imaginer une méthode de chiffrement sans penser aux failles qui pourraient permettre de la casser. Alors avant de rentrer dans le vif du sujet, nous allons nous initier à la cryptologie au travers une brève étude des méthodes anciennes, puis modernes, afin de mieux comprendre comment fonctionne le cryptosystème que je vous présente dans ce mémento, qui est à la frontière entre ces deux approches, et quelles sont ses failles. II - Les bases de la cryptologie - Les cryptosystèmes symétriques La cryptographie existe depuis l'antiquité. Et certains considèrent l'écriture comme une subtile invention permettant de transmettre un message dans un langage codé réservé aux érudits. L'alphabétisation se développant, il a fallu inventer d'autres méthodes pour échanger ses secrets. Ce sujet étant très documenté, vous trouverez sur Internet de nombreuses façons de chiffrer un message, par exemple sur « http://www.bibmath.net/crypto/ ». Nous n'étudierons ici que trois méthodes pour chiffrer un message constitué des 26 lettres de notre alphabet. Des cas d'école qui résument l'évolution de la cryptologie. 1re méthode : remplacer une lettre par un signe. Cela nécessite d'avoir une table de correspondance sous la main, ou une bonne mémoire. Pour déchiffrer, il faut remplacer le signe par la lettre correspondante, avec la table préalablement communiquée. Comme dans les jeux qu'on trouve sur les paquets de céréales du petit déjeuner. Une variante, connue sous le nom de « code César » permet de se passer de l'encombrante table de correspondance en remplaçant une lettre par une autre avec un décalage, par exemple de 3 lettres, dans l'alphabet. « A » devient « D », « B » devient « E », etc., « X » devient « A ». Remarquez qu'avec un décalage de 13 lettres il suffit de chiffrer le message une deuxième fois pour obtenir le déchiffrement. Cette méthode comporte un gros défaut : même sans connaître le décalage appliqué ou sans avoir la table de correspondance, l'analyse de la fréquence d'apparition des lettres, ou des signes, permet de déchiffrer facilement un message. Par exemple, si « MESSAGE CODE » est chiffré en « PHVVDJH FRGH », sachant que le « E » est la lettre la plus utilisée en français, suivi du « A » et du « S », qu'une série de deux lettres identiques représente souvent « EE », « SS », « LL », ou « NN », qu'après deux consonnes on trouve une voyelle, ce message peut être déchiffré instantanément en « PessaJe FRGe ». Avec un peu de patience et un zeste d'intuition, les autres lettres se déchiffrent rapidement. Et plus le message est long, plus les indices sont nombreux, ce qui facilite l'exercice. - 3 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 Laurent OTT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC. http://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-4/ Apprendre la programmation en VBA pour EXCEL par la pratique - Quatrième partie par Laurent OTT La 2e méthode, dite « code de Vigenère », vise à brouiller la fréquence d'apparition des lettres en faisant en sorte qu'une lettre ne soit pas toujours chiffrée de la même manière. Pour cela on introduit un « mot de passe », par exemple « SECRET », qui sert de clé pour le chiffrage, et on attribue une valeur pour chaque lettre. Espace vaut 0, « A » vaut 1, jusqu'à « Z » qui vaut 26. Pour chiffrer, on additionne la lettre de la clé et la lettre du message. Si cette valeur est supérieure à 26, on retranche 26. Soit en mathématique, le reste de la division par 26, appelé modulo. Quand on arrive à la fin de la clé on repart de sa première lettre. Inversement pour déchiffrer on soustrait du message chiffré (ou cryptogramme) la valeur de la clé, en ajoutant 26 sur les valeurs inférieures à 1. Un mécanisme permettant de chiffrer et de déchiffrer avec la même clé est dit symétrique et repose sur deux principes : • la clé est connue de l'expéditeur et du destinataire ; • la clé doit rester secrète. Voici un exemple de chiffrement avec le code de Vigenère : Si le cryptogramme « VJCEJMLFJWEYLYCUTXX » est intercepté, il semble impossible à déchiffrer sans connaître la clé. Cependant, malgré les apparences, le code de Vigenère peut être cassé, si l'assaillant à une idée du contenu du message. Reprenons cet exemple. Votre intuition est que le mot « MESSAGE » se trouve dans le cryptogramme. En soustrayant au cryptogramme le mot « MESSAGE », en partant de la première lettre, vous obtenez un message déchiffré : - 4 - Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 Laurent OTT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon uploads/S4/ tome-4.pdf

  • 16
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 04, 2022
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 1.1604MB