Développement web
Communication sécurisée
mars 2020
Gabriel Chênevert
Head of Yncréa HDF Math & Computer Science department
Information theory:
- compression
- error correction
- cryptography
Séance du 20 mars
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
- "HEL" + "LO"
- String.fromCharCode(72, 69, 76, 76, 79)
- String.fromCharCode(0x48, 0x45, 0x4C, 0x4C, 0x4F)
- String("HELLO").charCodeAt(0)
Séance du 27 mars
É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
Dev web sécurisé ADI1
By Gabriel Chênevert
Dev web sécurisé ADI1
- 1,141