GitHunt
ZY

zyliutw/Password-based-Authenticated-Key-Exchange-from-Lattices

Implement Password-based Authenticated Key Exchange from Lattices protocol

Password-based Authenticated Key Exchange from Lattices

Introduction

This project implements the protocol based on paper : Password-based Authenticated Key Exchange from Lattices for Client/Server Model, CISC, 2017

Project Structure

Lattice-Based-PAKE-Key-Exchange
  |-- Client_Desktop : Client for Desktop
  |-- Client_Phone : Client for Android
  |-- Server  : Server side

Run

All sub-projects can be build with gradle

Step 1

Run Server with tomcat first

Step 2

Set up idc_pw_map table in Server project (Server_Calculate.java)

Run Server with Tomcat

Step 3

Set up Server url in Desktop / Phone (HttpUtil.java)

Run and set idc / pw / ids / g , then you can get the same secret sharing key in server/ client side

License

This project follows NTRU open source project, use GPLv3 License

Library Reference

  1. NTRUEncrypt
  2. Java Lattice Based Cryptography Library (JLBC)
  3. Java Pairing Based Cryptography Library (JPBC)

Languages

Java100.0%

Contributors

GNU General Public License v3.0
Created April 21, 2017
Updated July 3, 2022
zyliutw/Password-based-Authenticated-Key-Exchange-from-Lattices | GitHunt