Enigma – Cryptographie, Fonctionnement et implémentation

Enigma, Quèsaco ?

Comment la machine est-elle apparue ?

Un peu d’histoire…

Durant la première guerre mondiale, les allemands utilisaient le code ADFGVX pour chiffrer leurs messages. Il faut savoir que ce chiffrement était fait à la main par un soldat, il n’était donc pas possible de l’utiliser à grande échelle. Durant cette guerre, les anglais avaient réussi à décrypter ce code, et connaissaient alors les prochains mouvements de l’ennemi. Ils en ont donc tiré parti pour vaincre l’Allemagne.

Lors de la Seconde Guerre Mondiale, les Allemands ont voulu à tout prix éviter la guerre de position, très meurtrière et peu efficace. Ils ont décidé d’adopter la « guerre de mouvement » ou les avions attaquent l’arrière des lignes, pendant que l’infanterie et les chars attaquent le front sur une vaste étendue. Mais pour pouvoir coordonner cela, il leur a fallu trouver un moyen de communication, rapide et chiffré afin de pouvoir déployer leur force rapidement, sans que leurs ennemis en aient connaissance.

L’homme à l’origine de la machine allemande est Arthur Scherbius, qui déposa le brevet en 1918. Elle ne fut pas utilisée par les militaires tout de suite à cause de l’armistice. Elle fut donc d’abord commercialisée publiquement. … Lire la suite

Cours de cryptographie par Nadim Kobeissi au loop

La cryptographie, c’est bon mangez-en !Cours de Cryptographie

Et comme c’est bon, je vous recommande vivement de suivre ce cours de cryptographie en ligne, de 18 sessions d’une heure environ (pour l’instant il n’y en a que 4).
Les slides, TD, TP et Examen type sont en ligne. Vous n’avez plus qu’à vous remplir l’éponge qui vous sert de cerveau.

Le cours :

Tout est ici : https://www.courscrypto.org/

Et c’est organisé par ‘le loop‘. Dont je vous invite à jeter un œil au site pour votre culture.

Voilà vous n’avez plus qu’à suivre assidument les sessions le samedi après-midi pour devenir un vrai barbu comme Bruce Schneier…
Dont je vous recommande la lecture de cet autre site dédié à ces exploits : http://www.schneierfacts.com/. Car s’il donne des cours, ces derniers doivent être moins accessibles…^^

Byz à tous

Note : merci à « Korben » pour l’info.… Lire la suite

Les vidéos du SSTIC sont disponibles

Si comme moi, vous n’avez pas eu la chance d’aller au SSTIC cette année (Car si ça continue ils vont devoir réserver un stade pour avoir la place nécessaire pour tout le monde) :

Vous avez la possibilité de revoir l’ensemble des conférences du Symposium sur le site officiel.

Quelques présentations choisies si vous ne savez pas quoi regarder :

Voilà, passez-y du temps ! Car le SSTIC c’est bon mangez-en !

L’ensemble des présentations sont listées dans programme.

Byz.

 … Lire la suite

TP Cryptographie – Attaque d’un chiffre de Vigenère

Salut à tous,

Dans la série des TPs en cryptographie, je vais continuer à remonter le temps et les principaux algorithmes de cryptographies historiques.
Dans ce premier TP sur la cryptographie on avait vu comment mener une attaque statistique sur un chiffre de césar. Je n’avais pas souhaité vous montrer le brute-force pour la simple et bonne raison que qu’il me semble vraiment inintéressant à implémenter sur une clé de taille 26 au maximum…

Du coup, aujourd’hui on va passer au chiffre de Vigenère, avec un vrai texte de plusieurs lignes et une clé un peu plus complexe.

Prérequis

Pour que tout fonctionne bien j’ai dû faire quelques modifications sur les fonctions du TPs précédent. Notamment pour la gestion des caractères spéciaux, espaces, et autres ponctuation. Ça s’est traduit par une fonction Remove-AllButAlphabet que je vous donne ci-dessous (et que j’ai lâchement pompé ici).

<#
.SYNOPSIS
Retire tous les caractères autres que a-z dans un texte
.DESCRIPTION
Retire tous les caractères autres que a-z dans un texte, remplace les spéciaux par leur forme "classique" (ç->c ; é->e)
.INPUTS src
Le message à nettoyer
.OUTPUTS
La chaîne sans les spéciaux
.EXAMPLE
PS C:\Mon\Pc> Remove-AllButAlphabet -src 'Chiffre par Vigenère une chaîne 
… Lire la suite