Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/rijndael/rijndael-api.c
39482 views
1
/* $KAME: rijndael.c,v 1.3 2003/08/28 14:20:22 itojun Exp $ */
2
3
/*
4
* rijndael-alg-fst.c
5
*
6
* @version 3.0 (December 2000)
7
*
8
* Optimised ANSI C code for the Rijndael cipher (now AES)
9
*
10
* @author Vincent Rijmen <[email protected]>
11
* @author Antoon Bosselaers <[email protected]>
12
* @author Paulo Barreto <[email protected]>
13
*
14
* This code is hereby placed in the public domain.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
17
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
20
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23
* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
26
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*/
28
29
#include <sys/types.h>
30
#ifdef _KERNEL
31
#include <sys/systm.h>
32
#endif
33
34
#include <crypto/rijndael/rijndael.h>
35
36
void
37
rijndael_set_key(rijndael_ctx *ctx, const u_char *key, int bits)
38
{
39
40
ctx->Nr = rijndaelKeySetupEnc(ctx->ek, key, bits);
41
rijndaelKeySetupDec(ctx->dk, key, bits);
42
}
43
44
void
45
rijndael_decrypt(const rijndael_ctx *ctx, const u_char *src, u_char *dst)
46
{
47
48
rijndaelDecrypt(ctx->dk, ctx->Nr, src, dst);
49
}
50
51
void
52
rijndael_encrypt(const rijndael_ctx *ctx, const u_char *src, u_char *dst)
53
{
54
55
rijndaelEncrypt(ctx->ek, ctx->Nr, src, dst);
56
}
57
58