function decrypt($encriptedMessage, $privateKey) { ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . S3DB_SERVER_ROOT); require_once 'pearlib/RSACrypt/RSA.php'; $enc_text = $encriptedMessage; $private_key = $privateKey; $key = Crypt_RSA_Key::fromString($private_key); check_error($key); $rsa_obj = new Crypt_RSA(); check_error($rsa_obj); $rsa_obj->setParams(array('dec_key' => $key)); check_error($rsa_obj); $plain_text = $rsa_obj->decrypt($enc_text); check_error($rsa_obj); return $plain_text; }
// extra small key pair (32-bit) $public_key = $key_pair->getPublicKey(); $private_key = $key_pair->getPrivateKey(); // check the length of public key if ($public_key->getKeyLength() != 32) { $errors[] = "wrong result returned from Crypt_RSA_Key::getKeyLength() function"; } // construct copy of $public_key $public_key1 = new Crypt_RSA_Key($public_key->getModulus(), $public_key->getExponent(), $public_key->getKeyType(), MATH_LIBRARY, 'check_error'); // serialize $private_key $private_key_str = $private_key->toString(); // try to use $public_key1 for encryption and unserialized form // $private_key_str key for decryption $text = '1234567890'; $enc_text = $rsa_obj->encrypt($text, $public_key1); $private_key = Crypt_RSA_Key::fromString($private_key_str, MATH_LIBRARY, 'check_error'); $text1 = $rsa_obj->decrypt($enc_text, $private_key); if ($text != $text1) { $errors[] = "error in Crypt_RSA_Key class methods"; } /////////////////////////////////////////////// // test all functionality of Crypt_RSA class /////////////////////////////////////////////// // create Crypt_RSA object $rsa_obj = new Crypt_RSA(array(), MATH_LIBRARY, 'check_error'); // create Crypt_RSA_KeyPair object $key_pair = new Crypt_RSA_KeyPair(256, MATH_LIBRARY, 'check_error'); // check encrypting/decrypting function's behaviour $params = array('enc_key' => $key_pair->getPublicKey(), 'dec_key' => $key_pair->getPrivateKey()); $rsa_obj->setParams($params); $text = '1234567890';
//print_r($res); //die(); $num = "4271261397543976199"; $bi = new Math_BigInteger($num, 10); $res = $bi->toBytes(); //echo $res;die(); function check_error(&$obj) { if ($obj->isError()) { $error = $obj->getLastError(); switch ($error->getCode()) { case CRYPT_RSA_ERROR_WRONG_TAIL: // nothing to do break; default: // echo error message and exit die('error: ' . $error->getMessage()); } } } $open_pgp_key = "YTozOntpOjA7czoxNjoisVaMWPXkdG2K4FmUHjqQxiI7aToxO3M6ODoiB31yZ5yRRjsiO2k6MjtzOjY6InB1YmxpYyI7fQ=="; $public_key = Crypt_RSA_Key::fromString($open_pgp_key); check_error($public_key); $rsa_obj = new Crypt_RSA(); check_error($rsa_obj); $ServerInfo = "ABCD2007.01.22"; //print_r($rsa_obj);die("333"); $encrypted_string = $rsa_obj->encrypt($ServerInfo, $public_key); check_error($rsa_obj); echo "TEST PASSED SUCCESSFULLY<br>"; echo "encrypted string='" . $encrypted_string . "'";
function decrypt($enc_text, $public_key) { $key = Crypt_RSA_Key::fromString($public_key); $this->_check_error($key); $rsa_obj = new Crypt_RSA(); $this->_check_error($rsa_obj); $rsa_obj->setParams(array('dec_key' => $key)); $this->_check_error($rsa_obj); $plain_text = $rsa_obj->decrypt($enc_text); $this->_check_error($rsa_obj); return $plain_text; }
function decrypt() { $enc_text = $_POST['enc_text']; $private_key = $_POST['private_key']; $key = Crypt_RSA_Key::fromString($private_key); check_error($key); $rsa_obj = new Crypt_RSA(); check_error($rsa_obj); $rsa_obj->setParams(array('dec_key' => $key)); check_error($rsa_obj); $_SESSION['plain_text'] = $rsa_obj->decrypt($enc_text); check_error($rsa_obj); $_SESSION['private_key'] = $private_key; $_SESSION['enc_text'] = $enc_text; header('Location: ' . $_SERVER['PHP_SELF']); }
function encrypt($message, $publicKey) { $plain_text = $message; $public_key = $publicKey; $key = Crypt_RSA_Key::fromString($public_key); if ($key->isError()) { return ""; } check_error($key); $rsa_obj = new Crypt_RSA(); check_error($rsa_obj); $enc_text = $rsa_obj->encrypt($plain_text, $key); check_error($rsa_obj); return $enc_text; }