Digital Signatures in Constrained Environments: A Comparative Security and Performance Analysis of RSA, ECDSA, and EdDSA
摘要
Digital signatures are essential for maintaining the authenticity and integrity of communications within resource-constrained devices like microcontrollers, which operate with limited processing and memory. This study seeks to determine the most efficient and secure digital signature algorithm suitable for microcontrollers used in embedded systems and IoT devices. Consequently, the research examines the implementation of three digital signature algorithms—RSA, ECDSA, and EdDSA—within these specific environments. The methodology involved mathematical analysis and the implementation of RSA, ECDSA, and EdDSA algorithms using the Python programming language, followed by performance testing in terms of time and memory usage during key generation, signing, and verification processes. The results indicate that EdDSA offers the best balance of efficiency and resource usage, making it the most suitable for microcontroller-based systems. ECDSA also demonstrates strong performance but is slightly less efficient than EdDSA, and it is known to suffer from certain security vulnerabilities, such as issues related to nonce generation. RSA, while providing quick verification, is the most resource-intensive and thus less ideal for constrained environments. This study provides practical insights into the trade-offs between different digital signature algorithms, offering clear guidance on selecting the most appropriate algorithm for secure and efficient operation in resource-constrained systems. These findings are crucial for developers aiming to implement secure and efficient digital signature algorithms in microcontroller systems, where resources are inherently limited.