Skip to content

In the KEM category, the CRYSTALS-KYBER algorithm was announced as the standard algorithm by NIST. This library is the PAKE version of Kyber.

Notifications You must be signed in to change notification settings

afDursun/kyber-pake-mobile

Repository files navigation

KyberPAKE-Mobile

Installation

Step 1. Add it in your root build.gradle at the end of repositories:

allprojects {
   repositories {
      ...
      maven { url 'https://jitpack.io' }
   }
}

Step 2. Add the dependency

dependencies {
   implementation 'com.github.afDursun:Kyber.PAKE-Mobile:1.0.1'
}

Example

/* Pake C0 */
PakeC0 c0 = KyberPake.pake_c0( cid, sid, pw);

/* Pake S0 */
PakeS0 s0 = KyberPake.pake_s0( c0.getSend(), c0.getGamma(), sid );

/* Pake C1 */
PakeC1 c1 = KyberPake.pake_c1( s0.getSend(), c0.getSk(), c0.getState_1() );

/* Pake S1 */
byte[] sharedeSecretKey_s1 =  KyberPake.pake_s1( c1.getK_3_c(), s0.getState());

/* Output SessionKey */
Log.d("KyberPAKE-C1.SessionKey", hex( c1.getSharedSecretKey() ));
Log.d("KyberPAKE-S1.SessionKey", hex( sharedeSecretKey_s1 ));

Acknowledgment

  • This research was partially supported by TUBITAK under Grant No. 121R006

About

In the KEM category, the CRYSTALS-KYBER algorithm was announced as the standard algorithm by NIST. This library is the PAKE version of Kyber.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages