18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * AES encrypt_block 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi> 58d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 7c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "includes.h" 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common.h" 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "aes.h" 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "aes_wrap.h" 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/** 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * aes_128_encrypt_block - Perform one AES 128-bit block operation 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @key: Key for AES 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @in: Input data (16 bytes) 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * @out: Output of the AES block operation (16 bytes) 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Returns: 0 on success, -1 on failure 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint aes_128_encrypt_block(const u8 *key, const u8 *in, u8 *out) 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{ 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void *ctx; 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt ctx = aes_encrypt_init(key, 16); 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt if (ctx == NULL) 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return -1; 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt aes_encrypt(ctx, in, out); 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt aes_encrypt_deinit(ctx); 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt return 0; 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt} 33