Le chiffrement affine


  • Y

    Bonsoir à tou(tes)s,
    j'ai un DM de spé pour jeudi. On a commencé en cours sur PC et la prof ne nous a pas tous expliqué la méthode de l'exercice.
    Voilà l'énoncé:

    "On souhaite chiffrer un message. Chaque lettre en majuscule est remplacée par son rang entre 0 et 25 dans l'alphabet, les autres signes (espaces, traits d'union, etc...) sont supprimés.
    On se donne un couple d'entiers (a;b) et à chaque rang x de la lettre en clair, 0≤x≤25, on associe le rang r(x) de la lettre chiffrée qui est le reste de la division euclidienne de ax+b par 26. Ainsi, on a : r(x)≡ax+b(26) et 0≤r(x)<26.
    (a;b) est appelé la clé du codage.

    I. Décodage automatique à l'aide d'un tableur d'un message codé par un chiffrement affine connu
    A. Détermination de la fonction de décodage
    Objectif: connaissant le chiffrement affine de clé (17;5) qui au rang d'une lettre en clair, x, associe le rang y de la lettre codée tel que y≡17x+5(26), on veut trouver l'expression de x en fonction de y (avec x et y compris entre 0 et 25) permettant de décoder le message.

    1.Construire à l'aide de la fonction MOD d'un tableur la table de multiplication modulo 26.
    J'ai réussi à le faire.
    2.En déduire l'entier naturel u compris entre 0 et 25 tel que 17u≡1(26)
    u=23
    3.En déduire que si y≡17x+5(26) alors x≡u(y-5)(26).
    Énoncer et démontrer la réciproque.
    4.En déduire la fonction de décodage.

    B. On souhaite décoder le message suivant qui est une citation d'un philosophe mathématicien du XVIIIe siècle. Son nom codé est : NJSEJINVQ
    La citation codée est :
    IVCVQ VIKFQ UVJIL VNJBB VLSHQ LKVAJ HISVZ FAAKL RHVIR FHGNU JZVZH ZHVKK VZNVZ QAIJA JZVIE VIVQI FSNUV IKVZI FNLSV ZEHSF IWIVZ JHZAI VQVGQ VRHVK KVZSV AJIQV SQAJL SQEVM IHLQZ
    Commencer par décoder le nom du philosophe (sur les lignes 1 à 4), puis décoder la citation en suivant les indications :

    1.Écrire le message à décoder en ligne 6.
    2.Chiffrer ce message à decoder en ligne 7.
    3.Puis le decoder en utilisant la fonction décodage en ligne 8.
    4.En déduire la citation sur la ligne 9."

    Merci d'avance pour votre aide ! 😄


  • C

    Bonjour yonel,

    1. oui, u=23

    2. Tu pars de y≡17x+5(26), tu multiplies par u, et pour simplifier tu utilises le fait que 17u≡1(26)

    3. Tu connais u, tu utilises le 3... La fonction de codage est y≡ax+b(26), la fonction de décodage doit ressembler à x≡a'y+b'(26)
      À toi de trouver a' et b'.

    B. Je ne comprends pas trop cette histoire de lignes.
    Sinon voilà un algorithme qui fait ton décodage (à utiliser directement en ligne)

    http://proglab.fr/aqv553

    (la fonction de décodage utilisée n'est pas exactement celle que tu dois trouver au 4, elle a été modifiée en utilisant le modulo 26 pour donner toujours des nombres positifs.


  • Y

    Bonsoir, merci pour votre réponse.
    Je pouvoir me débrouiller pour le A. Je demanderai de l'aide à ma prof pour le B.
    Bonne soirée. 😄


Se connecter pour répondre