summaryrefslogtreecommitdiffstats
path: root/src/gsm/milenage/milenage.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-12-06 22:23:52 +0100
committerHarald Welte <laforge@gnumonks.org>2011-12-06 22:50:31 +0100
commit781bd5daeb98774628ccb7546d449704ea6f7330 (patch)
tree64a910b7b3679b1fbedaf21d6d119b1f7b87ba0e /src/gsm/milenage/milenage.h
parentd82e0eb697abab4eb994800ab649bc36cca99a83 (diff)
Auth: Import milenage implementation from hostap (Jouni Malinen)
... and add integration into the osmo_auth core.
Diffstat (limited to 'src/gsm/milenage/milenage.h')
-rw-r--r--src/gsm/milenage/milenage.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/gsm/milenage/milenage.h b/src/gsm/milenage/milenage.h
new file mode 100644
index 00000000..d5054d6d
--- /dev/null
+++ b/src/gsm/milenage/milenage.h
@@ -0,0 +1,33 @@
+/*
+ * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208)
+ * Copyright (c) 2006-2007 <j@w1.fi>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Alternatively, this software may be distributed under the terms of BSD
+ * license.
+ *
+ * See README and COPYING for more details.
+ */
+
+#ifndef MILENAGE_H
+#define MILENAGE_H
+
+void milenage_generate(const u8 *opc, const u8 *amf, const u8 *k,
+ const u8 *sqn, const u8 *_rand, u8 *autn, u8 *ik,
+ u8 *ck, u8 *res, size_t *res_len);
+int milenage_auts(const u8 *opc, const u8 *k, const u8 *_rand, const u8 *auts,
+ u8 *sqn);
+int gsm_milenage(const u8 *opc, const u8 *k, const u8 *_rand, u8 *sres,
+ u8 *kc);
+int milenage_check(const u8 *opc, const u8 *k, const u8 *sqn, const u8 *_rand,
+ const u8 *autn, u8 *ik, u8 *ck, u8 *res, size_t *res_len,
+ u8 *auts);
+int milenage_f1(const u8 *opc, const u8 *k, const u8 *_rand,
+ const u8 *sqn, const u8 *amf, u8 *mac_a, u8 *mac_s);
+int milenage_f2345(const u8 *opc, const u8 *k, const u8 *_rand,
+ u8 *res, u8 *ck, u8 *ik, u8 *ak, u8 *akstar);
+
+#endif /* MILENAGE_H */