Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149

    Algoritmo DES

    salve sto implementando l'algoritmo DES, ma vorrei avere dei chiarimenti...

    - la scelta permutata 2 che si effettua sulle sub chiavi come funziona?? perchè sembra che dei valori precedentemente eliminati vengano recuperati(esattamente i bit di controllo di disparità, eliminati prima della scelta permutata 1)

    io sto seguendo la spiegazione a questo indirizzo

    e il mio problema è relativo a questo passaggio


    grazie per gli eventuali aiuti

  2. #2
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Direi proprio che gli indici della seconda tabella si riferiscono alle posizioni della prima... non agli indici iniziali della chiave. Se noti, gli indici della scelta permutata 2 vanno esattamente da 1 a 56...
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  3. #3
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ah quindi tu dici che praticamente devo mettere una sotto l'altra le due tabelle 7x4 e rinumerare la tabella risultante con valori da 1 a 56 e poi applico la permutazione..

    a questo punto mi sorgono altri 2 problemi:

    1. con che logica vengono disposti i numeri della scelta permutata 2 ??

    2. gli altri passaggi erano da interpretare in ugual modo ??

    i passaggi che ho fatto sono questi:


  4. #4
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Originariamente inviato da elilo
    ah quindi tu dici che praticamente devo mettere una sotto l'altra le due tabelle 7x4 e rinumerare la tabella risultante con valori da 1 a 56 e poi applico la permutazione..
    Esattamente.
    In quel punto la logica degli indici cambia perchè l'entità dello spostamento a sinistra (vedi il passaggio precedente) è variabile a seconda del ciclo...

    Originariamente inviato da elilo
    a questo punto mi sorgono altri 2 problemi:

    1. con che logica vengono disposti i numeri della scelta permutata 2 ??
    In che senso?

    Originariamente inviato da elilo
    2. gli altri passaggi erano da interpretare in ugual modo ??

    i passaggi che ho fatto sono questi:

    nei passaggi precedenti tutti gli indici si riferiscono alla chiave iniziale.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  5. #5
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ok, sapendo che solo nell'ultimo passaggio "cambia il concetto di indice" sono sollevato.

    per logica intendo che ho notato che nella prima permutazione lo spostamento dei campi seguiva uno schema e cioè

    - per le prime 4 righe della matrice permutata venivano inserite le prime 4 colonne e mezza partendo dall'ultima riga

    - per le ultime 4 righe della matrice permutata venivano inserite le ultime 4 colonne e mezza partendo dall'ultima riga

    In questo caso non riesco a capire con che logica i campi vengono "spostati"

    il codice per la prima permutazione:

    codice:
                'scelta permutata 1 => chiave da 56 bit
                c = 0
                r = 7
                primo = True
                For rA = 0 To 7
                    For cA = 0 To 6
                        If rA <= 3 Then
                            mKeyP1(rA)(cA) = mKeyI(r)(c)
                            r -= 1
                            If r < 0 Then
                                r = 7
                                c += 1
                            End If
                        Else
                            If primo Then
                                c = 6
                                r = 7
                                primo = False
                            End If
                            mKeyP1(rA)(cA) = mKeyI(r)(c)
                            r -= 1
                            If r < 0 Then
                                c -= 1
                                If c = 3 Then
                                    r = 3
                                Else
                                    r = 7
                                End If
                            End If
                        End If
                    Next
                Next

  6. #6
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    una "logica" nel senso che intendi tu non c'è... misteri della crittografia.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  7. #7
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    ah....che cosa strana...

    quindi devo mettere in relazione i due blocchi con numeri progressivi

    codice:
    Blocco 1			< = >		Sequenza di riferimento
    
    49  41  33  25  17  09  01  		01  02  03  04  05  06  07 
    58  50  42  34  26  18  10  		08  09  10  11  12  13  14
    02  59  51  43  35  27  19  		15  16  17  18  19  20  21
    11  03  60  52  44  36  57  		22  23  24  25  26  27  28
    
    
    
    Blocco 2			< = >		Sequenza di riferimento
    
    55  47  39  31  23  15  07  		29  30  31  32  33  34  35
    62  54  46  38  30  22  14  		36  37  38  39  40  41  42
    06  61  53  45  37  29  21  		43  44  45  46  47  48  49
    13  05  28  20  12  04  63  		50  51  52  53  54  55  56
    e poi seguendo la sequenza dell'immagine


    ottengo questa tabella

    codice:
    10  51  34  60  49  17
    33  57  02  09  19  42
    03  35  26  25  44  58
    59  01  36  27  18  41
    22  28  39  54  37  04
    47  30  05  53  23  29
    61  21  38  63  15  20
    45  14  13  62  55  31
    è giusto??
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  8. #8
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    direi di sì.
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  9. #9
    Utente di HTML.it L'avatar di elilo
    Registrato dal
    Aug 2007
    Messaggi
    149
    bene

    ora però ho un'altra domanda

    il DES si basa sul testo in chiaro e su una chiave pubblica?? Quindi per decodificare un testo criptato ho bisogno della stessa chive che ho usato per criptarlo, e quindi deve essere generata ad esempio da una parola di 8 lettere, ogni lettera codificata in binario e poi lavorata.
    "Se in un primo momento
    l'idea non è assurda,
    allora non c'è nessuna speranza
    che si realizzi."
    - Albert Einstein -

  10. #10
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Esattamente qual è la domanda?
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

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 © 2024 vBulletin Solutions, Inc. All rights reserved.