РЕАЛІЗАЦІЯ ТА ТЕСТУВАННЯ ГЕШ-ФУНКЦІЇ НА ОСНОВІ МОДИФІКОВАНОГО АЛГОРИТМУ SKEIN

Олексій Ігорович Барибін, Віра Сергіївна Ткаченко, Єлизавета Олегівна Жабська, Ірина Ігорівна Петрова

Анотація


Актуальність та мета статті. У статті показано, що оригінальний алгоритм гешування Skein, який був розроблений в рамках конкурсу на новий стандарт SHA-3 Національного інституту стандартів і технологій США (NIST) і був одним з п’яти фіналістів може бути модифіковано для підвищення ефективності його роботи в системах з багатоядерними процесорами, якими комплектуються практично всі сучасні настільні та мобільні пристрої. Аналіз нечисленних публікацій, які присвячені розвитку можливостей оригінального алгоритму, показує, що всі автори зосереджують увагу на підвищенні ефективності виконання алгоритму шляхом оптимізації розпаралелювання обчислень, які складають структуру алгоритму. При цьому саме швидкість обчислень при імплементації цього алгоритму була однією з основних його недоліків. Спрощення оригінального алгоритму раніше не розглядалась, що стало метою статті.

Методи дослідження. Аналіз оригінального алгоритму виявив, що базовою передумовою запропонованої модифікації є те, що він дає можливість побудувати геш-функцію з параметрами, які можна налаштовувати. Геш-функція будується на основі блокового алгоритму шифрування з регульованим розміром блоку. Розміри блоку та ключа є фіксованими, але вони не визначають розмір вихідного рядка геш-функції, що ускладнює методи атак, які ґрунтуються на знаходженні довжини ключа. Змінний розмір вихідного рядка дозволяє зробити геш-функцію дуже гнучкою: з’являється можливість використовувати геш-функцію у додатках та пристроях з обмеженим обсягом пам’яті. Зокрема на мобільних пристроях.

Результати. Запропоновано модифікацію Skein засновану на тому, що в оригінальному алгоритмі передбачається, що процес гешування може бути представлений у вигляді багаторівневої деревоподібної структури. Основна ідея полягає у тому, що на першому рівні гешування повідомлення розбивається на блоки, для кожного з блоків обчислюється відповідні параметри, на другому та вищих рівнях вже отримані значення цих параметрів використовуються у якості вхідних. Для пришвидшення роботи алгоритму було запропоноване суттєве спрощення – використання лише однорівневого гешування, що фактично означає відмову від застосування деревоподібної структури обчислень.

Геш-функцю, яка заснована на модифікованому алгоритмі, реалізовано із використання мови програмування Python. Результати тестування відповідно до стандарту NIST SP 800-22 на виборці, яка складалася з 1000 файлів з результатами гешування, показали відсоток файлів, які пройшли тестування, від 98,0 до 99,6%, що свідчить про те, що реалізована геш-функція на основі модифікованого алгоритма Skein відповідає вимогам до випадкових і псевдовипадкових генераторів цілих чисел та геш-функцій.

Наукова новизна та практична значимість. Вперше запропоновано пришвидшити ефективність імплементації алгоритму гешування Skein шляхом спрощення структури обчислень та показано, що геш-функція заснована на спрощеному алгоритмі відповідає стандарту NIST SP 800-22.

Ключові слова


геш-функції; Skein; статистичні методи аналізу геш-функцій

Повний текст:

PDF (English)

Посилання


Keith, M. M. (2017). Everyday Cryptography. Fundamental Principles and Applications. Croydon : Oxford University Press, 773.

Atighehchi, K., Enache, A., Muntean, T., Risterucci, G. (2010). An Efficient Parallel Algorithm For Skein Hash Functions. Innsbruck, Austria: Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems, 1-11.

Bahi, J. M., Couchot, J. F., Guyeux, C. (2012). Quality Analysis of a Chaotic Proven Keyed Hash Function. International Journal On Advances in Internet Technology, 5(1),26-33.

Hadedy, M. El., Gligoroski, D., Knapskog, S. J., Margala, M. (2010). Compact Implementation of BLUE MIDNIGHT WISH-256 Hash Function on Xilinx FPGA Platform. Journal of Information Assurance and Security, 5, 626-636.

Al-shaikhli, I. F., Alahmad, M. A., Munthir, K. (2013). Hash Function of Finalist SHA-3 : Analysis Study. International Journal of Advanced Computer Science and Information Technology (IJACSIT), 2(2), 37-48.

Chang, S., Perlner, R., Burr, W. E., Turan, M. S., Kelsey, J. M., Paul, S., Bassham, L. E. (2012). Third-Round Report of the SHA-3 Cryptographic Hash Algorithm Competition. NIST, 84.

Shivaprasad, S., Ramaswamy, A., Raviprasad, R.T., Sadanandam, M. (2016). Optimization of Skein Hash Function Using Pluto Tool. International Journal of Applied Engineering Research. 11(5), 3624-3631

.Ferguson, N., Lucks, S., Schneier, B., Whiting, D., Bellare, M., Kohno, T., Callas, J., Walker, J. The Skein Hash Function Family. Retrieved from http://www.skein-hash.info/sites/default/files/skein1.3.pdf.

Aumasson, J.-P., Çalık, Ç., Meier, W., Özen, O., Phan, R. C.-W., Varıcı, K. (2009). Improved Cryptanalysis of Skein. Tokyo, Japan: International Conference on the Theory and Application of Cryptology and Information Security ASIACRYPT, 542-559.

Goldhamer, J. (2010). SHA-3 Submission: Skein Hash Function Family. Insight on skein hash function proposal. Retrieved from https://koclab.cs.ucsb.edu/teaching/cren/project/2010/goldhamer.pdf.

Bellare, M., Kohno, T., Lucks, S., Ferguson, N., Schneier, B., Whiting, D., Callas, J., Walker, J. Provable Security Support for the Skein Hash Family. Retrieved from http://www.skein-hash.info/sites/default/files/skein-proofs.pdf.

Mouha, N., Raunak, M.S., Kuhn, D.R., Kacker, R. (2018). Finding Bugs in Cryptographic Hash Function Implementations. IEEE Transactions on Reliability, 99, 1-15.

Wang, D., Jiang, Y., Song, H., He, F., Gu, M., Sun, J. (2017). Verification of Implementations of Cryptographic Hash Functions. IEEE Access, 5, 7816-7825.

(2010). Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Special Publication 800-22 Revision 1a, NIST.

Antonov, A.V., Bzot, V. B., (2013) Variant jeffektivnoj realizacii metoda postroenija hesh-funkcij na osnove haoticheskih otobrazhenij s peremennymi parametrami i parallel'noj organizaciej vychislenij. Sistemi obrobki іnformacії, 1, 187-191.


Посилання

  • Поки немає зовнішніх посилань.