Advertisement
tDarkFall

RSA Crypto

Jun 4th, 2013
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.62 KB | None | 0 0
  1. <?php
  2.  
  3. include "./Flash/RSA_XML.php";
  4. //include "./config.php";
  5. class Crypto extends Crypt_RSA {
  6.  
  7. public function loadKeyfromXML($key)
  8. {
  9. $xml = new DOMDocument();
  10. $xml->loadXML($key);
  11.  
  12. $modulus = new Math_BigInteger(base64_decode($xml->getElementsByTagName('Modulus')->item(0)->nodeValue), 256);
  13. $exponent = new Math_BigInteger(base64_decode($xml->getElementsByTagName('Exponent')->item(0)->nodeValue), 256);
  14.  
  15. $this->setSignatureMode(CRYPT_RSA_SIGNATURE_PKCS1);
  16. $this->modulus = $modulus;
  17. $this->exponent = $exponent;
  18. $this->publicExponent = $exponent;
  19. $this->k = strlen($this->modulus->toBytes());
  20.  
  21. if(isset($xml->getElementsByTagName('D')->item(0)->nodeValue)
  22. && isset($xml->getElementsByTagName('InverseQ')->item(0)->nodeValue)) {
  23. $d = new Math_BigInteger(base64_decode($xml->getElementsByTagName('D')->item(0)->nodeValue), 256);
  24. $dp = new Math_BigInteger(base64_decode($xml->getElementsByTagName('DP')->item(0)->nodeValue), 256);
  25. $dq = new Math_BigInteger(base64_decode($xml->getElementsByTagName('DQ')->item(0)->nodeValue), 256);
  26. $inverseq = new Math_BigInteger(base64_decode($xml->getElementsByTagName('InverseQ')->item(0)->nodeValue), 256);
  27. $p = new Math_BigInteger(base64_decode($xml->getElementsByTagName('P')->item(0)->nodeValue), 256);
  28. $q = new Math_BigInteger(base64_decode($xml->getElementsByTagName('Q')->item(0)->nodeValue), 256);
  29.  
  30. $this->exponents = array(1=> $dp, $dq);
  31. $this->coefficients = array(2 => $inverseq);
  32. $this->primes = array(1 => $p, $q);
  33. }
  34.  
  35. }
  36. }
  37. define(RSA_PRIVATE_KEY,"<RSAKeyValue><Modulus>zRSdzFcnZjOCxDMkWUbuRgiOZIQlk7frZMhElQ0a7VqZI9VgU3+lwo0ghZLU3Gg63kOY2UyJ5vFpQdwJUQydsF337ZAUJz4rwGRt/MNL70wm71nGfmdPv4ING+DyJ3ZxFawwE1zSMjMOqQtY4IV8his/HlgXuUfIHVDK87nMNLc=</Modulus><Exponent>AQAB</Exponent><P>7lzjJCmL0/unituEcjoJsZhUDYajgiiIwWwuh0NlCZElmfa5M6l8H+Ahd9yo7ruT6Hrwr4DAdrIKP6LDmFhBdw==</P><Q>3EFKHt4FcDiZXRBLqYZaNSmM1KDrrU97N3CtEDCYS4GimmFOGJhmuK3yGfp/nYLcL2BTKyOZLSQO+/nAjRp2wQ==</Q><DP>SFdkkGsThuiPdrMcxVYb7wxeJiTApxYKOznL/T1VAsxMbyfUGXvMshfh0HDlzF6diycUuQ8IWn26YonRdwECDQ==</DP><DQ>xR9x1NpkB6HAMHhLHzftODMtpYc4Jm5CGsYvPZQgWUN2YbDAkmajWJnlWbbFzBS4N3aAONWtW6cv+ff2itKqgQ==</DQ><InverseQ>oyJzP0Sn+NgdNRRc7/cUKkbbbYaNxkDLDvKLDYMKV6+gcDce85t/FGfaTwkuYQNFqkrRBtDYjtfGsPRTGS6Mow==</InverseQ><D>wM33JNtzUSRwdmDWdZC4BuOYa2vJoD0zc0bNI4x0ml2oyAWdUCMcBfKEds/6i1T6s2e91d2dcJ/aI27o22gO/sfNg3tsr7uYMiUuhSjniqBDB/zyUVig29E4qdfuY1GHxTE8zurroY8mgGEB0aLj+gE0yX9T7sDFkY0QYRqJnwE=</D></RSAKeyValue>");
  38. $Crypto = new Crypto();
  39. $Crypto->loadKeyfromXML(RSA_PRIVATE_KEY);
  40. $Data = strrev(base64_decode($_GET["p"]));
  41. echo $Crypto->decrypt($Data);
  42. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement