/* ECP: FILEname=fig11_7.c */ /* 1*/ /* Compute X^N ( Mod P ) */ /* 2*/ HugeInt /* 3*/ Power( const HugeInt X, const HugeInt N, const HugeInt P ) /* 4*/ { /* 5*/ HugeInt Tmp; /* 6*/ if( N == 0 ) /* 7*/ return 1; /* 8*/ Tmp = Power( ( X * X ) % P, N / 2, P ); /* 9*/ /*10*/ if( N % 2 ) /*11*/ Tmp = ( Tmp * X ) % P; /*12*/ return Tmp; /*13*/ }