#27746 [Asn->Bgs]: Decrypt routines not working as per v4.3.4
| From: | derick@php.net | Date: | Wed, 07 Apr 2004 17:27:52 +0000 |
| Subject: | #27746 [Asn->Bgs]: Decrypt routines not working as per v4.3.4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-57731@lists.php.net to get a copy of this message | ||
ID: 27746
Updated by: derick@php.net
Reported By: taomyn at myway dot com
-Status: Assigned
+Status: Bogus
Bug Type: mcrypt related
Operating System: Windows Server 2003
PHP Version: 4.3.6RC1
Assigned To: derick
New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system
is not the
appropriate forum for asking support questions.
Thank you for your interest in PHP.
You need to use the same IV for encrypting and decrypting (so don't use
create_iv() like this!)
Previous Comments:
------------------------------------------------------------------------
[2004-04-07 11:19:53] sniper@php.net
Assigned to the maintainer. :)
------------------------------------------------------------------------
[2004-03-29 15:30:34] taomyn at myway dot com
<?
$password = "muppets";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr("dimwits", 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
print "EP===".$password."===\n";
print "EK===".$key."===\n";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$enc_pwd = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,
$password,MCRYPT_MODE_ECB, $iv);
print "EE===".$enc_pwd."===\n";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr("dimwits", 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
print "DP===".$password."===\n";
print "DK===".$key."===\n";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$dec_pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $enc_pwd,
MCRYPT_MODE_ECB, $iv);
print "DD===".trim(chop($dec_pwd))."===\n";
?>
Under v4.3.4
EP===muppets===
EK===(ë^⌂►¬AÅ░z¶│zE|─===
EE===♣±╦ ↨¡6(Z╣╣k◄Fð`===
DP===muppets===
DK===(ë^⌂►¬AÅ░z¶│zE|─===
DD===muppets===
Under v4.3.5
EP===muppets===
EK===(ë^⌂►¬AÅ░z¶│zE|─===
EE===♣±╦ ↨¡6(Z╣╣k◄Fð`===
DP===muppets===
DK===(ë^⌂►¬AÅ░z¶│zE|─===
DD===♣±╦ ↨¡6(Z╣╣k◄Fð`===
I.E. IT DOESN'T DECRYPT - HAPPY?
------------------------------------------------------------------------
[2004-03-29 03:30:57] taomyn at myway dot com
Description:
------------
My decrypting routines now fail to decrypt and in fact seem to return
the encrypted value.
Reproduce code:
---------------
function encrypt_pwd($password)
{
/* Return encrypted password */
global $config;
$password = trim($password);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr($config['pass_phrase'], 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
error_log("EP===".$password."===");
error_log("EK===".$key."===");
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$enc_pwd = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $password,
MCRYPT_MODE_ECB, $iv);
error_log("EE===".$enc_pwd."===");
return $enc_pwd;
}
function decrypt_pwd($password)
{
/* Return decrypted password */
global $config;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr($config['pass_phrase'], 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
error_log("DP===".$password."===");
error_log("DK===".$key."===");
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$dec_pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $password,
MCRYPT_MODE_ECB, $iv);
error_log("DD===".trim(chop($dec_pwd))."===");
return trim(chop($dec_pwd));
}
Expected result:
----------------
[29-Mar-2004 09:35:31] EP===bubbles10===
[29-Mar-2004 09:35:31] EK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:31] EE===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DP===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:50] DD===bubbles10===
Actual result:
--------------
[29-Mar-2004 09:35:31] EP===bubbles10===
[29-Mar-2004 09:35:31] EK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:31] EE===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DP===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:50] DD===u!+½_Yi«¡Oât===
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27746&edit=1