Boolsplg: una biblioteca con algoritmos paralelos para funciones booleanas y S-Boxes para GPU
Autores: Bikov, Dushan; Bouyukliev, Iliya; Dzhumalieva-Stoeva, Mariya
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
Boolsplg: una biblioteca con algoritmos paralelos para funciones booleanas y S-Boxes para GPU
Categoría
Matemáticas
Subcategoría
Matemáticas generales
Palabras clave
Biblioteca
Características criptográficas
Funciones booleanas
Funciones booleanas vectoriales
Funciones paralelas
CUDA.
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 32
Citaciones: Sin citaciones
En este documento, presentamos una biblioteca con funciones secuenciales y paralelas para calcular algunas de las características criptográficas más importantes de las funciones Booleanas y vectoriales Booleanas. La biblioteca implementa algoritmos para calcular la no linealidad, el grado algebraico, la autocorrelación, la uniformidad diferencial y tablas relacionadas de funciones vectoriales Booleanas. Para ser completos, proporcionamos la base matemática de estos algoritmos. Además, comparamos el rendimiento de las funciones paralelas del software desarrollado con las funciones secuenciales correspondientes y con funciones análogas de los conocidos paquetes SageMath y SET. Las funciones de BooLSPLG pueden ser utilizadas para desarrollar algoritmos eficientes para construir funciones Booleanas y vectoriales Booleanas con buenas propiedades criptográficas. La parte paralela de la biblioteca está implementada utilizando un modelo de programación paralela CUDA para arquitecturas de GPU NVIDIA recientes. BooLSPLG es una biblioteca de software de código abierto escrita en CUDA C/C++ con documentación explícita, ejemplos de prueba y descripciones detalladas de entrada y salida de todas las funciones, tanto secuenciales como paralelas, y está disponible en línea.
Descripción
En este documento, presentamos una biblioteca con funciones secuenciales y paralelas para calcular algunas de las características criptográficas más importantes de las funciones Booleanas y vectoriales Booleanas. La biblioteca implementa algoritmos para calcular la no linealidad, el grado algebraico, la autocorrelación, la uniformidad diferencial y tablas relacionadas de funciones vectoriales Booleanas. Para ser completos, proporcionamos la base matemática de estos algoritmos. Además, comparamos el rendimiento de las funciones paralelas del software desarrollado con las funciones secuenciales correspondientes y con funciones análogas de los conocidos paquetes SageMath y SET. Las funciones de BooLSPLG pueden ser utilizadas para desarrollar algoritmos eficientes para construir funciones Booleanas y vectoriales Booleanas con buenas propiedades criptográficas. La parte paralela de la biblioteca está implementada utilizando un modelo de programación paralela CUDA para arquitecturas de GPU NVIDIA recientes. BooLSPLG es una biblioteca de software de código abierto escrita en CUDA C/C++ con documentación explícita, ejemplos de prueba y descripciones detalladas de entrada y salida de todas las funciones, tanto secuenciales como paralelas, y está disponible en línea.