A codificação do livro funciona assim:
- Escolha um livro de referência.
- Para cada palavra, localize sua posição no livro.
- substitua cada palavra por suas coordenadas (ou seja: 2,3,4 = página 2, 3ª linha, 4ª palavra).
Como alguém iria decifrar a cifra de um livro sem saber qual é a chave [ou livro usado neste caso]?
Encontrar a chave é impossível ou demoraria muito tempo. Dado um texto simples conhecido e um texto cifrado, encontrar a chave certa [ou livro] é impraticável porque todas as chaves possíveis que correspondem ao texto simples exigiriam 40 bilhões de anos usando a tecnologia moderna para serem processados.
Exemplo de uma cifra de livro: Cifras de Beale , usava a Declaração de Independência dos Estados Unidos como chave.
Comentários
- Você poderia (semi) formalmente descrever a cifra? ‘ nem mesmo está claro para mim qual é a chave, se o texto cifrado é a posição das palavras …
- Acho que ‘ sa cifra de substituição em que palavras de texto simples são retiradas, pesquisadas no livro e substituídas por sua posição (possivelmente aleatória em várias ocorrências) no livro. O número de todos os livros disponíveis não é tão grande, então um jogador como o Google (eles têm um grande banco de dados de livros digitalizados) seria capaz de experimentar muitos livros em um texto cifrado e verificar cada texto simples resultante em uma estrutura de linguagem natural se frases corretas foram geradas. Se você presumir que nenhum livro pode ser usado para quebrá-lo, isso parece uma cifra perfeitamente segura.
- @MaartenBodewes a chave pode ser qualquer forma de texto. por exemplo, usei minha própria postagem. usando as posições de certas palavras para gerar um texto cifrado.
- @ 5hammer Você pode verificar se a edição esclarece o esquema da maneira que você quer? Se não, você deve fornecer uma descrição melhor do que você quer dizer.
- @MaartenBodewes obrigado, sim, esse é o esquema que eu estava tendo dificuldade em descrever.
Resposta
Em primeiro lugar, encontrar a chave (livro) não é impossível, mas apenas difícil. Se alguém, como o Google por exemplo, digitalizou milhões de livros em formatos digitais, não demorará muito para descobrir qual livro (simplesmente tente descriptografar a primeira frase apenas até que a chave seja encontrada, deve ser viável para um mainframe ).
Além disso, há uma falta de aleatoriedade. Como o livro que você escolher pode não ter sequências aleatórias, a substituição não irá decorrelar nada, o que é outra desvantagem. A melhor maneira de melhorar isso é escolhendo aleatório referências para cada personagem usando um gerador de números aleatórios, o que é tedioso.
Comentários
- Eu sei que encontrar qual livro seria possível, mas suponha que o fato de que a simples força bruta levaria 40 quitilhões de anos, mesmo que durante cada ano o poder de computação do mundo dobre. o que eu quero são outros métodos que poderiam ser usados para reduzir a quantidade de livros que eu teria que verificar.
- @ 5hammer: Como você está obtendo um número como 40 Quintilian? Conforme descrito a complexidade disso é apenas linear no número de livros disponíveis.
- Suponho que seja bastante vantajoso simplesmente pós-processar o texto cifrado de uma cifra de livro com uma transposição no sentido clássico de modo que o usuário ‘ o trabalho manual seria difícil de analisar, mesmo com recursos comparáveis aos do Google.
Resposta
Para que este seja um criptosistema prático com uma chave curta, você está limitado a especificar um livro publicado ao qual todos, incluindo o adversário, têm acesso. * Digamos que haja aproximadamente um bilhão de livros publicados distintos por aí. Uma pesquisa superficial sugere que esta é uma superestimativa por um fator de cerca de dez, mas não vamos discutir os detalhes. Para cada livro, digamos que há um média de um milhão de palavras. Esta também é uma superestimativa enorme.
Isso torna um trilhão de chaves possíveis, $ 10 ^ {12} \ approx 2 ^ {40} $ – e para anotar seu criptosistema, você deve literalmente encher uma biblioteca.
Você está melhor servido usando a cifra DES quebrada por força bruta arcaica com uma chave de 56 bits do que usando esta chave efetivamente de 40 bits para uma cifra de livro. Se você precisa fazer isso com papel e caneta – se de alguma forma você pode pagar uma biblioteca de bilhões de livros, mas não um computador – provavelmente existem cifras de caneta e papel melhores disponíveis, como [1] e [2] .
* Se você não está limitado a livros publicados, pode também trocar números de telefone na Biblioteca de Babel, mas tal proposta é ainda menos prática.
Comentários
- Seu cálculo do fator de trabalho só faz sentido se o adversário realmente tiver todos os bilhões de livros publicados (em todas as edições) .
Resposta
Há um grande ataque de canal lateral a tais cifras, imaginativamente chamado de ataque de busca de premissas. Embora você pense que todos os livros do mundo estão à sua disposição, na verdade eles não estão. Você precisa ter o livro em algum momento, e o mesmo acontece com o destinatário do texto cifrado. E eles têm que ser palavra por palavra, página por página idêntica.
Então, se você está relatando sobre uma colônia local de úteros, pode cifrar e enviar: –
” Tio-avô Bulgária – o mais velho e mais sábio dos Wombles de Wimbledon e seu líder. “
Mas se você “re espionando uma empresa farmacêutica, então sua mensagem secreta pode ser: –
” Aqui apresentamos um modelo de trabeculação em camundongos que integra endocárdio dinâmico e comportamentos das células miocárdicas e remodelação da ECM, e revelam novas relações epistáticas entre as vias de sinalização envolvidas. “
Não há muitos livros no mundo que contenham exatamente isso palavras, e tanto o remetente quanto o destinatário da mensagem devem possuir uma. Então, de repente, todos os livros do mundo são reduzidos a não muitos. Uma longa estante com 10.000 livros ainda tem apenas 13 bits de escolha. E quem tem 10.000 livros diferentes incorporando a palavra “Wombles”? Pesquisar nas estantes do remetente ou do destinatário afetaria enormemente a segurança.
Se a casa de Thomas Beale tivesse sido revistada na época, o tesouro provavelmente teria sido facilmente localizado, pois ele precisava ter uma cópia da Declaração de Independência em sua estante de livros.
Comparativamente, imagine se você pudesse recuperar uma chave AES usando um canal lateral para reduzir o espaço de chave desconhecido em 99%. Isso significaria procurar uma cifra melhor. É mais seguro e prático substituir letras em vez de palavras. Dessa forma, você pode simplesmente usar a Bíblia para tudo.
Resposta
Acho que a ideia é que eles não podem ser quebrados, sem a chave você não pode decifrá-los. Você pode usar programas de computador esperando que o livro específico tenha sido digitalizado, mas lembre-se de que seu código é baseado na página e números de palavras, então a “edição” / “impressão” do livro também é um fator. Um livro de bolso tem uma numeração de página diferente de uma capa dura. Se você estiver usando um livro mais antigo com tipo de letra diferente, as palavras cairão em páginas diferentes do que uma cópia moderna. É por isso que esses códigos são tão úteis, mas cada pessoa teria que ter a mesma edição do livro para se entender.
A maneira mais rápida de determinar qual é a chave seria entender a pessoa que trabalha com o código e tentar determinar qual livro / chave eles usariam.