Cryptographie

On commence par corriger l’exercice donné sur le routage.


Cryptographie : chiffrement symétrique, asymétrique, en pratique dans HTTPS ?

On utilise l’excellent support de Gilles Lassus, ici.


Le code de la première activité :

from operator import xor


def chiffre(message_clair, masque):
    """chiffre message en le XORant avec masque"""
    assert len(message_clair) <= len(masque)

    reponse = ""
    # parcours du message à chiffrer
    for i in range(len(message_clair)):
        a = ord(message_clair[i])
        b = ord(masque[i])
        x = xor(a, b)
        reponse += chr(x)

    return reponse


# pour réviser le xor
print(xor(42, 96))  # 74 = 64 + 8 + 2 attendu
# car 00101010 xor 01100000 donne 01001010
print(xor(74, 96))  # 42 le nombre de départ

# la vraie question

masque = "CETTEPHRASEESTVRAIMENTTRESTRESLONGUEMAISCESTFAITEXPRES"

message_code = chiffre("HELLO WORLD OF NSI ! JE CHIFFRE :-)", masque)
print(message_code)
print(chiffre(message_code, masque))

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.