Il cifrario polialfabetico

Il cifrario polialfabetico utilizza più alfabeti per codificare un messaggio.

Questo metodo venne usato per la prima volta da Leon Battista Alberti con due alfabeti cifranti nel XV secolo. Un secolo dopo Vigenère usò lo stesso cifrario con 26 alfabeti.

    Un esempio pratico

    Devo cifrare il messaggio

    "si parte domani mattina alle otto"

    Per semplicità non considero gli spazi

    "sipartedomanimattinaalleotto"

    Quindi divido il messaggio in blocchi composti da n caratteri.

    Ad esempio n=4 caratteri.

    sipa
    rted
    oman
    imat
    tina
    alle
    otto

    A questo punto considero 26 alfabeti cifranti, ognuno dei quali è associato a una lettera dell'alfabeto e a un numero

    le varie trasposizioni

    A questo punto scelgo una parola chiave per cifrare il testo.

    Ad esempio, scelgo la parola "mare"

    Poi codifico ogni colonna usando un alfabeto cifrante diverso.

    La scelta degli alfabeti cifranti è determinata dalla password "mare".

    • La prima colonna è cifrata con l'alfabeto cifrante associato alla lettera "m" (riga 12)
    • La seconda colonna è cifrata con l'alfabeto cifrante associato alla lettera "a" (riga 0)
    • La terza colonna è cifrata con l'alfabeto cifrante associato alla lettera "r" (riga 17)
    • La quarta colonna è cifrata con l'alfabeto cifrante associato alla lettera "e" (riga 4)

    In questo modo ogni colonna è cifrata in modo diverso.

    lo

    Questo mi permette di evitare che il messaggio sia decodificato con una semplice analisi della frequenza delle lettere.

    Ad esempio, codifico la prima colonna del messaggio usando l'alfabeto alla riga 12 associato alla lettera "m"

    Eipa
    Dted
    Aman
    Umat
    Fina
    Mlle
    Atto

    Poi codifico la seconda colonna del messaggio usando l'alfabeto alla riga 0 associato alla lettera "a"

    EIpa
    DTed
    AMan
    UMat
    FIna
    MLle
    ATto

    Poi codifico la terza colonna del messaggio usando l'alfabeto alla riga 17 associato alla lettera "r"

    EIGa
    DTVd
    AMRn
    UMRt
    FIEa
    MLCe
    ATKo

    Infine codifico la quarta colonna del messaggio usando l'alfabeto alla riga 4 associato alla lettera "e"

    EIGE
    DTVH
    AMRR
    UMRX
    FIEE
    MLCI
    ATKS

    Ora tutte le lettere in ciascun blocco che si trovano nella stessa colonna sono cifrate con lo stesso alfabeto cifrante.

    Il messaggio cifrato con i quattro alfabeti periodici è il seguente

    EIGE
    DTVH
    AMRR
    UMRX
    FIEE
    MLCI
    ATKS

    Chi riceve il messaggio cifrato deve conoscere la parola chiave "mare" e la tabella di trascodifica dei 26 alfabeti per poterlo decifrare.

    Tuttavia, se il messaggio è molto lungo, chi intercetta il messaggio potrebbe compiere un'analisi della frequenza sulle singole colonne e risalire comunque ai 4 alfabeti cifranti.

    Per evitare questo rischio riscrivo in serie il messaggio per nascondere l'informazione sulla lunghezza dei blocchi

    EIGEDTVHAMRRUMRXFIEEMLCIATKS

    In questo modo chi intercetta il messaggio non conosce più la lunghezza dei blocchi.

    Pertanto, dovrà compiere diverse analisi delle frequenze delle lettere ipotizzando tutte le possibili lunghezze dei blocchi (n=2, n=3, n=4, ecc. ).

    Gli equivalenti numerici

    In alternativa alle lettere potrei anche usare gli equivalenti numerici di ogni lettera dell'alfabeto

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Crittografia

    Online Tool

    Codici e programmi