73 lines
2.1 KiB
Markdown
73 lines
2.1 KiB
Markdown
# Readme
|
|
|
|
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 pyenv or conda for environment management
|
|
|
|
### Option 1: Using conda
|
|
```bash
|
|
# Create a new conda environment named pynkode
|
|
conda create -n pynkode python=3.10
|
|
# Activate the environment
|
|
conda activate pynkode
|
|
# Install the requirements
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Option 2: Using pyenv
|
|
```bash
|
|
# Install Python 3.10 using pyenv
|
|
pyenv install 3.10.0
|
|
# Create a virtualenv named pynkode
|
|
pyenv virtualenv 3.10.0 pynkode
|
|
# Set the local version to pynkode
|
|
pyenv local pynkode
|
|
# Install the requirements
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## 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
|