The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
Loading...
Searching...
No Matches
ts_34_108.h
Go to the documentation of this file.
1#pragma once
2/*
3 * This program is is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or (at
6 * your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
16 */
17
18/**
19 * $Id: 338038ff093126f035512823a4d9f208882fa05e $
20 * @file ts_34_108.h
21 * @brief Implementation of the TS.34.108 dummy USMI algorithm
22 *
23 * @copyright 2019 The FreeRADIUS server project
24 * @copyright 2019 Arran Cudbard-Bell <a.cudbardb@freeradius.org>
25 */
26
27/*
28 * Inputs
29 */
30#define TS_34_108_KI_SIZE 16 //!< Subscriber key.
31#define TS_34_108_OP_SIZE 16 //!< Operator code (unique to the operator)
32#define TS_34_108_AMF_SIZE 2 //!< Authentication management field.
33#define TS_34_108_SQN_SIZE 6 //!< Sequence number.
34#define TS_34_108_RAND_SIZE 16 //!< Random challenge.
35
36/*
37 * UMTS Outputs
38 */
39#define TS_34_108_AK_SIZE 6 //!< Anonymisation key.
40#define TS_34_108_AUTN_SIZE 16 //!< Network authentication key.
41#define TS_34_108_IK_SIZE 16 //!< Integrity key.
42#define TS_34_108_CK_SIZE 16 //!< Ciphering key.
43#define TS_34_108_RES_SIZE 16
44#define TS_34_108_AUTS_SIZE 14
45
51 uint8_t const amf[TS_34_108_AMF_SIZE],
52 uint8_t const ki[TS_34_108_KI_SIZE],
53 uint64_t sqn,
54 uint8_t const rand[TS_34_108_RAND_SIZE]);
unsigned char uint8_t
#define TS_34_108_RAND_SIZE
Random challenge.
Definition ts_34_108.h:34
#define TS_34_108_KI_SIZE
Subscriber key.
Definition ts_34_108.h:30
#define TS_34_108_CK_SIZE
Ciphering key.
Definition ts_34_108.h:42
#define TS_34_108_IK_SIZE
Integrity key.
Definition ts_34_108.h:41
int ts_34_108_umts_generate(uint8_t autn[TS_34_108_AUTN_SIZE], uint8_t ik[TS_34_108_IK_SIZE], uint8_t ck[TS_34_108_CK_SIZE], uint8_t ak[TS_34_108_AK_SIZE], uint8_t res[TS_34_108_RES_SIZE], uint8_t const amf[TS_34_108_AMF_SIZE], uint8_t const ki[TS_34_108_KI_SIZE], uint64_t sqn, uint8_t const rand[TS_34_108_RAND_SIZE])
Definition ts_34_108.c:40
#define TS_34_108_AK_SIZE
Anonymisation key.
Definition ts_34_108.h:39
#define TS_34_108_AUTN_SIZE
Network authentication key.
Definition ts_34_108.h:40
#define TS_34_108_AMF_SIZE
Authentication management field.
Definition ts_34_108.h:32
#define TS_34_108_RES_SIZE
Definition ts_34_108.h:43