The AES-CCM algorithm used in WiMAX Bootstrap Security C Language source code

Source: Internet
Author: User
Tags hmac

Http://www.deadhat.com/wmancrypto/index.html


802.16 aes-ccm Algorithms David Johnston

The files on this page contain simple ANSI C implementations of algorithms related to the 802.16 and 802.16e security prot Ocols. They is not designed for efficiency, they is designed to is clear, simple and useful as unambiguous documentation for th e algorithms in the specifications. Please see fit with them feel free.

They is all stand alone C files. I compile them on Linux using ' gcc {filename}.c '.

These is all independent implementations, derived directly from the algorithm specifications. Hence They is used as independent verification of other implementations.

If there appears to is only a very small number of programs, it because I haven ' t written any others yet. I might never get around to it. AES-bit Key,-bit Data Block Cipher algorithm

This code contains a fixed key size (a-bit), fixed data size (cipher), AES block, with test vectors.

It takes a A-bit data block, a-bit key and produces a ciphertext block according to the NIST AES standard. This is the block cipher, that's used in 802.11i.

AES128K128D.C 802.16-2004 style AES-CCM encryption and decryption

V0.2 alters the nonce construction to match 802.16-2004. The PN and ICV are still little endian, contrary to the changes in CORR1-D1. CORR1-D1 is wrong and the changes need to being removed, so I ' ve declined to make a corr1-d1 version. It's About time I checked against the final corrigendum, but I Haven ' t .

Ieee_dot16_ccm_0.2.c

This code generates example vectors of Mpdus being encrypted and decrypted according to the 802.16 aes-ccm based link ciph Er. The Nonce construction is as I originally conceived it.

ieee_dot16_ccm_0.1.c Aes_key_wrap

This code is just the basic AES Key Wrap algorithm. I need to does one running over a TEK Exchange response packet.

aes_key_wrap_0.1.c CMAC

This code was the CMAC (formerly known as OMAC) algorithm used in the PKMv2 dot16kdf function. It appears to match the NIST specs.

cmac_0.1.c DOT16KDF

This code implements the PKMv2 DOT16KDF function and runs vectors through it, appear to match Samsung ' s vectors. It reverses the definition of ' rightmost ' as used in the 0.1 version below.

Dot16kdf_0.2.c

This code implements the old and wrong interpretation of the PKMv2 DOT16KDF function and runs three example vectors throug H it.

dot16kdf_0.1.c

Tbd:cmac used in the CMAC tuple, HMAC, HMAC used in HMAC tuple, Dot16kdf-hmac, AK derivation, DES stuff. I ' m not doing the public key stuff. It ' s already fairly generic.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.