How to use RSA private and public keys, as variables?

Get help with using the PHP Secure Communications Library.

Moderator: Nuxius

Forum rules
The purpose of this forum is to provide support for phpseclib, a pure PHP SSH / SFTP / RSA library.

Posts by new users are held in a moderation queue and are not publicly visible until the post is approved.

How to use RSA private and public keys, as variables?

Postby undo111 » Tue Jun 05, 2012 12:32 pm

Hello,

I am using the following example:

Code: Select all
<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();
//extract($rsa->createKey());

$plaintext = 'terrafrost';

$k1 = '-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCm8w1iE3g0WGJ1Ob9NeBxTQ0E2AGa8Rd8RVCUncnzgBQt1HozYaWAsalUjUsTq sReh3nkdLVlWD2VAt47Slb2BrR1YQv+wUMBlpubAZ73u0NzA+i3aRQ7iHRiBUPD7WAWXnfQ/cE0d CdkNQaZNovhvLUR6mEXRV3pjSIQ6tEhCcwIDAQABAoGASO2uoHO51D/xzpyJxVkdIoAkGedl+YOa NJMp4cgA5ck+XoyYYSbzBKP0iggrjgwLM0IgbQ700gPKqtEkejhAPhNA1+1F47PwFi9ap94LysPS h03f2WTZdFkKBFuV2T2iqlGh568AqB5c7XAi8eBVDxQO/MgbCSZjIc1V36NV2HECQQDVU9Phlh0t cViOengYCDSj5/zrN4pNsgLCMIQ0wXSDjbgcWYUoFsiHxAhG2mdzdggqVHNYiiwCOFvIy2itGYyj AkEAyFhG2BphAWARI0Vubg24NjexMP/Au9mIduMqVF8puqF7Mxu6hRZWqbsrrkC5PpBly1ba+uXm TYZhnRT3BRJ/8QJBAJW8hl+0j3xjL+aqPfuYXuKhppyv2msYxOjrRxEErTTd19pGV7nA7DanuauK B806jxavOltueN+CEaLKbAn8ggMCQE9f0imaQeaWlhOgVYEaxGoOpJAiM8z5AX0AwWuODG1ZvwLf sIU79XfnpQWztPDZqsrmDXosDZOXcyMWBEwpKTECQHxSGdZl+6pstQOQWyGGowojhguIcGSaxZii l5i2rtSz98T/5JCPSsI8+qrzFLNSQYF7Zhz9mfuYZeqDlQ2socQ= -----END RSA PRIVATE KEY-----';
$k2 = '-----BEGIN PUBLIC KEY----- MIGJAoGBAKbzDWITeDRYYnU5v014HFNDQTYAZrxF3xFUJSdyfOAFC3UejNhpYCxqVSNSxOqxF6He eR0tWVYPZUC3jtKVvYGtHVhC/7BQwGWm5sBnve7Q3MD6LdpFDuIdGIFQ8PtYBZed9D9wTR0J2Q1B pk2i+G8tRHqYRdFXemNIhDq0SEJzAgMBAAE= -----END PUBLIC KEY-----';

echo 'filloi<br>';

$rsa->loadKey($k1);
echo "Private Key:<BR>$k1<br><br>Public Key:<BR>$k2<BR><BR>";

$ciphertext = $rsa->encrypt($plaintext);

echo "Encrypted message:<BR>$ciphertext<br>";

$rsa->loadKey($k2);
echo $rsa->decrypt($ciphertext);
?>


and i get the following error page:

Code: Select all
filloi

Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 3 in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 972

Warning: extract() expects parameter 1 to be array, boolean given in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 972

Notice: Undefined variable: length in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 973

Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 974

Warning: extract() expects parameter 1 to be array, boolean given in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 974

Notice: Undefined variable: length in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 975
Private Key:
-----BEGIN RSA PRIVATE KEY----- MIICXAIBAAKBgQCm8w1iE3g0WGJ1Ob9NeBxTQ0E2AGa8Rd8RVCUncnzgBQt1HozYaWAsalUjUsTq sReh3nkdLVlWD2VAt47Slb2BrR1YQv+wUMBlpubAZ73u0NzA+i3aRQ7iHRiBUPD7WAWXnfQ/cE0d CdkNQaZNovhvLUR6mEXRV3pjSIQ6tEhCcwIDAQABAoGASO2uoHO51D/xzpyJxVkdIoAkGedl+YOa NJMp4cgA5ck+XoyYYSbzBKP0iggrjgwLM0IgbQ700gPKqtEkejhAPhNA1+1F47PwFi9ap94LysPS h03f2WTZdFkKBFuV2T2iqlGh568AqB5c7XAi8eBVDxQO/MgbCSZjIc1V36NV2HECQQDVU9Phlh0t cViOengYCDSj5/zrN4pNsgLCMIQ0wXSDjbgcWYUoFsiHxAhG2mdzdggqVHNYiiwCOFvIy2itGYyj AkEAyFhG2BphAWARI0Vubg24NjexMP/Au9mIduMqVF8puqF7Mxu6hRZWqbsrrkC5PpBly1ba+uXm TYZhnRT3BRJ/8QJBAJW8hl+0j3xjL+aqPfuYXuKhppyv2msYxOjrRxEErTTd19pGV7nA7DanuauK B806jxavOltueN+CEaLKbAn8ggMCQE9f0imaQeaWlhOgVYEaxGoOpJAiM8z5AX0AwWuODG1ZvwLf sIU79XfnpQWztPDZqsrmDXosDZOXcyMWBEwpKTECQHxSGdZl+6pstQOQWyGGowojhguIcGSaxZii l5i2rtSz98T/5JCPSsI8+qrzFLNSQYF7Zhz9mfuYZeqDlQ2socQ= -----END RSA PRIVATE KEY-----

Public Key:
-----BEGIN PUBLIC KEY----- MIGJAoGBAKbzDWITeDRYYnU5v014HFNDQTYAZrxF3xFUJSdyfOAFC3UejNhpYCxqVSNSxOqxF6He eR0tWVYPZUC3jtKVvYGtHVhC/7BQwGWm5sBnve7Q3MD6LdpFDuIdGIFQ8PtYBZed9D9wTR0J2Q1B pk2i+G8tRHqYRdFXemNIhDq0SEJzAgMBAAE= -----END PUBLIC KEY-----

Encrypted message:


Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 3 in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 972

Warning: extract() expects parameter 1 to be array, boolean given in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 972

Notice: Undefined variable: length in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 973

Warning: unpack() [function.unpack]: Type N: not enough input, need 4, have 0 in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 974

Warning: extract() expects parameter 1 to be array, boolean given in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 974

Notice: Undefined variable: length in C:\xampp\htdocs\seclib\Crypt\RSA.php on line 975



please help on how to use the public and private keys generated as offline ciphers!

best regards,

undo
undo111
Traveler
 
Posts: 2
Joined: Tue Jun 05, 2012 12:26 pm

Re: How to use RSA private and public keys, as variables?

Postby TerraFrost » Wed Jun 06, 2012 4:59 am

First, I'd try using the latest version from github:

https://raw.github.com/phpseclib/phpsec ... pt/RSA.php

Also, you have spaces where you should have new lines. Try this:

Code: Select all
<?php
include('Crypt/RSA.php');

$rsa = new Crypt_RSA();
//extract($rsa->createKey());

$plaintext = 'terrafrost';

$k1 = '-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQCm8w1iE3g0WGJ1Ob9NeBxTQ0E2AGa8Rd8RVCUncnzgBQt1HozYaWAsalUjUsTq
sReh3nkdLVlWD2VAt47Slb2BrR1YQv+wUMBlpubAZ73u0NzA+i3aRQ7iHRiBUPD7WAWXnfQ/cE0d
CdkNQaZNovhvLUR6mEXRV3pjSIQ6tEhCcwIDAQABAoGASO2uoHO51D/xzpyJxVkdIoAkGedl+YOa
NJMp4cgA5ck+XoyYYSbzBKP0iggrjgwLM0IgbQ700gPKqtEkejhAPhNA1+1F47PwFi9ap94LysPS
h03f2WTZdFkKBFuV2T2iqlGh568AqB5c7XAi8eBVDxQO/MgbCSZjIc1V36NV2HECQQDVU9Phlh0t
cViOengYCDSj5/zrN4pNsgLCMIQ0wXSDjbgcWYUoFsiHxAhG2mdzdggqVHNYiiwCOFvIy2itGYyj
AkEAyFhG2BphAWARI0Vubg24NjexMP/Au9mIduMqVF8puqF7Mxu6hRZWqbsrrkC5PpBly1ba+uXm
TYZhnRT3BRJ/8QJBAJW8hl+0j3xjL+aqPfuYXuKhppyv2msYxOjrRxEErTTd19pGV7nA7DanuauK
B806jxavOltueN+CEaLKbAn8ggMCQE9f0imaQeaWlhOgVYEaxGoOpJAiM8z5AX0AwWuODG1ZvwLf
sIU79XfnpQWztPDZqsrmDXosDZOXcyMWBEwpKTECQHxSGdZl+6pstQOQWyGGowojhguIcGSaxZii
l5i2rtSz98T/5JCPSsI8+qrzFLNSQYF7Zhz9mfuYZeqDlQ2socQ=
-----END RSA PRIVATE KEY-----';
$k2 = '-----BEGIN PUBLIC KEY-----
MIGJAoGBAKbzDWITeDRYYnU5v014HFNDQTYAZrxF3xFUJSdyfOAFC3UejNhpYCxqVSNSxOqxF6He
eR0tWVYPZUC3jtKVvYGtHVhC/7BQwGWm5sBnve7Q3MD6LdpFDuIdGIFQ8PtYBZed9D9wTR0J2Q1B
pk2i+G8tRHqYRdFXemNIhDq0SEJzAgMBAAE=
-----END PUBLIC KEY-----';

echo 'filloi<br>';

$rsa->loadKey($k1);
echo "Private Key:<BR>$k1<br><br>Public Key:<BR>$k2<BR><BR>";

$ciphertext = $rsa->encrypt($plaintext);

echo "Encrypted message:<BR>$ciphertext<br>";

$rsa->loadKey($k2);
echo $rsa->decrypt($ciphertext);
TerraFrost
Legendary Guard
 
Posts: 12217
Joined: Wed Dec 04, 2002 6:37 am

Re: How to use RSA private and public keys, as variables?

Postby undo111 » Wed Jun 06, 2012 8:45 am

Hi Terrafrost,

thank you for your reply!

I did manage to resolve this issue from yesterday!

thank you indeed
undo111
Traveler
 
Posts: 2
Joined: Tue Jun 05, 2012 12:26 pm


Return to phpseclib support

Who is online

Users browsing this forum: No registered users and 0 guests

cron