Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(292)

Side by Side Diff: libsrtp/crypto/include/crypto_types.h

Issue 3423016: Add current version of libSRTP from CVS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/
Patch Set: '' Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « libsrtp/crypto/include/crypto_math.h ('k') | libsrtp/crypto/include/cryptoalg.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /*
2 * crypto_types.h
3 *
4 * constants for cipher types and auth func types
5 *
6 * David A. McGrew
7 * Cisco Systems, Inc.
8 */
9 /*
10 *
11 * Copyright(c) 2001-2006 Cisco Systems, Inc.
12 * All rights reserved.
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 *
18 * Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 *
21 * Redistributions in binary form must reproduce the above
22 * copyright notice, this list of conditions and the following
23 * disclaimer in the documentation and/or other materials provided
24 * with the distribution.
25 *
26 * Neither the name of the Cisco Systems, Inc. nor the names of its
27 * contributors may be used to endorse or promote products derived
28 * from this software without specific prior written permission.
29 *
30 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
31 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
32 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
33 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
34 * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
35 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
36 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
37 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
40 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
41 * OF THE POSSIBILITY OF SUCH DAMAGE.
42 *
43 */
44
45 #ifndef CRYPTO_TYPES_H
46 #define CRYPTO_TYPES_H
47
48 /**
49 * @defgroup Algos Cryptographic Algorithms
50 *
51 *
52 * This library provides several different cryptographic algorithms,
53 * each of which can be selected by using the cipher_type_id_t and
54 * auth_type_id_t. These algorithms are documented below.
55 *
56 * Authentication functions that use the Universal Security Transform
57 * (UST) must be used in conjunction with a cipher other than the null
58 * cipher. These functions require a per-message pseudorandom input
59 * that is generated by the cipher.
60 *
61 * The identifiers STRONGHOLD_AUTH and STRONGHOLD_CIPHER identify the
62 * strongest available authentication function and cipher,
63 * respectively. They are resolved at compile time to the strongest
64 * available algorithm. The stronghold algorithms can serve as did
65 * the keep of a medieval fortification; they provide the strongest
66 * defense (or the last refuge).
67 *
68 * @{
69 */
70
71 /**
72 * @defgroup Ciphers Cipher Types
73 *
74 * @brief Each cipher type is identified by an unsigned integer. The
75 * cipher types available in this edition of libSRTP are given
76 * by the #defines below.
77 *
78 * A cipher_type_id_t is an identifier for a cipher_type; only values
79 * given by the #defines above (or those present in the file
80 * crypto_types.h) should be used.
81 *
82 * The identifier STRONGHOLD_CIPHER indicates the strongest available
83 * cipher, allowing an application to choose the strongest available
84 * algorithm without any advance knowledge about the avaliable
85 * algorithms.
86 *
87 * @{
88 */
89
90 /**
91 * @brief The null cipher performs no encryption.
92 *
93 * The NULL_CIPHER leaves its inputs unaltered, during both the
94 * encryption and decryption operations. This cipher can be chosen
95 * to indicate that no encryption is to be performed.
96 */
97 #define NULL_CIPHER 0
98
99 /**
100 * @brief AES Integer Counter Mode (AES ICM)
101 *
102 * AES ICM is the variant of counter mode that is used by Secure RTP.
103 * This cipher uses a 16-, 24-, or 32-octet key concatenated with a
104 * 14-octet offset (or salt) value.
105 */
106 #define AES_ICM 1
107
108 /**
109 * @brief AES-128 Integer Counter Mode (AES ICM)
110 * AES-128 ICM is a deprecated alternate name for AES ICM.
111 */
112 #define AES_128_ICM AES_ICM
113
114 /**
115 * @brief SEAL 3.0
116 *
117 * SEAL is the Software-Optimized Encryption Algorithm of Coppersmith
118 * and Rogaway. Nota bene: this cipher is IBM proprietary.
119 */
120 #define SEAL 2
121
122 /**
123 * @brief AES Cipher Block Chaining mode (AES CBC)
124 *
125 * AES CBC is the AES Cipher Block Chaining mode.
126 * This cipher uses a 16-, 24-, or 32-octet key.
127 */
128 #define AES_CBC 3
129
130 /**
131 * @brief AES-128 Cipher Block Chaining mode (AES CBC)
132 *
133 * AES-128 CBC is a deprecated alternate name for AES CBC.
134 */
135 #define AES_128_CBC AES_CBC
136
137 /**
138 * @brief Strongest available cipher.
139 *
140 * This identifier resolves to the strongest cipher type available.
141 */
142 #define STRONGHOLD_CIPHER AES_ICM
143
144 /**
145 * @}
146 */
147
148
149
150 /**
151 * @defgroup Authentication Authentication Function Types
152 *
153 * @brief Each authentication function type is identified by an
154 * unsigned integer. The authentication function types available in
155 * this edition of libSRTP are given by the #defines below.
156 *
157 * An auth_type_id_t is an identifier for an authentication function type;
158 * only values given by the #defines above (or those present in the
159 * file crypto_types.h) should be used.
160 *
161 * The identifier STRONGHOLD_AUTH indicates the strongest available
162 * authentication function, allowing an application to choose the
163 * strongest available algorithm without any advance knowledge about
164 * the avaliable algorithms. The stronghold algorithms can serve as
165 * did the keep of a medieval fortification; they provide the
166 * strongest defense (or the last refuge).
167 *
168 * @{
169 */
170
171 /**
172 * @brief The null authentication function performs no authentication.
173 *
174 * The NULL_AUTH function does nothing, and can be selected to indicate
175 * that authentication should not be performed.
176 */
177 #define NULL_AUTH 0
178
179 /**
180 * @brief UST with TMMH Version 2
181 *
182 * UST_TMMHv2 implements the Truncated Multi-Modular Hash using
183 * UST. This function must be used in conjunction with a cipher other
184 * than the null cipher.
185 * with a cipher.
186 */
187 #define UST_TMMHv2 1
188
189 /**
190 * @brief (UST) AES-128 XORMAC
191 *
192 * UST_AES_128_XMAC implements AES-128 XORMAC, using UST. Nota bene:
193 * the XORMAC algorithm is IBM proprietary.
194 */
195 #define UST_AES_128_XMAC 2
196
197 /**
198 * @brief HMAC-SHA1
199 *
200 * HMAC_SHA1 implements the Hash-based MAC using the NIST Secure
201 * Hash Algorithm version 1 (SHA1).
202 */
203 #define HMAC_SHA1 3
204
205 /**
206 * @brief Strongest available authentication function.
207 *
208 * This identifier resolves to the strongest available authentication
209 * function.
210 */
211 #define STRONGHOLD_AUTH HMAC_SHA1
212
213 /**
214 * @}
215 */
216 /**
217 * @}
218 */
219
220 #endif /* CRYPTO_TYPES_H */
OLDNEW
« no previous file with comments | « libsrtp/crypto/include/crypto_math.h ('k') | libsrtp/crypto/include/cryptoalg.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698