Kotlin Multiplatform implementations of legacy cryptographic functions. All platforms are supported (although not all are tested - see Platform Support).
Artefacts coming soon™
All platforms should be supported for downstream usage - simply consume the common artefact regardless of your own targets.
Scytale is tested on:
- Kotlin/JVM
- Kotlin/JS (browser and Node.js)
- Kotlin/Wasm (browser and Node.js)
Scytale does not contain state-of-the-art cryptographic functions and should not be used in place of audited libraries maintained by experts. Consequently, algorithms and/or implementations may be vulnerable to side-channel attacks, significantly less secure than modern alternatives, or cryptographically broken outright.
If your use case requires any level of security, this library is inappropriate.
Before proposing a new implementation, please open an issue to check that the algorithm will be accepted - in particular, it must not be a modern one that users could reasonably assume would be cryptographically-secure (e.g. ECDHE, AES-GCM).
See the contribution guidelines for further information.
Scytale is dual-licensed under Apache 2.0 and MIT. Users may use Scytale under the terms of either license, at their preference.