1This is an updated release of the Kinetis MMCAU security function library. 2 3 4This release: 5 6 - new asm-cm0p library created, optimized for ARMv6-M ISA 7 - minor improvements to asm-cm4 library, optimized for ARMv7-M ISA 8 9 10This release contains the following structure for the mmcau directory: 11 12README.txt (this file) 13 14asm-cm0p 15|-- cau_api.h 16|-- lib_mmcau-cm0p.a 17|-- lst 18| |-- mmcau_aes_functions.lst 19| |-- mmcau_des_functions.lst 20| |-- mmcau_md5_functions.lst 21| |-- mmcau_sha1_functions.lst 22| `-- mmcau_sha256_functions.lst 23`-- src 24 |-- cau2_defines.hdr 25 |-- mmcau_aes_functions.s 26 |-- mmcau_des_functions.s 27 |-- mmcau_md5_functions.s 28 |-- mmcau_sha1_functions.s 29 `-- mmcau_sha256_functions.s 30 31asm-cm4 32|-- cau_api.h 33|-- lib_mmcau.a 34|-- lst 35| |-- mmcau_aes_functions.lst 36| |-- mmcau_des_functions.lst 37| |-- mmcau_md5_functions.lst 38| |-- mmcau_sha1_functions.lst 39| `-- mmcau_sha256_functions.lst 40`-- src 41 |-- cau2_defines.hdr 42 |-- mmcau_aes_functions.s 43 |-- mmcau_des_functions.s 44 |-- mmcau_md5_functions.s 45 |-- mmcau_sha1_functions.s 46 `-- mmcau_sha256_functions.s 47 48 49 50Each mmcau optimized assembly library (cm0p, cm4) is contained in 5 51files (18 functions) and is archived in a lib_mmcau*.a file. 52 53 54Each library was assembled with: 55GNU assembler version 4.3.3 (arm-none-linux-gnueabi-as) 56 57 58This mmcau library update is checked-in under Design Sync: 59sync://sync-15010:15010/Projects/mcp_armp/mmcau_apb3/tool_data/lib/ 60tagged as: mmcau_apb3.01.00.00.11 61 62 63 64asm-cm0p : mmcau assembly library optimized for the ARMv6-M ISA 65******** 66 67Includes the following file versions (with checkin timestamps): 68 6912/19/2013 10:01 1.1 cau_api.h 7011/13/2013 11:30 1.1 lib_mmcau-cm0p.a 71 (checked in as lib_mmcau-v6m.a) 7208/22/2010 22:52 1.1 cau2_defines.hdr 7310/31/2013 12:21 1.1 mmcau_aes_functions.s 7410/31/2013 12:21 1.1 mmcau_des_functions.s 7510/31/2013 12:21 1.1 mmcau_md5_functions.s 7610/31/2013 12:21 1.1 mmcau_sha1_functions.s 7711/20/2013 09:27 1.2 mmcau_sha256_functions.s 78 79The following additional asm listing files not under revision control are 80also included (with last modified timestamps): 81 8211/19/2013 11:36 mmcau_aes_functions.lst 8311/19/2013 11:36 mmcau_des_functions.lst 8411/19/2013 11:36 mmcau_md5_functions.lst 8511/19/2013 11:36 mmcau_sha1_functions.lst 8611/19/2013 11:36 mmcau_sha256_functions.lst 87 88 89asm-cm4 : mmcau assembly library optimized for the ARMv7-M ISA 90******* 91 92Includes the following file versions (with checkin timestamps): 93 9412/19/2013 10:01 1.1 cau_api.h 9511/21/2013 13:41 1.6 lib_mmcau.a 9608/22/2010 22:52 1.1 cau2_defines.hdr 9711/21/2013 13:17 1.4 mmcau_aes_functions.s 9811/21/2013 13:17 1.4 mmcau_des_functions.s 9911/21/2013 13:17 1.6 mmcau_md5_functions.s 10011/21/2013 13:17 1.5 mmcau_sha1_functions.s 10111/21/2013 13:18 1.6 mmcau_sha256_functions.s 102 103The following additional asm listing files not under revision control are 104also included (with last modified timestamps): 105 10611/21/2013 13:23 mmcau_aes_functions.lst 10711/21/2013 13:23 mmcau_des_functions.lst 10811/21/2013 13:23 mmcau_md5_functions.lst 10911/21/2013 13:23 mmcau_sha1_functions.lst 11011/21/2013 13:23 mmcau_sha256_functions.lst 111 112 113 114The calling conventions for the mmcau functions are as follows: 115--------------------------------------------------------------- 116 117mmcau_aes_functions: 118 void mmcau_aes_set_key (const unsigned char *key, 119 const int key_size, 120 unsigned char *key_sch) 121 void mmcau_aes_encrypt (const unsigned char *in, 122 const unsigned char *key_sch, 123 const int nr, 124 unsigned char *out) 125 void mmcau_aes_decrypt (const unsigned char *in, 126 const unsigned char *key_sch, 127 const int nr, 128 unsigned char *out) 129 130 131mmcau_des_functions: 132 int mmcau_des_chk_parity (const unsigned char *key) 133 void mmcau_des_encrypt (const unsigned char *in, 134 const unsigned char *key, 135 unsigned char *out) 136 void mmcau_des_decrypt (const unsigned char *in, 137 const unsigned char *key, 138 unsigned char *out) 139 140 141mmcau_md5_functions: 142 void mmcau_md5_initialize_output (const unsigned char *md5_state) 143 void mmcau_md5_hash_n (const unsigned char *msg_data, 144 const int num_blks, 145 unsigned char *md5_state) 146 void mmcau_md5_update (const unsigned char *msg_data, 147 const int num_blks, 148 unsigned char *md5_state) 149 void mcau_md5_hash (const unsigned char *msg_data, 150 unsigned char *md5_state) 151 152 153mmcau_sha1_functions: 154 void mmcau_sha1_initialize_output (const unsigned int *sha1_state) 155 void mmcau_sha1_hash_n (const unsigned char *msg_data, 156 const int num_blks, 157 unsigned int *sha1_state) 158 void mmcau_sha1_update (const unsigned char *msg_data, 159 const int num_blks, 160 unsigned int *sha1_state) 161 void mmcau_sha1_hash (const unsigned char *msg_data, 162 unsigned int *sha1_state) 163 164 165mmcau_sha256_functions: 166 int mmcau_sha256_initialize_output (const unsigned int *output) 167 void mmcau_sha256_hash_n (const unsigned char *input, 168 const int num_blks, 169 unsigned int *output) 170 void mmcau_sha256_update (const unsigned char *input, 171 const int num_blks, 172 unsigned int *output) 173 void mmcau_sha256_hash (const unsigned char *input, 174 unsigned int *output) 175