bom galera nesse artigo vou falar um pouco sobre cryptografia, bom para começar oq é cryptografia para q serve e como funciona, vamos por partes
oq é
cryptografia e um sistema para deixar um meio d comunicaçao inlegivel para q outra pessoa ou outro grupo de pessoa nao possa ler ou entender, existe diversos tipos de cryptografia vou falar sobre os tipos mais comuns e as falhas q existe neles
para q serve
a cryptografia tem varias funçoes uma delas eu ja falei que e deixar o texto inlegivel assim apenas uma unica pessoa ou um determinado grupo de pessoas conseguiria entender o texto (texto no sentido de comunicaçao podendo ser qualquer coisa alem de texto), outra coisa e autenticidade isso e provar para um determinado grupo q e a pessoa q diz ser (uma pessoa poderia descobrir a senha de msn da outra e se passar por ela quem iria desconfiar disso, to tc com uma mina talvez seja a mae dela ai lasco) , para ativaçao de um determinado programa (nesse caso sao os seriais ), para passar um texto por um meio nao muito seguro (colar na prova), pode servir para proteçao caso fassa algo nao muito legal cryptografe os dados (onde nao existe pista nao existe crime) ou simplesmente guardar os arquivos xxx para q a mamae nao possa achar se nao o coro come
como funciona
eu vou falar sobre cryptografia textual, pq cryptografia graficas (imagens etc) e sonora tem um esquema um pouco diferente, vamos analisar a seguinte palavra
se agente perceber e uma palavra normal, vamos analisar ela letra por letra assim fica facil criar cryptografia
e mais facil criar uma cryptografia vendo caracter por caracter ao invez de palavra por palavra, em alguns caso dependendo da logica da sua cryptografia e melhor palavra por palavra ou um conjunto delas, dependendo da logica vc apenas muda a ordem dos caracter ou simplesmente muda a tabela (essa tabela e no sentido de ordem da palavra um exemplo e o alfabeto ou asc2)
cifra de transposiçao
essa cifragem apenas muda a ordem da palavra sem fazer alteraçao na tabela, por exemplo fts315
no exemplo acima eu so troquei a ordem do caracter pelo da frente e o da frente pelo anterior, outro exemplo de cifra de transposiçao e escrever a palavra invertido
a logica q eu usei nos dois exemplo de trocar a proxima pela anterior e anterior pela proxima ou inverter seria o sistema cryptografico dessa cryptografia (no caso se fosse em programaçao isso seria um algoritimo cryptografico), a parte fraca na cifra de trasposiçao e q ela e bem limitada a quantidade palavras formada, vamos ver como exemplo a palavra fts q eu cryptografei com um cifra de transposiçao e deu a palavra tfs, sao 3 digitos isso quer dizer q existe apenas 6 possibilidades para a palavra real (para saber o possibilidades de palavras formadas com uma cifra de transposiçao basta fazer o fatorial da quantidade de digitos no caso aq e 3 entao 3x2x1=6), para descobrir basta fazer um anagrama com a palavra veja
o exemplo acima so era 3 letras = 6 possibilidades diferentes por isso foi facil, mais quando tem muita caracter entao gera uma possibilidade muito maior e para criar um anagrama e complicado (pelo menos para ser humano, ai entra a programaçao) vc poderia criar um programa q testa varias possibilidades em um determinado conjunto de carecteres usando uma lista palavras formadas (o famoso brute force), outra desvantagem da cifra de transposiçao e q se o hacker descobrir a logica em cima dela ja era pode decodificar todo texto, essa cifragem sendo uma das mais facil para decodificar quando se sabe a logica dela e facil usar ela para colar em provas (caso o professor pegue ele nao vai entender ai vc pode invetar uma historia qualquer)
cifra de substituçao
essa cifragem e diferente da anterior nessa vc muda a tabela na palavra ou modifica o caracter por outro caracter, veja o exemplo da cifra rot13, ela muda o caracter pelo equivalente na tabela
outra cifragem conhecida e a cifra de cesar q muda o caracter por uma quantidade de digitos a frente ou antes, veja a palavra fts se eu mudar os carecteres pelos 2 da frente
para decodificar a cifra de cesar basta fazer o sistema inverso
a vantagem na cifra de substituiçao q agente pode usar chaves para codificar e decoficar no caso da cifra de cesar e o numero 2 q poderia ser qualquer um (agente poderia colocar aquele numero como uma senha no programa), outra vantagem que cifras de substituiçao gera possibilidades maiores q de transposiçao para saber a possibilidade de uma cifra de transposiçao basta fazer o fatorial da quantidade de digitos em uma de substuiçao basta pegar a quantidade de caracter q existe na tabela elevado a quantidade de digitos do texto, no exemplo anterior se a tabela tivesse apenas 26 letras do alfabeto o fts tem 3 digitos entao teria uma possibilidade de 17576 palavras formadas ja o fts na cifra de trasposiçao so era 6 palavras formadas.
outra vantagem e q os caracteres em uma cifra de substiutiçao poderia ser qualquer um (ate outros simbolos graficos) ou ate mais de um, desse geito
no exemplo acima toda letra f vai ser substituido por ht e assim por diante, o ponto fraco nesse cifra de substuiçao e q quando tiver muitas digitos tambem vai ter muitos padroes (caracter ou conjunto de caracter repetidos) isso permite fazer uma estatistica de todas os caracter e tenta advinhar qual e o mais usado e assim adivinhas as palavras, um geito para burlar e usar varias tabelas nos caracteres menos usado assim cria um equilibrio, cifra de substituiçao q usa mais de uma tabela se chama cifra de substituiçao poli-alfabetica e a q usa apenas uma tabela e mono-alfabetica, veja um exemplo de cifra de substituiçao poli-alfabetica com a palavra faca
no exemplo acima o primeiro a = eg ja o segundo a = ch , outro exemplo e usar a chave diferente formando caracter diferente
para decoficar so usar o sistema inverso
cifra de mao unica
essas cifras sao apenas para comparaçao elas apenas codifica mais nao decodifica, sao usada para checar se e mesmo a senha digitada ou se o sistema nao foi alterado ou corrompido sao as famosa hash, as hash como dito antes serve para comparaçao a maioria tem o mesmo tamanho (o tamanho nunca muda) por exemplo md5 tem o tamanho de 32 digitos em hexadecimal, o funcionamento dela e bem simples (diferente do seu algoritmo =/ ) vc codifica uma senha gerando uma hash e hash e guardada em um banco de dados, quando vc logar no sistema ele vai codificar denovo a senha digitada e compara a hash com a hash do banco de dados se for igual e a senha (simples nao ^^ ), o problema q hash tem o mesmo tamanho isso quer dizer q existe mais de uma senha para hash kkkkkkkkkk (isso e uma probabilidade muito baixa acredite e mais facil vc ganha na loteria doq descobrir qual senha e igual em hash de 128bits), como dito antes tambem e usado para ver se o arquivo foi modificado ou corrompido nesse caso ele testa todos os bits dentro do arquivo e gera a hash sobre eles, se qualquer bit do arquivo for modificado a hash muda em outras palavras o arquivo foi modificado ou corrompeu no processo de tranferencia.
as hash tambem e mais utilizado para checagem de senhas em banco de dados doq outro tipo de cryptografia e esse e outro problema, eu acredito q a maioria das hash q sao algoritimos abertos tem programas de brute force para eles (md5 nem se fala so jogar no google e ja temos a senha ¬¬' )
cifra simetrica e assimetrica
ate agora agente falo de cifras simetricas q sao cryptografia q usa a mesma chave para codificar e decodificar, tambem existe cifras assimetrica q a chave para codificar e diferente da chave para decodificar, nao vou entrar muito em detalhes sobre a cifra assimetrica
brute force
esse e um dos metodos para descobrir a senha ou texto original, para isso e testado todas possibilidades possiveis em cima do texto cryptografado, para fazer esse metodo tem q saber qual e o algoritimo q e usado para codificar depois criar um loop codificando todas as possbilidades e quando bater o arquivo recem gerado com o outro entao em termo hacker quebro!!!!, por exemplo imagine q a senha e o numero 10 se eu fosse fazer um brute force ia fazer isso
no exemplo acima eu usei numeros mais se fosse letras e outros caracteres especiais poderia demorar muito dependendo da senha, algoritimo cryptografico, e computador um brute force poder demora segundos, dias, meses ate anos, para evitar isso hackers usa brute-force com uma lista de palavras (wordlist) q ja tem palavras formadas assim ele nao tenta todas as possibilidades caracter por caracter e sim de palavra por palavra, mesmo assim se a palavra nao tiver no wordlist entao nao quebra =/
stegonografia
cryptografia e deixar os dados inlegivel ja a stegonografia e ocultar dados para q nao possa ser visto, por exemplo esconder arquivos dentro de outro (vc poderia passar arquivos secrto pela net basta colocar ele dentro de uma imagem inocente e hospedar em algum site e pronto apenas quem sabe oq esta na imagem e como tirar dela poderia pegar o arquivo)
by hacker fts315
oq é
cryptografia e um sistema para deixar um meio d comunicaçao inlegivel para q outra pessoa ou outro grupo de pessoa nao possa ler ou entender, existe diversos tipos de cryptografia vou falar sobre os tipos mais comuns e as falhas q existe neles
para q serve
a cryptografia tem varias funçoes uma delas eu ja falei que e deixar o texto inlegivel assim apenas uma unica pessoa ou um determinado grupo de pessoas conseguiria entender o texto (texto no sentido de comunicaçao podendo ser qualquer coisa alem de texto), outra coisa e autenticidade isso e provar para um determinado grupo q e a pessoa q diz ser (uma pessoa poderia descobrir a senha de msn da outra e se passar por ela quem iria desconfiar disso, to tc com uma mina talvez seja a mae dela ai lasco) , para ativaçao de um determinado programa (nesse caso sao os seriais ), para passar um texto por um meio nao muito seguro (colar na prova), pode servir para proteçao caso fassa algo nao muito legal cryptografe os dados (onde nao existe pista nao existe crime) ou simplesmente guardar os arquivos xxx para q a mamae nao possa achar se nao o coro come
como funciona
eu vou falar sobre cryptografia textual, pq cryptografia graficas (imagens etc) e sonora tem um esquema um pouco diferente, vamos analisar a seguinte palavra
fts315
se agente perceber e uma palavra normal, vamos analisar ela letra por letra assim fica facil criar cryptografia
f
t
s
3
1
5
e mais facil criar uma cryptografia vendo caracter por caracter ao invez de palavra por palavra, em alguns caso dependendo da logica da sua cryptografia e melhor palavra por palavra ou um conjunto delas, dependendo da logica vc apenas muda a ordem dos caracter ou simplesmente muda a tabela (essa tabela e no sentido de ordem da palavra um exemplo e o alfabeto ou asc2)
cifra de transposiçao
essa cifragem apenas muda a ordem da palavra sem fazer alteraçao na tabela, por exemplo fts315
tf3s51
no exemplo acima eu so troquei a ordem do caracter pelo da frente e o da frente pelo anterior, outro exemplo de cifra de transposiçao e escrever a palavra invertido
513stf
a logica q eu usei nos dois exemplo de trocar a proxima pela anterior e anterior pela proxima ou inverter seria o sistema cryptografico dessa cryptografia (no caso se fosse em programaçao isso seria um algoritimo cryptografico), a parte fraca na cifra de trasposiçao e q ela e bem limitada a quantidade palavras formada, vamos ver como exemplo a palavra fts q eu cryptografei com um cifra de transposiçao e deu a palavra tfs, sao 3 digitos isso quer dizer q existe apenas 6 possibilidades para a palavra real (para saber o possibilidades de palavras formadas com uma cifra de transposiçao basta fazer o fatorial da quantidade de digitos no caso aq e 3 entao 3x2x1=6), para descobrir basta fazer um anagrama com a palavra veja
tfs
tsf
fts => minha palavra
fst
stf
sft
o exemplo acima so era 3 letras = 6 possibilidades diferentes por isso foi facil, mais quando tem muita caracter entao gera uma possibilidade muito maior e para criar um anagrama e complicado (pelo menos para ser humano, ai entra a programaçao) vc poderia criar um programa q testa varias possibilidades em um determinado conjunto de carecteres usando uma lista palavras formadas (o famoso brute force), outra desvantagem da cifra de transposiçao e q se o hacker descobrir a logica em cima dela ja era pode decodificar todo texto, essa cifragem sendo uma das mais facil para decodificar quando se sabe a logica dela e facil usar ela para colar em provas (caso o professor pegue ele nao vai entender ai vc pode invetar uma historia qualquer)
cifra de substituçao
essa cifragem e diferente da anterior nessa vc muda a tabela na palavra ou modifica o caracter por outro caracter, veja o exemplo da cifra rot13, ela muda o caracter pelo equivalente na tabela
a <=> n
b <=> o
c <=> p
d <=> q
e <=> r
f <=> s
g <=> t
h <=> u
i <=> v
j <=> w
k <=> x
l <=> y
m <=> z
fts = sgf
outra cifragem conhecida e a cifra de cesar q muda o caracter por uma quantidade de digitos a frente ou antes, veja a palavra fts se eu mudar os carecteres pelos 2 da frente
f + 2 = h
t + 2 = v
s + 2 = u
fts = huv
para decodificar a cifra de cesar basta fazer o sistema inverso
h - 2 = f
u - 2 = t
v - 2 = s
huv = fts
a vantagem na cifra de substituiçao q agente pode usar chaves para codificar e decoficar no caso da cifra de cesar e o numero 2 q poderia ser qualquer um (agente poderia colocar aquele numero como uma senha no programa), outra vantagem que cifras de substituiçao gera possibilidades maiores q de transposiçao para saber a possibilidade de uma cifra de transposiçao basta fazer o fatorial da quantidade de digitos em uma de substuiçao basta pegar a quantidade de caracter q existe na tabela elevado a quantidade de digitos do texto, no exemplo anterior se a tabela tivesse apenas 26 letras do alfabeto o fts tem 3 digitos entao teria uma possibilidade de 17576 palavras formadas ja o fts na cifra de trasposiçao so era 6 palavras formadas.
outra vantagem e q os caracteres em uma cifra de substiutiçao poderia ser qualquer um (ate outros simbolos graficos) ou ate mais de um, desse geito
f = ht
t = 3a
s = cd
fts = ht3acd
no exemplo acima toda letra f vai ser substituido por ht e assim por diante, o ponto fraco nesse cifra de substuiçao e q quando tiver muitas digitos tambem vai ter muitos padroes (caracter ou conjunto de caracter repetidos) isso permite fazer uma estatistica de todas os caracter e tenta advinhar qual e o mais usado e assim adivinhas as palavras, um geito para burlar e usar varias tabelas nos caracteres menos usado assim cria um equilibrio, cifra de substituiçao q usa mais de uma tabela se chama cifra de substituiçao poli-alfabetica e a q usa apenas uma tabela e mono-alfabetica, veja um exemplo de cifra de substituiçao poli-alfabetica com a palavra faca
f = ha
a = eg
c = an
a = ch
faca = haeganch
no exemplo acima o primeiro a = eg ja o segundo a = ch , outro exemplo e usar a chave diferente formando caracter diferente
f + 1 = g
a + 2 = c
c + 3 = f
a + 4 = g
faca = gcfg
para decoficar so usar o sistema inverso
g - 1 = f
c - 2 = a
f - 3 = c
g - 4 = a
gcfg = faca
cifra de mao unica
essas cifras sao apenas para comparaçao elas apenas codifica mais nao decodifica, sao usada para checar se e mesmo a senha digitada ou se o sistema nao foi alterado ou corrompido sao as famosa hash, as hash como dito antes serve para comparaçao a maioria tem o mesmo tamanho (o tamanho nunca muda) por exemplo md5 tem o tamanho de 32 digitos em hexadecimal, o funcionamento dela e bem simples (diferente do seu algoritmo =/ ) vc codifica uma senha gerando uma hash e hash e guardada em um banco de dados, quando vc logar no sistema ele vai codificar denovo a senha digitada e compara a hash com a hash do banco de dados se for igual e a senha (simples nao ^^ ), o problema q hash tem o mesmo tamanho isso quer dizer q existe mais de uma senha para hash kkkkkkkkkk (isso e uma probabilidade muito baixa acredite e mais facil vc ganha na loteria doq descobrir qual senha e igual em hash de 128bits), como dito antes tambem e usado para ver se o arquivo foi modificado ou corrompido nesse caso ele testa todos os bits dentro do arquivo e gera a hash sobre eles, se qualquer bit do arquivo for modificado a hash muda em outras palavras o arquivo foi modificado ou corrompeu no processo de tranferencia.
as hash tambem e mais utilizado para checagem de senhas em banco de dados doq outro tipo de cryptografia e esse e outro problema, eu acredito q a maioria das hash q sao algoritimos abertos tem programas de brute force para eles (md5 nem se fala so jogar no google e ja temos a senha ¬¬' )
cifra simetrica e assimetrica
ate agora agente falo de cifras simetricas q sao cryptografia q usa a mesma chave para codificar e decodificar, tambem existe cifras assimetrica q a chave para codificar e diferente da chave para decodificar, nao vou entrar muito em detalhes sobre a cifra assimetrica
brute force
esse e um dos metodos para descobrir a senha ou texto original, para isso e testado todas possibilidades possiveis em cima do texto cryptografado, para fazer esse metodo tem q saber qual e o algoritimo q e usado para codificar depois criar um loop codificando todas as possbilidades e quando bater o arquivo recem gerado com o outro entao em termo hacker quebro!!!!, por exemplo imagine q a senha e o numero 10 se eu fosse fazer um brute force ia fazer isso
0,1,2,3,4,5,6,7,8,9,10 (quebro)
no exemplo acima eu usei numeros mais se fosse letras e outros caracteres especiais poderia demorar muito dependendo da senha, algoritimo cryptografico, e computador um brute force poder demora segundos, dias, meses ate anos, para evitar isso hackers usa brute-force com uma lista de palavras (wordlist) q ja tem palavras formadas assim ele nao tenta todas as possibilidades caracter por caracter e sim de palavra por palavra, mesmo assim se a palavra nao tiver no wordlist entao nao quebra =/
stegonografia
cryptografia e deixar os dados inlegivel ja a stegonografia e ocultar dados para q nao possa ser visto, por exemplo esconder arquivos dentro de outro (vc poderia passar arquivos secrto pela net basta colocar ele dentro de uma imagem inocente e hospedar em algum site e pronto apenas quem sabe oq esta na imagem e como tirar dela poderia pegar o arquivo)
by hacker fts315