Metadata-Version: 2.4
Name: saro-dat
Version: 1.0.0
Summary: Distributed Access Token
Author-email: Marker Seoul <j@saro.me>
Project-URL: Homepage, https://dat.saro.me
Project-URL: Repository, https://github.com/saro-lab/dat-pypi
Project-URL: Documentation, https://dat.saro.me/ko/libs/pypi-saro-dat
Keywords: dat,distributed,access,token,jwt,security,authentication
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography>=47.0.0
Requires-Dist: readerwriterlock>=1.0.9
Dynamic: license-file

# DAT - Distributed Access Token

## Document

### [DAT Run Online](https://dat.saro.me)

### [What is DAT](https://dat.saro.me/--/intro)

### [Example](https://dat.saro.me/--/libs/pypi-saro-dat)

## support signature algorithm
| name   | algorithm  |
|--------|------------|
| P256   | secp256r1  |
| P384   | secp384r1  |
| P521   | secp521r1  |

## support crypto algorithm
| name       | algorithm                   |
|------------|-----------------------------|
| AES128GCMN | aes-128-gcm n(nonce + body) |
| AES256GCMN | aes-256-cbc n(nonce + body) |


# Performance
- random plain and secure test
- mac mini m4 2024 basic (10 core)
- [test_bench.py](tests/test_bench.py)
```
Plain: A9wAt86DfDVQCXzfijnfB7j5GWk9TOO4lapQS7AzYenPoRAELwaiqKa8IikDmT8FAfNZJFocR66Rvqcae3JcSf3OVIppE0lYDg4G
Secure: R2KJfHAFClJdS0je4TkU5JoTDfRMGjp5y5zn5sG2iCwsL6IVhjzCOXaVcQPAJwqiEJGDmd3Rdl6tCI0KwAcsjD4ZrqL3IEL5Jr2Q

Multi-Thread
P256 AES128GCMN Issue * 10000 : 192ms
P256 AES128GCMN Parse * 10000 : 171ms
P256 AES256GCMN Issue * 10000 : 191ms
P256 AES256GCMN Parse * 10000 : 168ms
P384 AES128GCMN Issue * 10000 : 847ms
P384 AES128GCMN Parse * 10000 : 1841ms
P384 AES256GCMN Issue * 10000 : 789ms
P384 AES256GCMN Parse * 10000 : 1829ms
P521 AES128GCMN Issue * 10000 : 684ms
P521 AES128GCMN Parse * 10000 : 1355ms
P521 AES256GCMN Issue * 10000 : 683ms
P521 AES256GCMN Parse * 10000 : 1343ms

Single-Thread
P256 AES128GCMN Issue * 10000 : 223ms
P256 AES128GCMN Parse * 10000 : 447ms
P256 AES256GCMN Issue * 10000 : 213ms
P256 AES256GCMN Parse * 10000 : 450ms
P384 AES128GCMN Issue * 10000 : 4915ms
P384 AES128GCMN Parse * 10000 : 11750ms
P384 AES256GCMN Issue * 10000 : 4915ms
P384 AES256GCMN Parse * 10000 : 11705ms
P521 AES128GCMN Issue * 10000 : 3576ms
P521 AES128GCMN Parse * 10000 : 7219ms
P521 AES256GCMN Issue * 10000 : 3623ms
P521 AES256GCMN Parse * 10000 : 7246ms
```
