Mhhhhh, quelqu'un s'y connait en C++ ? Je tâtonne un peu depuis ce matin et un truc me torture le crâne, c'est tout bête :
En C++
int puissance(pow(Y,x));
int const resultat(puissance%P);
Pour Y=11 et P=13 et x=8, je suis sensé obtenir 9. Or j'obtiens 8...
Or toujours pour Y=11 et P=13 et x=5, j’obtiens 7, et je dois obtenir 7 normalement. Okay.
En Python ça marche sans soucis et j'obtiens 9 pour x=8. Une idée pourquoi j'ai une telle erreur de calcul une fois mais pas l'autre ? 
(PS : Oui c'est une représentation schématique de l'algo DH
)