Annonce

Réduire
Aucune annonce.

Chiffre de Porta

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Chiffre de Porta

    Tout petit instant "histoire" :

    Giovanni Battista Della Porta, physicien de la Renaissance, a inventé cet algo de substitution qui porte son nom en 1563. Il s'agit du premier système à "double-clé". Ce procédé perdura 3 siècles durant et était jugé robuste (pour l'époque). Beaucoup jugèrent Porta comme le père de la cryptographie "moderne" (est entendu par "moderne" l'ère pré-informatique).

    Entrée en matière :

    C'est un système polyalphabétique à multiples alphabets réversibles cryptés via une clé.

    Cet algo utilise 11 alphabets (horizontaux) qui appartienent chacun à une paire de lettres qui se suivent (qui forme un second alphabet, verticalement). Les lettres des alphabets horizontaux sont "interchangeables" ET "différents" ; c'est ce qui complexifiait la chose.

    Voici la table :

    Petite note : à la base, vu que la langue était le latin, il n'avait fait que 11 alphabets, soit 11 groupes de 22 lettres, comme vous pouvez le voir :


    Bon, nous, nous sommes au XXIe siècle, donc nous allons utiliser 13 alphabets de 26 lettres

    Soit, ceci :


    Comme vous pouvez le constater, à gauche se situe l'alphabet vertical, découpé toutes les 2 lettres, formant donc 13 blocs de 2 lettres qui se suivent. Face à chacun de ces "blocs" se trouve un alphabet horizontal (la première ligne est identique pour tous, mais pas la seconde, notez bien cela !) sur deux niveaux (coupé à la 13e lettre ; à la 11e à son époque, donc).

    L'alphabet vertical est l'alphabet qui servira de clé.

    L'alphabet horizontal (en fonction du vertical, donc de la clé) sera donc à la fois le plaintext et le cyphertext.

    Exemple :

    welcome to all hackademicians <-- plain
    dellaporta <-- key

    Nous commençons donc par la lettre "w" à chiffrer avec la lettre "d" de la clé.

    "d" est donc situé dans l'alphabet vertical : il est situé au deuxième bloc (la seconde paire). On recherche donc dans la table de correspondance, en face, dans l'alphabet horizontal, la lettre "w". Une fois repérée, on prend la lettre qui est en face (alphabet "réversible", je répète ). Ainsi donc, la lettre chiffrée est : "k".

    Bien entendu, comme c'est pratiquement toujours le cas, la clé se répète (ce n'est pas un procédé autoclave ; cf tuto autoclave)

    Soit :

    welcometoallhackademicians <-- plain
    dellaportadellaportadellap <-- key

    On continue le processus jusqu'à la fin, ce qui nous donne :

    kptxbsxbknxwpvpqtvvzunqvam <-- cypher

    Soit :

    welcometoallhackademicians <-- plain
    dellaportadellaportadellap <-- key
    kptxbsxbknxwpvpqtvvzunqvam <-- cypher

    Bien, maintenant que vous avez saisi l'algo, je vais complexifier un peu l'algo de base en le modifiant légèrement.

    Je propose trois modes différents :

    - classique
    - personal
    - random

    Le "classique", c'est celui que je vous ai décrit.

    Le "personnel" ne décalera seulement que la seconde ligne selon un ordre d'incrémentation géométrique (1=n='o', 2=n='p'… 12=n='z').

    Code:
    1 = opqrstuvwxyzn
    2 = pqrstuvwxyzno
    13 = znopqrstuvwxy
    Le mode "aléatoire" (random) distribuera 26 alphabets différents, totalement aléatoirement et ce sur les DEUX lignes.

    Code:
    AB = ocdefghqjklwr
         nmpbastuvikyz
    
    BC = bzdsefghiajkl
         oqrntucmvpwky
    Il ne faut pas qu'il y ait deux fois le même alphabet.

    Cela est très complexe à casser, donc c'est un avatange pour le chiffreur (mais un désavantage pour le déchiffreur).

    Comme d'habitude, plus le texte est long, plus l'avantage va au déchiffreur, et plus la clé est longue, plus l'avantage va au chiffreur. La limite de longueur de la clé est celle du texte, donc, en admettant que le chiffreur rentre une clé aussi longue que le texte, et qu'en plus celui-ci fasse 5000 caractères, ça devient coton^^ Ca laisse place à des millions de possibilités.

    Note : Lorsque Porta exposa son algorithme, il recommandait de mettre des alphabets purement aléatoire.
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

  • #2
    Très intéressant!!!

    Commentaire

    Chargement...
    X