# ruthvik-bandari/artificialintelligence-for-cybersecurity architecture

> Architecture diagram of the GitHub repository ruthvik-bandari/artificialintelligence-for-cybersecurity, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ruthvik-bandari/artificialintelligence-for-cybersecurity
- Repository: https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity

## Overview

This repository is a portfolio of two hands-on cybersecurity labs. The principal workflows are an intrusion-detection experiment that learns benign traffic patterns and evaluates attack detection, and a cryptography lab that implements classical ciphers and tests cryptanalysis methods. The README documents the major methods and results; notebook internals were not sampled, so the graph shows only documented stages and omits uncertain internal wiring.

Main entry points: [`module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb`](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb) (Cipher Experiment), [`module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb`](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb) (IDS Experiment)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ids["Intrusion Detection"]
  node_cicids[("CIC-IDS-2017")]
  node_ids_lab["IDS Experiment"]
  node_benign_fit["Benign-Only Modeling"]
  node_ids_eval["Attack Evaluation"]
  node_ids_report["IDS Lab Report"]
end

subgraph group_crypto["Classical Cryptography"]
  node_crypto_lab["Cipher Experiment"]
  node_cipher_impl["Caesar and Substitution"]
  node_caesar_attack["Chi-Squared Breaker"]
  node_sub_attack["Substitution Attacks"]
  node_crypto_report["Encryption Lab Report"]
end

node_learner(("Learner"))

node_learner -->|"runs"| node_ids_lab
node_cicids -->|"supplies flows"| node_ids_lab
node_ids_lab -->|"fits models"| node_benign_fit
node_benign_fit -->|"scores attacks"| node_ids_eval
node_learner -->|"runs"| node_crypto_lab
node_crypto_lab -->|"implements ciphers"| node_cipher_impl
node_crypto_lab -->|"tests Caesar"| node_caesar_attack
node_crypto_lab -->|"tests substitution"| node_sub_attack

click node_ids_lab "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb"
click node_benign_fit "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb"
click node_ids_eval "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb"
click node_ids_report "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/Module1_Lab_Report.md"
click node_crypto_lab "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb"
click node_cipher_impl "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb"
click node_caesar_attack "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb"
click node_sub_attack "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb"
click node_crypto_report "https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Module2_Lab_Report.pdf"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cicids,node_ids_lab,node_benign_fit,node_ids_eval,node_ids_report toneBlue
class node_crypto_lab,node_cipher_impl,node_caesar_attack,node_sub_attack,node_crypto_report toneAmber
class node_learner toneIndigo
```

## Components

### Intrusion Detection

- **CIC-IDS-2017**
- [IDS Experiment](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb): `module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb`
- [Benign-Only Modeling](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb): `module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb`
- [Attack Evaluation](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb): `module-01-intrusion-detection/module1_lab_ids_cicids2017.ipynb`
- [IDS Lab Report](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-01-intrusion-detection/Module1_Lab_Report.md): `module-01-intrusion-detection/Module1_Lab_Report.md`

### Classical Cryptography

- [Cipher Experiment](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb): `module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb`
- [Caesar and Substitution](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb): `module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb`
- [Chi-Squared Breaker](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb): `module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb`
- [Substitution Attacks](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb): `module-02-classical-encryption/Ruthvik_Nath_Bandari_Encryption_Lab2.ipynb`
- [Encryption Lab Report](https://github.com/ruthvik-bandari/artificialintelligence-for-cybersecurity/blob/main/module-02-classical-encryption/Ruthvik_Nath_Bandari_Module2_Lab_Report.pdf): `module-02-classical-encryption/Ruthvik_Nath_Bandari_Module2_Lab_Report.pdf`

### Other components

- **Learner**

## Connections

- Learner → IDS Experiment: runs
- CIC-IDS-2017 → IDS Experiment: supplies flows
- IDS Experiment → Benign-Only Modeling: fits models
- Benign-Only Modeling → Attack Evaluation: scores attacks
- Learner → Cipher Experiment: runs
- Cipher Experiment → Caesar and Substitution: implements ciphers
- Cipher Experiment → Chi-Squared Breaker: tests Caesar
- Cipher Experiment → Substitution Attacks: tests substitution
