Não conheço muito bem a linguagem C então estou apanhando um pouco em um problema que encontrei pra fazer meu trabalho, estou fazendo uma criptografia rsa
e na decodificação usa a formula M = C^d mod (n), os meus valores são M = 131^23 mod (187) e tem que dar M=109 que seria refente a letra m na tabela ascii.
Mas eu não estou conseguindo retornar esse valor de forma alguma, fiz vários testes mas o resto não bate, se puderem da uma ajudinha, acredito ser coisa besta mas não consegui nem vendo em livros a biblioteca math.h.
Nesse link "http://www.calculadoraonline.com.br/divisao-polinomios" o valor bate corretamente então com isso sei que é possível o calculo, vou deixar também o video do youtube que eu estou validando os valores através dele pra ver se estão saindo corretos "https://www.youtube.com/watch?v=GAR1Ur_2IGk".
Tentei também com outros valores mas o resto sempre da problema.
Vou deixar parte do codigo aonde faço isso
double decod;
int arr2[20];
meu "i" esta dentro de um loop;
arr2=fmod((pow(arr,E)),N);//CRIPTOGRAFO E já ARMAZENO O VALOR DENTRO DO ARRAY2 109^7 mod 187 printf("atribuindo dentro do array2 = %d i = %d\n\r",arr2,i); if (arr2>=0) { decod = pow(arr2,D); //131^23 mod 187 printf("Valor do resultado =%lf valor\n\n\r",decod); decod=fmod(decod,N); printf("Valor de D =%d valor do array %d valor do N =%d valor do resultado =%lf\n\n\n\r",D,arr2,N,decod); printf("i = %d\n\rdecodificado = %.d\n\e",i,decod); }
i++;
dentro do arrvou armazenando as letras em ascii, que no caso a primeira estava digitando o "m" .
Se puderem dar uma atenção, obrigado ^^
detalhe o meus arrays tem " colchetes " só que quando salvo o tópico não esta entrando mas estão assim: "arr"colchetes i colchetes o " arr2" também
Pergunta
johncaravlho
Galera estou precisando muito de um help.
Não conheço muito bem a linguagem C então estou apanhando um pouco em um problema que encontrei pra fazer meu trabalho, estou fazendo uma criptografia rsa
e na decodificação usa a formula M = C^d mod (n), os meus valores são M = 131^23 mod (187) e tem que dar M=109 que seria refente a letra m na tabela ascii.
Mas eu não estou conseguindo retornar esse valor de forma alguma, fiz vários testes mas o resto não bate, se puderem da uma ajudinha, acredito ser coisa besta mas não consegui nem vendo em livros a biblioteca math.h.
Nesse link "http://www.calculadoraonline.com.br/divisao-polinomios" o valor bate corretamente então com isso sei que é possível o calculo, vou deixar também o video do youtube que eu estou validando os valores através dele pra ver se estão saindo corretos " https://www.youtube.com/watch?v=GAR1Ur_2IGk".
Tentei também com outros valores mas o resto sempre da problema.
Vou deixar parte do codigo aonde faço isso
double decod;
int arr2[20];
meu "i" esta dentro de um loop;
arr2=fmod((pow(arr,E)),N);//CRIPTOGRAFO E já ARMAZENO O VALOR DENTRO DO ARRAY2 109^7 mod 187
printf("atribuindo dentro do array2 = %d i = %d\n\r",arr2,i);
if (arr2>=0)
{
decod = pow(arr2,D); //131^23 mod 187
printf("Valor do resultado =%lf valor\n\n\r",decod);
decod=fmod(decod,N);
printf("Valor de D =%d valor do array %d valor do N =%d valor do resultado =%lf\n\n\n\r",D,arr2,N,decod);
printf("i = %d\n\rdecodificado = %.d\n\e",i,decod);
}
i++;
dentro do arr vou armazenando as letras em ascii, que no caso a primeira estava digitando o "m" .
Se puderem dar uma atenção, obrigado ^^
detalhe o meus arrays tem " colchetes " só que quando salvo o tópico não esta entrando mas estão assim: "arr"colchetes i colchetes o " arr2" também
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.