Beispiel #1
0
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;
}
Beispiel #2
0
// 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';
Beispiel #3
0
//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;
 }
Beispiel #5
0
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']);
}
Beispiel #6
0
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;
}