|
|
@@ -22,9 +22,15 @@ |
|
|
|
#include "avutil.h" |
|
|
|
#include "common.h" |
|
|
|
#include "intreadwrite.h" |
|
|
|
#include "mem.h" |
|
|
|
#include "des.h" |
|
|
|
|
|
|
|
typedef struct AVDES AVDES; |
|
|
|
#if !FF_API_CRYPTO_CONTEXT |
|
|
|
struct AVDES { |
|
|
|
uint64_t round_keys[3][16]; |
|
|
|
int triple_des; |
|
|
|
}; |
|
|
|
#endif |
|
|
|
|
|
|
|
#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 |
|
|
|
static const uint8_t IP_shuffle[] = { |
|
|
@@ -286,6 +292,11 @@ static uint64_t des_encdec(uint64_t in, uint64_t K[16], int decrypt) { |
|
|
|
return in; |
|
|
|
} |
|
|
|
|
|
|
|
AVDES *av_des_alloc(void) |
|
|
|
{ |
|
|
|
return av_mallocz(sizeof(struct AVDES)); |
|
|
|
} |
|
|
|
|
|
|
|
int av_des_init(AVDES *d, const uint8_t *key, int key_bits, av_unused int decrypt) { |
|
|
|
if (key_bits != 64 && key_bits != 192) |
|
|
|
return -1; |
|
|
|