La cifratura del libro funziona in questo modo:
- Scegli un libro di riferimento.
- Per ogni parola trova la sua posizione nel libro.
- sostituisci ogni parola con le sue coordinate (ad esempio: 2,3,4 = pagina 2, 3a riga, 4a parola).
Come qualcuno potrebbe decifrare un cifrario di un libro senza sapere quale sia la chiave [o il libro usato in questo caso]?
Trovare la chiave è impossibile o richiederebbe una quantità di tempo impraticabile. Dato un testo normale noto e un testo cifrato, trovare la chiave [o il libro] giusto non è pratico perché tutte le possibili chiavi che corrispondono al testo normale richiederebbero 40 miliardi di anni utilizzando la tecnologia moderna per andare avanti.
Esempio di un cifrario del libro: cifrario Beale , utilizzava come chiave la Dichiarazione di indipendenza degli Stati Uniti.
Commenti
- Potresti descrivere (semi) formalmente il codice? ‘ non mi è nemmeno chiaro quale sia la chiave, se il testo cifrato è la posizione delle parole …
- Immagino sia ‘ è un codice di sostituzione in cui le parole in chiaro vengono prese, cercate nel libro e sostituite con la loro posizione (possibilmente casuale tra più occorrenze) nel libro. Il numero di tutti i libri disponibili non è così grande, quindi un lettore come Google (ha un ampio database di libri scansionati) sarebbe in grado di provare molti libri su un testo cifrato e controllare ogni testo in chiaro risultante in un framework di linguaggio naturale se sono state generate frasi corrette. Se presumi che nessun libro possa essere usato per infrangerlo, allora questo sembra un codice perfettamente sicuro.
- @MaartenBodewes la chiave potrebbe essere qualsiasi forma di testo. per esempio ho usato il mio post. usando le posizioni di certe parole per generare un testo cifrato.
- @ 5hammer Puoi controllare se la modifica chiarisce lo schema nel modo in cui lo intendi? In caso contrario, dovresti fornire una descrizione migliore di ciò che intendi.
- @MaartenBodewes grazie, sì, questo è lo schema che stavo facendo fatica a descrivere.
Risposta
Per prima cosa, trovare la chiave (libro) non è impossibile, ma solo difficile. Se qualcuno, come Google ad esempio, ha scansionato milioni di libri in formati digitali, non ci vorrà molto per capire quale libro (prova semplicemente a decrittografare la prima frase solo finché non viene trovata la chiave, dovrebbe essere fattibile per un mainframe ).
Inoltre, cè una mancanza di casualità. Poiché il libro che scegli potrebbe non avere sequenze casuali, la sostituzione non decorrelerà nulla, il che è un altro svantaggio. Il modo migliore per migliorare questo è scegliere casuale riferimenti per ogni personaggio utilizzando un generatore di numeri casuali, il che è noioso.
Commenti
- So che trovare quale libro potrebbe essere possibile, ma presumo per il fatto che la semplice forzatura bruta richiederebbe 40 quitilioni di anni anche se durante ogni anno la potenza di calcolo del mondo raddoppia. quello che voglio sono gli altri metodi che potrebbero essere usati per ridurre la quantità di libri che dovrei controllare.
- @ 5hammer: Come stai ottenendo un numero come 40 Quintilian? Come descritto la complessità di questo è solo lineare nel numero di libri disponibili.
- Suppongo che potrebbe essere abbastanza vantaggioso postprocedere semplicemente il testo cifrato da un cifrario del libro con una trasposizione in senso classico tale che lutente ‘ s lavoro manuale sarebbe difficile da analizzare anche con risorse paragonabili a quelle di Google.
Risposta
Affinché questo sia un pratico sistema crittografico con una chiave breve, sei limitato a specificare un libro pubblicato a cui tutti, compreso lavversario, hanno accesso. * Diciamo che ci siano circa un miliardo di libri pubblicati distinti là fuori. Una ricerca rapida suggerisce che si tratta di una sovrastima di circa dieci volte, ma non discutiamo sui dettagli. Per ogni libro, diciamo che cè un media di un milione di parole. Anche questa è unenorme sovrastima.
Questo rende un trilione di possibili chiavi, $ 10 ^ {12} \ circa 2 ^ {40} $ – e per scrivere il tuo sistema crittografico, devi letteralmente riempire una libreria.
È meglio usare larcaico codice DES spezzato dalla forza bruta con una chiave a 56 bit piuttosto che usare questa chiave a 40 bit per un cifrario a libro. Se hai bisogno di farlo con carta e penna, se in qualche modo puoi permetterti una biblioteca di miliardi di libri ma non un computer, probabilmente sono disponibili cifrari carta e penna migliori, come [1] e [2] .
* Se non ti limiti ai libri pubblicati, potresti anche scambiare i numeri telefonici nella Biblioteca di Babele, ma una proposta del genere è ancora meno pratica.
Commenti
- Il tuo calcolo del fattore lavoro ha senso solo se lavversario ha effettivamente tutti i miliardi di libri pubblicati (in tutte le edizioni) .
Risposta
Esiste un importante attacco di canale laterale a tali cifrari, immaginativamente chiamato attacco di ricerca dei locali. Anche se penseresti che tutti i libri del mondo siano a tua disposizione, in realtà non lo sono. Devi avere il libro a un certo punto, e così fa il destinatario del testo cifrato. E devono essere identici parola per parola, pagina per pagina.
Quindi, se stai segnalando una colonia locale di uteri, potresti cifrare e inviare: –
” Prozio Bulgaria – il più vecchio e saggio dei Wimbledon Wombles e il loro leader. “
Ma se tu “stai spiando unazienda farmaceutica, il tuo messaggio segreto potrebbe essere: –
” Qui presentiamo un modello di trabeculazione nei topi che integra endocardia dinamica e comportamenti delle cellule miocardiche e rimodellamento dellECM e rivelano nuove relazioni epistatiche tra le vie di segnalazione coinvolte. “
Non ci sono molti libri al mondo che contengono questi esatti parole, e sia il mittente che il destinatario del messaggio hanno dovuto possederne una. Così allimprovviso tutti i libri del mondo si riducono a non molti. Una lunga libreria con 10.000 libri è ancora solo ~ 13 bit di scelta del libro. E chi ha 10.000 libri diversi che incorporano la parola “Wombles”? La ricerca negli scaffali del mittente o del destinatario avrebbe un enorme impatto sulla sicurezza.
Se la casa di Thomas Beale fosse stata perquisita in quel momento, il tesoro sarebbe stato probabilmente individuato facilmente poiché avrebbe dovuto avere una copia della Dichiarazione di indipendenza sulla sua libreria.
Comparativamente, immagina di poter recuperare una chiave AES utilizzando un canale laterale per ridurre lo spazio della chiave sconosciuta del 99%. Ciò significherebbe cercare un codice migliore. È più sicuro e più pratico sostituire le lettere piuttosto che le parole. In questo modo puoi semplicemente usare la Bibbia per tutto.
Risposta
Penso che lidea sia che questi non possono essere decifrati, senza la chiave non puoi “decifrarli. Puoi usare programmi per computer sperando che il libro in particolare sia stato digitalizzato, ma ricorda se il tuo codice è basato su una pagina e numeri di parole, anche l “edizione” / “stampa” del libro è un fattore. Un libro tascabile ha una numerazione delle pagine diversa da quella del dorso rigido. Se utilizzi un libro più vecchio con caratteri tipografici diversi, le parole cadranno su pagine diverse di una copia moderna. Questo è il motivo per cui questi codici sono così utili, ma ogni persona dovrebbe avere la stessa edizione del libro per capirsi.
Il modo più veloce per determinare qual è la chiave sarebbe capire la persona che lavora il codice e cercare di determinare quale libro / chiave userebbero.