Hi all,

I have updated the RFC (https://wiki.php.net/rfc/data_encoding_api) to
include base58 encoding and decoding functions to the proposal with
arguments in favor of the addition.

Best regards,

Ignace

On Fri, Jun 20, 2025 at 10:17 AM ignace nyamagana butera <
nyamsp...@gmail.com> wrote:

> Thanks for the RFC!
>
> Here my doleance about it:
>
> - please make base58 part of the RFC - it's already widely used and having
> it implemented in C would be great. See
> https://github.com/php/php-src/issues/15195
>
> I see that there's already a PECL extension for base58. I will see what I
> can do because it was listed as a future scope for the moment.
>
> - it'd be great to default to url-safe base64. The RFC-compliant variant
> is a very common risk, it'd be great to be on the safe side by default
>
> I went with the RFC recommendation to set up the default. In case of
> Base64 the URL Safe variant is not the default. While we support URL safe
> variants there are plenty of applications which do not expect the URL Safe
> variant, for instance, the data URLs do not use the URL Safe variant.
>
> - why do we need to decide between constant-time and unprotected? Can't we
> always go for the constant-time behavior? If not, what about defaulting to
> constant-time, again, safe by default?
>
> In an ideal world I would use the constant-time behavior everytime, But
> this will depend largely on the implementation and if it can be applied to
> every scenario hence why I went defensive on this option.
>
> - about DecodingMode, shouldn't this be Lenient by default, following the
> robustness principle?
>
> I went with strict by default for security reasons. The Lenient behavior
> described is for instance more restrictive than the current "lenient" mode
> used by the current base64_decode function. This is due to the security
> issues raised by the RFC.
>
> Best regards,
> Ignace
>
>
> On Thu, Jun 19, 2025 at 1:50 PM Nicolas Grekas <
> nicolas.grekas+...@gmail.com> wrote:
>
>> Hi Ignace
>>
>> I'd like to start the discussion for a new RFC about adding RFC 4648
>>> compliant data encoding API
>>>
>>> RFC proposal link: https://wiki.php.net/rfc/data_encoding_api
>>> If passed, Tim Düsterhus has volunteered to do the implementation.
>>>
>>> Thanks in advance for your remarks and comments.
>>>
>>> Best regards,
>>> Ignace Nyamagana Butera
>>>
>>
>> Thanks for the RFC!
>>
>> Here my doleance about it:
>>
>> - please make base58 part of the RFC - it's already widely used and
>> having it implemented in C would be great. See
>> https://github.com/php/php-src/issues/15195
>> - it'd be great to default to url-safe base64. The RFC-compliant variant
>> is a very common risk, it'd be great to be on the safe side by default
>> - why do we need to decide between constant-time and unprotected? Can't
>> we always go for the constant-time behavior? If not, what about defaulting
>> to constant-time, again, safe by default?
>> - about DecodingMode, shouldn't this be Lenient by default, following the
>> robustness principle?
>> - (base85 looks great and would be nice to have also :) )
>>
>> Cheers,
>> Nicolas
>>
>

Reply via email to