FFmpeg
4.0
|
RTMP Diffie-Hellmann utilities. More...
#include <stdint.h>
#include <string.h>
#include "config.h"
#include "libavutil/attributes.h"
#include "libavutil/error.h"
#include "libavutil/mem.h"
#include "libavutil/random_seed.h"
#include "rtmpdh.h"
Go to the source code of this file.
Macros | |
#define | P1024 |
#define | Q1024 |
#define | MAX_BYTES 18000 |
#define | dh_new() av_mallocz(sizeof(FF_DH)) |
Functions | |
static FFBigNum | dh_generate_key (FF_DH *dh) |
static int | dh_compute_key (FF_DH *dh, FFBigNum pub_key_bn, uint32_t secret_key_len, uint8_t *secret_key) |
void | ff_dh_free (FF_DH *dh) |
Free a Diffie-Hellmann context. More... | |
static int | dh_is_valid_public_key (FFBigNum y, FFBigNum p, FFBigNum q) |
av_cold FF_DH * | ff_dh_init (int key_len) |
Initialize a Diffie-Hellmann context. More... | |
int | ff_dh_generate_public_key (FF_DH *dh) |
Generate a public key. More... | |
int | ff_dh_write_public_key (FF_DH *dh, uint8_t *pub_key, int pub_key_len) |
Write the public key into the given buffer. More... | |
int | ff_dh_compute_shared_secret_key (FF_DH *dh, const uint8_t *pub_key, int pub_key_len, uint8_t *secret_key, int secret_key_len) |
Compute the shared secret key from the private FF_DH value and the other party's public value. More... | |
RTMP Diffie-Hellmann utilities.
Definition in file rtmpdh.c.
#define P1024 |
Definition at line 41 of file rtmpdh.c.
Referenced by ff_dh_init().
#define Q1024 |
Definition at line 49 of file rtmpdh.c.
Referenced by ff_dh_compute_shared_secret_key(), and ff_dh_generate_public_key().
#define MAX_BYTES 18000 |
Definition at line 164 of file rtmpdh.c.
Referenced by dh_generate_key().
#define dh_new | ( | ) | av_mallocz(sizeof(FF_DH)) |
Definition at line 166 of file rtmpdh.c.
Referenced by ff_dh_init().
|
static |
Definition at line 168 of file rtmpdh.c.
Referenced by ff_dh_generate_public_key().
|
static |
Definition at line 193 of file rtmpdh.c.
Referenced by ff_dh_compute_shared_secret_key().
Free a Diffie-Hellmann context.
dh | a Diffie-Hellmann context to free |
Definition at line 214 of file rtmpdh.c.
Referenced by ff_dh_init(), rtmpe_close(), test_random_shared_secret(), and test_ref_data().
|
static |
Definition at line 225 of file rtmpdh.c.
Referenced by ff_dh_compute_shared_secret_key(), and ff_dh_generate_public_key().
Initialize a Diffie-Hellmann context.
key_len | length of the key |
Definition at line 266 of file rtmpdh.c.
Referenced by ff_rtmpe_gen_pub_key(), test_random_shared_secret(), and test_ref_data().
Generate a public key.
dh | a Diffie-Hellmann context |
Definition at line 293 of file rtmpdh.c.
Referenced by ff_rtmpe_gen_pub_key(), and test_random_shared_secret().
Write the public key into the given buffer.
dh | a Diffie-Hellmann context, containing the public key to write |
pub_key | the buffer where the public key is written |
pub_key_len | the length of the buffer |
Definition at line 319 of file rtmpdh.c.
Referenced by ff_rtmpe_gen_pub_key(), test_random_shared_secret(), and test_ref_data().
int ff_dh_compute_shared_secret_key | ( | FF_DH * | dh, |
const uint8_t * | pub_key, | ||
int | pub_key_len, | ||
uint8_t * | secret_key, | ||
int | secret_key_len | ||
) |
Compute the shared secret key from the private FF_DH value and the other party's public value.
dh | a Diffie-Hellmann context, containing the private key |
pub_key | the buffer containing the public key |
pub_key_len | the length of the public key buffer |
secret_key | the buffer where the secret key is written |
secret_key_len | the length of the secret key buffer |
Definition at line 335 of file rtmpdh.c.
Referenced by ff_rtmpe_compute_secret_key(), test_random_shared_secret(), and test_ref_data().