WiMAX Bootstrap Security 中用到的 AES-CCM 算法 C 语言源码
http://www.deadhat.com/wmancrypto/index.html
802.16 AES-CCM AlgorithmsDavid JohnstonThe files on this page contain simple ANSI C implementations of algorithms related to the 802.16 and 802.16e security protocols. They are not designed for efficiency,they are designed to be clear,simple and useful as unambiguous documentation for the algorithms in the specifications. Please feel free to use them as you see fit. They are all stand alone C files. I compile them on Linux using 'gcc {filename}.c'. These are all independent implementations,derived directly from the algorithm specifications. Hence they may be used as independent verification of other implementations. If there appears to be only a very small number of programs,its because I haven't written any others yet. I might never get around to it. AES 128 bit Key,128 bit Data Block Cipher AlgorithmThis code contains a fixed key size (128 bit),fixed data size (128 bit) AES block cipher with test vectors. It takes a 128 bit data block,a 128 bit key and produces a ciphertext block according to the NIST AES standard. This is the block cipher that is used in 802.11i. aes128k128d.c 802.16-2004 style AES-CCM Encryption and decryptionV0.2 alters the nonce construction to match 802.16-2004. The PN and ICV is still little endian,contrary to the changes in Corr1-D1. Corr1-D1 is wrong and the changes need to be 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 cipher. The Nonce construction is as I originally conceived it. ieee_dot16_ccm_0.1.c AES_KEY_WRAPThis code is just the basic AES Key Wrap algorithm. I need to do one running over a TEK exchange response packet. aes_key_wrap_0.1.c CMACThis code is the CMAC (formerly known as OMAC) algorithm used in the PKMv2 dot16KDF function. It appears to match the NIST specs. cmac_0.1.c dot16KDFThis code implements the PKMv2 dot16KDF function and runs vectors through it that 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 through 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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 从Unix读取而不使用Spring Integration复制到本地时发现的循
- bootstrap-data-target触发模态弹出窗元素
- bash – 如何在不使用stdbuf和类似工具的情况下解除传统运行
- 一般处理程序生成图像
- twitter-bootstrap – Dart聚合物模板中的Twitter Bootstra
- 数组 – Scala中Array和WrappedArray之间的区别是什么
- bash/shell 解析命令行参数工具:getopts/getopt
- 从AngularJs http web api请求重定向到Identity Server登录
- AngularJS $http post 传递参数数据
- vim新手入门