From e3d20676f3062ce2d2a007e5a3c8d631bb13285e Mon Sep 17 00:00:00 2001 From: Liz Cray Date: Fri, 7 Mar 2025 20:13:56 -0500 Subject: [PATCH] Add integration of Javacard SDKs --- .gitmodules | 3 +++ README.md | 15 +++++++++++++++ build.xml | 12 +++++++++--- env | 2 ++ oracle_javacard_sdks | 1 + 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 env create mode 160000 oracle_javacard_sdks diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..f6eceb0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "oracle_javacard_sdks"] + path = oracle_javacard_sdks + url = https://github.com/martinpaljak/oracle_javacard_sdks.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..c1a0182 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# Crystal + +Running Post-Quantum Cryptography (Kyber) on [JavaCard 2.2.1](https://www.cardlogix.com/product/cardlogix-credentsys-lite-java-card-72k/) + +## Setup + +This requires JDK 11 and Apache Ant to be installed with their environment variables set and `bin` directories added to the environment's `PATH`. + +Run this to setup the SDK environment: + +```bash +git submodule update --init --recursive +souce env +ant setup +``` diff --git a/build.xml b/build.xml index d100482..e031590 100644 --- a/build.xml +++ b/build.xml @@ -4,13 +4,19 @@ JavaCard Applet for the Kyber Post-Quantum-Cryptography Algorithm - + - + + + + + + + @@ -20,7 +26,7 @@ - + diff --git a/env b/env new file mode 100644 index 0000000..5e053fa --- /dev/null +++ b/env @@ -0,0 +1,2 @@ +export JC_HOME="`pwd`/oracle_javacard_sdks/jc305u4_kit" +export JC_CLASSIC_HOME="`pwd`/oracle_javacard_sdks/jc221_kit" diff --git a/oracle_javacard_sdks b/oracle_javacard_sdks new file mode 160000 index 0000000..e2df471 --- /dev/null +++ b/oracle_javacard_sdks @@ -0,0 +1 @@ +Subproject commit e2df471e04d86f33de69a947f44766fbef1d9d69