Python : Chiffrement | Code César (Tuto Débutant / Intermédiaire)

Sdílet
Vložit
  • čas přidán 10. 11. 2019
  • Dans cette vidéo nous allons voir le chiffrement de César ( Code César ou appelé le chiffre de César ). Ce chiffrement était utilisé par Jules César et c'est l'un des premiers système de cryptage ( NB : On n'utilise pas le cryptage, mais chiffrage, le mot cryptage en soi n'a pas de sens ). Il utilise le décalage en fonction de la clef utilisé ( avec une clef de 1 on décale toutes les lettres de 1, b devient c, d devient e ... )
    Autre vidéos :
    IA de morpion : • IA de morpion en Pytho...
    Pendu python : • Jeu Python : Pendu | T...
    liste vs tuple | Python | Tuto débutant : • liste vs tuple | Pytho...
    👉 Guide pour monter son pc : • Comment monter son pre...
    ⭐Mes produits préférés:
    🖥️ Écran 144Hz incurvé 24 pouces : amzn.to/3qs5bJk
    🖱️ Souris : amzn.to/3qpNNVG
    🎤 Microphone : amzn.to/30mppcG
    ⌨️ Clavier Mécanique : amzn.to/3bp0taS
    🔊 Enceinte : amzn.to/3btBq6N
    ⚡ Composants du pc :
    Processeur : amzn.to/3kTWshQ
    Carte graphique : amzn.to/3v7PmuI
    Carte mère : amzn.to/3l2UvzJ
    🔧 RAM 16 Gb : amzn.to/3bqXuif
    🔧 SSD M2 haute performances : amzn.to/38lSQ31
    💻 Boitier PC design : amzn.to/3sYDWYv
    🔌 Alimentation 550W : amzn.to/3brj5r1
    💨 Ventirad Be quiet: amzn.to/3kTdJrA
    💨 Ventilateur boitier 120mm : amzn.to/3qsJs47
  • Věda a technologie

Komentáře • 61

  • @val_dnt
    @val_dnt Před 3 lety +5

    Oh mec t'es un bg tu viens de me sauver la vie !

  • @rayka4064
    @rayka4064 Před 4 lety +17

    PTDR a 3min16, "on retourne, en string bien évidemment"

    • @rayka4064
      @rayka4064 Před 4 lety +2

      *Ah non c est "bien sur"

  • @bertrand3055
    @bertrand3055 Před 3 lety +4

    liste = [chr(x + 97) for x in range(26)] + [chr(x + 97) for x in range(26)]

  • @Zuwuu
    @Zuwuu Před 2 lety +3

    Salut !
    La vidéo est excellente mais pourrais-tu m'expliquer comment adapter les fonctions afin d'utiliser "ord" et "chr" ?

  • @madax1419
    @madax1419 Před 4 lety +5

    J'adore tes vidéos merci !
    Juste une petite suggestion tu pourrais copier le code sur un pastbin et mettre le lien dans la description comme sa il nous suffit juste de copier le pastbin et modifier a sa sauce sinon vraiment merci tes vidéos mon manqué

    • @arthurus8374
      @arthurus8374  Před 4 lety +4

      Merci beaucoup, je viens de le mettre

    • @madax1419
      @madax1419 Před 4 lety +2

      @@arthurus8374 j'adore ton attention au commentaire merci encore

  • @st4rg0ld37
    @st4rg0ld37 Před 4 lety +2

    Merci tuto tres interessant gg +1 like et 1 abo

  • @dgerbi0595
    @dgerbi0595 Před 4 lety +3

    salut arthuuss, est ce que tu saurais m'expliquer a quoi sert
    elif liste[i]==lettre:
    # return str(liste[i+clef])
    # message_chiffré = str()
    merci

    • @bertrand3055
      @bertrand3055 Před 3 lety +1

      Déboguer en ajoutant des points d'arrêt dans un IDE comme Pycharm ou VScode !
      Seul moyen de comprendre pas à pas la valeur des variables !

  • @theapplestar2004
    @theapplestar2004 Před 3 lety

    bonjour comment on integre les maj et les accent ?

  • @dchibra8259
    @dchibra8259 Před 3 lety +2

    J’ai une question urgente pour mon cours , j’ai besoin de savoir comment faire pour si je rentre une mot en majuscule pour qu’il le prenne en compte et aussi pour les caractères spéciaux qu’il copie le même

    • @akuol8178
      @akuol8178 Před 2 lety

      salut !! Tu as eu ta réponse depuis ce temps mdr ?
      Si oui , j'aimerai bien que tu me dises comment faire
      Merci !

  • @ingridmarie-graceakelengue4194

    j'ai essayer le code mais ça retourne une liste
    comment faire?

  • @Not_YuNg
    @Not_YuNg Před 2 lety

    Salut, j'aimerai savoir pourquoi tu dédouble la liste en appelant la deuxieme liste "liste" aussi. Je pensais que ce n'était pas possible de faire deux liste avec le meme nom pourtant

    • @arthurus8374
      @arthurus8374  Před 2 lety

      j'ai sorti une version de ce code plus optimisé dans une vidéo récente et plus simple

  • @zekoseven7779
    @zekoseven7779 Před 3 lety

    Salut as -tu discord stp ?

  • @baptistegogolewski5049

    quand je lance le programme cela ne fait rien je pense que c'est à cause de "lettre" elle n'est pas défini, je ne comprends pas

  • @bertrand3055
    @bertrand3055 Před 3 lety +1

    Déboguez en ajoutant des points d'arrêt dans Pycharm ou VScode !
    Seul moyen de comprendre pas à pas la valeur des variables !

  • @arthurus8374
    @arthurus8374  Před 4 lety +2

    Le code source :
    liste=['a','b','c','d','e','f','g','h','i','j','k','m','n','l','o','p','q','r','s','t','u','v','w','x','y','z']
    for x in range(len(liste)): #Dédouble la liste
    liste.append(liste[x])
    message = input('Entrez votre message : ')
    clef = int(input('Entrez votre clef ( entre 1 et 25 ) : ')) #on précise le type, sinon Python le considère comme un string
    def chiffrage_lettre(lettre,liste,clef):
    for i in range(len(liste)):
    if lettre==' ': #au cas ou il y a un espace
    return ' '
    elif liste[i]==lettre:
    return str(liste[i+clef])
    return '?' #en cas de caractère inconnu
    message_chiffré = str()
    for lettre in message:
    message_chiffré += chiffrage_lettre(lettre,liste,clef)
    print(message_chiffré)

    • @sukofu-heika
      @sukofu-heika Před 4 lety

      Tu pourrais faire une vidéo ou juste expliquer comment faire pour que le chiffrage se fasse en chiffre, genre( a =1, b=2...), si j'écris aabba ça me donne 11221
      stp, merci pour ta vidéo

    • @sukofu-heika
      @sukofu-heika Před 4 lety

      faire une nouvelle vidéo pour augmenter le chiffrage.. par exemple la clef change d'un mot à l'autre, 🤔🤔 je sais pas je donne des idées lol
      je commence à coder et j'apprends vite, il me manque quelques notions mais t'es un bon prof

    • @arthurus8374
      @arthurus8374  Před 4 lety +1

      @@sukofu-heika Merci de ton retour, je viens de sortir une nouvelle vidéo sur le chiffrement par substitution, c'est presque la même idée que tu m'a proposé, tu pourra l'adapter facilement pour que cela code avec ton idée.

  • @Caroline-qr6xz
    @Caroline-qr6xz Před 3 lety

    Meci sa ma bien eder

  • @romainstephant626
    @romainstephant626 Před 4 lety

    salut super vidéo juste je comprends pas à quoi servent le "for x in range(len(liste))" et le "liste.append(liste[x])"

    • @arthurus8374
      @arthurus8374  Před 4 lety +2

      Merci le for x in range(len(liste)) parcourt le nombre d'élément de la liste, et liste.append(liste[x]) ajoute un élément à la liste "liste".

  • @yannsubts
    @yannsubts Před 2 lety +1

    btw L'alphabet c'est lmn et non mnl

  • @mehdiscofield
    @mehdiscofield Před 3 lety

    Salut,
    Ca doit faire 6 mois j'ai écrit le même code que toi mais je l'ai modifié pour que chaque lettre ait une clé..
    Mais j'arrive pas à faire l'inverse... Tu veux bien m'aider stp
    CodeCryptList=[] # liste des clés
    Def chiffrage_lettre(lettre, lettres):
    For i in range(len(lettres)) :
    If lettres[i] == lettre:
    Code=random.randit(1,26)
    CodeCryptList.append(code)
    Return lettres[i+code]
    Mais j'arrive pas à décrypter a partir des code de ma liste 😭😭😭😭 sauve moi stp
    Quand j'essaye ça utilise que le premier code de la liste.

    • @arthurus8374
      @arthurus8374  Před 3 lety

      salut regarde ma vidéo sur le chiffrement par substitution, c'est ce que tu as fait

  • @dgerbi0595
    @dgerbi0595 Před 4 lety

    et a quoi sert le code str()
    merci

    • @arthurus8374
      @arthurus8374  Před 4 lety +1

      Cela convertie la variable en type string

    • @dgerbi0595
      @dgerbi0595 Před 4 lety

      Arthurus Rebonjour, est ce que faire un code comme celui là est simple pour toi ? Si oui, pense tu que tu voudrais bien réaliser aussi un code permettant de chiffrer et déchiffrer un message mais cette fois-ci en substitution poly-alphabétique ? Si non ce n’est pas grave ne te fais pas de soucis :) merci quand même du service!

    • @arthurus8374
      @arthurus8374  Před 4 lety

      @@dgerbi0595 Merci de ton retour, j'ai fait une vidéo sur le chiffrement par substitution

  • @adrixyn
    @adrixyn Před 3 lety +1

    MERCI ! mais tu pourrait mettre le code en description stp

    • @Mevanouche
      @Mevanouche Před 3 lety +3

      liste=['a','b','c','d','e','f','g','h','i','j','k','m','n','l','o','p','q','r','s','t','u','v','w','x','y','z']
      for x in range(len(liste)): #Dédouble la liste
      liste.append(liste[x])
      message = input('Entrez votre message : ')
      clef = int(input('Entrez votre clef ( entre 1 et 25 ) : ')) #on précise le type, sinon Python le considère comme un string
      def chiffrage_lettre(lettre,liste,clef):
      for i in range(len(liste)):
      if lettre==' ': #au cas ou il y a un espace
      return ' '
      elif liste[i]==lettre:
      return str(liste[i+clef])
      return '?' #en cas de caractère inconnu
      message_chiffré = str()
      for lettre in message:
      message_chiffré += chiffrage_lettre(lettre,liste,clef)
      print(message_chiffré)

    • @adrixyn
      @adrixyn Před 3 lety

      @@Mevanouche Merci, mais depuis le temps je l'ai recopier...

    • @Mevanouche
      @Mevanouche Před 3 lety

      @@adrixyn Ah pardon j'avais pas vu la date :/

    • @adrixyn
      @adrixyn Před 3 lety

      @@Mevanouche Merci quand même (peut être pour d'autres gens qui veulent le code) c'est gentil de t'a par.

  • @shinco8086
    @shinco8086 Před 3 lety

    Mais il y a bien plus simple, juste en travaillant avec le numéro de chaque caractère ascii

  • @hollycarfpe
    @hollycarfpe Před 3 lety

    D'ou vient le paramètre "lettre" il est définie nul part
    ?

    • @arthurus8374
      @arthurus8374  Před 3 lety

      de null part, c'est une variable local crée en fonction de l'alphabet qui va prendre comme valeur : a, puis b ...

  • @ainhoairiart9594
    @ainhoairiart9594 Před 4 lety +1

    Comprend pas pouquoi on double la liste

    • @arthurus8374
      @arthurus8374  Před 4 lety

      car si la lettre a chiffré est un "z" et que notre clef est de 1, on obtient un "a" en accédant au rang (27, 26 en réalité car on compte le 0)

    • @mizou1041
      @mizou1041 Před 3 lety +1

      Tu va pas comprendre c un truque de Hacker comme moi

    • @rx3443
      @rx3443 Před 3 lety

      @@mizou1041 tgl

  • @rayka4064
    @rayka4064 Před 4 lety +3

    G pas aimé. Heureusement que c est du full hd au moins...

    • @rayka4064
      @rayka4064 Před 4 lety +2

      Vous avez raison, la vidéo est S.u.p.e.R.b.E

    • @rayka4064
      @rayka4064 Před 4 lety +2

      Vous parlez de son contenu ou de ce qui le contient?

  • @dgerbi0595
    @dgerbi0595 Před 4 lety

    salut arthuuss, est ce que tu saurais m'expliquer a quoi sert
    elif liste[i]==lettre:
    # return str(liste[i+clef])
    # message_chiffré = str()
    merci

    • @elianmassardier274
      @elianmassardier274 Před 4 lety +2

      Hey, je suis pas un pro mais je vais essayer d'expliquer : cette partie s'oppose à [if lettre == ' '], qui est la 'possibilité' qu'il y ai un espace dans le message chiffré, et si c'est le cas, alors le programme renvoie un espace. Donc, le 'elif' prend le cas ou le caractère est une lettre. le programme retourne alors en string (c'est à dire en ligne, sans renvoi à la ligne) la lettre du message codée à laquelle on rajoute la valeur de la clé, genre si c'est un décalage de 5 caractère et que la lettre codée c'est A, le programme renvoie A + 5emplacements = E

    • @elianmassardier274
      @elianmassardier274 Před 4 lety +1

      Et on informe ensuite que le message chiffré, c'est le 'string', la chaine de toute les lettres converties

    • @dgerbi0595
      @dgerbi0595 Před 4 lety

      Pop Corn merci beaucoup pour les explications