-
Notifications
You must be signed in to change notification settings - Fork 5
/
v2.dot
36 lines (24 loc) · 844 Bytes
/
v2.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
digraph DmgEncryptionV2 {
node [shape=record];
passphrase;
Keydata [ label = "<salt> salt | <iter> count | <iv> blobIv | <blob> keydata"; shape=Mrecord; ];
PBKDF2 [ label = "{<in> input | <out> output }| {<salt> salt | <iter> count}", xlabel = "PBKDF2" ];
TDES [ label = "{<iv> iv | <key> key} | { <in> input | <out> output }", xlabel = "TDES" ];
AES [ label = "{<iv> iv | <key> key} | { <in> input | <out> output }", xlabel = "AES" ];
blocknum;
blockdata;
plaintext;
HMAC [ label = "{<key> key} | { <in> input | <out> output }", xlabel = "HMAC" ];
passphrase -> PBKDF2:in;
Keydata:salt -> PBKDF2:salt
Keydata:iter -> PBKDF2:iter
PBKDF2:out -> TDES:key;
Keydata:iv -> TDES:iv;
Keydata:blob -> TDES:in;
TDES:out -> HMAC:key;
TDES:out -> AES:key;
blocknum -> HMAC:in;
HMAC:out -> AES:iv;
blockdata -> AES:in;
AES:out -> plaintext;
}