On 1 February 2015 at 17:57, Jakub Zelenka <bu...@php.net> wrote:
> Hey,
>
> I have already implemented all of this in crypto ext (
> https://github.com/bukka/php-crypto ) and also added support for streams
> (e.g.
> https://github.com/bukka/php-crypto/blob/master/tests/stream_filters_cipher_gcm_dec_read.phpt
> ) and objective context. However crypto is and probably quite some time will
> be in the dev stability. I have put that work on hold for some time (due to
> php 7 api changes) but plan to resume it soon.

I hadn't seen this before. Has it been discussed somewhere and I
missed it? Watching the repo for now, hopefully I can find some time
to look over it and contribute.

> Anyway this is a bit different as it is a bit more complex and bit too much
> for openssl ext. The thing is that the symmetric cypto functions are just
> openssl_encrypt and openssl_decrypt and they don't have any context. I'm not
> sure how the proposed openssl_*et_tag would work without context. The

They would work by dirty hacks :) Like Daniel said, introducing state
is not a preferred option.

> string openssl_encrypt ( string $data , string $method , string $password [,
> mixed $options = NULL [, string $iv = "" [, string &$tag = NULL ] ] ] )
>
> The options would be overloaded for BC (if it's int, then the same as before
> or you can use array for further options as AAD...).
>
> What's you thoughts?

This is what I originally imagined doing. But the options array isn't
necessary if we say that we don't want the user to control the tag
length (not sure how of

> Btw. I think I could do or help with the implementation if there is an
> interest in that feature in PHP 7 . It would be sort of port from crypto
> where I also have bunch of test for that (supported are just ccm and gcm).

I'm happy doing the implementation but review and critique always welcome.

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to