Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

stds-802-16: AES-CCM, strawman vector generator code.



I sent this code a few days ago, as an attachment but I haven't seen it
on the reflector yet so I'm trying again using a url instead.


The C code available at https://www.deadhat.com/wmancrypto/index.html
has been compiled and run on an x86 Linux machine, with GCC.

The file https://www.deadhat.com/wmancrypto/ieee_dot16_ccm_0.1.c
produces a series of examples, each containing:
1) A plaintext frame (EC bit not set)
2) Its encrypted form (EC bit set, length adjusted for new fields,
recomputed HCS and a ciphertext payload) as they would be if encrypted
using the AES-CCM proposal accepted into 802.16e.
3) The decrypted form (with the decrypted payload and MIC, a the PN left
in place)

This is the code I promised to provide when I made the presentation.

By itself it is of limited value. It can disambiguate interpretations of
the specification and provide vectors, however it can only provide
reasonably sound disambiguation of the spec if two other independent
implementations agree. This is the approach we took in 802.11i and it
appeared to work well, identifying some quite subtle differences of
interpretation of the spec.

This code is released to the public domain and is available on an as-is
basis.

Enjoy
DJ