Cryptosystème

Alice Seite

Yves Legris

Le 8 décembre 2016

8INF854 - Cryptographie

Introduction

C++

ABCDEFGHIJKLMNOPQRSTUVWXYZ .,

César

CBC

Affine

Vigenère

Alphabet utilisé

Principe de l'algorithme

Plaintext

Cryptext

bloc 1

bloc 2

bloc 3

bloc 4

Bourrage avec des espaces

Etape 1

César

Affine

Vigenère

Etape 2

Vigenère

César

Affine

Affine

Vigenère

César

CBC

Pioche d'une lettre dans chaque bloc (en boucle)

Etape 3

Chiffrement

Exemple

CRYPTOGRAPHIE

CRYP

TOGR

APHI

E  

Bourrage avec 3 espaces

Etape 1

C : 6

A : 3 & 5

V : ALICE

Etape 2

Vigenère

César

Affine

Affine

Vigenère

César

CBC

IV : 0101

>> 2

Etape 3

AWLD.LJ–QHL          MWI–

DC4

A.QM

WLHW

LJLI

D–          –

DC4

Chiffrement

Exemple

CRYPTOGRAPHIE

CRYP

TOGR

APHI

E

Etape 3

César

Affine

Vigenère

Etape 2

Vigenère

César

Affine

Affine

Vigenère

César

CBC

Etape 1

AWLD.LJ–QHL          MWI–

DC4

A.QM

WLHW

LJLI

D–          –

DC4

Déchiffrement

Exemple de code

string Cesar_encryption(string text, int key, string alphabet)
{
        // Entier représentant la nouvelle position
        // de la lettre chiffrée dans l'alphabet
	int pos = 0; 

        // Boucle sur l'ensemble du texte
	for (unsigned int i = 0; i < text.length(); i++)
        {
                // Addition de la clé à la lettre i
		pos = (alphabet.find(text[i]) + key) % alphabet.length();

                // On remplace la lettre originale par son chiffrement
		text[i] = alphabet[pos]; 
	}

	return text;
}

Fonction de chiffrement avec César

Arborescence

Conclusion

Alphabet restreint (29 caractères)

Échange de clés

Utilisation de la transposition & substitution

Chiffrement par bloc

Bourrage (insertion d'espaces)

Inconvénients

Avantages

Cryptosystème

By claw

Cryptosystème

  • 399