Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    3

    (C)algoritmo per crittografia polialfabetia o di VIGENERE

    Salve
    mi serve aiuto per creare un algoritmo di crittografia che segue le norme della macchina di Vigenere;

    In particolare deve attenersi a questa matrice di sostituzione

    8 J E Q D N 5 O
    P U 3 A R F L W
    4 V C 2 T M B I
    K 7 Z S G X H Y

    e a queste regole

    • se le lettere sono nella stessa riga della matrice di sostituzione, le due lettere da inserire nel testo cifrato saranno le lettere immediatamente a destra nella stessa riga. Ogni riga è considerata circolare. Per esempio, la coppia TI viene crittografata come M4.
    • se le lettere sono nella stessa colonna della matrice di sostituzione, le due lettere da inserire nel testo cifrato saranno le lettere immediatamente sotto nella stessa colonna. Ogni colonna è considerata circolare. Per esempio, la coppia RG viene crittografata come TD.
    • se le lettere appaiono in differenti righe e colonne della matrice di sostituzione, ognuna delle due lettere sarà crittografata con la lettera nella stessa riga ma nella colonna dell’altra lettera.. Per esempio, la coppia LE viene crittografata come 35.

    vi ringrazio anticipatamente

  2. #2
    Scusa non ho capito la tua spiegazione (ma vigènere lo conosco).
    Puoi non costruire la matrice alfabetica utilizzata per la traduzione, dichiarandoti una stringa con i caratteri presi in considerazione
    es
    ABCDEFG...1234567890
    e poi tradurre a partire da questa
    es con chiave = AB e stringa da tradurre = CIAO
    nella stringa di partenza la trovi a e b e salvi le posizioni
    A = 0
    B = 1
    poi trovi la posizione del primo carattere della stringa da comporre
    C = 2
    al 2 togli 0 e lo stampi
    poi trovi I = 8
    togli 1 e lo salvi (i = 7)
    confronti a = 0 - 0 = 0 = a
    confronti 0 = 12 - 1 = 11 = n
    Experience is what you get when you don’t get what you want

  3. #3
    O vuoi creare un nuovo algoritmo di cifratura simile a vigènere?
    Experience is what you get when you don’t get what you want

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    3

    testo completo

    1. Algoritmi per la cifratura/decifratura di un messaggio. Sviluppare una coppia di algoritmi, implementati come function, per crittografare e decrittografare un messaggio. L’algoritmo si basa sulla cosiddetta cifratura polialfabetica, che consiste nel trasformare il messaggio in un testo di lunghezza maggiore o uguale a quella del messaggio, detto il “testo cifrato”, utilizzando una matrice di caratteri (prefissata), detta “matrice di sostituzione”. Il messaggio da crittografare viene dapprima partizionato in coppie di lettere adiacenti; se in tale partizionamento accade che una coppia è formata dalla stessa lettera, allora si inserisce una X tra le due. Per esempio, il messaggio è LET US MEET AT NOON viene partizionato in LE TU SM EX ET AT NO ON. Si è inserito una X tra le due E, ma non tra le due O, che si trovano in coppie diverse. Si consideri la seguente matrice di sostituzione:

    8 J E Q D N 5 O
    P U 3 A R F L W
    4 V C 2 T M B I
    K 7 Z S G X H Y

    Ogni coppia di lettere viene crittografata nel seguente modo:

    • se le lettere sono nella stessa riga della matrice di sostituzione, le due lettere da inserire nel testo cifrato saranno le lettere immediatamente a destra nella stessa riga. Ogni riga è considerata circolare. Per esempio, la coppia TI viene crittografata come M4.
    • se le lettere sono nella stessa colonna della matrice di sostituzione, le due lettere da inserire nel testo cifrato saranno le lettere immediatamente sotto nella stessa colonna. Ogni colonna è considerata circolare. Per esempio, la coppia RG viene crittografata come TD.
    • se le lettere appaiono in differenti righe e colonne della matrice di sostituzione, ognuna delle due lettere sarà crittografata con la lettera nella stessa riga ma nella colonna dell’altra lettera.. Per esempio, la coppia LE viene crittografata come 35.
    Il messaggio LET US MEET AT NOON viene quindi crittografato in 35VRX2NZDCR25885.
    Il main legge da tastiera il messaggio da crittografare (l’equivalente di LET US MEET AT NOON nell’esempio), chiama la function di cifratura (passando come parametro il messaggio e la matrice di sostituzione), che restituisce il teso cifrato, visualizza il testo cifrato, chiama la function di decifratura, passando come parametro il testo cifrato e la matrice di sostituzione, visualizza il messaggio decifrato, che deve coincidere con il messaggio di partenza. Usare solo lettere maiuscole.

    Quindi l'algoritmo di cifratura deve essere simile a vigenere.

    Grazie ancora

  5. #5
    Chiedo scusa per l'intrusione, siccome sono interssato all'argomento, cioè sto cercando una funzione tipo md5() del php per il C, esiste??? Dovrei codificare la password di ogni account che utilizza un programma scritto in C, ossia all'apertura del programma, questo chieide username e password. Ovviamente la pass deve essere crittografata...quindi ci vuole una funzione per crittografare e salvare su file la pass crittografata...

    Spero di essere stato chiaro... VVoVe:


    Chiedo scusa ancora per l'accavallamento, mi sembrava stupido aprire un nuovo thread per un argomento simile...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.