mirror of https://gerrit.osmocom.org/libosmocore
GPRS: Add 'input' generator functions for GPRS cipher algorithm
This commit is contained in:
parent
b9ce51c5fd
commit
e335b91ccd
|
@ -45,4 +45,10 @@ int gprs_cipher_run(uint8_t *out, uint16_t len, enum gprs_ciph_algo algo,
|
|||
/* Do we have an implementation for this cipher? */
|
||||
int gprs_cipher_supported(enum gprs_ciph_algo algo);
|
||||
|
||||
/* 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);
|
||||
|
||||
/* 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);
|
||||
|
||||
#endif /* _GPRS_CIPHER_H */
|
||||
|
|
|
@ -83,3 +83,17 @@ int gprs_cipher_supported(enum gprs_ciph_algo algo)
|
|||
|
||||
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue