Ola pessoal estou fazendo um trabalho e não estou conseguindo implementar uma das funções.
esta função esta definida na pagina cinco, é a terceira operação, não estou conseguindo fazer a inversa. de f(x)=(45^x)mod257
void bolaPonto()
{
unsigned long long entradaDE64bits = 3544952156018063160ULL;
unsigned long long y = 0;
int x = 0;
int e = 0;
int d = 56; // pacar 7 bytes para a direita
while( e != 64 )
{
x = ( entradaDE64bits << e ) >> d;
e = e + 8;
y = y << 8;
y = y | poww(x);
}
}
unsigned int poww( int expoente )
{
unsigned int pot = 1;
while( expoente != 0 )
{
pot *= 45;
pot %= 257;
expoente--;
}
if( pot == 256 )return 0;
return pot;
}
Rode o código abaixo e veja o resultado esperado para f(x) e a inversa de f(x). Não estou corrigindo seu algoritmo, apenas estou dando os valores esperados para você mesmo se ajudar a corrigir o seu algoritmo.
Hum, nem percebi a dica que eu dei calculando a inversa - ha ha ha. Se você for esperto, vai perceber a solução para seu problema da inversa. Note que é uma resolução geral para inversas de funções
E
entanglement
Se sua digníssima excelência tivesse lido este parágrafo do seu PDF com mais atenção, teria chegado ao algoritmo da inversa.
ddkclaudio
Valeu ai carinha ate mais, esse forum é muito bom mesmo. Voces são demais.