Domanda:
La crittografia a più livelli è più sicura delle password lunghe?
luchonacho
2019-02-19 19:17:06 UTC
view on stackexchange narkive permalink

I commenti in questa domanda discutono sulla maggiore sicurezza della crittografia a più livelli. Sembra esserci qualche disaccordo e ho pensato che una domanda corretta sarebbe stata utile qui.

Quindi, per fornire un background comune, considera i seguenti due scenari:

  1. Applico la crittografia simmetrica a un dato file, come segue:

      gpg --symmetric --cipher-algo AES256 my_file.txt  

    a cui aggiungo la password "mydogisamazing"

  2. Applico quattro livelli di crittografia a un dato file, come segue:

      gpg --symmetric --cipher-algo AES256 my_file.txtgpg --symmetric --cipher-algo AES256 my_file .txt.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpggpg --symmetric --cipher-algo AES256 my_file.txt.gpg.gpg.gpg  

    dove le password fornite a ciascuno sono, rispettivamente: "stupefacente" "è" "cane" "mio" (quindi, quando decifro tutti i livelli, ho inserito "mio" "cane" "è" "fantastico")

L'opzione 2 è più sicura dell'opzione 1? Non sapendo quasi nulla della sicurezza della crittografia, mi sembra di sì, perché chiunque volesse entrare dovrebbe eseguire un algoritmo di password quattro volte, mentre nell'opzione 1 l'algoritmo deve essere eseguito solo 1 volta. E se fosse stato utilizzato un chiper-algo diverso al posto dello stesso?

Tutto sommato, mi sembra anche ovvio che la risposta dipende dalla natura delle password. Ad esempio, se ho 15 livelli di crittografia e la password di ogni livello è solo una lettera, sembra "banale" violare il codice.

AGGIORNAMENTO : in risposta a un commento, sottolineo che l'esempio sopra stava cercando di presentare un apparente caso "equivalente", ovvero "password più brevi + più livelli" rispetto a "password più lunghe + meno livelli ". Mi sembra ovvio (forse sbagliato) che la semplice aggiunta di più strati di identica complessità aumenterà solo la sicurezza della crittografia (nel semplice senso di impiegare più tempo per hackerare le password). Da qui il mio accento sulla lunghezza variabile delle password.

Se stessi giocando a Hangman, quale sarebbe più difficile?Indovinare la parola una lettera alla volta o indovinare l'intera parola ogni volta?
Ci sono 2 domande separate qui: una riguarda la crittografia più volte e l'altra riguarda come generare le password.Molte delle risposte sono state raccolte esclusivamente durante la creazione della password.Se avessi usato password casuali lunghe nei tuoi esempi, penso che otterrai risposte completamente diverse.Ti consiglio di modificare la tua domanda per chiarire quale punto stai cercando di capire.
Ho l'impressione che _tutte_ le risposte si stiano concentrando sul caso specifico in cui lo scenario 2 utilizza una password _weak_ per ogni "livello" e manca il punto più grande che indica se ogni livello potrebbe, almeno in linea di principio, essere reso più sicuro.Ad esempio, cambierebbe qualcosa se assumessimo che una password forte casuale / ad alta entropia viene utilizzata per ogni "strato" aggiunto, poiché in questo caso non si può fare affidamento sull'analogia del "boia"?Si presume che l'attaccante _non_ sappia quanti livelli ci sono.
@MobyDisk Il mio scenario di base mira a essere proprio questo, un punto di partenza su cui si possono considerare altri.Ho pensato che fosse il miglior punto di partenza.Sembra ovvio che usare quattro strati complessi sia sempre meglio che usare un solo strato complesso.Ha comunque aggiornato la domanda.
Penso che il fatto che tu abbia un file chiamato `.... txt.gpg.gpg.gpg` sarebbe un forte indizio che il file è stato crittografato 4 volte.Queste informazioni sono ora note e le tue 4 password brevi saranno molto più veloci da decifrare (anche con la forza bruta) rispetto a una password lunga.
Vedi anche la [Rule of Two] della NSA (https://en.wikipedia.org/wiki/Multiple_encryption#The_Rule_of_Two) da Commercial Solutions for Classified Program (CSfC).Ovviamente non è GPG.Nel tuo esempio probabilmente non soddisfa i criteri perché tutte le trasformazioni di crittografia avvengono a livello dell'applicazione.
Supponiamo che tu sappia come scegliere una serratura generica / comune.Ora, qual è più difficile: scassinare la serratura comune di 5 porte diverse o scassinare la serratura di 1 porta che è stata progettata per essere molto più difficile / complicata di quello a cui sei abituato?
@RaduMurzea Le analogie con le porte non possono che portarti lontano.Arrivare a una conclusione sulla scelta di una porta e poi trasferirla alla sicurezza informatica non è necessariamente valida.Ad esempio, se voglio attraversare rapidamente una porta e non mi interessa essere scoperto, posso semplicemente usare una mazza.Non c'è equivalente nella sicurezza del computer.Anche quando parliamo di "forza bruta" è l'equivalente di provare tutte le chiavi possibili finché non ne trovi una che funzioni.
Sette risposte:
Sjoerd
2019-02-19 19:32:38 UTC
view on stackexchange narkive permalink

L'opzione 1 è più sicura. Nell'opzione 2, possiamo indovinare ogni parola separatamente. Quando indoviniamo "incredibile", otteniamo conferma che questa parola è corretta e possiamo continuare con la seconda parola. Nell'opzione 1, dobbiamo indovinare tutte e quattro le parole contemporaneamente.

Potresti pensare che un GPG offra un po 'di sicurezza e quattro GPG offrono quattro volte quella sicurezza, ma non funziona così . GPG offre una sicurezza quasi totale e applicarlo più volte non migliora la sicurezza.

Ci sono usi per applicare la crittografia più volte, ad esempio quando si firma e si crittografa o quando si crittografa per più parti. Tuttavia, crittografare le cose più volte in generale non le rende molte volte più sicure.

Inoltre, anche se si presume che le decrittazioni intermedie corrette siano quasi indistinguibili da quelle casuali fino a quando non si hanno tutte le password corrette (rendendo più difficile indovinare le password parziali), è ancora più debole a causa degli attacchi meet-in-the-middle.
"GPG offre una sicurezza quasi totale e applicarlo più volte non migliora la sicurezza".Sembra controintuitivo.Ancora non capisco davvero perché.Quattro enigmi sono sicuramente più difficili da risolvere di uno solo.
@luchonacho il motivo è che raddoppi solo la sicurezza AL MASSIMO, NON è aumentata esponenzialmente.Ogni carattere casuale aggiuntivo nella password tuttavia fa PIU 'del doppio della difficoltà per decifrare la password.
@luchonacho C'è una scala che semplicemente non comprendi - 4 vs 1 suona bene, ma i 4 sono molto più piccoli di 1. Supponendo solo l'alfabeto minuscolo, ci sono 26 ^ 8 possibili password di 8 lettere.Se devo indovinare 4 password di 2 lettere, però, 26 ^ 2 ^ 4 è il caso ideale - equivalente se i passaggi intermedi sono indistinguibili dalla spazzatura.Gli attacchi meet-in-the-middle fanno in modo che anche questo "caso migliore" di dover indovinare lo stesso numero di password richieda meno tempo memorizzando valori intermedi.[Wikipedia] (https://en.wikipedia.org/wiki/Meet-in-the-middle_attack) ha una spiegazione migliore.
@Natanael Goodluck con gli IV degli strati intermedi per un attacco di mezzo.Inoltre, Weiner ha dimostrato che la doppia crittografia è più sicura di quella singola, ovviamente non di 2 volte.
Esistono schemi di crittografia in cui non è possibile confermare se un'ipotesi era corretta?Immagino di poter confermare che un'ipotesi era corretta quando la decifrazione di AES ha a che fare con il riempimento.
Se sovrapponessi la crittografia in questo modo, farei in modo che solo il livello più interno abbia un MAC;non importa quale sia la password inserita, gli strati esterni vengono decifrati in qualcosa.Questo cambia il risultato?
@Vaelus sì, ogni schema senza riempimento o autenticazione.Ad esempio, ogni cifrario a flusso utilizza senza alcuna autenticazione.Puoi solo indovinare statisticamente valutando la probabilità che il testo in chiaro candidato venga visualizzato in modo casuale.Anche con intestazioni di file note, esiste una possibilità statistica di falsi positivi.Ancora più probabile quanto più breve è il testo in chiaro relativo alla chiave.
@Joshua impedisce di attaccare le password individualmente, ma rimane l'attacco meet-in-the-middle
Esa Jokinen
2019-02-19 20:01:02 UTC
view on stackexchange narkive permalink

Questo non aggiunge sicurezza, ma rende più facile indovinare la passphrase una parola alla volta ( N⁴ vs. N + N + N + N , dove N è il conteggio dei simboli dell'elenco di parole). Anche quando si crittografa un file o un messaggio a più destinatari utilizzando PGP, il payload viene crittografato solo una volta utilizzando la crittografia simmetrica, quindi la chiave per questo viene crittografata separatamente per ogni destinatario. In questo modo ogni destinatario ha uguale accesso al payload senza moltiplicare la dimensione del messaggio.

Il tuo suggerimento di utilizzare la crittografia a strati potrebbe essere utile in alcuni scenari, ma tutte le passphrase dovrebbero essere forti di per sé.

  • Devi inviare un file a qualcuno che utilizza una crittografia simmetrica, ma non hai un canale per lo scambio di chiavi affidabile. È possibile inviare la passphrase per un livello utilizzando la posta elettronica, per il secondo livello utilizzando SMS e per il terzo livello utilizzando la posta. Ognuno di questi potrebbe essere rubato, ma è molto più difficile rubarli tutti.

  • Hai informazioni per un gruppo di persone che non puoi incontrare, ma nessuno dovrebbe sapere prima degli altri. Invia loro tutto il file crittografato contenente le informazioni, ma una password diversa per ciascuno. Ora hanno bisogno di stare insieme per rivelare i contenuti. È un modo equo per lasciare l'ereditarietà come un portafoglio Bitcoin!

  • Nel routing Onion , ovvero la rete Tor, il messaggio è racchiuso in più livelli di crittografia. Ogni router intermedio ha una chiave per decrittografare uno strato, proprio come sbucciare una cipolla. Un nodo che instrada il pacchetto non sa quanti livelli ci sono stati prima e quanti ne sono rimasti. Non sa nemmeno dove inoltrarlo prima di decrittografare il proprio livello. Al posto delle password, la rete Tor utilizza chiavi asimmetriche, il nodo directory che fornisce infrastruttura a chiave pubblica .

Vale la pena notare: lo scenario del gruppo a chiave divisa è realizzato in modo più versatile con [Shamir's Secret Sharing] (https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing).
Entrambi gli scenari possono essere realizzati altrettanto bene con una singola passphrase?Mandi 3 parti e devono combinarle?
Anche questo è vero.
La condivisione segreta di @Falco è più resistente alla forza bruta con una password nota parziale
Alcuni casi d'uso più realistici: routing Onion, gestione delle chiavi e altre forme di compartimentazione della fiducia.
Grazie, @Kevin.Il routing Onion è un ottimo esempio che l'ho aggiunto alla mia risposta.
@Natanael puoi spiegare questa parte?La maggior parte delle risposte qui suggerisce che più livelli di crittografia con parte di una password sono in realtà più inclini agli attacchi di forza bruta.Per una semplice crittografia, una password parzialmente nota riduce semplicemente la lunghezza della password, nient'altro.I risultati dovrebbero quindi essere esattamente gli stessi per quanto riguarda la forza bruta?
Se non conosci l'ordine delle parole e sono di lunghezza variabile, riduce la lunghezza della password, ma meno della semplice rimozione della stessa quantità di caratteri.
Gli schemi di condivisione segreta di @Falco sono unici in questo caso in quanto utilizzano formule teoricamente sicure di informazioni, avendo meno condivisioni di quelle richieste dalla soglia non rivela nulla.Nel frattempo, ogni parte di una password acquisita riduce la difficoltà di indovinare il resto.
@Natanael hai ovviamente ragione per gli algoritmi di condivisione dei segreti effettivi.Sebbene la semplice crittografia a strati come descrive l'OP, o come questa risposta descrive non sia un alogritmo di condivisione di segreti con queste proprietà.
Muzer
2019-02-19 22:38:06 UTC
view on stackexchange narkive permalink

Immagina un film di Hollywood in cui stanno violando una password o un codice di sicurezza, con tutte le cifre che girano su un'interfaccia utente elegante, e hanno hacker d'élite che decifrano una cifra del codice alla volta, e i bravi ragazzi lo hanno lavorare per far saltare in aria il computer degli hacker o qualcosa del genere prima che decifrino l'ultima cifra. Ovviamente, nella vita reale non è così: per un sistema ragionevolmente sicuro, fondamentalmente o sai di avere la password giusta o sai di non avere la password giusta - non c'è modo di vedere se un la password è in qualche modo "chiusa".

Quello che hai suggerito è far funzionare il tuo sistema di sicurezza come quelli di Hollywood. Un utente malintenzionato sarebbe in grado di eseguire un banale attacco con dizionario sulla tua crittografia e sapere di aver decrittografato con successo il primo livello immediatamente. Potrebbero quindi semplicemente ripetere questa operazione quattro volte per recuperare il file. In confronto, eseguire un banale attacco al dizionario non scoprirebbe la tua password "miodogisamazing" e non ci sarebbe assolutamente alcuna indicazione quando la parola "mio" è apparsa nel loro attacco che fosse "vicina" alla password finale. >

Tuttavia, la raccolta di IV da una rete wireless protetta da WEP è una situazione di vita reale che funziona in modo simile a queste scene dei film di Hollywood.Allo stesso modo, non ha nulla a che fare con la sicurezza della password, ma sembra interessante sullo schermo.
@EsaJokinen ha acconsentito, ma quindi "per un sistema ragionevolmente sicuro" - cablato privacy equivalente al mio culo!
È equivalente a zero privacy.
_eseguire un banale attacco con il dizionario non scoprirebbe la tua password "mydogisamazing "_ Bene, secondo https://haveibeenpwned.com/," mydogisamazing "è già apparso tre volte nelle interruzioni delle password ...
@Dubu Mi scuso, intendevo in termini di esecuzione di un attacco contro un dizionario inglese standard come / usr / share / dict / words.Avrei dovuto rendere più chiara la mia intenzione lì.In ogni caso, mydogisamazing è una pessima password.Non intendevo che questo venisse preso in altro modo.
@Muzer che dire di thedingoisamazingo?Quello è buono?
@Džuris è probabilmente migliore di quello per cani ma comunque non eccezionale.In realtà, se stai creando password con più parole inglesi, non dovrebbero formare una frase coerente come quella.E idealmente la maggior parte delle tue password saranno stringhe generate casualmente da un gestore di password.
@Muzer Ma per un attacco in grado di rilevare frasi, deve avere una concettualizzazione decente di cosa sono le frasi logiche, il che probabilmente richiede un po 'di apprendimento automatico.Gli strumenti di cracking delle password sono così sofisticati?
@Muzer Solo un promemoria nel caso in cui ti sei perso il mio commento sopra.
@luchonacho Creare brevi frasi di base in realtà è piuttosto semplice: creare elenchi separati per nomi, verbi, ecc;e poi prova combinazioni come nome-verbo-nome.Le frasi non avranno tutte un senso, ma se tutti usassero frasi anziché parole casuali, otterresti una percentuale di risultati maggiore rispetto a provare ogni combinazione di parole.Non ho idea se gli strumenti di cracking * utilizzino * questo approccio, ma certamente * potrebbero *.
@luchonacho scusa, la vera risposta è che non lo so, ma la risposta pratica è che qualcuno prima o poi si imbatterà nella tua stessa breve frase a meno che non abbia davvero molto senso, nel qual caso prima o poiapparirà in un file di violazione!
AnoE
2019-02-19 23:03:44 UTC
view on stackexchange narkive permalink

Un'altra prospettiva di ciò che hanno detto gli altri (che indovinare singole parole 4 volte è molto meno costoso che indovinare una combinazione di 4 parole contemporaneamente):

Nella crittografia, c'è il concetto di avere completamente aperto algoritmi e segreti completamente chiusi. Finché il segreto rimane (sic!) Segreto, non importa se l'attaccante sa qualcosa sull'algoritmo. Questo è l'opposto della "sicurezza tramite oscurità", ed è un bene. Significa che puoi sottoporre l'algoritmo al controllo di tutto il mondo (letteralmente, in uno schema popolare come AES) senza compromettere nulla.

L'algoritmo "solo" deve essere indistruttibile; devi convincerti che non esiste un modo algoritmico o di forza bruta per decifrarlo. Se puoi arrivare a questa conclusione, allora hai finito e devi solo preoccuparti del tuo segreto. Io e te probabilmente non possiamo analizzare AES fino a questo punto, ma possiamo decidere che avere un algoritmo aperto / pubblico con una grande visibilità a molti crittanalisti presumibilmente "buoni" lo rende abbastanza sicuro per noi.

Quindi. Supponi di avere un tale algoritmo. Per definizione , una volta che hai una password sicura, è al 100%, perfettamente sicura (finché qualcuno non scopre una crepa nell'algoritmo o crea un computer abbastanza velocemente - entrambe le cose, ovviamente, accadono regolarmente, ad esempio, MD5).

Qualsiasi cosa si faccia con l'algoritmo in seguito richiederebbe un'ispezione molto approfondita da parte di una vasta comunità di crittografi. Il tuo algoritmo "ripeti AES 4 volte" proposto è una cosa completamente nuova. Lancialo alla comunità (come hai fatto qui) e le persone trovano immediatamente i punti deboli. Ecco perché (come laico o come programmatore solitario in qualche azienda) non scherzi con l'algoritmo e non ti preoccupi mai della sicurezza per oscurità.

In questo caso particolare: se l'applicazione di AES 4 volte aumentasse la sicurezza, AES lo farebbe già . Questo sarebbe tale un cambiamento banale rispetto alla complessità del campo.

"se l'applicazione di AES 4 volte aumentasse la sicurezza, AES * lo farebbe già *."Non proprio.La sicurezza di fondamentalmente ogni cifratura aumenterebbe in qualche modo se moltiplichi il conteggio dei round per 4, ma generalmente non vale il compromesso delle prestazioni per farlo.
@JosephSible: l'argomento è questo: non possiamo usare la forza bruta AES * 1.Sì, se e quando abbiamo abbastanza potenza di calcolo per AES * 1 a forza bruta, allora fare AES * 4 (o AES ^ 4 ...) sarebbe di nuovo aiuto (se non riusciamo a pensare a qualcosa di meglio per allora).Quindi il guadagno di sicurezza pratico e realistico di AES * 4 è nullo.
Non si tratta solo di forza bruta.Ci sono molti attacchi che possono rompere una versione a round ridotto di AES, ma non funzionano oltre un certo numero di round.È del tutto possibile che in futuro venga scoperto un attacco all'AES completo di oggi, ma che smetterebbe di funzionare, diciamo, su AES a 20 round.
@JosephSible Ma l'AES a più round è la stessa cosa che eseguire AES più volte?Non lo so in questo caso, ma la mia comprensione è che tali algoritmi spesso ripetono solo una sezione dell'algoritmo.Questa potrebbe essere una distinzione importante e un buon esempio del consiglio "non tirare il tuo" in questa risposta: se l'algoritmo supporta un parametro "rounds", sentiti libero di impostarlo alto;in caso contrario, non inventarne uno senza un'adeguata analisi delle implicazioni.
ShadowRanger
2019-02-20 09:02:32 UTC
view on stackexchange narkive permalink

Un contrappunto minore alle altre risposte: più livelli è tecnicamente meglio di meno se e solo se ogni singolo livello è sicuro almeno quanto il livello combinato che potresti altrimenti fai combinando le password usate per ogni singolo livello. Nel tuo caso di esempio, hai utilizzato un algoritmo di cifratura di AES256. Fondamentalmente, questo significa che non importa quanto sia complicata la tua password, hai al massimo 256 bit di sicurezza (non importa che 256 bit di sicurezza sono effettivamente indistruttibili senza una grave interruzione in AES, faremo finta che sia divisibile a un certo livello).

Pertanto, qualsiasi bit di entropia della password oltre 256 viene sprecato; se la password è troppo complessa, possono semplicemente forzare direttamente la chiave AES e saltare completamente la derivazione della chiave basata sulla password. Quindi, se hai raggiunto la massima sicurezza di cui questo livello può beneficiare, in teoria , creare un altro livello dal resto della password sarebbe "più sicuro".

Problemi con questo in pratica:

  1. Tu ("tutti nel mondo" tu) non riesci a trovare le password
  2. Anche quando trovi una password decente , non ha nemmeno 256 bit di entropia (o lo dimenticherai)
  3. AES256 è considerato indistruttibile per tutti gli scopi pratici, quindi un livello di crittografia con una password sufficientemente complessa è già indistruttibile; un secondo livello sta solo aumentando il punteggio. Se qualcuno è in grado di rompere uno strato, è probabilmente perché è stato identificato un punto debole fondamentale che rende altrettanto facile rompere due strati.

Quindi certo, è teoricamente più sicuro dire, crittografa una volta con la password Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? poi di nuovo con la password >YPou2Lg1B8be! G # Lgfor; G; H * $ xzbX74fuw_yw3 , ognuno dei quali ha 256 bit di entropia (generato in Python con base64.b85encode (os.urandom (256 // 8)) ) invece di crittografare una volta con la password combinata Pi} t) HawiFo _% - p) R) dxbcpsUA; pyaCQXOXc7? o? >YPou2Lg1B8be! g # Lgfor; G; H * $ xzbX74fuw_yw3 che ha 512 bit di entropia, ma produce ancora solo 256 bit di protezione (poiché la chiave AES256 rimane attaccabile direttamente). Ma poiché il vantaggio netto di farlo è solo additivo, tutto ciò che stai facendo è aumentare il lavoro di attacco da 256 bit di lavoro per un livello a 257 bit di lavoro per due (o 258 bit per quattro). Ti ti senti più sicuro, ma in pratica stai solo sprecando risorse su livelli aggiuntivi che non ti proteggono davvero.

L'unico motivo per considerare questo è se sei sufficientemente attento alla sicurezza / paranoico da non fidarti solo di AES256 o GPG. In tal caso, potresti considerare di utilizzare queste due enormi password per creare due livelli, uno dei quali utilizza AES256, mentre l'altro utilizza un altro algoritmo di crittografia o un software di crittografia separato. Ora, se risulta esserci un'enorme debolezza nello schema di crittografia utilizzato da uno dei livelli, il livello aggiuntivo è significativo. Ma se AES256 non funziona, ci sono probabilmente molte cose più interessanti da decrittare per le persone, quindi non mi preoccuperei ancora troppo.

TL; DR: un livello con una password più complessa è quasi sempre migliore di più livelli con password meno complesse; le rare eccezioni hanno vantaggi per lo più teorici che quasi mai si presentano nella pratica, quindi utilizza la tua password più complessa su un unico livello.

Fai attenzione al presupposto che la combinazione di algoritmi di crittografia (indipendenti) in una cascata aumenta (o almeno preserva) la sicurezza.Dipende dalle proprietà di sicurezza che cerchi e non può essere prüfen per tutti. C'è un intero campo di ricerca sulla combinazione di crittografie per renderlo più robusto.https://blog.cryptographyengineering.com/2012/02/02/multiple-encryption/ ma generalmente è molto meglio iniziare con una buona scelta convenzionale.
walen
2019-02-20 15:25:04 UTC
view on stackexchange narkive permalink

Chiunque voglia entrare dovrebbe eseguire un algoritmo di password quattro volte, mentre nell'opzione 1 l'algoritmo deve essere eseguito una sola volta.

E sembra che tu lo faccia penso che la prima opzione richiederebbe molto più tempo, giusto? Vediamo.

  • Supponiamo che un'utilità di cracking delle password impieghi 1 ms per testare ogni singola combinazione di caratteri.
  • La lunghezza di mydogisamazing è di 14 caratteri . Il numero totale di combinazioni di 14 lettere minuscole è 26 ^ 14 = 64.509.974.703.297.150.976 combinazioni. Quindi, 64.509.974.703.297.150.976 ms per testarli tutti.
  • Le lunghezze di my , dog , is e stupefacenti sono rispettivamente 2, 3, 2 e 7 caratteri. Il numero totale di combinazioni di 2, 3 e 7 lettere minuscole è 26 ^ 2 (676), 26 ^ 3 (17.576) e 26 ^ 7 (8.031.810.176). Sono 8.031.829.104 ms per provare ognuno di questi.

Quindi il crack di tutte le 4 password più brevi richiederebbe circa 93 GIORNI , mentre il cracking solo la password lunga richiederebbe più di 2 MILIARDI DI ANNI .

Ho cercato di mantenerla semplice. Sto usando solo lettere minuscole; assumendo tempi nel caso peggiore come se la password fosse zzzzzzzzzzzzzz ; ignorare gli attacchi basati su dizionario e regole, elaborazione parallela e basata su GPU e strumenti distribuiti; scartando il tempo necessario per testare le combinazioni più brevi prima di quelle più lunghe, ecc. In Real Life ™ le password composte da una sola parola verrebbero violate quasi istantaneamente perché utilizzano parole comuni.

* Penso * che la matematica possa aver bisogno di un aggiustamento.Per forzare una password di 2 caratteri, probabilmente avresti anche eseguito possibilità di un singolo carattere.Date le tue supposizioni, il numero massimo di tentativi per decifrare una password di 2 caratteri sarebbe (26 ^ 1 + 26 ^ 2) = 702.
@catanman L'ho già affrontato nella nota a piè di pagina.
gnasher729
2019-02-24 17:19:04 UTC
view on stackexchange narkive permalink

Ci sono (almeno) due esempi storici di quanto sia rotto questo metodo: nella seconda guerra mondiale, i tedeschi hanno sviluppato una versione più sicura della macchina Enigma, con quattro ruote invece di tre. Il che avrebbe dovuto cambiare il tempo di cracking da un giorno (brutto) a circa un mese (inutile).

Sfortunatamente, hanno utilizzato le stesse impostazioni per le prime tre ruote della macchina a quattro ruote come per la normale macchina a tre ruote. Quindi, quando la macchina a tre ruote era rotta, il cracker doveva solo controllare 26 possibili impostazioni per la quarta ruota. Nessun aumento significativo della sicurezza.

E lo schema di crittografia DVD a 40 bit si è rivelato composto da una chiave a 25 bit e una chiave a 16 bit. La chiave a 40 bit era all'epoca quasi impossibile da decifrare, ma ciascuna delle chiavi a 25 e 16 bit poteva essere violata in un tempo molto ragionevole.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...