1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| <?php
include('Math/BigInteger.php');
//soit à chiffrer le message suivant:"dbonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour "
//je génère le code ascii du message à chiffrer
$codeasciidumessageachiffrer = '100032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032108101115032097109105115032032098111110106111117114032 ';
$n= '382661794499885940917627930072426504635235937984397076926105338836933167185185080763675804516049354066111492013648988285893945836657775764097391364692199401109237693803024616727846754616574909412240438339576896518255586809395354231165534607506010638307129420986178907342176204308575489148711052217534694608907';
$d='129615689965296203219053332290786835825141088305641223453084983312868553589032470005223751019648413775856632715495613740892242769053694464844525949966270889018918360881095260902876929581793156842927178292321167243625821775396696330663567602963388701404728667960810391209988628949346915370799921792869446216927';
$e='50879911879854592576116227931342072691872963632594596441879367386486453122489216664232270641944456229595529439457465267859370442847695661824466756080312599';
$n = new Math_BigInteger($n );
$d = new Math_BigInteger($d);
$e = new Math_BigInteger($e);
$codeasciidumessageachiffrer = new Math_BigInteger($codeasciidumessageachiffrer );
//Chiffrage du message
$messagechifre=$codeasciidumessageachiffrer ->powMod($e,$n);
$messagechifre = new Math_BigInteger($messagechifre);
//Dechiffrage du message
$codeasciidechiffre=$messagechifre->powMod($d,$n);
echo $codeasciidechiffre;
//ici c'est parfait, quand j'affiche le code ascci dechiffré, il est égal au code ascii du message à chiffrer
//========================================================
//Mon problème c'est quand je veux chiffrer et déchiffrer un grand texte, le message déchiffré n'est pas égal au message initial, comme :
//"bonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour bonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour les amis bonjour " c'est le résultat erroné qui s'affiche
?> |
Partager