dat 4.3.0

DAT - Distributed Access Token
Documentation
# DAT - Distributed Access Token

## Document

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

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

### [Rust Example]https://dat.saro.me/libs/cargo-dat

## Support algorithm
### Signature
| name            | note                  |
|-----------------|-----------------------|
| ECDSA-P256      | = secp256r1           |
| ECDSA-P384      | = secp384r1           |
| ECDSA-P521      | = secp521r1           |
| HMAC-SHA256-MFS | = 256Bit Fixed Secret |
| HMAC-SHA384-MFS | = 384Bit Fixed Secret |
| HMAC-SHA512-MFS | = 512Bit Fixed Secret |
- MFS : Maximum(Same Bit) Fixed Secret

### Crypto
| name       | note                          |
|------------|-------------------------------|
| IV-AES128-GCM | (IV=NONCE:96BIT) + AES128 GCM |
| IV-AES256-GCM | (IV=NONCE:96BIT) + AES256 GCM |


# Performance
- random plain and secure test
- mac mini m4 2024 basic (10 core)
- release compile
- [bench_test.rs]tests/bench_test.rs
```
performance test (plain, secure)
plain: 40oPbXPErMdb2MHrFYBzL4Z5R5mlrFOXS6vfttWKCJrXxTrDeXaFrUJK91xEMOZfu00OBsdaKQ8ef9PVB8o15wrGT6KqOZe4WODH
secure: vbiA6yM7kzRpyW9BF9F47migw4OzEtnkg9HkEptbh6YjwL0GGcbLANb8vJvtzr78Hx70mgmwSvoX0t3IEsWvXCfvzESp1hCzTBAb

Multi-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 7ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 5ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 7ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 5ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 7ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 4ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 6ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 4ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 6ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 4ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 6ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 4ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 24ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 51ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 23ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 51ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 82ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 193ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 91ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 186ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 146ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 323ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 149ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 301ms

Single-Thread
HMAC-SHA256-MFS IV-AES128-GCM Issue * 10000 : 12ms
HMAC-SHA256-MFS IV-AES128-GCM Parse * 10000 : 5ms
HMAC-SHA256-MFS IV-AES256-GCM Issue * 10000 : 12ms
HMAC-SHA256-MFS IV-AES256-GCM Parse * 10000 : 5ms
HMAC-SHA384-MFS IV-AES128-GCM Issue * 10000 : 13ms
HMAC-SHA384-MFS IV-AES128-GCM Parse * 10000 : 6ms
HMAC-SHA384-MFS IV-AES256-GCM Issue * 10000 : 13ms
HMAC-SHA384-MFS IV-AES256-GCM Parse * 10000 : 6ms
HMAC-SHA512-MFS IV-AES128-GCM Issue * 10000 : 13ms
HMAC-SHA512-MFS IV-AES128-GCM Parse * 10000 : 6ms
HMAC-SHA512-MFS IV-AES256-GCM Issue * 10000 : 13ms
HMAC-SHA512-MFS IV-AES256-GCM Parse * 10000 : 6ms
ECDSA-P256 IV-AES128-GCM Issue * 10000 : 125ms
ECDSA-P256 IV-AES128-GCM Parse * 10000 : 278ms
ECDSA-P256 IV-AES256-GCM Issue * 10000 : 122ms
ECDSA-P256 IV-AES256-GCM Parse * 10000 : 274ms
ECDSA-P384 IV-AES128-GCM Issue * 10000 : 471ms
ECDSA-P384 IV-AES128-GCM Parse * 10000 : 1053ms
ECDSA-P384 IV-AES256-GCM Issue * 10000 : 470ms
ECDSA-P384 IV-AES256-GCM Parse * 10000 : 1050ms
ECDSA-P521 IV-AES128-GCM Issue * 10000 : 841ms
ECDSA-P521 IV-AES128-GCM Parse * 10000 : 1664ms
ECDSA-P521 IV-AES256-GCM Issue * 10000 : 828ms
ECDSA-P521 IV-AES256-GCM Parse * 10000 : 1657ms
```