/kage

🚧 WIP Kotlin implementation of the age file encryption format

Primary LanguageKotlinApache License 2.0Apache-2.0

The age logo, an wireframe of St. Peters dome in Rome, with the text: age, file encryption

🚧 kage 🚧

kage is a work-in-progress implementation of the age encryption protocol for Kotlin/JVM and Android. The reference Go implementation and the third-party Rust implementation are being used as reference for the development of the library.

Goals

  • Provide a library that can generate and parse age keys, as well as encrypt or decrypt text using said keys.
  • Achieve parity with the reference Go implementation: everything that can be done with the age library should also be possible with the kage APIs

Non-goals

These can evolve over time, but for now the following are non-goals for our work on kage.

  • Offer a user interface of any kind (CLI/GUI): The kage project intends to only be a library for other applications to build on
  • Support plugins: The upstream implementation of plugins relies on binaries in $PATH, which is impractical for mobile.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.