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
diff --git a/src/gsm/a5.c b/src/gsm/a5.c
index f1fd697..dbba0f2 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 @@
_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);
}