Mostrando postagens com marcador Funções de Criptografia. Mostrar todas as postagens
Mostrando postagens com marcador Funções de Criptografia. Mostrar todas as postagens

segunda-feira, 27 de dezembro de 2010

Utilizando MD5 em Criptográfia

Aqui desenvolvi com algumas pesquisas e montei umas Function para PHP para validação de logins ao Banco de Dados utilizando MD5, podem notar ele originalmente foi feito apenas para alimentar o md5 database md5.rednoize.com, porém você também pode utiliza-lo para efetuar pesquisas.

Código PHP:

#!/usr/bin/php -q
<?php
//Alterar a linha para #!/pathdophp/php -q -d short_open_tag=on
$servidor "md5.rednoize.com";
echo "\033[32m";
echo 
"------------------------------------\r\n";
echo 
"- md5hash - http://md5.rednoize.com -\r\n";
echo 
"- Criado por: Elder Stroparo     -\r\n";
echo 
"- E-Mail: seuemail[arroba]email.com     -\r\n";
echo 
"- Seg, 27 de Dezembro de 2010         -\r\n";
echo 
"------------------------------------\r\n";
settype($template"string");
//$template = "1234567890abcdefghijklmnopqrstuvwxyz"; //Letras e Numeros.
$template "123456789"//Somente numeros.
function GetRandomString($length) {
       global 
$template;
       
settype($length"integer");
       
settype($rndstring"string");
       
settype($a"integer");
       
settype($b"integer");
       for (
$a 0$a <= $length$a++) {
               
$b rand(0strlen($template) - 1);
               
$rndstring .= $template[$b];
       }
       return 
$rndstring;
}
if (
$argc<3) {
echo 
"\r\n";
echo 
"Para \"quebrar\" uma md5 use ".$argv[0]." -m\r\n";
echo 
"Para adicionar uma nova senha ao banco de dados (md5.rednoise.com) utilize: ".$argv[0]." -q\r\n";
echo 
"[#] Alimentando o banco de dados...\r\n";
echo 
"[!] Para finalizar pressione CTRL+C\r\n\r\n";
while (
1) {
$rand GetRandomString(7);
echo 
$rand;
echo 
" - ";
echo 
file_get_contents("http://$servidor/?p&q=$rand");
echo 
"\r\n";
}
}
if (
$argv[1] == "-m") {
$q $argv[2];
echo 
"[!] Consultando servidor...";
echo
"\r\n";
echo 
"[*] A senha é: ";
echo 
file_get_contents("http://$servidor/?p&q=$q&b=MD5-Search");
echo 
"\r\n";
}
if (
$argv[1] == "-q") {
$q $argv[2];
echo 
"[*] Senha $q - md5: ";
echo 
file_get_contents("http://$servidor/?p&q=$q");
echo 
"\r\n[!] Adicionada com sucesso!";
echo
"\r\n";
}
?>


Bom espero que tenham gostando deste exemplo em PHP, ai está um modelo de como utilizar o MD5, ele está alimentando o bando de dados e gerando uma sequencia diretamente do servidor http://md5.rednoize.com (MD5 HASH).


Funções de Criptográfia

Bom vou falar hoje um pouco sobre o termo Funções de Criptográfia que é meios de proteger as informações armazenadas em um Banco de Dados.

Os Banco de Dados são muito importante eles utilizam para armazenar diversos tipos de informações, desde dados sobre uma conta de e-mail até dados importantes da Receita Federal. Para tal existem diversos tipos, os quais variam em complexidade e sobre tudo em segurança.

A Criptográfia são técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário, oque atorna difícil de ser lida por alguém não autorizado. Assimsendo, só o receptor da mensagem pode ler a informação com facilidade.

Visão Geral: a criptografia tem quatro objetivos principais

confidencialidade da mensagem: só o destinatário autorizado deve ser capaz de extrair o conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser possível, uma vez que, se o for, torna mais fácil a análise criptográfica.

integridade da mensagem: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.

autenticação do remetente: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.

não-repúdio ou irretratabilidade do emissor: não deverá ser possível ao emissor negar a autoria da mensagem.

Nem todos os sistemas ou algoritmos criptográficos são utilizados para atingir todos os objetivos listados acima. Normalmente, existem algoritmos específicos para cada uma destas funções. Mesmo em sistemas criptográficos bem concebidos, bem implementados e usados adequadamente, alguns dos objetivos acima não são práticos (ou mesmo desejáveis) em algumas circunstâncias. Por exemplo, o remetente de uma mensagem pode querer permanecer anônimo, ou o sistema pode destinar-se a um ambiente com recursos computacionais limitados.

Comentando melhor sobre as funções de criptográfia Criptografia

Criptografia, MD2, MD4, SHA, Hash, MD5, MD6 (não utilizavél).

Criptografia

(Do Grego kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. Assim sendo, só o receptor da mensagem pode ler a informação com facilidade. É um ramo da Matemática, parte da Criptologia.

MD2

é um algoritmo de hash que cria um valor de hash de 128 bits funciona semelhante ao algoritmo de MD4 e foram desenvolvidos pela RSA Data Security, Inc.

MD4

é um algoritmo de hash que cria um valor de hash de 128 bits funciona semelhante ao algoritmo de MD2 e foram desenvolvidos pela RSA Data Security, Inc.
Ele foi desenvolvido em 1990, mas um ano após foi sucedido pelo MD5 por possuir falhas de segurança. A lógica desse algoritmo influenciou a criação de outros algoritmos como o MD5, SHA-1 e o RIPEMD. O MD4 também é usado para computar o hash de senhas em sistemas Microsoft NT.

SHA

(Secure Hash Algorithm) está relacionada com as funções criptográficas. A função mais usada nesta família, a SHA-1, é usada numa grande variedade de aplicações e protocolos de segurança, incluindo TLS, SSL, PGP, SSH, S/MIME e IPSec. SHA-1 foi considerado o sucessor do MD5. Ambos têm vulnerabilidades comprovadas. Em algumas correntes, é sugerido que o SHA-256 ou superior seja usado para tecnologia crítica. Os algoritmos SHA foram desenhados pela National Security Agency (NSA) e publicados como um padrão do governo Norte-Americano.

O primeiro membro da família, publicado em 1993, foi oficialmente chamado SHA; no entanto, é frequentemente chamado SHA-0 para evitar confusões com os seus sucessores. Dois anos mais tarde, SHA-1, o primeiro sucessor do SHA, foi publicado. Desde então quatro variantes foram lançadas com capacidades de saída aumentadas e um design ligeiramente diferente: SHA-224, SHA-256, SHA-384, e SHA-512 — por vezes chamadas de SHA-2.

Hash

é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando 1/2 byte cada. O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".

Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original.

Como a sequência do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (sequências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo.

Uma função de hash recebe um valor de um determinado tipo e retorna um código para ele. Enquanto o ideal seria gerar identificadores únicos para os valores de entrada, isso normalmente não é possível: na maioria dos casos, o contra-domínio de nossa função é muito menor do que o seu domínio, ou seja, x (o tipo de entrada) pode assumir uma gama muito maior de valores do que (o resultado da função de hash).

MD5

(Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo ponto-a-ponto (P2P, ou Peer-to-Peer, em inglês) na verificação de integridade de arquivos e logins.

Foi desenvolvido em 1991 por Ronald Rivest para suceder ao MD4 que tinha alguns problemas de segurança. Por ser um algoritmo unidirecional, uma hash md5 não pode ser transformada novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da mensagem original confiável e outra da mensagem recebida). O MD5 também é usado para verificar a integridade de um arquivo através, por exemplo, do programa md5sum, que cria a hash de um arquivo. Isto pode-se tornar muito útil para downloads de arquivos grandes, para programas P2P que constroem o arquivo através de pedaços e estão sujeitos a corrupção dos mesmos. Como autenticação de login é utilizada em vários sistemas operacionais unix e em muitos sites com autentificação.

MD6

sobre a Criptografia MD6 MD6 (Message-Digest algorithm 6) é uma função hash criptográfico. Ele usa uma árvore de Merkle-como a estrutura, e em 2008, Ronald Rivest e outros, publicaram uma nova versão do algoritmo o MD6 com hash de tamanhos 224, 256, 384 ou 512 bytes. O algoritmo MD6 iria participar do concurso para ser o novo algoritmo SHA-3, porém após removeu-o do concurso por considera-lo muito lento, anuncionado que os computadores de hoje são muito lentos para usar o MD6.

Em breve estarei postando as funções de criptográfia de acordo com cada algoritimo

 Copyright © 2008-2010 All Right Reserved - Todos os Direitos Reservados Elder Stroparo