From 06152268ac24a99542fb38a449fd4ca7a76349dd Mon Sep 17 00:00:00 2001 From: Hatzen Date: Thu, 8 Apr 2021 20:37:27 +0200 Subject: [PATCH] Update README.md --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 2052411..67bc9fc 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,24 @@ ![KemTest on Android x86_64](https://github.com/Hatzen/LibOQSTestApp/workflows/Test%20Liboqs%20on%20Android/badge.svg?branch=master) +This is an unofficial test app for https://github.com/open-quantum-safe/liboqs . This app shows how to use liboqs on android devices. Usually you would use the openssl implementation but for end to end encryption using it locally may be useful. -Currently there constant copies of https://github.com/open-quantum-safe/liboqs and https://github.com/open-quantum-safe/liboqs-java are used as android needs further configurations to build them for the correct abi. +Currently constant copies of https://github.com/open-quantum-safe/liboqs and https://github.com/open-quantum-safe/liboqs-java are used as android needs further configurations to build them for the correct abi. The prebuild liboqs.so files (https://github.com/Hatzen/LibOQSTestApp/tree/master/app/jni/jniLibs) are generated with https://github.com/open-quantum-safe/liboqs/blob/main/scripts/build-android.sh manually. -There seems to be an issue (or further configuration) with compiling for 32 Bit abis like x86 and arm-7. Because of this the local emulator might not compile as no .so file is provided. +There seems to be an issue (or further configuration) with compiling for 32 Bit abis like x86 and arm-7 (https://github.com/Hatzen/LibOQSTestApp/issues/2 and https://github.com/Hatzen/LibOQSTestApp/issues/3). Because of this the local emulator (x86) might not compile as no .so file is provided. -The jni files (https://github.com/Hatzen/LibOQSTestApp/tree/master/app/jni/jni) are slightly modified (package name changes and a minor fix) to compile successfully. - -The example app is currently just a mockup without functionality. +The jni files (https://github.com/Hatzen/LibOQSTestApp/tree/master/app/jni/jni) are slightly modified (package name changes and a minor fix) to compile successfully. +And the way of loading the liboqs.so files had to be changed: https://github.com/Hatzen/LibOQSTestApp/blob/master/liboqs-android/src/main/java/com/example/liboqs/Common.java#L31 + +The project is split into + +1) the module which wraps the JNI Interface to use liboqs on android (https://github.com/Hatzen/LibOQSTestApp/tree/master/liboqs-android). +The package name "com.example.liboqs.*" will change in future and may produce a breaking change. +2) and an example app (https://github.com/Hatzen/LibOQSTestApp/tree/master/app) showing the usage with a fictional example + + ## TODOs - [ ] Setup CI to use newest versions of jni and liboqs