+ uint8_t *block;
+
+ block = (uint8_t *)_block;
+
+ ASSERT(len_pad <= CONFIG_MD2_BLOCK_LEN);
+
+ /*
+ * Fill input block with len_pad char.
+ */
+ memset(block, len_pad, len_pad);
+
+}
+
+static void md2_compute(void *_state, void *_checksum, void *_block)
+{
+ int i = 0;
+ uint16_t t = 0;
+ uint8_t compute_array[COMPUTE_ARRAY_LEN];
+ uint8_t *state;
+ uint8_t *checksum;
+ uint8_t *block;
+
+ state = (uint8_t *)_state;
+ checksum = (uint8_t *)_checksum;
+ block = (uint8_t *)_block;
+
+ /*
+ * Copy state and checksum context in compute array.
+ */
+ memcpy(compute_array, state, CONFIG_MD2_BLOCK_LEN);
+ memcpy(compute_array + CONFIG_MD2_BLOCK_LEN, block, CONFIG_MD2_BLOCK_LEN);
+
+ /*
+ * Fill compute array with state XOR block
+ */
+ for(i = 0; i < CONFIG_MD2_BLOCK_LEN; i++)
+ compute_array[i + (CONFIG_MD2_BLOCK_LEN * 2)] = state[i] ^ block[i];
+
+ /*
+ * Encryt block.
+ */
+ for(i = 0; i < NUM_COMPUTE_ROUNDS; i++)