GPRS: Add 'input' generator functions for GPRS cipher algorithm
diff --git a/src/gprs_cipher_core.c b/src/gprs_cipher_core.c
index a72dda8..6174bd7 100644
--- a/src/gprs_cipher_core.c
+++ b/src/gprs_cipher_core.c
@@ -83,3 +83,17 @@
return 0;
}
+
+/* GSM TS 04.64 / Section A.2.1 : Generation of 'input' */
+uint32_t gprs_cipher_gen_input_ui(uint32_t iov_ui, uint8_t sapi, uint32_t lfn, uint32_t oc)
+{
+ uint32_t sx = ((1<<27) * sapi) + (1<<31);
+
+ return (iov_ui ^ sx) + lfn + oc;
+}
+
+/* GSM TS 04.64 / Section A.2.1 : Generation of 'input' */
+uint32_t gprs_cipher_gen_input_i(uint32_t iov_i, uint32_t lfn, uint32_t oc)
+{
+ return iov_i + lfn + oc;
+}