pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box

The fast-growing number of Internet of Things (IoT) products in our daily lives is making smart objects more important for us to achieve our goals easily. The Internet of Things (IoT) has a wide range of applications that will have a significant impact on several different industries. Security has b...

Full description

Saved in:
Bibliographic Details
Main Authors: Salman Ali, Md Asdaque Hussain, Faisal Anwer, Ahwar Khan, Mohd Irfan Alam
Format: Article
Language:English
Published: Elsevier 2025-09-01
Series:SoftwareX
Subjects:
Online Access:http://www.sciencedirect.com/science/article/pii/S2352711025002870
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1849222591030493184
author Salman Ali
Md Asdaque Hussain
Faisal Anwer
Ahwar Khan
Mohd Irfan Alam
author_facet Salman Ali
Md Asdaque Hussain
Faisal Anwer
Ahwar Khan
Mohd Irfan Alam
author_sort Salman Ali
collection DOAJ
description The fast-growing number of Internet of Things (IoT) products in our daily lives is making smart objects more important for us to achieve our goals easily. The Internet of Things (IoT) has a wide range of applications that will have a significant impact on several different industries. Security has become a primary concern as the Internet of Things increases in its vulnerabilities and threats, and the growing demand for secure communication protocols requires robust and efficient cryptographic solutions. We present pycastx, an open-source Python library that simplifies hands-on work in elliptic curve cryptography and dynamic AES S-Box design. pycastx bundles two lean modules, the ECC toolkit and a genetic algorithm S-Box generator, into a single, lightweight package that demands almost no external dependencies. Within the ECC toolkit, users can build curves over prime fields, carry out fast point addition, doubling, and scalar multiplication, generate high-entropy private keys using cryptographically secure random bits, and measure key randomness using Shannon entropy. The S-Box generator employs a flexible genetic algorithm that iteratively generates substitution boxes with peak non-linearity and strong avalanche properties, relying on population initialization, one-point crossover, swap mutations, and damage-repair heuristics. The proposed library and encryption scheme are suitable for IoT applications where efficiency and security are critical. This work narrows the gap between theoretical cryptography and its practical implementation, providing a comprehensive solution for secure data transmission in modern communication systems.
format Article
id doaj-art-e14e70f2ad08405183e0a1dc793f3b76
institution Kabale University
issn 2352-7110
language English
publishDate 2025-09-01
publisher Elsevier
record_format Article
series SoftwareX
spelling doaj-art-e14e70f2ad08405183e0a1dc793f3b762025-08-26T04:14:25ZengElsevierSoftwareX2352-71102025-09-013110232110.1016/j.softx.2025.102321pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-BoxSalman Ali0Md Asdaque Hussain1Faisal Anwer2Ahwar Khan3Mohd Irfan Alam4Department of Computer Science, Aligarh Muslim University, Aligarh, India; Corresponding author.Faculty of Computer Studies, Arab Open University, Manama, BahrainDepartment of Computer Science, Aligarh Muslim University, Aligarh, IndiaDepartment of Computer Science, Aligarh Muslim University, Aligarh, IndiaDepartment of Computer Science, Aligarh Muslim University, Aligarh, IndiaThe fast-growing number of Internet of Things (IoT) products in our daily lives is making smart objects more important for us to achieve our goals easily. The Internet of Things (IoT) has a wide range of applications that will have a significant impact on several different industries. Security has become a primary concern as the Internet of Things increases in its vulnerabilities and threats, and the growing demand for secure communication protocols requires robust and efficient cryptographic solutions. We present pycastx, an open-source Python library that simplifies hands-on work in elliptic curve cryptography and dynamic AES S-Box design. pycastx bundles two lean modules, the ECC toolkit and a genetic algorithm S-Box generator, into a single, lightweight package that demands almost no external dependencies. Within the ECC toolkit, users can build curves over prime fields, carry out fast point addition, doubling, and scalar multiplication, generate high-entropy private keys using cryptographically secure random bits, and measure key randomness using Shannon entropy. The S-Box generator employs a flexible genetic algorithm that iteratively generates substitution boxes with peak non-linearity and strong avalanche properties, relying on population initialization, one-point crossover, swap mutations, and damage-repair heuristics. The proposed library and encryption scheme are suitable for IoT applications where efficiency and security are critical. This work narrows the gap between theoretical cryptography and its practical implementation, providing a comprehensive solution for secure data transmission in modern communication systems.http://www.sciencedirect.com/science/article/pii/S2352711025002870Dynamic S-BoxElliptic curve cryptography (ECC)EntropyGenetic algorithmInternet of things (IoT)
spellingShingle Salman Ali
Md Asdaque Hussain
Faisal Anwer
Ahwar Khan
Mohd Irfan Alam
pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
SoftwareX
Dynamic S-Box
Elliptic curve cryptography (ECC)
Entropy
Genetic algorithm
Internet of things (IoT)
title pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
title_full pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
title_fullStr pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
title_full_unstemmed pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
title_short pycastx: A Python library for lightweight data encryption in IoT using ECC and metaheuristics based high-entropy keys and dynamic S-Box
title_sort pycastx a python library for lightweight data encryption in iot using ecc and metaheuristics based high entropy keys and dynamic s box
topic Dynamic S-Box
Elliptic curve cryptography (ECC)
Entropy
Genetic algorithm
Internet of things (IoT)
url http://www.sciencedirect.com/science/article/pii/S2352711025002870
work_keys_str_mv AT salmanali pycastxapythonlibraryforlightweightdataencryptioniniotusingeccandmetaheuristicsbasedhighentropykeysanddynamicsbox
AT mdasdaquehussain pycastxapythonlibraryforlightweightdataencryptioniniotusingeccandmetaheuristicsbasedhighentropykeysanddynamicsbox
AT faisalanwer pycastxapythonlibraryforlightweightdataencryptioniniotusingeccandmetaheuristicsbasedhighentropykeysanddynamicsbox
AT ahwarkhan pycastxapythonlibraryforlightweightdataencryptioniniotusingeccandmetaheuristicsbasedhighentropykeysanddynamicsbox
AT mohdirfanalam pycastxapythonlibraryforlightweightdataencryptioniniotusingeccandmetaheuristicsbasedhighentropykeysanddynamicsbox