Algoritmos e criptografia - Primeiramente, antes de prosseguir e começar a me gabar e converter este blog em uma conversa chata de um lado, vamos primeiro entender o que são algoritmos e como eles estão relacionados à criptografia.

Algoritmos e Criptografia

Algoritmos

Para aqueles que pensam que os algoritmos estão conectados apenas à ciência da computação, você está errado. Algoritmo é um método ou uma fórmula para resolver um problema. E quando digo problema, pode ser qualquer tipo de problema, seja matemática, fórmulas científicas ou mesmo baseadas em computador. Deixe-me dar uma simples

Exemplo:

(A + b) 2 = a 2 + 2ab + b 2

Ou pode ser como:

Montante acumulado = Principal (1 + ROI * 100 * tempo)

Sim! Tudo o que é uma fórmula pode ser tomado como um algoritmo. Um algoritmo é um conjunto de regras para resolver um problema que, se feito corretamente, fornecerá uma resposta correta a cada vez. Os algoritmos geralmente envolvem a repetição de uma série de etapas repetidas vezes, como nos algoritmos de empréstimo e transporte e nos longos algoritmos de multiplicação e divisão. Os algoritmos incluem uma variedade de adição, subtração, multiplicação e divisão.

Mas antes que você comece a pensar que estou fazendo algum tipo de aula de matemática aqui, deixe-me dizer que não estou. Estou aqui para falar sobre algoritmos e criptografia relacionados à ciência da computação. Mas antes de prosseguir com isso, deixe-me dar alguns exemplos de algoritmos simples para começar.

Esses exemplos são para noobs puros que nunca fizeram nenhum tipo de coisa algorítmica em toda a sua vida. Portanto, se você acha que é inteligente o suficiente, pode pular para a próxima seção de Criptografia, onde eu voltaria a introduzir alguns princípios básicos antes de passar para o próximo nível.

Então, aqui estão alguns exemplos de algoritmos de adição, que ajudarão você a começar por enquanto e darão uma idéia de como os algoritmos são. Vamos começar com a matemática básica:

Algoritmos de adição da esquerda para a direita:

Começando à esquerda, adicione coluna por coluna e ajuste o resultado.

Para algumas pessoas, esse processo se torna tão automático que elas começam à esquerda e escrevem a resposta coluna por coluna, ajustando-as à medida que avançam sem escrever nenhuma etapa intermediária. Se solicitado a explicar, eles dizem algo assim:

200 mais 400 é 600, mas (olhando para a próxima coluna) preciso ajustar isso, então escreva 7. Então, 60 e 80 são 140, mas isso precisa ser ajustado, então escreva 5. Agora, 8 e 3 são 11, não há mais o que fazer, escrever 1. Essa técnica se desenvolve facilmente a partir de experiências com manipuladores, como blocos e dinheiro da base 10 e jogos de troca ou troca, e é consistente com os padrões da esquerda para a direita aprendidos para leitura e escrita.

Agora, algumas pessoas podem enlouquecer ao ler sobre isso. Então, você pode precisar pesquisar essas coisas no Google para ter uma idéia exata do que está acontecendo exatamente aqui.

Criptografia

A criptografia é uma arte de escrever códigos de maneira legível não humana. É um método de armazenamento e transmissão de dados de uma forma específica, para que somente aqueles a quem se destinam possam lê-los e processá-los. Você pode dizer que a criptografia é uma prima próxima das disciplinas de criptografia e criptoanálise.

A criptografia inclui técnicas como micropontos, mesclando palavras com imagens e outras maneiras de ocultar informações no armazenamento ou no trânsito. No entanto, no mundo centralizado em computadores de hoje, a criptografia é mais frequentemente associada à codificação de texto simples (texto comum, às vezes chamado de texto não criptografado) em texto cifrado (um processo chamado criptografia) e depois novamente (conhecido como descriptografia). Os indivíduos que praticam esse campo são conhecidos como criptografadores.

A criptografia é usada há muitos milhares de anos. Os seguintes códigos e cifras podem ser aprendidos e usados ​​para criptografar e descriptografar mensagens manualmente:

A) Cifras monoalfabéticas:

A cifra monoalfabética usa a mesma substituição em toda a mensagem. Por exemplo, se você souber que a letra A é codificada como a letra K, isso será válido para toda a mensagem. Esses tipos de mensagens podem ser quebrados usando análise de frequência, suposições informadas ou tentativa e erro.

1. Cifra Ceaser

Uma cifra de César é um dos métodos mais simples (e mais fáceis de quebrar). É uma cifra de substituição que envolve a substituição de cada letra da mensagem secreta por uma letra diferente do alfabeto, que é um número fixo de posições mais adiante no alfabeto.

Como cada letra da mensagem tem uma tradução direta para outra letra, a análise de frequência pode ser usada para decifrar a mensagem. Por exemplo, a letra E é a letra mais usada no idioma inglês.

Portanto, se a letra mais comum em uma mensagem secreta for K, é provável que K represente E. Além disso, terminações de palavras comuns como ING, LY e ES também fornecem pistas. Uma abordagem de força bruta de tentar todas as 25 combinações possíveis também funcionaria para decifrar a mensagem.

Neste exemplo, cada letra na mensagem de texto sem formatação foi deslocada para baixo em três letras no alfabeto.

Texto sem formatação : Esta é uma mensagem secreta

Texto cifrado : wklv lv d vhfuhw phvvdjh

2. Cifra Atbash

A cifra de Atbash é um caso muito específico de uma cifra de substituição na qual as letras do alfabeto são invertidas. Em outras palavras, todos os que são substituídos por Zs, todos os Bs são substituídos por Ys e assim por diante.

Como a reversão do alfabeto duas vezes o levará a um alfabeto real, você pode codificar e decifrar uma mensagem usando exatamente o mesmo algoritmo.

Exemplo:

Texto sem formatação : Esta é uma mensagem secreta

Texto cifrado : Gsrh rh z hvxivg nvhhztv

A cifra de palavra-chave é idêntica à cifra de César, com a exceção de que o alfabeto de substituição usado pode ser representado por uma palavra-chave.

Para criar um alfabeto de substituição a partir de uma palavra-chave, primeiro anote o alfabeto. Abaixo disso, anote a palavra-chave (omitindo letras duplicadas) seguida pelas letras restantes não utilizadas do alfabeto.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

KEYWORDABCFGHIJLMNPQSTUVXZ

Para codificar uma mensagem de texto sem formatação, você converte todas as letras da linha superior para a letra correspondente na linha inferior (A para K, B para E etc.).

O uso da análise de frequência e algumas suposições educadas podem facilmente quebrar esses tipos de cifras simples de substituição.

4. Pigpen / cifra maçônica

A cifra pigpen (às vezes chamada de cifra maçônica ou maçônica) é uma cifra de substituição simples que troca letras por símbolos baseados em uma grade. O esquema foi desenvolvido e usado pelos maçons no início dos anos 1700 para manutenção de registros e correspondência. A tecla de exemplo mostra uma maneira como as letras podem ser atribuídas à grade.

B) Cifras polialfabéticas:

Em uma cifra polialfabética, a substituição pode mudar ao longo da mensagem. Em outras palavras, a letra A pode ser codificada como a letra K para parte da mensagem, mas posteriormente pode ser codificada como a letra W.

Cursos recomendados

  • Treinamento em XML
  • Curso de treinamento para exames CCNA
  • Treinamento completo em sistemas operacionais UNIX e Linux
  • Pacote de treinamento HTML 5

1. Cifra Vigenere

Em uma Cifra de César, cada letra do alfabeto é deslocada por algum número de lugares; por exemplo, em uma cifra de César do turno 3, A se tornaria D, B se tornaria E e assim por diante. A cifra de Vigenere consiste em usar várias cifras de César em sequência com diferentes valores de turno.

Para codificar, uma tabela de alfabetos pode ser usada, denominada tabula recta, quadrado Vigenere ou tabela Vigenere. Consiste no alfabeto escrito 26 vezes em linhas diferentes, cada alfabeto deslocado ciclicamente para a esquerda em comparação com o alfabeto anterior, correspondendo às 26 possíveis cifras de César. Em diferentes pontos do processo de criptografia, a cifra usa um alfabeto diferente de uma das linhas. O alfabeto usado em cada ponto depende de uma palavra-chave repetida.

Por exemplo, suponha que o texto simples a ser criptografado seja:

ATTACKATDAWN

A pessoa que envia a mensagem escolhe uma palavra-chave e a repete até corresponder ao tamanho do texto sem formatação, por exemplo, a palavra-chave “LIMÃO”:

LEMONLEMONLE

Cada letra é codificada localizando a interseção na grade entre a letra de texto sem formatação e a letra da palavra-chave. Por exemplo, a primeira letra do texto sem formatação, A, é codificada usando o alfabeto na linha L, que é a primeira letra da chave. Isso é feito observando a letra na linha L e coluna A do quadrado Vigenere, ou seja, L. Da mesma forma, para a segunda letra do texto simples, a segunda letra da chave é usada; a letra na linha E e na coluna T é X. O restante do texto não criptografado é codificado de maneira semelhante:

Texto simples : ATTACKATDAWN

Chave : LEMONLEMONLE

Texto cifrado : LXFOPVEFRNHR

Encontrar a posição da letra do texto cifrado em uma linha da tabela e, em seguida, pegar o rótulo da coluna na qual ela aparece como texto sem formatação executa a descriptografia. Por exemplo, na linha L, o texto cifrado L aparece na coluna A, que é considerada a primeira letra em texto sem formatação. Procurar X na linha E da tabela descriptografa a segunda letra; aparece na coluna T, que é considerada a letra em texto sem formatação.

Uma cifra de Gronsfeld é idêntica à cifra Vigenere, com a exceção de que apenas 10 linhas são usadas, o que permite que a palavra-chave seja um número em vez de uma palavra.

Esteganografia

A esteganografia é na verdade a ciência de ocultar informações de pessoas que bisbilhotam você. A diferença entre isso e criptografia é que os supostos bisbilhoteiros podem não ser capazes de dizer que há informações ocultas em primeiro lugar.

Como exemplo, os arquivos de imagem geralmente possuem muito espaço não utilizado. Este espaço pode ser usado para enviar mensagens ocultas. Se você pesquisar sobre criptografia, poderá ver o termo esteganografia usado ocasionalmente. No entanto, não é uma criptografia verdadeira (embora ainda possa ser bastante eficaz) e, como tal, eu apenas a menciono aqui por completo.

Então, basicamente, se você deseja começar a praticar criptografia, a melhor maneira de começar seria resolver algoritmos e texto cifrado, juntamente com a esteganografia. Embora a esteganografia possa parecer fácil e não seja uma criptografia verdadeira, ainda é uma das criptografias mais usadas quando se trata de conceitos básicos e quando você precisa codificar algo em muito pouco tempo e da melhor maneira possível.

Primeira fonte da imagem: pixabay.com

Artigos recomendados

Aqui estão alguns artigos que ajudarão você a obter mais detalhes sobre os algoritmos e criptografia. Basta acessar o link.

  1. Perguntas sobre entrevista sobre estruturas de dados e algoritmos | Muito útil
  2. 8 perguntas e respostas impressionantes da entrevista do algoritmo
  3. Linguagens de programação de melhor escolha para aprender algoritmos
  4. 10 Melhores Estruturas de Dados e Algoritmos C ++ | Fundamentos