Introdução a criptografia
Este artigo não descreve algoritmos de criptografia nem ensina a quebrá-los. Trata-se de uma introdução. Se você não sabe a diferença entre chave e senha, ou entre algoritmos simétricos e assimétricos, se não sabe o que é o ataque de força bruta e quantos bits precisa ter para ser seguro, então este artigo poderá lhe ser útil.
Parte 2: Conceito de chave
A Cifra de César não tem chave. Toda a "segurança" está na descoberta do método matemático. Se alguém descobrir que deve-se somar 3, acabou o algoritmo.
Outro problema da Cifra de César é que se eu compartilho o método com 10 pessoas, todas as 10 estarão aptas a ler todas as mensagens. Mas se eu quisesse, usando esta cifra, trocar uma mensagem cifrada com a pessoa A, mas de forma que a pessoa B não possa ler, mesmo sabendo o método?
Uma variação da Cifra de César consiste em trocar a letra pela vizinha k ao invés da 3. Se eu usar k como 3, terei que o "A" troca por "D". Se eu usar k=6, terei que o "A" troca por "G", e assim por diante. A ideia deste algoritmo é que todos conheçam o método (trocar por uma vizinha), mas ninguém sabe por qual vizinha é.
Neste caso eu poderia combinar com a pessoa A que sempre que enviasse uma mensagem para ela eu usaria k como 3. Já com a pessoa B eu combino k=6. Todos conhecem o método, mas a pessoa B não saberia como ler mensagens que enviei a pessoa A pois ela não sabe que com A eu usei k=3.
Eis o conceito de chave. O método é o mesmo, mas a chave (k) varia.
Considerando que a pessoa B queira muito ler a mensagem que eu enviei para a pessoa A, tudo que ela precisa é descobrir qual valor de k eu usei para o A, já que o método é o mesmo. A ideia é que não exista segredo algum no método de criptografia (muito embora alguns fabricantes insistem em basear sua segurança nisto).
E como pode ser feita esta descoberta? Uma das forma é através da força bruta.
Outro problema da Cifra de César é que se eu compartilho o método com 10 pessoas, todas as 10 estarão aptas a ler todas as mensagens. Mas se eu quisesse, usando esta cifra, trocar uma mensagem cifrada com a pessoa A, mas de forma que a pessoa B não possa ler, mesmo sabendo o método?
Uma variação da Cifra de César consiste em trocar a letra pela vizinha k ao invés da 3. Se eu usar k como 3, terei que o "A" troca por "D". Se eu usar k=6, terei que o "A" troca por "G", e assim por diante. A ideia deste algoritmo é que todos conheçam o método (trocar por uma vizinha), mas ninguém sabe por qual vizinha é.
Neste caso eu poderia combinar com a pessoa A que sempre que enviasse uma mensagem para ela eu usaria k como 3. Já com a pessoa B eu combino k=6. Todos conhecem o método, mas a pessoa B não saberia como ler mensagens que enviei a pessoa A pois ela não sabe que com A eu usei k=3.
Eis o conceito de chave. O método é o mesmo, mas a chave (k) varia.
Considerando que a pessoa B queira muito ler a mensagem que eu enviei para a pessoa A, tudo que ela precisa é descobrir qual valor de k eu usei para o A, já que o método é o mesmo. A ideia é que não exista segredo algum no método de criptografia (muito embora alguns fabricantes insistem em basear sua segurança nisto).
E como pode ser feita esta descoberta? Uma das forma é através da força bruta.
http://www.vivaolinux.com.br/artigo/Criptografia-chave-simetrica-de-bloco-e-de-fluxo