Files
pynkode/README.md
2025-03-30 04:57:51 -05:00

60 lines
1.7 KiB
Markdown

# PynKode
pynkode is a tutorial of how nkode works.
There are jupyter notebooks in /notebooks covering these topics:
- dispersion
- nkode enrollment, login, and renewal
- split shuffle
## Installation
- Python version 3.10 or greater is required
- Install conda (or your preferred tool) for environment management
### Using conda
```bash
conda env create -f environment.yml
conda activate pynkode
```
## Starting a Jupyter Notebook
### Option 1: Using classic Jupyter Notebook
```bash
# Ensure your environment is activated
# For conda: conda activate pynkode
# For pyenv: (should be automatic if in the directory)
# Start the Jupyter Notebook server
jupyter notebook
```
### Option 2: Using JupyterLab
```bash
# Ensure your environment is activated
# Start JupyterLab
jupyter lab
```
## Explore the Docs
You can find documentation in the [docs](docs) folder.
1. [Enrollment](docs/enrollment_diagram.md)
2. [Login](docs/login_diagram.md)
3. [nKode Cipher](docs/encipher_decipher_renew_nkode.md#nkode-cipher)
4. [nKode Validation](docs/encipher_decipher_renew_nkode.md#validate-nkode)
5. [Renew](docs/encipher_decipher_renew_nkode.md#renew-nkode)
### Tutorials
You can find tutorials in the [notebooks](notebooks) directory.
Recommended order:
1. [Enrollment_Login_Renewal_Simplified.ipynb](notebooks/Enrollment_Login_Renewal_Simplified.ipynb) - Learn the basics of the nKode API
2. [Enrollment_Login_Renewal_Detailed.ipynb](notebooks/Enrollment_Login_Renewal_Detailed.ipynb) - Learn the nKode API in detail
3. [Dispersion.ipynb](notebooks/Dispersion.ipynb)- Understand the basic concepts of dispersion in nkode
4. [Split_Shuffle.ipynb](notebooks/Split_Shuffle.ipynb) - Explore the split shuffle functionality
## Tabletop Discussion
[notes](docs/tabletop-discussion.md)