ГЕНЕРАЦІЯ ПСЕВДОВИПАДКОВИХ ПОСЛІДОВНОСТЕЙ НА МІКРОКОНТРОЛЕРАХ З ОБМЕЖЕНИМИ ОБЧИСЛЮВАЛЬНИМИ РЕСУРСАМИ, ДЖЕРЕЛА ЕНТРОПІЇ ТА ТЕСТУВАННЯ СТАТИСТИЧНИХ ВЛАСТИВОСТЕЙ
DOI:
https://doi.org/10.28925/2663-4023.2023.22.191203Анотація
Традиційні алгоритми шифрування не можуть бути реалізовані на пристроях інтернету речей через їх обмежені обчислювальні ресурси. Це зумовлює необхідність в пошуку та розробці рішень для криптозахисту даних, що обробляються та передаються такими пристроями. При шифруванні даних на пристроях з обмеженими обчислювальними ресурсами можна використовувати прості алгоритми шифрування засновані на елементарних побітових операціях, таких як додавання за модулем 2 (XOR), оскільки такі операції виконуються за одну одиницю процесорного часу та не потребують складних обчислень. Недоліком таких операцій є те, що вони обернені. Тобто, знаючи ключ шифрування можна з легкістю розшифрувати повідомлення застосувавши дану операцію до шифротексту. Для забезпечення надійності таких шифрів існує необхідність в постійній генерації випадкових чисел ключа шифрування. В роботі розглядається робота лінійного конгруентного методу для створення випадкових послідовностей чисел. Для початкового значення генератора наведено декілька джерел ентропії доступної на мікроконтролерах та пропонуються алгоритми збору початкових даних за таких джерел. В якості основного джерела пропонується використання шуму з непідключених контактів аналого-цифрового перетворювача, а в якості додаткового — неініціалізовану область оперативної пам’яті мікроконтролера. Реалізовано метод генерування випадкових послідовностей із вказаними джерелами ентропії та проведено оцінку функціонування алгоритму, а саме ключової характеристики — випадковості ключа шифрування. Для оцінки використовується набір тестів NIST STS 800-22. У всіх тестах алгоритм формування випадкової послідовності показав результат згідно якого можна підтвердити гіпотезу про те, що послідовність може вважатись випадковою.
Завантаження
Посилання
Horbenko, I., et al. (2005). Analysis properties of block symmetric encryption algorithms (according to the results of international of the NESSIE project). International Scientific and Practical Conference “Safety of information in information and telecommunication systems”. Abstracts of reports,17–18.
Lugrin, T. (2023). One-Time Pad. Trends in Data Protection and Encryption Technologies, 3–6. https://doi.org/10.1007/978-3-031-33386-6_1
Katagi, M., & Moriai, S. (2012). Lightweight Cryptography for the Internet of Things. Sony Corporation.
Hulak, H., & Kovalchuk, L. (2001). Different Approaches to Defining Random Sequences. Scientific and Technical Collection “Legal, Regulatory, and Metrological Support for Information Security Systems in Ukraine”, 3, 127–133.
Kristinsson, B. (2011). Ardrand: The Arduino as a Hardware Random-Number Generator.
Elmestekawi, A., Tammam, A., & Issa, H. (2018). Unclonable key Generator Based on Chip signature and SRAM-PUF of ATmega328P chip. 2018 28th International Conference on Computer Theory and Applications (ICCTA), 24–29. https://doi.org/10.1109/ICCTA45985.2018.9499169
Bagur, J., & Chung, T. (б. д.). Arduino Memory Guide|Arduino Documentation. Arduino Docs|Arduino Documentation. https://docs.arduino.cc/learn/programming/memory-guide.
Knuth, D. (1997). The art of computer programming (3rd ed.). Addison Wesley.
L’Ecuyer, P. (1999). Tables of linear congruential generators of different sizes and good lattice structure. Math. Comput., 68, 249–260. http://doi.org/10.1090/S0025-5718-99-00996-5
Rukhin, A., et al. (2010). NIST SP 800-22 Rev1. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. National Institute of Standards and Technology Special Publication 800-22 Rev1. https://doi.org/10.6028/NIST.SP.800-22r1a
Brown, R. (2004). Dieharder: A Random Number Test Suite, Version 3.31.1. Webhome. https://webhome.phy.duke.edu/~rgb/General/dieharder.php
L’Ecuyer, P., & Simard, R. (2007). TestU01: A C library for empirical testing of random number generators, ACM Trans. Math. Softw., 33(4), 1–40. https://doi.org/10.1145/1268776.1268777
Опубліковано
Як цитувати
Номер
Розділ
Ліцензія
Авторське право (c) 2023 Роман Черненко

Ця робота ліцензується відповідно до Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.