synta 0.2.0

ASN.1 parser, decoder, and encoder library with DER/BER support and C FFI
Documentation
# Certificate Size Scalability

Three representative sizes from the PKITS corpus (parse-only), including all seven
libraries:

| Size           | synta     | cryptography-x509 | x509-parser | x509-cert  | NSS        | rust-openssl | ossl       |
| -------------- | --------- | ----------------- | ----------- | ---------- | ---------- | ------------ | ---------- |
| Small (914 B)  | 476.20 ns | 1480.3 ns         | 1985.8 ns   | 3148.0 ns  | 7917.4 ns  | 14977 ns     | 15715 ns   |
| Medium (933 B) | 483.16 ns | 1508.3 ns         | 2379.8 ns   | 3496.5 ns  | 8320.2 ns  | 15581 ns     | 15903 ns   |
| Large (968 B)  | 483.97 ns | 1629.0 ns         | 2812.1 ns   | 3866.9 ns  | 8171.3 ns  | 15503 ns     | 16241 ns   |
| **Growth**     | **+2%**   | **+10%**          | **+42%**    | **+23%**   | **+3%**    | **+4%**      | **+3%**    |

synta grows only 2% over a 6% certificate-size increase. x509-parser grows 42% over the
same range — nom parsers traverse content bytes proportionally, so more bytes in the
certificate body mean more decode work. x509-cert grows 23% for the same reason.
cryptography-x509 is mostly deferred so it grows only 10%, dominated by the overhead of
computing more DER byte offsets. NSS, rust-openssl, and ossl are dominated by fixed
C-library overhead (locking, arena allocation, FFI transitions) that dwarfs any content
growth at these sizes.

## Why synta Scales Flat

synta's parse-time work is bounded by the count of tag+length headers, not the byte length
of opaque fields. The large ML-DSA signature BIT STRING (2,420–4,627 bytes) and the
SubjectPublicKeyInfo are stored as zero-copy `BitStringRef<'a>` / `OctetStringRef<'a>`
borrowed slices — synta reads only their tag+length header, not their content.

This design means a 7 KB ML-DSA-87 certificate parses in the same ~463 ns as a 900 B
traditional certificate.

## Scalability Benchmark

```bash
cargo bench -p synta-bench --bench comparison --features bench-compare -- scalability
```

```
# Traditional certificates only
cargo bench -p synta-bench --bench comparison --features bench-compare -- synta_vs_x509_parser

# Post-quantum only
cargo bench -p synta-bench --bench comparison --features bench-compare -- post_quantum_comparison
```