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é

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,133