Hello.
Attached is a trivial patch which breaks existing GPRS cipher API of libosmocore by switching from fixed 64-bit length Kc to variable-length.
There are several justifications for that:
- compliance with ETSI TS 155.22 (GEA4 - 128 bits Kc) and all further versions - similarity to existing auth api (osmocom/crypt/auth.h uses 128 bits as well) - nobody uses this API anyway (except my other patches with GEA) - patch breaks nothing within libosmocore (make check succeeds) and openbsc (uses gea0 only)
That's why I think next libosmocore version should apply this patch and change unused API before someone actually start using it and makes transition more difficult.
Hi Max,
On Wed, Nov 27, 2013 at 05:33:58PM +0100, ☎ wrote:
Attached is a trivial patch which breaks existing GPRS cipher API of libosmocore by switching from fixed 64-bit length Kc to variable-length.
I like it.
There are several justifications for that:
Agreed.
- nobody uses this API anyway (except my other patches with GEA)
Well, there is libosmo-crypt-a53, which impements also GEA3 and which registers a cipher. That would need to change, too.
That's why I think next libosmocore version should apply this patch and change unused API before someone actually start using it and makes transition more difficult.
There may very well be existing code that you or I don't know about.
We will have to change LIBVERSION to announce ABI breakage, but that's not a problem...
Regards, Harald
01.12.2013 14:35, Harald Welte пишет:
Well, there is libosmo-crypt-a53, which impements also GEA3 and which registers a cipher. That would need to change, too.
Speaking of which - as far as I recall it's based on sample implementation with license incompatible with (L)GPL. Could we just discontinue it once Sylvain massage my a5/3,4 gea3,4 patches into libosmocore?
Hi Max,
On Mon, Dec 02, 2013 at 11:08:07AM +0100, ☎ wrote:
Speaking of which - as far as I recall it's based on sample implementation with license incompatible with (L)GPL. Could we just discontinue it once Sylvain massage my a5/3,4 gea3,4 patches into libosmocore?
yes, if those are a feature-complete replacement, there is no need for the old library.
07.12.2013 18:21, Harald Welte пишет:
Hi Max,
On Mon, Dec 02, 2013 at 11:08:07AM +0100, ☎ wrote:
Speaking of which - as far as I recall it's based on sample implementation with license incompatible with (L)GPL. Could we just discontinue it once Sylvain massage my a5/3,4 gea3,4 patches into libosmocore?
yes, if those are a feature-complete replacement, there is no need for the old library.
It is plus a5/4 and gea4.
Attached is another version of this patch - I like this more because instead of additional parameter for Kc length there is now dedicated function.
When I tried to use updated API I quickly realized that we rarely need to have key length explicitly: algorithm implementations know it already for obvious reasons. Hence I think function is better than parameter.
Looking forward to the LIBVERSION update. We can also merge cipher implementation a5/3 a5/4, gea3, gea4 at the same time which would use this new API. This way we would have more features to warrant such update.
cheers, Max.
While I'm at it I'd like to request feedback for this old patch as well.
baseband-devel@lists.osmocom.org