webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Source
ThirdParty
libwebrtc
Source
third_party
libsrtp
crypto
include
aes_icm_ossl.h
Go to the documentation of this file.
1
/*
2
* aes_icm.h
3
*
4
* Header for AES Integer Counter Mode.
5
*
6
* David A. McGrew
7
* Cisco Systems, Inc.
8
*
9
*/
10
/*
11
*
12
* Copyright (c) 2001-2005,2012, Cisco Systems, Inc.
13
* All rights reserved.
14
*
15
* Redistribution and use in source and binary forms, with or without
16
* modification, are permitted provided that the following conditions
17
* are met:
18
*
19
* Redistributions of source code must retain the above copyright
20
* notice, this list of conditions and the following disclaimer.
21
*
22
* Redistributions in binary form must reproduce the above
23
* copyright notice, this list of conditions and the following
24
* disclaimer in the documentation and/or other materials provided
25
* with the distribution.
26
*
27
* Neither the name of the Cisco Systems, Inc. nor the names of its
28
* contributors may be used to endorse or promote products derived
29
* from this software without specific prior written permission.
30
*
31
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
34
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
35
* COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
36
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
37
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
38
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
39
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
40
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
41
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
42
* OF THE POSSIBILITY OF SUCH DAMAGE.
43
*
44
*/
45
46
#ifndef AES_ICM_H
47
#define AES_ICM_H
48
49
#include "
cipher.h
"
50
#include "
datatypes.h
"
51
#include <
openssl/evp.h
>
52
#include <
openssl/aes.h
>
53
54
#define SRTP_SALT_SIZE 14
55
#define SRTP_AES_128_KEYSIZE AES_BLOCK_SIZE
56
#define SRTP_AES_256_KEYSIZE AES_BLOCK_SIZE * 2
57
#define SRTP_AES_128_KEYSIZE_WSALT SRTP_AES_128_KEYSIZE + SRTP_SALT_SIZE
58
#define SRTP_AES_256_KEYSIZE_WSALT SRTP_AES_256_KEYSIZE + SRTP_SALT_SIZE
59
#define SRTP_AES_192_KEYSIZE AES_BLOCK_SIZE + AES_BLOCK_SIZE / 2
60
#define SRTP_AES_192_KEYSIZE_WSALT SRTP_AES_192_KEYSIZE + SRTP_SALT_SIZE
61
62
typedef
struct
{
63
v128_t
counter
;
/* holds the counter value */
64
v128_t
offset
;
/* initial offset value */
65
int
key_size;
66
EVP_CIPHER_CTX
*
ctx
;
67
}
srtp_aes_icm_ctx_t
;
68
69
#endif
/* AES_ICM_H */
70
evp.h
evp_cipher_ctx_st
Definition:
cipher.h:448
datatypes.h
v128_t
Definition:
datatypes.h:90
cipher.h
offset
EGLStreamKHR EGLint EGLint offset
Definition:
eglext.h:984
aes.h
counter
GLuint counter
Definition:
gl2ext.h:776
srtp_aes_icm_ctx_t::ctx
EVP_CIPHER_CTX * ctx
Definition:
aes_icm_ossl.h:66
srtp_aes_icm_ctx_t
Definition:
aes_icm.h:53
Generated by
1.8.13