Communication sécurisée
mars 2020
Gabriel Chênevert
Head of Yncréa HDF Math & Computer Science department
Information theory:
Alice
Bob
Ève
Problème de la confidentialité
Chiffrement symétrique
ex. AES: Advanced Encryption Standard
Projet: Clavardage sécurisé
voir https://krab.fr/test
1. Créer une page web avec un textarea avec id=chatwindow
2. Ajouter un bouton "Convertir" qui remplace chaque caractère par son code hexadécimal suivi de ":"
ex. HELLO -> 48:45:4C:4C:4F
3. Implémenter un "chiffre de César" décalant chaque code hexadécimal d'une quantité fixe modulo 256
ex. HELLO + 23 -> 6B:68:6F:6F:72
Manipulation de chaînes de caractères en JS
Documentation de String
Étape 1 – Reprise du code de la semaine dernière
En utilisant comme base de travail les fichiers
crypto.html et crypto.js
disponibles sur Teams:
a) Comparer les fonctions d'encodage / décodage aux vôtres
b) Adapter / compléter votre chiffrement de César à ce canevas
Ne passer à l'étape 2 que quand...
clé = bc
message chiffré = 0b 27 dc 1f e3 21 2f 30 dc 1e 2b 2a dc dd
Attention:
Pour que l'opération soit réversible on doit faire des additions modulo 256:
(229 + 52) % 256 == 25
(25 - 52) % 256 == -27 ?? JS "modulo bug"
Étape 2 – Chiffre de Vigenère