diff options
| author | GeorgeFI | 2023-07-03 14:31:23 +0200 |
|---|---|---|
| committer | GeorgeFI | 2023-07-03 14:31:23 +0200 |
| commit | f934005eeee1d5e486c823cc5a5a7b77754a5f0e (patch) | |
| tree | 5f72fa587ac6efb31f746472b658b80957ded5c9 | |
| parent | 51006dbaec7a92008b2eee183a34b42e04c8160a (diff) | |
| download | sec-certs-f934005eeee1d5e486c823cc5a5a7b77754a5f0e.tar.gz sec-certs-f934005eeee1d5e486c823cc5a5a7b77754a5f0e.tar.zst sec-certs-f934005eeee1d5e486c823cc5a5a7b77754a5f0e.zip | |
feat: EDA of direct and indirect fips refs
| -rw-r--r-- | notebooks/fips/references.ipynb | 339 |
1 files changed, 229 insertions, 110 deletions
diff --git a/notebooks/fips/references.ipynb b/notebooks/fips/references.ipynb index e5ad366b..82c1d3f1 100644 --- a/notebooks/fips/references.ipynb +++ b/notebooks/fips/references.ipynb @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 71, "id": "91a0cb1b", "metadata": {}, "outputs": [], @@ -69,7 +69,7 @@ "\n", "# Typing imports\n", "from pandas.core.frame import DataFrame\n", - "\n", + "from typing import Callable\n", "\n", "sns.set_palette(\"deep\")" ] @@ -86,7 +86,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Downloading FIPS Dataset: 100%|█████████████████████████████████████| 57.0M/57.0M [00:06<00:00, 9.06MB/s]\n" + "Downloading FIPS Dataset: 100%|█████████████████████████████████████| 57.0M/57.0M [00:17<00:00, 3.49MB/s]\n" ] } ], @@ -190,7 +190,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2022-09-20</td>\n", " <td>2024-08-22</td>\n", - " <td>{DRBG#A2605, DSA#A2113, SHA-3#A2113, KBKDF#A26...</td>\n", + " <td>{RSA#C2204, RSA#A1641, KBKDF#A1641, SHA-3#A260...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -214,7 +214,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2022-02-03</td>\n", " <td>2026-09-21</td>\n", - " <td>{AES#C1271, DRBG#C1292, SHS#C1272, RSA#C1293}</td>\n", + " <td>{SHS#C1272, RSA#C1293, DRBG#C1292, AES#C1271}</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -238,7 +238,7 @@ " <td>Single Chip</td>\n", " <td>2021-11-29</td>\n", " <td>2026-09-21</td>\n", - " <td>{PBKDF#A984, HMAC#A984, ECDSA#A984, DRBG#A764,...</td>\n", + " <td>{DRBG#A764, ECDSA#A982, ECDSA#A984, AES#A982, ...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -262,7 +262,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2022-04-14</td>\n", " <td>2026-09-21</td>\n", - " <td>{CVL#C2021, KDA#A2125, PBKDF#A2125, CVL#C2020,...</td>\n", + " <td>{SHS#C2020, KAS#A2125, RSA#C2022, KAS-RSA#A212...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -286,7 +286,7 @@ " <td>Multi-Chip Embedded</td>\n", " <td>2021-05-11</td>\n", " <td>2026-05-10</td>\n", - " <td>{RSA#C1356, SHS#C1358, DRBG#C1358, SHS#C1357, ...</td>\n", + " <td>{SHS#C1358, SHS#C1357, RSA#C1356, HMAC#C1356, ...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -331,11 +331,11 @@ "\n", " algorithms ... \\\n", "dgst ... \n", - "803919e93ccac91d {DRBG#A2605, DSA#A2113, SHA-3#A2113, KBKDF#A26... ... \n", - "ab86fe44dea15e7a {AES#C1271, DRBG#C1292, SHS#C1272, RSA#C1293} ... \n", - "705249ef258f9318 {PBKDF#A984, HMAC#A984, ECDSA#A984, DRBG#A764,... ... \n", - "a2730bca63eff586 {CVL#C2021, KDA#A2125, PBKDF#A2125, CVL#C2020,... ... \n", - "c62b377fa3d3a0f4 {RSA#C1356, SHS#C1358, DRBG#C1358, SHS#C1357, ... ... \n", + "803919e93ccac91d {RSA#C2204, RSA#A1641, KBKDF#A1641, SHA-3#A260... ... \n", + "ab86fe44dea15e7a {SHS#C1272, RSA#C1293, DRBG#C1292, AES#C1271} ... \n", + "705249ef258f9318 {DRBG#A764, ECDSA#A982, ECDSA#A984, AES#A982, ... ... \n", + "a2730bca63eff586 {SHS#C2020, KAS#A2125, RSA#C2022, KAS-RSA#A212... ... \n", + "c62b377fa3d3a0f4 {SHS#C1358, SHS#C1357, RSA#C1356, HMAC#C1356, ... ... \n", "\n", " related_cves module_directly_referenced_by \\\n", "dgst \n", @@ -555,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "9a0a7b1c", "metadata": { "scrolled": false @@ -589,7 +589,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "a960fd10", "metadata": { "scrolled": true @@ -611,7 +611,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "12a2e03f", "metadata": { "scrolled": true @@ -620,29 +620,29 @@ { "data": { "text/plain": [ - "[('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:o:redhat:enterprise_linux:8.4:*:*:*:*:*:*:*', 19),\n", + "[('cpe:2.3:o:redhat:enterprise_linux:8.6:*:*:*:*:*:*:*', 19),\n", + " ('cpe:2.3:o:redhat:linux:8.0:*:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:o:redhat:enterprise_linux:8.1:*:*:*:*:*:*:*', 19),\n", + " ('cpe:2.3:o:redhat:enterprise_linux:8.4:*:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:o:redhat:enterprise_linux:8.5.0:*:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:o:redhat:enterprise_linux:8.6:*:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:-:*:*:*', 19),\n", - " ('cpe:2.3:o:redhat:linux:8.0:*:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:o:oracle:linux:7:3:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:o:oracle:linux:7:0:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:o:oracle:linux:7:2:*:*:*:*:*:*', 19),\n", + " ('cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:o:oracle:linux:7:1:*:*:*:*:*:*', 19),\n", + " ('cpe:2.3:o:oracle:linux:7:2:*:*:*:*:*:*', 19),\n", + " ('cpe:2.3:o:oracle:linux:7:0:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:o:oracle:linux:7:-:*:*:*:*:*:*', 19),\n", - " ('cpe:2.3:h:cisco:catalyst_6509-e:-:*:*:*:*:*:*:*', 15),\n", + " ('cpe:2.3:o:oracle:linux:7:3:*:*:*:*:*:*', 19),\n", " ('cpe:2.3:h:cisco:catalyst_6506-e:-:*:*:*:*:*:*:*', 15),\n", + " ('cpe:2.3:h:cisco:catalyst_6509-e:-:*:*:*:*:*:*:*', 15),\n", " ('cpe:2.3:a:mcafee:network_security_platform:9.1:*:*:*:*:*:*:*', 12),\n", - " ('cpe:2.3:h:juniper:mx960:-:*:*:*:*:*:*:*', 11),\n", " ('cpe:2.3:h:juniper:mx480:-:*:*:*:*:*:*:*', 11),\n", + " ('cpe:2.3:h:juniper:mx960:-:*:*:*:*:*:*:*', 11),\n", " ('cpe:2.3:h:juniper:mx240:-:*:*:*:*:*:*:*', 11),\n", " ('cpe:2.3:o:amazon:linux_2:-:*:*:*:*:*:*:*', 9),\n", " ('cpe:2.3:o:redhat:enterprise_linux:7.1:*:*:*:*:*:*:*', 8)]" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -668,7 +668,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "f66de442", "metadata": { "scrolled": true @@ -680,7 +680,7 @@ "Text(0.5, 1.0, 'Boxplot of total cpe matches per certificate')" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, @@ -703,7 +703,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "a0ad02e1", "metadata": { "scrolled": false @@ -744,7 +744,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "a92548f0", "metadata": { "scrolled": true @@ -830,9 +830,9 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2008-07-24</td>\n", " <td>NaT</td>\n", - " <td>{HMAC#428, SHS#783, RSA#371, RNG#447, Triple-D...</td>\n", + " <td>{AES#781, HMAC#428, Triple-DES#675, RNG#447, T...</td>\n", " <td>...</td>\n", - " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n", + " <td>{CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -854,9 +854,9 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2008-07-24</td>\n", " <td>NaT</td>\n", - " <td>{DSA#292, RNG#448, Triple-DES#676, SHS#784, Tr...</td>\n", + " <td>{RNG#448, SHS#784, Triple-DES MAC#676, Triple-...</td>\n", " <td>...</td>\n", - " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n", + " <td>{CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -878,9 +878,9 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2002-08-01</td>\n", " <td>NaT</td>\n", - " <td>{Triple-DES#16, DSA/SHA-1#35, HMAC-SHA-1#35}</td>\n", + " <td>{Triple-DES#16, HMAC-SHA-1#35, DSA/SHA-1#35}</td>\n", " <td>...</td>\n", - " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n", + " <td>{CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -904,7 +904,7 @@ " <td>NaT</td>\n", " <td>{Triple-DES#16, DSA/SHA-1#29}</td>\n", " <td>...</td>\n", - " <td>{CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ...</td>\n", + " <td>{CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -944,17 +944,17 @@ "\n", " algorithms ... \\\n", "dgst ... \n", - "926a7fc32c08e491 {HMAC#428, SHS#783, RSA#371, RNG#447, Triple-D... ... \n", - "fe50b64954720ccb {DSA#292, RNG#448, Triple-DES#676, SHS#784, Tr... ... \n", - "749fc650cacb0f06 {Triple-DES#16, DSA/SHA-1#35, HMAC-SHA-1#35} ... \n", + "926a7fc32c08e491 {AES#781, HMAC#428, Triple-DES#675, RNG#447, T... ... \n", + "fe50b64954720ccb {RNG#448, SHS#784, Triple-DES MAC#676, Triple-... ... \n", + "749fc650cacb0f06 {Triple-DES#16, HMAC-SHA-1#35, DSA/SHA-1#35} ... \n", "6af1f692e9496c6d {Triple-DES#16, DSA/SHA-1#29} ... \n", "\n", " related_cves \\\n", "dgst \n", - "926a7fc32c08e491 {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n", - "fe50b64954720ccb {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n", - "749fc650cacb0f06 {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n", - "6af1f692e9496c6d {CVE-2012-0180, CVE-2009-1125, CVE-2010-3227, ... \n", + "926a7fc32c08e491 {CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ... \n", + "fe50b64954720ccb {CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ... \n", + "749fc650cacb0f06 {CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ... \n", + "6af1f692e9496c6d {CVE-2010-4562, CVE-2010-0819, CVE-2013-1248, ... \n", "\n", " module_directly_referenced_by \\\n", "dgst \n", @@ -994,7 +994,7 @@ "[4 rows x 23 columns]" ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1006,7 +1006,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "2b216157", "metadata": { "scrolled": true @@ -1092,7 +1092,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2023-04-14</td>\n", " <td>2025-04-19</td>\n", - " <td>{AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C...</td>\n", + " <td>{DSA#C792, RSA#C792, AES#C790, SHS#C790, HMAC#...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1116,7 +1116,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2020-02-19</td>\n", " <td>2025-02-18</td>\n", - " <td>{Triple-DES#C693, DRBG#C693, DSA#C693, SHS#C69...</td>\n", + " <td>{HMAC#C693, Triple-DES#C693, SHS#C693, RSA#C69...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1140,7 +1140,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2021-04-23</td>\n", " <td>2026-04-22</td>\n", - " <td>{AES#C1981, HMAC#C1982, AES#C1979, KTS#C2042, ...</td>\n", + " <td>{AES#C2042, RSA#C2042, DRBG#C1981, SHS#C1981, ...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1164,7 +1164,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2020-09-28</td>\n", " <td>2025-09-27</td>\n", - " <td>{CVL#C947, DRBG#C942, SHS#C970, HMAC#C943, HMA...</td>\n", + " <td>{HMAC#C947, RSA#C947, HMAC#C943, HMAC#C942, EC...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1188,7 +1188,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2023-05-11</td>\n", " <td>2026-03-02</td>\n", - " <td>{RSA#C431, SHS#C220, KBKDF#A1462, DSA#C431, KA...</td>\n", + " <td>{SHS#C431, RSA#A1462, KAS-SSC#A1462, ECDSA#A14...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1236,7 +1236,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2016-03-29</td>\n", " <td>NaT</td>\n", - " <td>{RSA#1600, SHS#2612, CVL#599, SHS#2923, DRBG#6...</td>\n", + " <td>{AES#3156, SHS#2923, RSA#1600, CVL#409, HMAC#1...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1260,7 +1260,7 @@ " <td>Single Chip</td>\n", " <td>2012-07-17</td>\n", " <td>NaT</td>\n", - " <td>{KTS#1654, ECDSA#214, CVL#2, SHS#1465, DRBG#98...</td>\n", + " <td>{KTS#1654, CVL#2, RSA#824, DRBG#98, ECDSA#214,...</td>\n", " <td>...</td>\n", " <td>{CVE-2019-15809}</td>\n", " <td>NaN</td>\n", @@ -1284,7 +1284,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2019-12-09</td>\n", " <td>NaT</td>\n", - " <td>{KTS#C409, RSA#2638, SHS#C409, CVL#C409, HMAC#...</td>\n", + " <td>{RSA#C409, SHS#3960, DRBG#C409, SHS#C409, AES#...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1308,7 +1308,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2017-09-22</td>\n", " <td>NaT</td>\n", - " <td>{CVL#152, KTS#1605, SHS#2098, SHS#2246, AES#24...</td>\n", + " <td>{SHS#3631, CVL#150, SHS#2246, DRBG#433, RSA#13...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1332,7 +1332,7 @@ " <td>Multi-Chip Stand Alone</td>\n", " <td>2020-04-20</td>\n", " <td>NaT</td>\n", - " <td>{AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C...</td>\n", + " <td>{DSA#C792, RSA#C792, AES#C790, SHS#C790, HMAC#...</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", @@ -1395,17 +1395,17 @@ "\n", " algorithms ... \\\n", "dgst ... \n", - "71cadd0c63e57249 {AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C... ... \n", - "9931f287c490c562 {Triple-DES#C693, DRBG#C693, DSA#C693, SHS#C69... ... \n", - "03f65a290e11d786 {AES#C1981, HMAC#C1982, AES#C1979, KTS#C2042, ... ... \n", - "7119d5d9637ddeeb {CVL#C947, DRBG#C942, SHS#C970, HMAC#C943, HMA... ... \n", - "f36e412aea00d7c6 {RSA#C431, SHS#C220, KBKDF#A1462, DSA#C431, KA... ... \n", + "71cadd0c63e57249 {DSA#C792, RSA#C792, AES#C790, SHS#C790, HMAC#... ... \n", + "9931f287c490c562 {HMAC#C693, Triple-DES#C693, SHS#C693, RSA#C69... ... \n", + "03f65a290e11d786 {AES#C2042, RSA#C2042, DRBG#C1981, SHS#C1981, ... ... \n", + "7119d5d9637ddeeb {HMAC#C947, RSA#C947, HMAC#C943, HMAC#C942, EC... ... \n", + "f36e412aea00d7c6 {SHS#C431, RSA#A1462, KAS-SSC#A1462, ECDSA#A14... ... \n", "... ... ... \n", - "9cbfc3c153a29e5c {RSA#1600, SHS#2612, CVL#599, SHS#2923, DRBG#6... ... \n", - "1625f9db144171f7 {KTS#1654, ECDSA#214, CVL#2, SHS#1465, DRBG#98... ... \n", - "15bb14fd69723b98 {KTS#C409, RSA#2638, SHS#C409, CVL#C409, HMAC#... ... \n", - "586540138f7cd7fd {CVL#152, KTS#1605, SHS#2098, SHS#2246, AES#24... ... \n", - "6678394ac11e55af {AES#C789, KTS#C792, CVL#C792, RSA#C792, SHS#C... ... \n", + "9cbfc3c153a29e5c {AES#3156, SHS#2923, RSA#1600, CVL#409, HMAC#1... ... \n", + "1625f9db144171f7 {KTS#1654, CVL#2, RSA#824, DRBG#98, ECDSA#214,... ... \n", + "15bb14fd69723b98 {RSA#C409, SHS#3960, DRBG#C409, SHS#C409, AES#... ... \n", + "586540138f7cd7fd {SHS#3631, CVL#150, SHS#2246, DRBG#433, RSA#13... ... \n", + "6678394ac11e55af {DSA#C792, RSA#C792, AES#C790, SHS#C790, HMAC#... ... \n", "\n", " related_cves module_directly_referenced_by \\\n", "dgst \n", @@ -1480,7 +1480,7 @@ "[159 rows x 23 columns]" ] }, - "execution_count": 19, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1500,7 +1500,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "0ecd1b1c", "metadata": { "scrolled": false @@ -1522,7 +1522,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "dbac8629", "metadata": {}, "outputs": [ @@ -1530,18 +1530,18 @@ "data": { "text/plain": [ "[('CVE-2016-7091', 49),\n", - " ('CVE-2000-0017', 45),\n", + " ('CVE-1999-0037', 45),\n", + " ('CVE-2007-3103', 45),\n", + " ('CVE-2000-1207', 45),\n", + " ('CVE-1999-0894', 45),\n", + " ('CVE-2001-0690', 45),\n", + " ('CVE-1999-1288', 45),\n", " ('CVE-1999-0297', 45),\n", " ('CVE-1999-0798', 45),\n", - " ('CVE-2000-0701', 45),\n", - " ('CVE-1999-0894', 45),\n", - " ('CVE-2007-3103', 45),\n", - " ('CVE-2001-0889', 45),\n", - " ('CVE-1999-0037', 45),\n", - " ('CVE-1999-1288', 45)]" + " ('CVE-2000-0701', 45)]" ] }, - "execution_count": 21, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1565,7 +1565,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "02306c40", "metadata": { "scrolled": true @@ -1576,17 +1576,17 @@ "text/plain": [ "[('RSA#1', 180),\n", " ('Triple-DES#34', 45),\n", - " ('RSA#1166', 35),\n", - " ('DSA#709', 35),\n", - " ('SHS#1954', 35),\n", + " ('DRBG#281', 35),\n", + " ('HMAC#1391', 35),\n", " ('ECDSA#368', 35),\n", - " ('Triple-DES#1420', 35),\n", + " ('SHS#1954', 35),\n", + " ('DSA#709', 35),\n", + " ('RSA#1166', 35),\n", " ('AES#2273', 35),\n", - " ('HMAC#1391', 35),\n", - " ('DRBG#281', 35)]" + " ('Triple-DES#1420', 35)]" ] }, - "execution_count": 22, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1610,7 +1610,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "6ceb86c7", "metadata": {}, "outputs": [], @@ -1634,9 +1634,17 @@ ] }, { + "cell_type": "markdown", + "id": "99db60e8", + "metadata": {}, + "source": [ + "### References EDA" + ] + }, + { "cell_type": "code", - "execution_count": 24, - "id": "f38fce2b", + "execution_count": 39, + "id": "be72686b", "metadata": {}, "outputs": [], "source": [ @@ -1644,8 +1652,119 @@ ] }, { + "cell_type": "code", + "execution_count": 79, + "id": "3407c40d", + "metadata": {}, + "outputs": [], + "source": [ + "refs_direct_eda_df = refs_df[refs_df[\"module_directly_referencing\"].notna()]\n", + "refs_indirect_eda_df = refs_df[refs_df[\"module_indirectly_referencing\"].notna()]" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "1333fb2e", + "metadata": {}, + "outputs": [], + "source": [ + "def process_direct_references(df: DataFrame, func: Callable[[list[int]], float]) -> float:\n", + " return func([len(refs) for refs in df[\"module_directly_referencing\"]])\n", + "\n", + "def process_indirect_references(df: DataFrame, func: Callable[[list[int]], float]) -> float:\n", + " return func([len(refs) for refs in df[\"module_indirectly_referencing\"]])" + ] + }, + { "cell_type": "markdown", - "id": "56c15006", + "id": "3d404d69", + "metadata": {}, + "source": [ + "#### Direct" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "6af1a96e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total directly referencing certs: 473\n", + "Total direct references among all certs: 626\n", + "Maximum directly referenced certs at once: 8\n", + "Minimum directly referenced certs at once: 1\n", + "Mean of all direct references: 1.32\n", + "Median of all direct references: 1.0\n" + ] + } + ], + "source": [ + "total_directly_referencing_certs: int = refs_direct_eda_df.shape[0]\n", + "total_direct_references: int = process_direct_references(refs_direct_eda_df, sum)\n", + "maximum_direct_references: int = process_direct_references(refs_direct_eda_df, max)\n", + "minimum_direct_references: int = process_direct_references(refs_direct_eda_df, min)\n", + "mean_direct_references: float = round(process_direct_references(refs_direct_eda_df, np.mean), 2)\n", + "median_direct_references: float = process_direct_references(refs_direct_eda_df, np.median)\n", + "\n", + "print(f\"Total directly referencing certs: {total_directly_referencing_certs}\")\n", + "print(f\"Total direct references among all certs: {total_direct_references}\")\n", + "print(f\"Maximum directly referenced certs at once: {maximum_direct_references}\")\n", + "print(f\"Minimum directly referenced certs at once: {minimum_direct_references}\")\n", + "print(f\"Mean of all direct references: {mean_direct_references}\")\n", + "print(f\"Median of all direct references: {median_direct_references}\")" + ] + }, + { + "cell_type": "markdown", + "id": "c4ee056b", + "metadata": {}, + "source": [ + "#### Indirect" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "10d2f57c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Total indirectly referencing certs: 473\n", + "Total indirect references among all certs: 1043\n", + "Maximum indirectly referenced certs at once: 27\n", + "Minimum indirectly referenced certs at once: 1\n", + "Mean of all indirect references: 2.21\n", + "Median of all indirect references: 1.0\n" + ] + } + ], + "source": [ + "total_indirectly_referencing_certs: int = refs_indirect_eda_df.shape[0]\n", + "total_indirect_references: int = process_indirect_references(refs_indirect_eda_df, sum)\n", + "maximum_indirect_references: int = process_indirect_references(refs_indirect_eda_df, max)\n", + "minimum_indirect_references: int = process_indirect_references(refs_indirect_eda_df, min)\n", + "mean_indirect_references: float = round(process_indirect_references(refs_indirect_eda_df, np.mean), 2)\n", + "median_indirect_references: float = process_indirect_references(refs_indirect_eda_df, np.median)\n", + "\n", + "print(f\"Total indirectly referencing certs: {total_indirectly_referencing_certs}\")\n", + "print(f\"Total indirect references among all certs: {total_indirect_references}\")\n", + "print(f\"Maximum indirectly referenced certs at once: {maximum_indirect_references}\")\n", + "print(f\"Minimum indirectly referenced certs at once: {minimum_indirect_references}\")\n", + "print(f\"Mean of all indirect references: {mean_indirect_references}\")\n", + "print(f\"Median of all indirect references: {median_indirect_references}\")" + ] + }, + { + "cell_type": "markdown", + "id": "38e5b33d", "metadata": {}, "source": [ "### Active certificates which reference at least one historical cert (=module refs)" @@ -1653,8 +1772,8 @@ }, { "cell_type": "code", - "execution_count": 25, - "id": "12a6820b", + "execution_count": 24, + "id": "b01d5d38", "metadata": {}, "outputs": [], "source": [ @@ -1677,8 +1796,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "46569a81", + "execution_count": 25, + "id": "9c05ffb2", "metadata": { "scrolled": true }, @@ -1710,7 +1829,7 @@ }, { "cell_type": "markdown", - "id": "531ea132", + "id": "d343e55b", "metadata": {}, "source": [ "### Certificates with higher levels referencing certficates with lower levels" @@ -1718,8 +1837,8 @@ }, { "cell_type": "code", - "execution_count": 40, - "id": "c41a16c5", + "execution_count": 31, + "id": "b8225902", "metadata": { "scrolled": false }, @@ -1730,8 +1849,8 @@ }, { "cell_type": "code", - "execution_count": 41, - "id": "424c9096", + "execution_count": 32, + "id": "7ab480c7", "metadata": {}, "outputs": [], "source": [ @@ -1747,8 +1866,8 @@ }, { "cell_type": "code", - "execution_count": 42, - "id": "66addda9", + "execution_count": 33, + "id": "29c80ecd", "metadata": {}, "outputs": [], "source": [ @@ -1765,7 +1884,7 @@ }, { "cell_type": "markdown", - "id": "50fb4e6f", + "id": "0f04580e", "metadata": {}, "source": [ "#### Level 2 referencing at least one certificate of level 1" @@ -1773,8 +1892,8 @@ }, { "cell_type": "code", - "execution_count": 58, - "id": "29bc4234", + "execution_count": 35, + "id": "e3a4e349", "metadata": { "scrolled": true }, @@ -1790,7 +1909,7 @@ } ], "source": [ - "compare_level: int = 2\n", + "level2: int = 2\n", "level2_ref_certs = referencing_certs[referencing_certs[\"level\"] == level2]\n", "certificates_referencing_lower_level: list[int] = get_certs_referencing_lower_level(refs_df, level2_ref_certs, compare_level)\n", "ratio: float = len(certificates_referencing_lower_level) / level2_ref_certs.shape[0]\n", @@ -1801,7 +1920,7 @@ }, { "cell_type": "markdown", - "id": "9f3055bc", + "id": "27d269a3", "metadata": {}, "source": [ "#### Level 3 referencing at least one certificate of level 1 or 2" @@ -1809,23 +1928,23 @@ }, { "cell_type": "code", - "execution_count": 61, - "id": "ec6566cd", + "execution_count": 36, + "id": "e83b845b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Total amount of certificates with level 3 referencing at least one certificate: 27\n", + "Total amount of certificates with level 2 referencing at least one certificate: 27\n", "Total amount of certicates with reference at least one certificate with lower level: 1\n", "Hit ratio: 0.04\n" ] } ], "source": [ - "compare_level: int = 3 \n", - "level3_ref_certs = referencing_certs[referencing_certs[\"level\"] == compare_level]\n", + "level3: int = 3 \n", + "level3_ref_certs = referencing_certs[referencing_certs[\"level\"] == level3]\n", "certificates_referencing_lower_level: list[int] = get_certs_referencing_lower_level(refs_df, level3_ref_certs, compare_level)\n", "ratio: float = len(certificates_referencing_lower_level) / level3_ref_certs.shape[0]\n", "print(f\"Total amount of certificates with level {compare_level} referencing at least one certificate: {level3_ref_certs.shape[0]}\")\n", |
