A PQC(Post-Quantum Cryptography) algorithm that provides secyrity from security threads like quantum attacks for data communication that will enhance the security and provides a robust way to exchange the information.
-
It uses Kyber algorithm for Key exchange and SPHINCS+ algorithm for signature.
-
It is a hybrid approach of aes_gcm-kyber for securing the future.
- Take the data from the user.
- convert it into hex.
- then it convert into matrix and for that it will add padding if needed.
- Random operations will apply to the matrix for providing string obfucation to the message.
- kyber will generate the secret key that will used as aes_key and encrypt the matrix.
- kyber will encapsulate the aes_key.
- SPHINCS+ will provide signature to ensure the integrity of the message.
- Use Linux system to setup this project.
- fork this repo
- clone you repo with the command:
git clone https://github.com/<Your_User_Name>/Matrix-data-communication-algorithm-using-asymmetric-key/
- create a venv:
python3 -m venv venv
- install required packages:
pip install -r requirements.txt
-
sudo apt update sudo apt install cmake gcc ninja-build python3-pip libssl-dev libtool autoconf automake
-
git clone --recursive https://github.com/open-quantum-safe/liboqs.git cd liboqs
-
You will now have
mkdir build && cd build cmake -GNinja -DBUILD_SHARED_LIBS=ON .. ninja
liboqs.so
insideliboqs/build/lib/
. - run the command:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/lib
-
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/liboqs/build/lib' >> ~/.bashrc source ~/.bashrc