webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Source
ThirdParty
libwebrtc
Source
third_party
libsrtp
crypto
include
aes_icm.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
*
13
* Copyright (c) 2001-2006, Cisco Systems, Inc.
14
* All rights reserved.
15
*
16
* Redistribution and use in source and binary forms, with or without
17
* modification, are permitted provided that the following conditions
18
* are met:
19
*
20
* Redistributions of source code must retain the above copyright
21
* notice, this list of conditions and the following disclaimer.
22
*
23
* Redistributions in binary form must reproduce the above
24
* copyright notice, this list of conditions and the following
25
* disclaimer in the documentation and/or other materials provided
26
* with the distribution.
27
*
28
* Neither the name of the Cisco Systems, Inc. nor the names of its
29
* contributors may be used to endorse or promote products derived
30
* from this software without specific prior written permission.
31
*
32
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
33
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
34
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
35
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
36
* COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
37
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
38
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
39
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
40
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
41
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
42
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
43
* OF THE POSSIBILITY OF SUCH DAMAGE.
44
*
45
*/
46
47
#ifndef AES_ICM_H
48
#define AES_ICM_H
49
50
#include "
aes.h
"
51
#include "
cipher.h
"
52
53
typedef
struct
{
54
v128_t
counter
;
/* holds the counter value */
55
v128_t
offset
;
/* initial offset value */
56
v128_t
keystream_buffer
;
/* buffers bytes of keystream */
57
srtp_aes_expanded_key_t
expanded_key
;
/* the cipher key */
58
int
bytes_in_buffer
;
/* number of unused bytes in buffer */
59
int
key_size
;
/* AES key size + 14 byte SALT */
60
}
srtp_aes_icm_ctx_t
;
61
62
#endif
/* AES_ICM_H */
63
srtp_aes_icm_ctx_t::keystream_buffer
v128_t keystream_buffer
Definition:
aes_icm.h:56
aes.h
v128_t
Definition:
datatypes.h:90
cipher.h
srtp_aes_icm_ctx_t::expanded_key
srtp_aes_expanded_key_t expanded_key
Definition:
aes_icm.h:57
srtp_aes_icm_ctx_t::counter
v128_t counter
Definition:
aes_icm.h:54
srtp_aes_icm_ctx_t::offset
v128_t offset
Definition:
aes_icm.h:55
srtp_aes_icm_ctx_t::bytes_in_buffer
int bytes_in_buffer
Definition:
aes_icm.h:58
srtp_aes_icm_ctx_t
Definition:
aes_icm.h:53
srtp_aes_expanded_key_t
Definition:
aes.h:58
srtp_aes_icm_ctx_t::key_size
int key_size
Definition:
aes_icm.h:59
Generated by
1.8.13