Crittografia RSA

Ciao a tutti, vi chiedo un aiuto per quanto riguarda questo problema.
Il programma è siuto e funziona, ma quando lo mando in correzione, mi dice compilazione fallita.

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <math.h>




// Declaring functions
void decifra(int N, int d, int L, int* messaggio, char* plaintext);

int main() {

	// Iterators used in for loops
	int i0;
	// Declaring variables
 int N;
 int d;
 int L;
 int* messaggio;
 char* plaintext;

	// Reading input
        scanf("%d %d %d", &N, &d, &L);
	messaggio = (int*)malloc(100 * sizeof(int));
	plaintext = (char*)malloc(110 * sizeof(char));
	for (i0 = 0; i0 < L; i0++)
            scanf("%d", &messaggio[i0]);

	// Calling functions
	for(i0=0;i0<L;i0++)
		decifra(N, d, L, &messaggio[i0], plaintext);

	
	return 0;
}

void decifra(int N, int d, int L, int* messaggio, char* plaintext)
{
	int ascii = (int)pow(*messaggio,d) % N;
	
	plaintext = (char*) ascii;
	
	printf("%c",plaintext);
}

Salve. Come indicato nel testo devi implementare solo la funzione richiesta, ci penserà il grader già presente a richiamarla. In poche parole non devi lasciare la parte del main quando provi a far valutare la tua soluzione. Ti consiglio di leggere la seguente discussione: