JBrew on Flickr
Códigos secretos, ou cifras, são uma ótima maneira de ensinar o pensamento computacional.
p>Embora você possa usar computadores para craquear códigos secretos, também chamados de cifras, eles nem sempre são necessários. E os computadores por si só não conseguem descodificar códigos secretos. Os computadores precisam de humanos para dar instruções. E os humanos têm que pensar através de uma série de perguntas, desenvolver regras para possíveis soluções, e decidir quando uma possível solução deve ser abandonada em favor de outra.
Este projecto irá levá-lo através de um método de alto nível para criar códigos secretos e cifras, bem como encontrar formas de os descodificar. Obviamente, o campo das cifras é vasto e complicado. Este puzzle é simplesmente divertido. Eu também modelei este projeto em um plano de aula mais complicado do Google, que está ligado abaixo. E eu coletei um conjunto de links online para ajudá-lo a descobrir códigos secretos próprios, assim como idéias de como decifrá-los.
Se você estiver pronto, vamos começar.
- O que é um código secreto ou cifra?
- Como se cria um código secreto ou uma cifra?
- Como Você Quebra um Código Secreto ou Cifra?
- Try Your Own Cipher
- Learn More
- Ciphering a Sentence (Google)
- Cipher (Wikipedia)
- Letter Frequency
- The Secret Language
- Secret Codes for Cubs and Scouts
- Three Secret Codes to Try With Your Kids
- Create Secret Codes and Ciphers (Wiki How)
- Cryptography (Wikipedia)
O que é um código secreto ou cifra?
Um código secreto, ou cifra, é simplesmente uma substituição de uma letra de um alfabeto por outra letra ou número. Eu poderia dizer, por exemplo, que ao invés de digitar a letra E, eu vou digitar a letra F. Então a casa torna-se housf.
Um outro tipo de código secreto transpõe, ou muda, a ordem das letras de uma mensagem. Então o house pode tornar-se uoesh.
Uma outra forma de criar códigos secretos é colocar palavras, letras, ou caracteres sem sentido entre letras ou caracteres significativos. Por exemplo, você poderia pegar um pedaço de papelão do tamanho de papel de carta, recortar quadrados ou retângulos, colocar um pedaço de papel debaixo do seu papelão, escrever sua mensagem usando os espaços recortados do papelão, depois levantar o papelão e preencher o resto do seu papel como se fosse uma letra. Somente quando você colocar o papelão de volta na sua carta você verá sua mensagem real.
O processo de codificação e decodificação de uma mensagem é chamado de criptografia. Para fazer criptografia, você precisará de uma mensagem de texto simples, um conjunto de regras (algoritmo) para codificar sua mensagem, e uma chave para ajudar a decodificar sua mensagem. Em alguns casos, você também vai especificar o tempo durante o qual o algoritmo e as chaves estão em efeito.
Cifras são ligeiramente diferentes dos códigos. Uma cifra mistura-se ou usa letras ou caracteres diferentes. Um código substitui uma palavra por outra palavra ou frase. Por exemplo, FWIW ou OMG são códigos, não são? FWIW substitui o que vale e OMG substitui Oh Meu Deus!
Para este projecto, vamos focar num padrão simples para substituir letras e caracteres.
Como se cria um código secreto ou uma cifra?
Lembra-te do meu exemplo de substituir a letra E pela letra F, assim a casa torna-se housf?
p> O que acontece se eu disser que a letra E será substituída pelas letras F mais as letras R e K? O que acontece se eu precisar usar uma palavra com F, R ou K neles? Criar uma frase desta maneira pode ficar confuso muito rapidamente. A solução é criar um padrão, ou conjunto de regras (chamado algoritmo em informática), usado para traduzir qualquer frase codificada com o seu padrão.
Para começar, digamos que o nosso padrão irá simplesmente deslocar todas as letras do alfabeto dois espaços para a direita. Então a letra E torna-se a letra G, a letra G torna-se a letra I, e assim por diante.
Com este padrão simples, a casa torna-se iqwug. Você poderia descobrir o que significa iqwug?
Como Você Quebra um Código Secreto ou Cifra?
Lembrar do nosso padrão simples onde deslocamos as letras do alfabeto dois espaços para a direita, então a casa se torna iqwug? Vamos falar sobre maneiras de quebrar ou decodificar esta palavra.
O que você pode notar primeiro é que iqwug é uma amostra extremamente pequena, uma palavra de apenas cinco caracteres. Para decifrar qualquer código, você precisa do maior número possível de exemplos de palavras, frases e parágrafos codificados. Uma palavra de cinco caracteres pode ser impossível de decifrar sem outros exemplos.
Quando você tem uma grande amostra de palavras e frases codificadas com o mesmo padrão, torna-se possível aplicar outros padrões. Por exemplo, na língua inglesa, a letra E é muito comum.
Uma grande amostra de palavras codificadas com o nosso padrão que desloca as letras dois espaços, transformando a letra E na letra G, teria provavelmente mais Gs do que a maioria ou todas as outras letras. Poderíamos começar a tentar decodificar nossa frase mudando a letra G para E. Então poderíamos ver como E se tornou G: poderíamos perceber que G é duas letras à esquerda de E no alfabeto inglês e tentar mudar as outras letras da nossa mensagem codificada dois espaços para a esquerda.
Decifrar e decifrar mensagens codificadas requer muita reflexão, assim como tentativa e erro. É um puzzle divertido para resolver.
Try Your Own Cipher
Se se lembrar, para codificar e descodificar uma mensagem vai precisar:
- Uma mensagem de texto simples.
- Um padrão ou conjunto de regras para codificar e descodificar a sua mensagem.
Você também pode usar uma chave, por exemplo, um dicionário, e definir um período de tempo quando o seu padrão ou conjunto de regras está ativo antes de ser substituído por outro padrão usado para codificar e decodificar mensagens. Mas estes são passos opcionais e não é necessário ter um pouco de diversão com códigos e pensamento computacional.
Para criar uma simples cifra de substituição, pegue um pedaço de papel e escreva cada letra do alfabeto. Ao lado de cada letra, atribua outra letra, número, ou caractere para representar a letra original. Você pode atribuir estes aleatoriamente ou em um padrão definido, por exemplo, atribuindo o segundo ou terceiro caractere à direita ou à esquerda da letra original. Então A pode tornar-se X se você mudar três caracteres para a esquerda.
Após você ter uma mensagem para codificar, consulte o seu alfabeto e reescreva sua mensagem com a letra, número ou caractere atribuído a cada letra.
Para tornar as coisas mais interessantes, trabalhe com um parceiro para criar seus próprios padrões de substituição e trocar mensagens codificadas. Veja se você pode descobrir o método de substituição necessário para decodificar a mensagem.
Se você precisar de uma mensagem longa, ou não conseguir pensar em uma mensagem, copie o texto de um livro ou página da web para codificar e decodificar. Longer plain text will allow you to see how letter frequency might help decode a message.