Tor
0.4.9.3-alpha-dev
Toggle main menu visibility
Main Page
Related Pages
Topics
Data Structures
Data Structures
Data Structure Index
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Enumerator
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
b
c
d
f
g
h
l
m
n
o
p
r
s
v
Enumerations
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerator
a
b
c
d
e
g
h
i
m
n
o
p
q
r
s
t
v
w
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
•
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
Loading...
Searching...
No Matches
core
crypto
tor1_crypt_st.h
Go to the documentation of this file.
1
/* Copyright (c) 2001 Matej Pfajfar.
2
* Copyright (c) 2001-2004, Roger Dingledine.
3
* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4
* Copyright (c) 2007-2021, The Tor Project, Inc. */
5
/* See LICENSE for licensing information */
6
7
/**
8
* @file tor1_crypt_st.h
9
* @brief Structures for tor1 relay cell encryption.
10
**/
11
12
#ifndef TOR1_CRYPT_ST_H
13
#define TOR1_CRYPT_ST_H
14
15
struct
aes_cnt_cipher_t
;
16
struct
crypto_digest_t
;
17
18
struct
tor1_crypt_t
{
19
/** Encryption key and counter for cells heading towards the OR at this
20
* step. */
21
struct
aes_cnt_cipher_t
*
f_crypto
;
22
/** Encryption key and counter for cells heading back from the OR at this
23
* step. */
24
struct
aes_cnt_cipher_t
*
b_crypto
;
25
26
/** Digest state for cells heading towards the OR at this step. */
27
struct
crypto_digest_t
*
f_digest
;
/* for integrity checking */
28
/** Digest state for cells heading away from the OR at this step. */
29
struct
crypto_digest_t
*
b_digest
;
30
31
/** Digest used for the next SENDME cell if any.
32
*
33
* This digest is updated every time a cell is _originated_ or _recognized_
34
* in either direction. Any operation with this object may
35
* invalidate this digest. */
36
uint8_t
sendme_digest
[
DIGEST_LEN
];
37
};
18
struct
tor1_crypt_t
{
{
…
};
38
39
#endif
/* !defined(TOR1_CRYPT_ST_H) */
DIGEST_LEN
#define DIGEST_LEN
Definition
digest_sizes.h:20
aes_cnt_cipher_t
Definition
aes_nss.c:26
crypto_digest_t
Definition
crypto_digest_nss.c:166
tor1_crypt_t
Definition
tor1_crypt_st.h:18
tor1_crypt_t::b_digest
struct crypto_digest_t * b_digest
Definition
tor1_crypt_st.h:29
tor1_crypt_t::f_digest
struct crypto_digest_t * f_digest
Definition
tor1_crypt_st.h:27
tor1_crypt_t::sendme_digest
uint8_t sendme_digest[DIGEST_LEN]
Definition
tor1_crypt_st.h:36
tor1_crypt_t::b_crypto
struct aes_cnt_cipher_t * b_crypto
Definition
tor1_crypt_st.h:24
tor1_crypt_t::f_crypto
struct aes_cnt_cipher_t * f_crypto
Definition
tor1_crypt_st.h:21
Generated by
1.9.8