]>
Commit | Line | Data |
---|---|---|
4aac71f7 | 1 | digraph cipher { |
ee96d128 P |
2 | bgcolor="transparent"; |
3 | ||
4aac71f7 P |
4 | begin [label=start, color="#deeaee", style="filled"]; |
5 | newed [fontcolor="#c94c4c", style="solid"]; | |
6 | ||
7 | initialised [fontcolor="#c94c4c"]; | |
8 | updated [fontcolor="#c94c4c"]; | |
9 | finaled [fontcolor="#c94c4c"]; | |
10 | end [label="freed", color="#deeaee", style="filled"]; | |
11 | ||
12 | d_initialised [label="initialised\n(decryption)", fontcolor="#c94c4c"]; | |
13 | d_updated [label="updated\n(decryption)", fontcolor="#c94c4c"]; | |
14 | e_initialised [label="initialised\n(encryption)", fontcolor="#c94c4c"]; | |
15 | e_updated [label="updated\n(encryption)", fontcolor="#c94c4c"]; | |
16 | ||
17 | begin -> newed [label="EVP_CIPHER_CTX_new"]; | |
18 | newed -> initialised [label="EVP_CipherInit"]; | |
19 | initialised -> initialised [label="EVP_CipherInit\n(not required but allowed)", | |
20 | style=dashed]; | |
21 | initialised -> updated [label="EVP_CipherUpdate", weight=2]; | |
22 | updated -> updated [label="EVP_CipherUpdate"]; | |
23 | updated -> finaled [label="EVP_CipherFinal"]; | |
24 | finaled -> finaled [label="EVP_CIPHER_CTX_get_params\n(AEAD encryption)", | |
25 | style=dashed]; | |
26 | finaled -> end [label="EVP_CIPHER_CTX_free"]; | |
27 | finaled -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
28 | color="#034f84", fontcolor="#034f84"]; | |
29 | updated -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
30 | color="#034f84", fontcolor="#034f84"]; | |
31 | newed -> d_initialised [label="EVP_DecryptInit"]; | |
32 | d_initialised -> d_initialised [label="EVP_DecryptInit\n(not required but allowed)", | |
33 | style=dashed]; | |
34 | d_initialised -> d_updated [label="EVP_DecryptUpdate", weight=2]; | |
35 | d_updated -> d_updated [label="EVP_DecryptUpdate"]; | |
36 | d_updated -> finaled [label="EVP_DecryptFinal"]; | |
37 | d_updated -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
38 | color="#034f84", fontcolor="#034f84"]; | |
39 | newed -> e_initialised [label="EVP_EncryptInit"]; | |
40 | e_initialised -> e_initialised [label="EVP_EncryptInit\n(not required but allowed)", | |
41 | style=dashed]; | |
42 | e_initialised -> e_updated [label="EVP_EncryptUpdate", weight=2]; | |
43 | e_updated -> e_updated [label="EVP_EncryptUpdate"]; | |
44 | e_updated -> finaled [label="EVP_EncryptFinal"]; | |
45 | e_updated -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
46 | color="#034f84", fontcolor="#034f84"]; | |
47 | } | |
48 | ||
49 | /* This is a version with a single flavour which is easier to comprehend | |
50 | digraph cipher { | |
51 | begin [label=start, color="#deeaee", style="filled"]; | |
52 | newed [fontcolor="#c94c4c", style="solid"]; | |
53 | initialised [fontcolor="#c94c4c"]; | |
54 | updated [fontcolor="#c94c4c"]; | |
55 | finaled [fontcolor="#c94c4c"]; | |
56 | end [label="freed", color="#deeaee", style="filled"]; | |
57 | ||
58 | begin -> newed [label="EVP_CIPHER_CTX_new"]; | |
59 | newed -> initialised [label="EVP_CipherInit"]; | |
60 | initialised -> initialised [label="EVP_CipherInit\n(not required but allowed)", | |
61 | style=dashed]; | |
62 | initialised -> updated [label="EVP_CipherUpdate", weight=2]; | |
63 | updated -> updated [label="EVP_CipherUpdate"]; | |
64 | updated -> finaled [label="EVP_CipherFinal"]; | |
65 | finaled -> finaled [label="EVP_CIPHER_CTX_get_params\n(AEAD encryption)", | |
66 | style=dashed]; | |
67 | finaled -> end [label="EVP_CIPHER_CTX_free"]; | |
68 | finaled -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
69 | color="#034f84", fontcolor="#034f84"]; | |
70 | updated -> newed [label="EVP_CIPHER_CTX_reset", style=dashed, | |
71 | color="#034f84", fontcolor="#034f84"]; | |
72 | } | |
73 | */ | |
74 |