123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- digraph cipher {
- bgcolor="transparent";
- begin [label=start, color="#deeaee", style="filled"];
- newed [fontcolor="#c94c4c", style="solid"];
- initialised [fontcolor="#c94c4c"];
- updated [fontcolor="#c94c4c"];
- finaled [fontcolor="#c94c4c"];
- end [label="freed", color="#deeaee", style="filled"];
- d_initialised [label="initialised\n(decryption)", fontcolor="#c94c4c"];
- d_updated [label="updated\n(decryption)", fontcolor="#c94c4c"];
- e_initialised [label="initialised\n(encryption)", fontcolor="#c94c4c"];
- e_updated [label="updated\n(encryption)", fontcolor="#c94c4c"];
- begin -> newed [label="EVP_CIPHER_CTX_new"];
- newed -> initialised [label="EVP_CipherInit"];
- initialised -> initialised [label="EVP_CipherInit\n(not required but allowed)",
- style=dashed];
- initialised -> updated [label="EVP_CipherUpdate", weight=2];
- updated -> updated [label="EVP_CipherUpdate"];
- updated -> finaled [label="EVP_CipherFinal"];
- finaled -> finaled [label="EVP_CIPHER_CTX_get_params\n(AEAD encryption)",
- style=dashed];
- finaled -> end [label="EVP_CIPHER_CTX_free"];
- newed -> d_initialised [label="EVP_DecryptInit"];
- d_initialised -> d_initialised [label="EVP_DecryptInit\n(not required but allowed)",
- style=dashed];
- d_initialised -> d_updated [label="EVP_DecryptUpdate", weight=2];
- d_updated -> d_updated [label="EVP_DecryptUpdate"];
- d_updated -> finaled [label="EVP_DecryptFinal"];
- newed -> e_initialised [label="EVP_EncryptInit"];
- e_initialised -> e_initialised [label="EVP_EncryptInit\n(not required but allowed)",
- style=dashed];
- e_initialised -> e_updated [label="EVP_EncryptUpdate", weight=2];
- e_updated -> e_updated [label="EVP_EncryptUpdate"];
- e_updated -> finaled [label="EVP_EncryptFinal"];
- most -> newed [label="EVP_CIPHER_CTX_reset", style=dashed,
- color="#034f84", fontcolor="#034f84"];
- most [label="any of the initialised\nupdated or finaled states", style=dashed,
- color="#034f84", fontcolor="#034f84"];
- }
- /* This is a version with a single flavour which is easier to comprehend
- digraph cipher {
- bgcolor="transparent";
- begin [label=start, color="#deeaee", style="filled"];
- newed [fontcolor="#c94c4c", style="solid"];
- initialised [fontcolor="#c94c4c"];
- updated [fontcolor="#c94c4c"];
- finaled [fontcolor="#c94c4c"];
- end [label="freed", color="#deeaee", style="filled"];
- begin -> newed [label="EVP_CIPHER_CTX_new"];
- newed -> initialised [label="EVP_CipherInit"];
- initialised -> initialised [label="EVP_CipherInit\n(not required but allowed)",
- style=dashed];
- initialised -> updated [label="EVP_CipherUpdate", weight=2];
- updated -> updated [label="EVP_CipherUpdate"];
- updated -> finaled [label="EVP_CipherFinal"];
- finaled -> finaled [label="EVP_CIPHER_CTX_get_params\n(AEAD encryption)",
- style=dashed];
- finaled -> end [label="EVP_CIPHER_CTX_free"];
- finaled -> newed [label="EVP_CIPHER_CTX_reset", style=dashed,
- color="#034f84", fontcolor="#034f84"];
- updated -> newed [label="EVP_CIPHER_CTX_reset", style=dashed,
- color="#034f84", fontcolor="#034f84"];
- }
- */
|