УДК 519.216:519.246, 004.056.5 DOI: 10.20998/2411-0558.2017.50.07
А.О. ПОДОРОЖНЯК, канд. техн. наук, с.н.с., доц., НТУ "ХП1",
М.Г. ТОКАРЕВ, мапстр, НТУ "ХПТ
МЕТОД ГЕНЕРАЦП ПСЕВДОВИПАДКОВИХ ЧИСЕЛ ВИСОКО1 СТ1ЙКОСТ1
Розглянуто криптостшш детермшоваш генератори псевдовипадкових чисел, джерела випадкових чисел i методи генерацп псевдовипадкових чисел з використанням апаратних джерел ентропп. Приведено модифжований авторами метод генерацп псевдовипадкових чисел високо! стшкосп з використанням словника та апаратних джерел ентропи р1зного ф1зичного походження. Представлеш результати роботи розробленого пристрою для генераци парол1в на м1кроконтролер1, що реал1зуе запропонований модифжований метод генераци псевдовипадкових чисел та зроблений пор1вняльний анал1з отриманих результапв з сучасними загальноввдомими методами. 1л.: 3. Табл.: 2. Б1блюгр.: 11 назв.
Ключовi слова: криптостшшсть, генератор псевдовипадкових чисел, пароль, мжроконтролер.
Постановка проблеми та анал1з публжацш i досягнень.
Сучасна шформатика широко використовуе псевдовипадков1 числа в самих р1зних галузях - вщ 1м1тацшного моделювання до криптограф^'. При цьому вщ якост використаних генератор1в псевдовипадкових чисел (ГПВЧ) безпосередньо залежить яюсть одержуваних результапв.
Розглянемо таю загально застосовуваш методи генерацп псевдовипадкових чисел як ISO C Random i xxHash.
ISO C Random - стандартний генератор псевдовипадкових чисел мови С. В якост початкового зсуву, як правило, використовусться поточний час в мшсекундах. Дане значення перетворюеться за допомогою ряду математичних перетворень у вихщний символ пароля. Наступш символи в якост початкового зсуву використовують попередне значення до перетворення в символ пароля.
Одним з головних недолтв даного методу е те, що вс символи (кр1м першого) залежать вщ попереднього, а отже - знаючи кшька, або нав1ть один символ, можливо отримати всю послщовшсть (або кшька послщовностей). Також цей алгоритм мае нер1вном1ршсть розподшу послщовностей (особливо коротких) отриманих даним методом [1].
xxHash - хеш-функщя загального призначення, вщр1зняеться високою швидюстю роботи. Дана хеш-функщя формуеться за допомогою ряду математичних перетворень масиву вхщних значень (вш може складатися i з одного елемента - наприклад, поточний час в мшсекундах) в масив вихщних значень. Алгоритм роботи даного методу представлений на рис. 1, k21-k24 - це спещально пщ1браш
© А.О. Подорожник, М.Г. Токарев, 2017
константи ("мапчш числа"), за допомогою яких налагоджують бшьш рiвномiрний розподiл отримуваних послщовностей [2].
Рис. 1. Блок-схема алгоритму ххОеШа8Ь
До плюсiв даного методу генерацп псевдовипадкових чисел можна вщнести те, що кожен символ генерусться окремо i не залежить вщ попереднього значення, однак i цей метод слабо тдходить для генерацп криптостшких послiдовностей псевдовипадкових чисел, так як при використанш недостатньо великого масиву вхщних значень утворюються не рiвнорозподiленi послiдовностi.
Недолiком вище перелiчених методiв е те, що за вхщним обмеженим масивом генеруються набагато бшьший масив. Це дозволяе скомпрометувати отриману послщовшсть за обмежений термш часу, знаючи (припускаючи) початковий зсув, або одне чи декшька значень послщовносп [3].
Тому доцiльно використовувати методи роботи ГСПЧ, якi базуються на генерацп вихщно'1' послiдовностi за вхщним масивом, що дорiвнюе або перевищуе розмiрнiсть вихщно'!' послiдовностi.
Таким чином, проблемою е використання вщомих програмних методiв генерацп псевдовипадкових чисел для створення захищених паролiв, що призводить до недостатньо криптостшких та надшних результатiв. Одним iз шляхiв виршення дано'1 проблеми е застосування випадкових чисел, одержуваних з фiзичних джерел в якосп породжуючих елементiв для програмних ГСПЧ.
Для застосування у криптографа необхщний метод генерацп паролiв гарантовано'1' стiйкостi [4, 5], який використовуе перетворення джерел ентропп в символи пароля. В якосп таких апаратних джерел ентропп можуть використовуватися датчики [6, 7], як можуть забезпечити ентротю не менш заданого рiвня, наприклад: температурнi датчики, штервали мiж натисканнями клавiш тощо.
Генеращя криптост1йких псевдовипадкових посл1довностей з використанням апаратного джерела ентропп. Даний метод генеруе пароль посимвольно, перетворюючи штервал часу мiж натисканнями клавiш в черговий символ - тому для 16-ти символьного пароля потрiбно 16 натискань. Алгоритм роботи даного методу представлений на рис. 2.
геэиК = пит
гези!* 1= 1л1 Млх
геэи11 " ■> АВС.1_епдЦ-|
Рис. 2. Блок-схема алгоритму запропонованого методу
Слщ також зазначити, що даний метод вимагае постшно'1" безпосередньо'1' участi користувача, через що генеращя великих послiдовностей, як показано на рис. 3, може зайняти багато часу. У зв'язку з цим, застосування цього методу обмежено тими областями в яких не потрiбно генерувати велию послщовносп псевдовипадкових чисел.
Пропонований метод дозволяе генерувати найбшьш рiвномiрно розподшеш i безпечнi паролi, однак вимагае бшьшо'1 участi користувача i потребуе бшьше часу на свою реалiзацiю.
Рис. 3. Пор1вняння часу роботи розглянутих метод1в ГПВЧ
Критер1й якост1 метод1в генерацн псевдовипадкових чисел.
Для тестування якост ГПВЧ iснують рiзнi методи. Можливо використовувати для подiбних цшей БКТ - програму тестування псевдовипадкових числових послщовностей. Зазвичай пiд яюстю ГПВЧ маеться на увазi як швидюсть генерацп послiдовностi певно'1 довжини, так i рiвномiрнiсть розподiлу згенеровано'1' послiдовностi [8, 9].
Значущими параметрами для ощнки якостi згенерованих послщовностей були обраш такi характеристики: шформацшна ентропiя, середне значення i коефщент кореляцп.
Ентропiя вимiрюе середню кшькють шформацп на символ джерела або, шшими словами, невизначенiсть, пов'язану з джерелом. Н(А) = И(а\, ..., а, ..., ад) = 0 означае, що джерело невипадкове i Н(А) максимальна, коли вс а^ рiзновiрогiднi. Ентропiя визначаеться виразом [10]
Нг (А) = Х р(а ,
I=1
р(а1)
(1)
де q - кiлькiсть можливих станiв, р(аг) - iмовiрнiсть появи стану а1.
Середне арифметичне множини чисел - сума вах чисел, подшена на !х кiлькiсть. Визначаеться виразом
_ 1 п Х = "Х Х/
п
(2)
I=1
де п - розмiр множини, х1 - значення /-го елемента множини.
Лшшний коефiцiент кореляцп вимiрюе, наскiльки кожен елемент псевдовипадково! послiдовностi залежить вiд попереднього. Для випадкових послщовностей це значення буде близьким до нуля. Визначаеться виразом [11]
X (X, - X)(У, - У)
г=1
1
(3)
X (X, - X)2 X (У - У )2
г=1
г=1
де п - розмiр послщовностей, X,, У, - елементи послщовностей, X, У - середш значення вибiрок.
Яюсть окремо взято! характеристики розраховуеться як вщношення рiзницi еталонного значення i поточного до рiзницi еталонного значення i максимально допустимого
а- = 1 -
V - V-
е у1\
V - V
е т
(4)
де ve - еталонне значення обрано! характеристики, VI - отримане значення обрано! характеристики, а vm - граничне значення обрано! характеристики.
Граничне значення обрано! характеристики vm обираеться у iнтервалi вiд 0 до еталонного значення V,,. У часто використовуваному випадку vm дорiвнюе 0, i тодi якiсть може бути розраховано за нижченаведеною формулою
О = 1 -
(5)
1
е
Загальна якють обраного методу вважасться як середне зважене для Bcix показниюв
1 m
Qs =—S wQ, (6)
S wi=1 i=1
де m - кiлькiсть оцiнюваних характеристик; wi - ваговий коефiцiент (вщ 0 до 1); Qi - якiсть i-й характеристики.
Мета статт1 - обгрунтування методу генерацп криптостшких псевдовипадкових послiдовностей з використанням анаратних джерел ентропп.
Розробка пристрою генерацп парол1в. Був розроблений пристрiй, який забезпечуе виконання таких функцш: вимiрювання температури i часу мiж натисканнями по запиту; вибiр методу генерацп пароля; генерацiя пароля з використанням зчитаних даних в якосп апаратних джерел ентропп вiдповiдно до обраного методу; вщображення даних на дисплей Налагодження пристрою було проведене в системi схемотехнiчного моделювання та на стенда
Розроблена програма дозволяе згенерувати пароль трьома рiзними способами: за допомогою стандартного C генератора ISOCRandom, за допомогою спрощеного варiанту швидкого xxHash i без використання ГПСЧ. ISOCRandom використовуе в якосп сида (джерела ентропп) поточне значення температури i поточне значення таймера, пароль генеруеться посимвольно. xxHash також використовуе в якосп джерела ентропп поточне значення температури i поточне значення таймера, однак пароль генеруеться одноразово. Третш метод генеруе пароль посимвольно, перетворюючи штервал часу мiж натисканнями клавш в черговий символ - тому для 16-ти символьного пароля потрiбно 16 натискань. Рiвномiрнiсть розподшу чисел в першому випадку -мшмальна, в разi ж використання xxHash - вона зростае. Крiм того, xxHash генеруе за один раз весь пароль внасшдок чого пароль генеруеться швидше. Третш варiант дозволяе генерувати найбшьш рiвномiрно розподшеш i безпечнi паролi, однак вимагае бiльшоï участi користувача i потребуе бшьше часу на свою реалiзацiю.
Для генерацiï паролiв було застосовано мшроконтролер PIC16F877, в якостi зовшшшх джерел ентропiï - таймери i температурний датчик DS18S20, згенерований пароль виводився на дисплей. Для написання прошивки (програми мшроконтролера) використано середовище розробки MicroC for PIC.
Пюля створення програми та моделювання ïï роботи у середовищi Proteus 8, було проведене устшне натурне тестування роботи розробленого програмно-апаратного пристрою створення криптостшких псевдовипадкових послщовностей на стендi PIC EASY.
Для ощнки якостi отриманих псевдовипадкових послщовностей використовувались згенероваш пристроем послiдовностi з 65535 вiдлiкiв.
Результати порiвняння якостi розглянутих методiв генераци псевдовипадкових чисел за формулою 4 наведеш в табл. 1.
Таблиця 1
Пор1вняння якост розглянутих метод1в ГПВЧ за формулою 4
Характеристики ISO C Random xxHash mode3
значення яшсть значення яшсть значення яшсть
1нформац1йна ентропя 7,98208 98,21% 7,99578 99,58% 7,99758 99,76%
Середне значения 127,225 96,33% 127,773 96,36% 127,373 98,31%
Коефщент кореляцп 0,00816 91,84% 0,00514 94,87% 0,00095 99,05%
Як1сть ГПВЧ 95,46% 96,93% 99,04%
Результати порiвняння якостi розглянутих методiв генераци псевдовипадкових чисел за формулою 5 наведеш в табл. 2.
Таблиця 2
Характеристики ISO C Random xxHash mode3
значення яшсть значення яшсть значення яшсть
1нформацшна ентропя 7,982082 99,78% 7,995784 99,95% 7,997577 99,97%
Середне значення 127,2246 99,78% 127,7733 99,79% 127,373 99,90%
Коефщенг кореляцп 0,008159 99,18% 0,005135 99,49% 0,000954 99,90%
Як1сть ГПВЧ 99,58% 99,74% 99,92%
Як видно з таблищ, запропонований метод дае бшьш рiвномiрний розподш i бiльш непередбачуванi послщовносп. Проведений натурний експеримент показав зб^ даних, отриманих при моделюваннi у середовищi Proteus 8, з даними, отриманими на стендi PIC EASY.
Висновки. Розроблено метод генераци псевдовипадкових чисел, який використовуе в якост апаратних джерел ентропп штервали мiж
42
натисканнями клавш i датчик температури. Було проведене тестування i порiвняння запропонованого методу i3 загальнодоступними методами генераци псевдовипадкових чисел.
Також було розроблено мшроконтролерний пристрiй, що дозволяе генерувати паролi декiлькома рiзними методами з використанням датчика температури i часу мiж натисканнями клавiш, як апаратних джерел ентропи. Розроблена програма дозволяе генерувати пароль одним iз трьох вибраних рiзниих способiв: за допомогою модифшованого стандартного C генератора ISOCRandom, за допомогою модифкованого спрощеного варiанту швидкого xxHash та генеруючи пароль посимвольно, перетворюючи iнтервал часу мiж натисканнями клавш в символ. Рiвномiрнiсть розподшу чисел (а вiдповiдно - i його криптостiйкiсть) в першому випадку - мшмальна, в разi ж використання xxHash - вона зростае. Крiм того, xxHash генеруе за один раз весь пароль, внаслщок чого пароль генеруеться швидше. Третш варiант дозволяе генерувати найбiльш рiвномiрно розподiленi та безпечнi паролi, однак вимагае бшьшо! участi користувача i потребуе бiльше часу на свою реалiзацiю.
Список лiтератури: 1. Лобода С.О. Шкропроцесорний генератор парол1в / С.О. Лобода, А. О. Подорожняк, М.Г. Токарев // Сучасш напрями розвитку шформацшно-комушкацшних технологий та засоб1в управлшня. Матер1али сьомо! НТК.
- Харшв: ДП "ХНД1 ТМ", ПНТУ, Полтава; КЛА НАУ, Кропивницький; Вшськова академ1я ЗС Азербайджансько! республши, Баку, 2017. - С. 58-59. 2. Токарев М.Г. Генеращя i побудова тривим1рних зображень ландшафту в реальному чай / М.Г. Токарев, А. О. Подорожняк // XI Шжнародна науково-практична конференщя мапстранпв та астранпв: матер1али конференций у 3-х ч. - Ч. 3. - Харюв: НТУ "ХП1", 2017. - С. 142-143. 3. Шнейер Б. Прикладная криптография / Б. Шнейер. - М.: Триумф, 2016. - 1024 с. 4. Фороузан Б.А. Математика криптографии и теория шифрования / Б А. Фороузан. - М.: НОУ "Интуит", 2016. - 510 с. 5. Тилборг ван Х.К.А. Основы криптологии. Профессиональное руководство и интерактивный учебник / Х.К.А. Тилборг ван. - М.: Мир, 2006. - 471 с. 6. Cheung R.C.C. Hardware generation of arbitrary random number distributions from uniform distributions via the inversion method / R.C.C. Cheung, D. U. Lee, W. Luk, J.D. Villasenor // IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2007. - Vol. 15. - № 8. - Р. 952-962. 7. Шарапов ВМ. Датчики / В.М. Шарапов, Е.С. Полищук, Н.Д. Кошевой, Г.Г. Ишанин, И.Г. Минаев, А.С. Совлуков.
- М.: Техносфера, 2012. - 624 с. 8. Rukhin A. A statistical test suite for random and pseudorandom number generators for cryptographic applications / A. Rukhin, J. Soto, J. Nechvatal, M. Smid, E. Barker, S. Leigh, M. Levenson, M. Vangel, D. Banks, A. Heckert, J. Dray, S. Vo, available at: http://csrc.nist.gov/publications/nistpubs/800-22-rev1a/SP800-22rev1a.pdf (accesed 14 September 2017). 9. Верещагин Н.К. Колмогоровская сложность и алгоритмическая случайность / Н.К. Верещагин, В.А. Успенский, А. Шень. - М.: МЦНМО, 2013. - 576 с. 10. Hamming R.W. Coding and Information Theory. Englewood Cliffs NJ: Prentice-Hall, 1980 - 104 p. 11. Knuth D.E. Art of Computer Programming, Vol. 2: Seminumerical Algorithms. Reading MA: Addison-Wesley Professional, 2014. - 784 p.
References:
1. Loboda, Ye.O., Podorozhnyak, A.O. and Tokarev, M.G. (2017), "Microprocessor Password Generator", Modern directions of development of information and communication technologies
and means of management. Proceedings of the 7th International Conference, April 20-21, State Enterprise "KhNDI ТМ", Kharkiv; PNTU, Poltava; Military Academy of the Armed Forces of the Republic of Azerbaijan, Baku, pp. 58-59.
2. Tokarev, M.G. and Podorozhnyak, A.O. (2017),. "Generation and construction of three-dimensional landscape images in real time", Proceedings of the 11th International scientific and practical conference of graduate students and postgraduate students, April 18-21, 2017, Kharkiv, NTU "KhPI", Vol. 3, pp. 142-143.
3. Schneier, B. (2016), Applied Cryptography, Triumph, Moskow, 1024 p.
4. Forouzan, B.A. (2016), Mathematics of cryptography and the theory of encryption, National Open University "Intuit", Moskow, 510 p.
5. Tilborg, H.C.A. (2006), Fundamentals of Cryptology: A Professional Reference and Interactive Tutorial, Mir, Moskow, 471 p.
6. Cheung R.C.C., Lee, D.U., Luk, W. and Villasenor, J.D. (7007), "Hardware generation of arbitrary random number distributions from uniform distributions via the inversion method", IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 15, No. 8, pp. 952-962.
7. Sharapov, V.M., Polishchuk, E.S., Koshevoi, N.D., Ishanin, G.G., Minaev, I.G. and Sovluskov, A.S. (2012), Sensors, Technosphere, Moskow, 624 p.
8. Rukhin, A., Soto, J., Nechvatal, J., Smid, M., Barker, E., Leigh, S., Levenson, M., Vangel, M., Banks, D., Heckert, A., Dray, J. and Vo, S. (2010), "A statistical test suite for random and pseudorandom number generators for cryptographic applications", available at: http://csrc.nist.gov/publications/nistpubs/800-22-rev1a/SP800-22rev1a.pdf.
9. Vereshchagin, N.K. Uspensky, V.A. and Shen, A. (2013), Kolmogorov complexity and algorithmic randomness, Moscow Center for Continuous Mathematical Education, Moscow, 576 p.
10. Hamming, R.W. (1980), Coding and Information Theory, Englewood Cliffs NJ, Prentice-Hall, 104 p.
11. Knuth, D.E. (2014), Art of Computer Programming, Volume 2: Seminumerical Algorithms, Reading MA, Addison-Wesley Professional, 784 p.
Статтю представив д-р техн. наук. зав1дувач кафедри НТУ "ХШ" Семенов С. Г.
Поступила (received) 11.11.2017
Podorozhniak Andrii, Ph.D, associate Professor National Technical University "Kharkiv Polytechnic Institute" Str. Kirpichova, 2, Kharkov, Ukraine, 61002 Tel.: (057) 707-00-00, , e-mail: [email protected] ORCID ID: 0000-0002-6688-8407
Tokarev Marko, student
National Technical University "Kharkiv Polytechnic Institute" Str. Kirpichova, 2, Kharkov, Ukraine, 61002 Tel.: (057) 707-00-00, e-mail: [email protected] ORCID ID: 0000-0001-7689-8556
УДК 519.216:519.246, 004.056.5
Метод генераци псевдовипадкових чисел високоТ стшкосп / Подорожняк А.О., Токарев М.Г. // Вюник НТУ "ХП1". Сер1я: 1нформатика та моделювання. - Харк1в: НТУ "ХП1". - 2017. - № 50 (1271). - С. 36 - 45.
Розглянуто криптостшю детермшоват генератори псевдовипадкових чисел, джерела випадкових чисел i методи генераци псевдовипадкових чисел з використанням апаратних джерел ентропи. Приведено модифшований авторами метод генераци псевдовипадкових чисел високо! стшкосп з використанням словника та апаратних джерел ентропи р1зного ф1зичного походження. Представлет результата роботи розробленого пристрою для генераци парол1в на мкроконтролерг що реалзуе запропонований модифшований метод генераци псевдовипадкових чисел. Зроблений пор1вняльний анал1з отриманих результапв з сучасними загальноввдомими методами. 1л.: 3. Табл.: 2. Б1блюгр.: 11 назв.
Ключовi слова: криптостшшсть, генератор псевдовипадкових чисел, пароль, м1кроконтролер.
УДК 519.216:519.246, 004.056.5
Метод генерации псевдослучайных чисел высокой стойкости / Подорожняк А.А., Токарев М.Г. // Вестник НТУ "ХПИ". Серия: Информатика и моделирование. - Харьков: НТУ "ХПИ". - 2017. - № 50 (1271). - С. 36 - 45.
Рассмотрены криптостойкие детерминированные генераторы псевдослучайных чисел, источники случайных чисел и методы генерации псевдослучайных чисел с использованием аппаратных источников энтропии. Приведен модифицированный авторами метод генерации псевдослучайных чисел высокой стойкости с использованием словаря и аппаратных источников энтропии различного физического происхождения. Представлены результаты работы разработанного устройства для генерации паролей на микроконтроллере, реализующем предложенный модифицированный метод генерации псевдослучайных чисел. Сделан сравнительный анализ полученных результатов с современными общеизвестными методами. Ил.: 3. Табл.: 2. Библиогр.: 11 назв.
Ключевые слова: криптостойкость, генератор псевдослучайных чисел, пароль, микроконтроллер.
UDC 519.216:519.246, 004.056.5
The method of generating high crypto pseudo-random numbers / Podorozhniak A.O., Tokarev M.G. // Herald of the National Technical University "KhPI". Subject issue: Information Science and Modelling. - Kharkov: NTU "KhPI". -2017. - № 50 (1271). - P. 36 - 45.
Cryptographic stability deterministic pseudo-random number generators, random number sources and methods for generating pseudo-random numbers using hardware entropy sources are considered. A modified method for generating high crypto pseudo-random numbers using a dictionary and hardware sources of entropy of various physical origin is presented. The results of the developed device for generating passwords on a microcontroller implementing the proposed modified method for generating pseudo-random numbers are presented. ^mpa^^ analysis of the results obtained with modern well-known methods. Figs.: 3. Tabl.: 2. Refs.: 11 titles.
Keywords: cryptographic stability, pseudo-random number generator, password, microcontroller