Asterisk.org: Developer Documentation (28 Oct 2009)

Wed Oct 28 15:47:57 2009

## Asterisk developer's documentation

# aescrypt.c File Reference

This file contains the code for implementing encryption and decryption for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It can optionally be replaced by code written in assembler using NASM. For further details see the file aesopt.h. More...

`#include "aesopt.h"`

Include dependency graph for aescrypt.c:

Go to the source code of this file.

## Defines

#define | l_copy(y, x)
#define | locals(y, x) x[4],y[4]
#define | round(rm, y, x, k) rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)
#define | si(y, x, k, c) (s(y,c) = word_in(x, c) ^ (k)[c])
#define | so(y, x, c) word_out(y, c, s(x,c))
#define | state_in(y, x, k) si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)
#define | state_out(y, x) so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)

## Detailed Description

This file contains the code for implementing encryption and decryption for AES (Rijndael) for block and key sizes of 16, 24 and 32 bytes. It can optionally be replaced by code written in assembler using NASM. For further details see the file aesopt.h.

Definition in file aescrypt.c.

## Define Documentation

#define l_copy | ( | y,
|  | x |  | ) |

Value:

    s(y,0) = s(x,0); s(y,1) = s(x,1); \
                            s(y,2) = s(x,2); s(y,3) = s(x,3);

Definition at line 57 of file aescrypt.c.

#define locals | ( | y,
|  | x |  | ) | x[4],y[4]

Definition at line 52 of file aescrypt.c.

Referenced by local_alloc(), local_hangup(), locals_show(), and unload_module().

#define round | ( | rm,
|  | y,
|  | x,
|  | k |  | ) | rm(y,x,k,0); rm(y,x,k,1); rm(y,x,k,2); rm(y,x,k,3)

Definition at line 61 of file aescrypt.c.

#define si | ( | y,
|  | x,
|  | k,
|  | c |  | ) | (s(y,c) = word_in(x, c) ^ (k)[c])

Definition at line 48 of file aescrypt.c.

#define so | ( | y,
|  | x,
|  | c |  | ) | word_out(y, c, s(x,c))

Definition at line 49 of file aescrypt.c.

#define state_in | ( | y,
|  | x,
|  | k |  | ) | si(y,x,k,0); si(y,x,k,1); si(y,x,k,2); si(y,x,k,3)

Definition at line 59 of file aescrypt.c.

#define state_out | ( | y,
|  | x |  | ) | so(y,x,0); so(y,x,1); so(y,x,2); so(y,x,3)

Definition at line 60 of file aescrypt.c.