ADJ 0 Denunciar post Postado Junho 11, 2008 Olá, estou fazendo um trabalho p/ a faculdade no qual tenho que implementar o algoritmo de criptografia: Cifra de Políbio (também conhecido como código de Políbio). Sou novato em programação e principalmente em Linguagem C. Achei muito pouco material sobre este algoritmo. Uma breve descrição se encontra neste site http://www.numaboa.com/criptografia/128-to...ica/179-Polibio Como tenho puca experiência em programação, não tenho muita idéia de por onde começar. Será que alguém poderia me ajudar? Desde já agradeço pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Junho 11, 2008 O link não está funcionando. <_< Compartilhar este post Link para o post Compartilhar em outros sites
ADJ 0 Denunciar post Postado Junho 11, 2008 Até hoje à tarde estava funcionando. Não sei por qual razão a página saiu do ar. Mas neste outro link também há uma descrição do código de políbio mais abaixo na página: http://www.hu60.com/CorpoCriptologia.htm No meu trabalho, ao invés de uma tabela 5x5, farei uma tabela 9x10 com quase todos os caracteres do teclado. Compartilhar este post Link para o post Compartilhar em outros sites
ADJ 0 Denunciar post Postado Junho 12, 2008 Olá, meu professor facilitou o trabalho p/ mim. Ele me passou esta função e disse que tenho modificá-la sem que o resultado esperado mude. Cada letra vai ser transformada um um código de 2 dígitos. Por exemplo: Computaçao 291412152019000014 As modificações que tento sempre mudam o resultado. Alguém poderia me auxiliar? Desde já obrigado. Antes foi declarada uma matriz 9x10 com um caractere em cada posição. #define linhas 9 #define colunas 10 char P[linhas][colunas]; int i, j; void inicializar_matriz(void) { P[0][0]='a'; P[0][1]='b'; P[0][2]='c'; P[0][3]='d'; . . . P[8][7]='&'; P[8][8]='"'; P[8][9]=' '; } void criptografar(void) { char caracteres[]="abcdefghijklmnopqrstuvwxyzçABCDEFGHIJKLMNOPQRSTUVWXYZÇ0123456789.,::?!<>()[]{}+-/*_@#$%& "; char entrada[150]; int saida[300]; int tam, i, pos, aux; printf("\n\n Entre com o texto a ser criptografado:\n"); printf(" Maximo de 150 caracteres\n\n"); gets(entrada); aux = -1; tam = strlen(entrada); pos = 0; for (pos=0;pos<tam;pos++) { if (strchr(caracteres,entrada[pos])) { for (i=0;i<9;i++) for (j=0;j<10;j++) { if (entrada[pos]==P[i][j]) { aux++; saida[x]=i; aux++; saida[x]=j; } } } } for (i=0; i<=x; i++) printf("%d", saida[i]); printf("\n\n Texto criptografado! "); getch(); } Estou tentando subsituir o for pelo while, mas os valores se modificam, nao sei porque. Este for: for (pos=0;pos<tam;pos++) equivale a este while, certo? pos =0; while (pos<tam) { pos++; //resto dos comandos } Foi isso que modifiquei, mas os valores na hora de criptografar o texto não batem com os valores da tabela. Preciso entregar nesta segunda feira e estou desesperado. Não haveria outra forma de implementar este programa? Desde já agradeço! Compartilhar este post Link para o post Compartilhar em outros sites