Cryptographie Basique
\( \text{cryptogramme} = \text{chiffrer}(message, clé) \)
Transformation du message
Algorithmes classiques :
César (décalage alphabétique)
Vigenère (clé variable)
Substitution monoalphabétique
XOR (opération bit à bit)
Vigenère (clé variable)
Substitution monoalphabétique
XOR (opération bit à bit)
Définition :
Technique de transformation des données pour assurer la confidentialité et l'intégrité
Concepts Fondamentaux
Chiffrement - Transformer le message clair
Déchiffrement - Retrouver le message original
Clé - Paramètre secret de transformation
Confidentialité - Empêcher la lecture non autorisée
Intégrité - Garantir l'immutabilité
Types de Chiffrement
Symétrique - Même clé pour chiffrer/déchiffrer
Asymétrique - Clés différentes (publique/privée)
Par bloc - Traite des blocs de données fixes
Méthodes & Conseils
Protéger la clé de chiffrement
Choisir des algorithmes éprouvés
Utiliser des clés suffisamment longues
Combiner plusieurs méthodes de sécurité
Valider l'intégrité des données chiffrées
Code Exemple
# Chiffrement de César
def chiffre_cesar(texte, decalage):
resultat = ""
for char in texte:
if char.isalpha():
ascii_offset = ord('A') if char.isupper() else ord('a')
resultat += chr((ord(char) - ascii_offset + decalage) % 26 + ascii_offset)
else:
resultat += char
return resultat
# Exemple
message = "HELLO"
chiffre = chiffre_cesar(message, 3)
print(f"Message: {message} -> Chiffré: {chiffre}")
Algorithmes Basiques
César : Décalage fixe des lettres (ex: A→D, B→E)
Vigenère : Clé variable pour chaque lettre
XOR : Opération bit à bit avec la clé
Substitution : Remplacement selon correspondance
Application Pratique
Domaines d'utilisation :
Communication sécurisée
Protection des données sensibles
Authentification
Transactions bancaires
Protection des données sensibles
Authentification
Transactions bancaires
Principes de sécurité :
Confidentialité des communications
Intégrité des données
Non-répudiation
Authenticité
Intégrité des données
Non-répudiation
Authenticité