K, Ki Key Conversion Tool for AUC / HLR

I have been looking for a tool to encrypt Ki values (into eKi) using AES encryption. Ki is a 128-bit value used in authenticating the SIMs on the mobile network.

I was initially using the online AES encryption tool by Herbert Hanewinkel. But this tool is not convenient when I have more than a hundred Ki values to encrypt.

As I could not find a suitable command line tool, I wrote a simple Perl script to perform the job. You can download the tool here.

The Perl script requires the use of the Crypt::Rijndael module to perform the AES encryption. Note that the Crypt::Rijndael_PP or Crypt::OpenSSL::AES Perl modules could perform the encryption job as well.

AES encryption requires a key to encrypt the data. To encrypt the Ki, a key, known as the A4Key is normally used. To encrypt a Ki with a value of 0x11111111111111111111111111111111 and a A4Key with a value of 0x12345678901234567890123456789012, run the script as follows:

$ aes-crypter.pl -e -s 128 -k 12345678901234567890123456789012 -t 11111111111111111111111111111111

The script is also able to perform AES decryption by passing the -d option. Encryption is performed by passing the -e option.

To perform encryption on multiple Ki values, a simple shell script can be used to call the Perl script multiple times.

Download: AES Encryption tool

ibrahim = { interested_in(unix, linux, android, open_source, reverse_engineering); coding(c, shell, php, python, java, javascript, nodejs, react); plays_on(xbox, ps4); linux_desktop_user(true); }