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