diff options
author | Max <msuraev@sysmocom.de> | 2016-06-27 18:12:49 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-06-29 16:32:55 +0000 |
commit | ceae1237528f91f44e226225207ac70a2cf842ec (patch) | |
tree | b459272cadfdafe853f6a08e2532669d0fd3e3cb /src/gsm/a5.c | |
parent | b897c4299329688bb0aba6e32cd10b361bda1dee (diff) |
Make C4 function globally available
This function perform 64 -> 128 bit key expansion which useful for
converting between UMTS CK and GSM Kc, A5/3 and A5/4, GEA3 and GEA4
keys.
Change-Id: I5a6c6deef6027cd6af144c9062d4c9166be26904
Related: OS#1582
Diffstat (limited to 'src/gsm/a5.c')
-rw-r--r-- | src/gsm/a5.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gsm/a5.c b/src/gsm/a5.c index f1fd697e..dbba0f20 100644 --- a/src/gsm/a5.c +++ b/src/gsm/a5.c @@ -40,6 +40,7 @@ #include <osmocom/gsm/a5.h> #include <osmocom/gsm/kasumi.h> +#include <osmocom/crypt/auth.h> /* Somme OS (like Nuttx) don't have ENOTSUP */ #ifndef ENOTSUP @@ -95,8 +96,7 @@ void _a5_3(const uint8_t *key, uint32_t fn, ubit_t *dl, ubit_t *ul, bool fn_correct) { uint8_t ck[16]; - memcpy(ck, key, 8); - memcpy(ck + 8, key, 8); + osmo_c4(ck, key); /* internal function require 128 bit key so we expand by concatenating supplied 64 bit key */ _a5_4(ck, fn, dl, ul, fn_correct); } |