Cálculo da chave secreta do protocolo Diffie-Hellmann
Publicado por Reginaldo de Matias (última atualização em 13/01/2010)
[ Hits: 6.057 ]
Homepage: http://mundodacomputacaointegral.blogspot.com/
Download protocoloDiffieHellman.c
O presente programa escrito em C, calcula a chave secreta do protocolo Diffie-Hellmann.
Explicação:
- Alice escolhe um valor para x
- Bob escolhe um valor para y
- Alice envia a mensagem para Bob: (n,g, g^x mod n)
- Bob envia a mensagem para Alice: (g^y mod n)
- Alice calcula (g^y mod n)^x mod n = g^x*y mod n
- Bob calcula (g^x mod n)^x mod n = g^x*y mod n
Assim obtém-se a chave secreta compartilhada.
/*Este pequeno programa faz o cálculo do protocolo Diffie-Hellmann
Alice escolhe um valor para x
Bob escolhe um valor para y
Alice envia a mensagem para Bob: (n,g, g^x mod n)
Bob envia a mensagem para Alice: (g^y mod n)
Alice calcula (g^y mod n)^x mod n = g^x*y mod n
Bob calcula (g^x mod n)^x mod n = g^x*y mod n
Assim obtém a chave secreta compartilhada
Autor: Reginaldo de Matias
Disciplina: Segurança em Redes - UDESC
Exemplo de teste - exercício
n=59 p=14 x=2 e y=5
chave secreta=46
compilar: gcc protocoloDiffieHellman -o dh -lm
executar: ./dh
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n,g,x,y, gx, gy, GX,GY,mdgx,mdgy,mdgx2,mdgy2, chave_secreta;
printf("Protocolo Diffie-Hellmann\n\n");
printf("Digite um valor para x:");
scanf("%i", &x);
printf("Digite um valor para y:");
scanf("%i", &y);
printf("Digite um valor para n:");
scanf("%i", &n);
printf("Digite um valor para g: ");
scanf("%i", &g);
printf("(%i,%i, %i^%i mod %i)", n, g, g,x,n);
/*inicio do cálculo do protoloco Diffie-Hellmann*/
gx = pow(g,x); //gx = g^x
gy = pow(g,y); //gy = g^y
mdgx = gx%n; //gx = g^x mod n
mdgy = gy%n; //gy = g^y mod n
mdgx2 = pow(mdgx,y);
mdgy2 = pow(mdgy,x);
GX = mdgx2%n; //(g^x mod n)^y mod n
GY = mdgy2%n; //(g^y mod n)^x mod n
chave_secreta=GX;
printf("GX= %i e GY=%i\n", GX, GY);
printf("\nPortanto a chave segreta eh: %i\n", chave_secreta);
return 0;
}
Script para fazer ataque DoS - use apenas como testes com sistemas de segurança
Código C para gerar hashes DES e MD5
Nenhum comentário foi encontrado.
Papagaiando o XFCE com temas e recursos
WhatsApp com Chamadas no Linux via Waydroid
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Manutenção básica para Gentoo Linux (com script)
Conheça o Zashterminal, um terminal moderno com IA
DOOM Carniceiro: rode o Meatgrinder com uzdoom (Gentoo e Ubuntu)
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
eu queria saber no lenovo slim, se tem como ver os mhz de memoria e tu... (3)
Links importantes de usuários do vol (2)









