Skip to content

ElenaKirshanova/pqc_LWR_signature

Repository files navigation

PQS

DSA Postquantum standardization candidate reported here: https://crypto-kantiana.com/main_papers/main_Signature.pdf

Requirements

  • gcc compiler >= 9.2.1
  • OpenSSL library development package

Running instructions

Clone the repository files to some folder, e.g. ~/PQS, then execute the following commands to compile the project:

cd ~/PQS/Signature/
make

Run PQS testing script

./pqs_test

All the desired parameters for testing script as well as the signature parameters itself can be adjusted in header files config.h, params.h.

Usage as an external library

In order to use this implementation in external project, include sign.h header file into your project and follow the instructions below.

#include "~/PQS/Signature/sign.h"
  1. Allocate memory for public key, private key and signature by declaring variables having special data types vk_t, sk_t, signat_t respectively;
  2. Generate a keypair by calling
PQS_keygen(vk, sk);
  1. Load the message to be signed to array unsigned char m[] of length int mlen bytes
  2. Sign the message by calling
PQS_sign(sig, &m[0], sizeof(m), sk, vk);
  1. Verify the signature stored in sig by calling a verification procedure
bool success = PQS_verify(sig, &m[0], sizeof(m), vk);

Please refer to the following paper for more details: https://crypto-kantiana.com/main_papers/main_Signature.pdf

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •