FFmpeg
|
#include <stdint.h>
#include "avutil.h"
#include "common.h"
#include "intreadwrite.h"
#include "mem.h"
#include "des.h"
Go to the source code of this file.
Macros | |
#define | T(a, b, c, d, e, f, g, h) 64 - a, 64 - b, 64 - c, 64 - d, 64 - e, 64 - f, 64 - g, 64 - h |
#define | T(a, b, c, d, e, f, g) 64 - a, 64 - b, 64 - c, 64 - d, 64 - e, 64 - f, 64 - g |
#define | T(a, b, c, d, e, f) 56 - a, 56 - b, 56 - c, 56 - d, 56 - e, 56 - f |
Functions | |
static uint64_t | shuffle (uint64_t in, const uint8_t *shuffle, int shuffle_len) |
static uint64_t | shuffle_inv (uint64_t in, const uint8_t *shuffle, int shuffle_len) |
static uint32_t | f_func (uint32_t r, uint64_t k) |
static uint64_t | key_shift_left (uint64_t CDn) |
rotate the two halves of the expanded 56 bit key each 1 bit left More... | |
static void | gen_roundkeys (uint64_t K[16], uint64_t key) |
static uint64_t | des_encdec (uint64_t in, uint64_t K[16], int decrypt) |
AVDES * | av_des_alloc (void) |
Allocate an AVDES context. More... | |
int | av_des_init (AVDES *d, const uint8_t *key, int key_bits, av_unused int decrypt) |
static void | av_des_crypt_mac (AVDES *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt, int mac) |
void | av_des_crypt (AVDES *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt) |
Encrypts / decrypts using the DES algorithm. More... | |
void | av_des_mac (AVDES *d, uint8_t *dst, const uint8_t *src, int count) |
Calculates CBC-MAC using the DES algorithm. More... | |
Variables | |
static const uint8_t | IP_shuffle [] |
static const uint8_t | PC1_shuffle [] |
static const uint8_t | PC2_shuffle [] |
static const uint32_t | S_boxes_P_shuffle [8][64] |
This table contains the results of applying both the S-box and P-shuffle. More... | |
Definition at line 177 of file des.c.
Referenced by des_encdec(), f_func(), gen_roundkeys(), main(), and shuffle_inv().
Definition at line 186 of file des.c.
Referenced by des_encdec().
|
static |
Definition at line 198 of file des.c.
Referenced by des_encdec().
|
static |
rotate the two halves of the expanded 56 bit key each 1 bit left
Note: the specification calls this "shift", so I kept it although it is confusing.
Definition at line 231 of file des.c.
Referenced by gen_roundkeys().
|
static |
Definition at line 240 of file des.c.
Referenced by av_des_init(), and main().
|
static |
Definition at line 254 of file des.c.
Referenced by av_des_crypt_mac(), and main().
Definition at line 278 of file des.c.
Referenced by decrypt_init(), ff_asfcrypt_dec(), main(), nprobe(), rprobe(), run_lavu_des(), and run_test().
|
static |
Definition at line 290 of file des.c.
Referenced by av_des_crypt(), and av_des_mac().
|
static |
Definition at line 31 of file des.c.
Referenced by des_encdec().
|
static |
Definition at line 59 of file des.c.
Referenced by gen_roundkeys().
|
static |