tkgtools is created by George Zhao, who is working for NOKIA, 2010-2012, 2014-2019. This lib is used for implementing algorithm in 3GPP 35.206, f1, f2, f3, f4, f5, f1* and f5*
Project description
Introduction
tkgtools is a library which is used as a base for 3GPP security architecture.
tkg is stands for 3GPP Key Generator.
Only f1, f2, f3, f4, f5, f1* and f5* are supported in this library.
tkgtools is written on python 3.6.5, python 2 is not supported.
How to get it
pip install tkgtools
Functions
f1(key, rand, sqn, amf, op, mac_a, opc = [])
key(list of int), length 16
rand(list of int), length 16
sqn(list of int), length 6
amf(list of int), length 2
op(list of int), length 16
mac_a(list of int), length 8
opc(list of int), length 6, it is an optional parameter, if opc is set, f1 function will never use op parameter, and use opc to instead.
mac_a is used as a return value.
f2345(key, rand, op, res, ck, ik , ak, opc = [])
key(list of int), length 16
rand(list of int), length 16
op(list of int), length 16
res(list of int), length 8
ck(list of int), length 16
ik(list of int), length 16
ak(list of int), length 6
opc(list of int), length 6, it is an optional parameter, if opc is set, f2345 function will never use op parameter, and use opc to instead.
res, ck, ik, and ak are used as return values.
f1star(key, rand, sqn, amf, op, mac_s, opc = [])
key(list of int), length 16
rand(list of int), length 16
sqn(list of int), length 6
amf(list of int), length 2
mac_s(list of int), length 8
opc(list of int), length 6, it is an optional parameter, if opc is set, f1star function will never use op parameter, and use opc to instead.
mac_s is used as a return value.
f5star(key, rand, op, ak, opc = [])
key(list of int), length 16
rand(list of int), length 16
op(list of int), length 16
ak(list of int), length 6
opc(list of int), length 6, it is an optional parameter, if opc is set, f5star function will never use op parameter, and use opc to instead.
ak is used as return value.
All test data could be retrieved in 3GPP 35.207
Example
from tkgtools import tkgtools key = [0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11] op = [0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,0x13,0x14,0x15,0x16] rand = [0x16,0x2a,0x9b,0x8c,0x46,0x9a,0xdc,0x1f,0x41,0xcc,0x69,0x73,0xee,0xe5,0x9e,0xaf] res=[0 for col in range(8)] ck=[0 for col in range(16)] ik=[0 for col in range(16)] ak=[0 for col in range(6)] tkgtools.f2345(key, rand, op, res, ck, ik, ak)
Any problem
Please contact georgezhao_1980@163.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.