# cavkev/alexandria-encryption-software architecture

> Architecture diagram of the GitHub repository cavkev/alexandria-encryption-software, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/cavkev/alexandria-encryption-software
- Repository: https://github.com/cavkev/alexandria-encryption-software

## Overview

Alexandria is a small WPF encryption app. The user enters text or encoded numbers and a 2×2 key in the window; the window dispatches encryption or decryption, then displays intermediate numbers and the result. Encryption converts supported characters to numbers before applying the key matrix; decryption parses numbers, applies the inverse matrix, then converts values back to characters. MatrixHelper supports inverse-matrix calculation and multiplication. The README gives no further capabilities, and the sampled files do not establish additional UI or startup wiring.

Main entry points: [`Verschluesselung.cs`](https://github.com/cavkev/alexandria-encryption-software/blob/main/Verschluesselung.cs) (Text cipher), [`MainWindow.xaml.cs`](https://github.com/cavkev/alexandria-encryption-software/blob/main/MainWindow.xaml.cs) (Main window), [`MatrixHelper.cs`](https://github.com/cavkev/alexandria-encryption-software/blob/main/MatrixHelper.cs) (Matrix helper)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ui["Desktop UI"]
  node_window["Main window<br/>[MainWindow.xaml.cs]"]
end

subgraph group_crypto["Text and cipher"]
  node_cipher["Text cipher"]
end

subgraph group_math["Matrix operations"]
  node_matrix["Matrix helper<br/>[MatrixHelper.cs]"]
end

node_user(("User"))

node_user -->|"enters input"| node_window
node_window -->|"dispatches operation"| node_cipher
node_cipher -->|"computes inverse"| node_matrix
node_cipher -->|"multiplies vectors"| node_matrix
node_cipher -->|"returns result"| node_window
node_window -->|"displays output"| node_user

click node_window "https://github.com/cavkev/alexandria-encryption-software/blob/main/MainWindow.xaml.cs"
click node_cipher "https://github.com/cavkev/alexandria-encryption-software/blob/main/Verschluesselung.cs"
click node_matrix "https://github.com/cavkev/alexandria-encryption-software/blob/main/MatrixHelper.cs"

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_window,node_user toneBlue
class node_cipher toneAmber
class node_matrix toneMint
```

## Components

### Desktop UI

- [Main window](https://github.com/cavkev/alexandria-encryption-software/blob/main/MainWindow.xaml.cs): `MainWindow.xaml.cs`

### Text and cipher

- [Text cipher](https://github.com/cavkev/alexandria-encryption-software/blob/main/Verschluesselung.cs): `Verschluesselung.cs`

### Matrix operations

- [Matrix helper](https://github.com/cavkev/alexandria-encryption-software/blob/main/MatrixHelper.cs): `MatrixHelper.cs`

### Other components

- **User**

## Connections

- User → Main window: enters input
- Main window → Text cipher: dispatches operation
- Text cipher → Matrix helper: computes inverse
- Text cipher → Matrix helper: multiplies vectors
- Text cipher → Main window: returns result
- Main window → User: displays output
