Skip to content

This repository contains source code, examples and documentation for BooLSPLG-v0.3 (Boolean functions and S-box Parallel Library for GPU) CUDA Library

License

Notifications You must be signed in to change notification settings

BoolSPLG/BoolSPLG-v0.3

Repository files navigation

About BoolSPLG (Boolean functions and S-box Parallel Library for GPU)

Current release: v0.3

What is BoolSPLG?

BoolSPLG (Boolean S-box parallel library for GPU) provides, reusable software components for every layer of the CUDA programming model. 
BoolSPLG is a library consisting procedures for analysis and compute cryptographic properties of Boolean and Vector Boolean function (S-box).

How do I get started using BoolSPLG?

BoolSPLG is implemented as a C++ header library. There is no need to “build” BoolSPLG separately. To use BoolSPLG primitives in your code, simply:

1.	 Download or clone BoolSPLG-v0.3 library (repository) from the GitHub.
Link: https://github.com/BoolSPLG/BoolSPLG-v0.3.

• Download ZIP fi le from the GitHub link (https://github.com/BoolSPLG/BoolSPLG-v0.3/archive/refs/heads/main.zip). Extract the content of the 
downloaded archive file.
• Clone the repository from GitHub to your local computer. Cloning the BoolSPLG-v0.3 library
resource folder:

$ cd ”directory”
$ git clone https://github.com/BoolSPLG/BoolSPLG-v0.3.git
...
$

The newly created BoolSPLG-v0.3 folder in your HOME is the place where is install the BoolSPLG library resources.
 
You need to install (copy) only “BoolSPLG” directory from the main BoolSPLG-vx.x directory. We suggest installing BoolSPLG to the CUDA include directory,
which is usually:
	- /usr/include/ on a Linux (Ubuntu);
	- C:\CUDA\include\ on a Windows system. 
	
Example: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\include\;

If you are unable to install BoolSPLG to the CUDA include directory, then you can place BoolSPLG somewhere in your home directory, 
for example: /home/nathan/libraries/.

2.	#include the "umbrella" <BoolSPLG/BoolSPLG_v03.cuh> header file in your CUDA C++ sources;

3.	Compile your program with NVIDIA's nvcc CUDA compiler, specifying a -I<path-to- BoolSPLG> include-path flag to reference the 
location of the BoolSPLG header library.

Examples

BoolSPLG distribution directory contain “examples” directory with examples ((CodeExample, PropertiesGPU, Boolean and S-box) programs. All examples, 
subdirectories contain source code fi le with extension ”.cu” and some of them header file. The example directory “ExampleSboxBoolSPLG” apart the main 
and additional header fi les contains “sbox” fi le which is input example S-box. To able to run ExampleSboxBoolSPLG you need to copy “sbox” in
program fi le directory.

For more read: About BoolSPLG - "docs" directory

About

This repository contains source code, examples and documentation for BooLSPLG-v0.3 (Boolean functions and S-box Parallel Library for GPU) CUDA Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published