Fwd: [php-src] Constant-Time bin2hex() implementation (#909)
| From: | Scott Arciszewski | Date: | Tue, 25 Nov 2014 15:37:05 +0000 |
| Subject: | Fwd: [php-src] Constant-Time bin2hex() implementation (#909) | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-79168@lists.php.net to get a copy of this message | ||
Hi Internals!
I've submitted a PR based on Frank Denis's work in libsodium that makes
bin2hex() run in constant time () as an improvement to mitigate
cache-timing attacks. My motivation for doing so is that many developers
(including myself) use base-16 and base-64 encoding to store cryptographic
secrets in configuration files.
Stanislav Malyshev wrote:
> If we worry about such things just replacing random functions is not
enough - you should be sure *all* functions that handle your secret are
constant-time, including the engine primitives, etc. I'm not sure just
having one function does anything. But maybe I'm missing something here.
I would like to, at the minimum, suggest making the following functions run
in constant time:
* bin2hex()
* hex2bin()
* base64_encode()
* base64_decode()
* mcrypt_encrypt() -- requires delving into libmcrypt, which has been
collecting dust since 2007 and probably doesn't support AES-NI
* mcrypt_decrypt() -- ditto
This is only the ones I'm aware of; there are probably many others that may
be used that could benefit from similar enhancements.
---------- Forwarded message ----------
From: Xinchen Hui <notifications@github.com>
Date: Tue, Nov 25, 2014 at 12:07 AM
Subject: Re: [php-src] Constant-Time bin2hex() implementation (#909)
To: php/php-src <php-src@noreply.github.com>
Cc: Scott Arciszewski <scott@arciszewski.me>
@sarciszewski <https://github.com/sarciszewski>
you can drop a mail to
internals at lists.php.net :)
—
Reply to this email directly or view it on GitHub
<https://github.com/php/php-src/pull/909#issuecomment-64311029>.