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.
- 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 thekage
APIs
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.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.