Kryptologia i Cyberbezpieczenstwo nr 6
Transkrypt
Kryptologia i Cyberbezpieczenstwo nr 6
WOJSKOWA AKADEMIA TECHNICZNA WYDZIAŁ CYBERNETYKI INSTYTUT ORGANIZACJI I ZARZĄDZANIA STUDIA BEZPIECZEŃSTWA NARODOWEGO NATIONAL SECURITY STUDIES ROK IV NR 6 KRYPTOLOGIA I CYBERBEZPIECZEŃSTWO CRYPTOLOGY AND CYBERSECURITY Warszawa 2014 RADA NAUKOWA Dr Hans BINNENDIJK, Centrum Stosunków Transatlantyckich, SAIS, Uniwersytet Johnsa Hopkinsa, Waszyngton, USA Prof. dr Eliot A. COHEN, Dyrektor Studiów Strategicznych, SAIS, Uniwersytet Johnsa Hopkinsa, Waszyngton, USA Prof. dr hab. inż. Krzysztof FICOŃ, Akademia Marynarki Wojennej im. Bohaterów Westerplatte, Gdynia Prof. dr hab. Franciszek GOŁEMBSKI, Wojskowa Akademia Techniczna, Warszawa Prof. dr inż. Juraj GRENČÍK, Uniwersytet Żyliński, Słowacja Prof. dr Bruce HOFFMAN, Dyrektor Studiów Bezpieczeństwa, Uniwersytet Georgetown, Waszyngton, USA Prof. dr hab. Waldemar KACZMAREK, Akademia Obrony Narodowej, Warszawa Prof. dr hab. Oleksandr MEREŻKO, Biblioteka Narodowa Ukrainy, Kijów, Ukraina Prof. dr hab. Sergiu MISCOIU, Uniwersytet Babe-Bolay, Cluj-Napoca, Rumunia Prof. dr Khurelbaatar URJIN, Dyrektor Tugeemel College, Ułan Bator, Mongolia Prof. dr hab. Radovan VUKADINOVIČ, Uniwersytet Zagrzebski, Chorwacja Prof. dr hab. inż. Piotr ZASKÓRSKI, Wojskowa Akademia Techniczna, Warszawa Prof. dr hab. Marek ŻMIGRODZKI, Uniwersytet Marii Curie-Skłodowskiej, Lublin RADA REDAKCYJNA Dr hab. inż. Włodzimierz MISZALSKI, prof. WAT – przewodniczący Rady Dr hab. Marek ADAMKIEWICZ, prof. WAT Dr hab. Bogusław JAGUSIAK, prof. WAT Dr hab. Janusz KOSTECKI, prof. WAT Dr hab. Piotr KWIATKIEWICZ, prof. Wyższej Szkoły Bezpieczeństwa, Poznań Dr hab. Gabriel NOWACKI, prof. WAT Dr hab. Tadeusz SZCZUREK, prof. WAT Dr hab. Janusz ŚWINIARSKI, prof. WAT Dr Grzegorz KOSTRZEWA-ZORBAS, adiunkt, WAT Dr inż. Henryk POPIEL, adiunkt, WAT Dr Arnold WARCHAŁ, adiunkt, WAT REDAKCJA Dr Grzegorz KOSTRZEWA-ZORBAS – redaktor naczelny Dr Arnold WARCHAŁ – zastępca redaktora naczelnego Mgr Krzysztof SZWARC – sekretarz redakcji REDAKTORZY NUMERU 6 Mgr inż. Piotr DURBAJŁO – zastępca redaktora naczelnego w zakresie Kryptologii i Cyberbezpieczeństwa Prof. dr hab. n. mat. inż. JERZY GAWINECKI RECENZENCI NAUKOWI NUMERU 6 Prof. dr hab. n. mat. inż. Jerzy Gawinecki, Wojskowa Akademia Techniczna, Warszawa Dr hab. Jacek Pomykała, prof. UW, Warszawa Dr hab. Arkadiusz Orłowski, prof. SGGW, Warszawa Copyright by Redakcja Wydawnictw Wojskowej Akademii Technicznej Warszawa 2014 ISSN: 2082 2677 Publikacja zakwalifikowana do druku bez poprawek edytorskich Redakcji Wydawnictw WAT 2 SCIENITIFIC COUNCIL Hans BINNENDIJK, PhD, Center for Transatlantic Relations, SAIS, Johns Hopkins University, Washington, DC, USA Prof. Eliot A. COHEN, PhD, Director, Strategic Studies, SAIS, Johns Hopkins University, Washington, DC, USA Prof. Dr Hab. Eng. Krzysztof FICOŃ, Polish Naval Academy, Gdynia, Poland Prof. Dr Hab. Franciszek GOŁEMBSKI, Military University of Technology, Warsaw, Poland Juraj GRENČÍK, PhD., Eng., Assoc. Prof., University of Žilina, Slovakia Prof. Bruce HOFFMAN, PhD, Director, Security Studies, Georgetown University, Washington, DC, USA Prof. Dr Hab. Waldemar KACZMAREK, National Defence University, Warsaw, Poland Prof. Dr Hab. Alexander MEREZHKO, National Library of Ukraine, Kyiv, Ukraine Prof. Dr Hab. Sergiu MISCOIU, Babe-Bolay University, Cluj-Napoca, Romania Prof. Dr Khurelbaatar URJIN, Director, Tugeemel College, Ulan Bator, Mongolia Prof. Dr Hab. Radovan VUKADINOVIČ, University of Zagreb, Croatia Prof. Dr Hab. Eng. Piotr ZASKÓRSKI, Military University of Technology, Poland Prof. Dr Hab. Marek ŻMIGRODZKI, Maria Curie-Skłodowska University, Lublin, Poland EDITORIAL COUNCIL Dr Hab. Eng. Włodzimierz MISZALSKI, Prof. of the Military University of Technology – Chair of the Council, Warsaw, Poland Dr Hab. Marek ADAMKIEWICZ, Prof. of the Military University of Technology, Warsaw, Poland Dr Hab. Bogusław JAGUSIAK, Prof. of the Military University of Technology, Warsaw, Poland Dr Hab. Janusz KOSTECKI, Prof. of the Military University of Technology, Warsaw, Poland Grzegorz KOSTRZEWA-ZORBAS, PhD, Assoc. Prof., Military University of Technology, Warsaw, Poland Dr Hab. Piotr KWIATKIEWICZ, Prof. of the University of Security, Poznań, Poland Dr Hab. Gabriel NOWACKI, Prof. of the Military University of Technology, Poland Henryk POPIEL, PhD, Eng., Assoc. Prof., Military University of Technology, Poland Dr Hab. Tadeusz SZCZUREK, Prof. of the Military University of Technology, Poland Dr Hab. Janusz ŚWINIARSKI, Prof. of the Military University of Technology, Poland Arnold WARCHAŁ, PhD, Assoc. Prof., Military University of Technology, Poland EDITORIAL STAFF Grzegorz KOSTRZEWA-ZORBAS, PhD – Editor-in-Chief Arnold WARCHAŁ, PhD – Deputy Editor Krzysztof SZWARC, MSc – Assistant Editor EDITORS OF NUMBER 6 MSc Eng. Piotr DURBAJŁO – Deputy Editor in the Field of Cryptology and Cybersecurity Prof. Dr Hab. JERZY GAWINECKI PEER REVIEWERS OF NUMBER 6 Prof. Dr Hab. Jerzy Gawinecki, Military University of Technology, Warsaw, Poland Dr Hab. Jacek Pomykała, Prof. of Warsaw University, Poland Dr Hab. Arkadiusz Orłowski, Prof. of Warsaw University of Life Science, Warsaw, Poland Copyright by Redakcja Wydawnictw Wojskowej Akademii Technicznej Warsaw 2014 ISSN: 2082 2677 3 RADA NAUKOWA W ZAKRESIE KRYPTOLOGII I CYBERBEZPIECZEŃSTWA Gen. bryg. Krzysztof BONDARYK – Narodowe Centrum Kryptologii, MON, Warszawa Dr Kris GAJ – Department of Electrical and Computer Engineering, George Mason University, Fairfax, USA Prof. dr hab. n. mat. inż. Jerzy August GAWINECKI – Wydział Cybernetyki, Wojskowa Akademia Techniczna, Warszawa – przewodniczący Rady Gen. bryg. Artur KOŁOSOWSKI – prof wizytujący WAT – Wojskowe Centralne Biuro Konstrukcyjno-Technologiczne S.A., Warszawa Prof. dr hab. Mirosław KUTYŁOWSKI – Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska, Wrocław Prof. dr hab. Józef LUBACZ – Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska, Warszawa Dr hab. inż. Arkadiusz ORŁOWSKI, prof. SGGW – Wydział Zastosowań Informatyki i Matematyki, Szkoła Główna Gospodarstwa Wiejskiego, Warszawa Dr hab. Jacek POMYKAŁA, prof. UW – Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski, Warszawa Płk Witold SKUBINA – Agencja Bezpieczeństwa Wewnętrznego, Warszawa Dr Piotr SAPIECHA – Wydział Elektroniki i Technik Informacyjnych, Politechnika Warszawska, Warszawa Prof. dr hab. Jan STOKŁOSA – Wydział Elektryczny, Politechnika Poznańska, Poznań Prof. Joseph PIEPRZYK – Faculty of Science and Engineering, Macquiere University, Sydney, Australia Prof. dr hab. Zbigniew PERADZYŃSKI – Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski, Warszawa RADA REDAKCYJNA W ZAKRESIE KRYPTOLOGII I CYBERBEZPIECZEŃSTWA Mgr inż. Piotr DURBAJŁO – Urząd Komunikacji Elektronicznej, Warszawa – (Sekretarz Rady) Zastępca Redaktora Naczelnego w zakresie Kryptologii i Cyberbezpieczeństwa Płk Piotr MARKOWSKI – Narodowe Centrum Kryptologii, MON Warszawa Mjr mgr inż. Krzysztof MAŃK – Wydział Cybernetyki, Wojskowa Akademia Techniczna, Warszawa Dr inż. Piotr BORA – Wydział Cybernetyki, Wojskowa Akademia Techniczna, Warszawa Płk Andrzej MROCZKOWSKI – Narodowe Centrum Kryptologii, MON, Warszawa Dr inż. Maciej KIEDROWICZ – Wydział Cybernetyki, Wojskowa Akademia Techniczna, Warszawa RECENZENCI: Prof. dr hab. n. mat. inż. Jerzy Gawinecki, Wojskowa Akademia Techniczna, Warszawa Dr hab. Jacek Pomykała, prof. UW, Warszawa Dr hab. Arkadiusz Orłowski, prof. SGGW, Warszawa SKŁAD KOMPUTEROWY WOMAR Barbara Wojcieszuk 4 SCIENITIFIC COUNCIL IN THE FIELD OF CRYPTOLOGY AND CYBERSECURITY Brig. Gen. (Ret) Krzysztof BONDARYK, National Cryptology Center, Ministry of Nacional Defence, Warsaw, Poland Krzysztof GAJ, PhD, Assoc. Prof., George Mason University, Virginia, USA Prof. Jerzy August GAWINECKI, Faculty of Cybernetics, Military University of Technology, Warsaw, Poland – Chair of the Council Brig. Gen. Artur KOŁOSOWSKI – visiting professor, Central Military Bureau of Design and Technology S.A., Warsaw, Poland Prof. Mirosław KUTYŁOWSKI, Faculty of Fundamental Problems of Technology, Wrocław University of Technology, Poland Prof. Józef LUBACZ, Faculty of Electronics and Information Technology, Warsaw University of Technology, Poland Dr Hab. Arkadiusz ORŁOWSKI, Prof. of Warsaw University of Life Sciences, Faculty of Applied Informatics and Mathematics, Warsaw, Poland Dr Hab. Jacek POMYKAŁA, Prof. of Warsaw University, Faculty of Mathematics, Informatics and Mechanics, Warsaw, Poland Prof. Józef PIEPRZYK, PhD, Macquarie University, Sydney, Australia Col. Witold SKUBINA, Internal Security Agency, Warsaw, Poland Piotr SAPIECHA, PhD, Assoc. Prof. Warsaw University of Technology, Warsaw, Poland Prof. Janusz STOKŁOSA, Faculty of Electrical Engineering, Poznan University of Technology, Poland Prof. Zbigniew PERADZYŃSKI – Faculty of Mathematics, Informatics and Mechanics, Warsaw University, Poland EDITORIAL COUNCIL IN THE FIELD OF CRYPTOLOGY AND CYBERSECURITY Piotr DURBAJŁO, Office of Electronic Communications, Warsaw, Poland – Chair of the Council, Deputy Edytor in the field of Cryptology and Cybersecurity Col. Piotr MARKOWSKI, National Cryptology Center, Ministry of National Defence, Warsaw, Poland Maj. Krzysztof MAŃK, Faculty of Cybernetics, Military University of Technology, Warsaw, Poland Piotr BORA, PhD, Assoc. Prof., Faculty of Cybernetics, Military University of Technology, Warsaw, Poland Col. Andrzej MROCZKOWSKI, National Cryptology Center, Ministry of National Defence, Warsaw, Poland Maciej KIEDROWICZ, PhD, Assoc. Prof., Faculty of Cybernetics, Military University of Technology, Warsaw, Poland PEER REVIEWERS OF NUMBER Prof. Dr Hab. Jerzy Gawinecki, Military University of Technology, Warsaw, Poland Dr Hab. Jacek Pomykała, Prof. of Warsaw University, Warsaw, Poland Dr Hab. Arkadiusz Orłowski, Prof. of Warsaw University of Life Science, Warsaw, Poland DTP – WOMAR Barbara Wojcieszuk SPIS TREŚCI Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 I. KONCEPCJA POLSKIEJ POLITYKI W ZAKRESIE KRYPTOLOGII I CYBERBEZPIECZEŃSTWA . . . . . . . . . . 19 Krzysztof Bondaryk, Jacek Pomykała Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku 19 Brunon Hołyst Wiktymologiczne aspekty cyberprzestępczości . . . . . . . . . . . . . . . . . . . . 33 II. KRZYWE ELIPTYCZNE I ICH ZASTOSOWANIE W KRYPTOLOGII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Jerzy Gawinecki, Mariusz Jurkiewicz, Piotr Bora, Tomasz Kijko Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów i protokołów kryptograficznych . . . . . . . . . . . . . . . . . . . . . . 61 Robert Dryło, Zbigniew Jelonek Konstruowanie krzywych eliptycznych z podgrupą danego rzędu i z danym pierścieniem endomorfizmów . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Robert Dryło Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Mariusz Skałba Kodowanie deterministyczne na krzywych eliptycznych . . . . . . . . . . . 125 Andrzej Dąbrowski A family of pairing-friendly superelliptic curves of genus 4 . . . . . . . . 133 III. ALGORYTMY STENOGRAFICZNE ORAZ KRYPTOLOGICZNE I ICH BEZPIECZEŃSTWO . . . . . . . 139 Jerzy Gawinecki, Kamil Kaczyński Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Tomasz Kijko, Michał Wroński Comparison of algorithms for factorization of large numbers having several distinct prime factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7 Maciej Grześkowiak Prime numbers and Cryptosystems Based on Discrete Logarithms 163 Bartosz Źrałek Rozszerzony algorytm Pohliga-Hellmana i jego zastosowanie do faktoryzacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Iwona Polak, Mariusz Boryczka Algorytmy inspirowane naturą w kryptoanalizie . . . . . . . . . . . . . . . . . . 185 Krzysztof Mańk Test autokorelacyjny dla ciągu binarnego . . . . . . . . . . . . . . . . . . . . . . . . 199 Konrad Durnoga Niekowalne ekstraktory losowości . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Maciej Obremski Elastyczne ekstraktory dwuźródłowe i ich zastosowania . . . . . . . . . . . 239 Tomasz Adamski Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania pierwiastków pierwotnych modulo n . . . . . . . . . . . . . . . 247 Jerzy Kaczorowski Zastosowanie funkcji L w kryptologii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Johannes Mykkeltveit, Janusz Szmidt Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 IV. SCHEMATY PODZIAŁU SEKRETU STRUKTURY UPRAWNIEŃ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Jakub Derbisz Remarks on multivariate extensions of polynomial based secret sharing schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Andrzej Pragacz Uogólnione struktury uprawnień z hierarchią . . . . . . . . . . . . . . . . . . . . . 299 V. PRAKTYCZNE ZASTOSOWANIA KRYPTOLOGII I CYBERBEZPIECZEŃSTWO . . . . . . . . . . 317 Tomasz Kazana Programy jednorazowe: krótkie wprowadzenie . . . . . . . . . . . . . . . . . . . . 317 8 Krzysztof Cabaj, Michał Buda Metody eksploracji danych w analizie ruchu obserwowanego przez systemy HoneyPot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Patryk Bęza, Jakub Gocławski, Paweł Mral, Piotr Sapiecha Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Kazimierz Worwa Modelling the software testing process . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Adam E. Patkowski Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Grzegorz Kostrzewa-Zorbas NATO w nowym środowisku strategicznym:cyberataki podlegają już artykułowi 5 Traktatu Północnoatlantyckiego . . . . . . . . . . . . . . . . 397 CONTENTS Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 I. CONCEPTION OF NATIONAL CRYPTOLOGY AND CYBERCECURITY POLICY . . . . . . . . . . . . . . . . . . . . . . . . 19 Krzysztof Bondaryk, Jacek Pomykała New Challenges for Polish Cryptology in Second Decade of XXI Century . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Brunon Hołyst Victimological aspects of cybecrime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 II. THE ELLIPTIC CURVES AND THEIR APPLICATIONS IN CRYPTOLOGY . . . . . . . . . . . . . . . . . . . . . . 61 Jerzy Gawinecki, Mariusz Jurkiewicz, Piotr Bora, Tomasz Kijko Applications of elliptic curves for construction of secure cryptographic algorithms and protocols . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Robert Dryło, Zbigniew Jelonek Constructing elliptic curves with a subgroup of a given order and with a given endomorphism ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Robert Dryło Constructing pairing-friendly genus 2 curves . . . . . . . . . . . . . . . . . . . . . 95 Mariusz Skałba Deterministic encoding on elliptic curves . . . . . . . . . . . . . . . . . . . . . . . . . 125 Andrzej Dąbrowski A family of pairing-friendly superelliptic curves of genus 4 . . . . . . . . 133 III. STEGANOGRAPHIC AND CRYPTOGRAPHIC ALGORITHMS AND THEIR SECURITY . . . . . . . . . . . . . . . . 139 Jerzy Gawinecki, Kamil Kaczyński Stegodroid – mobile application to conduct covert communication 139 Tomasz Kijko, Michał Wroński Comparison of algorithms for factorization of large numbers having several distinct prime factors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 11 Maciej Grześkowiak Prime numbers and Cryptosystems Based on Discrete Logarithms 163 Bartosz Źrałek A generalization of the Pohlig-Hellman algorithm and its application to factoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Iwona Polak, Mariusz Boryczka Cryptanalysis using nature-inspired algorithms . . . . . . . . . . . . . . . . . . . 185 Krzysztof Mańk Autocorrelation test for binary stream . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 Konrad Durnoga Non-malleable randomness extractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Maciej Obremski Flexible Two-Source Extractors and Applications . . . . . . . . . . . . . . . . 239 Tomasz Adamski The Average Complexity of the Probabilistic Algorithm for Finding Primitive Roots Modulo n . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 Jerzy Kaczorowski Applications of L-functions in cryptology . . . . . . . . . . . . . . . . . . . . . . . . 259 Johannes Mykkeltveit, Janusz Szmidt Nonlinear Feedback Shift Registers and Joining of Cross-Pairs States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 IV. THE SECRET SHARING SCHEMES. THE STRUCTURES WITH HIERARCHY . . . . . . . . . . . . . . . 285 Jakub Derbisz Remarks on multivariate extensions of polynomial based secret sharing schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 Andrzej Pragacz Generalized access structures with hierarchy . . . . . . . . . . . . . . . . . . . . . V. THE PRACTICAL APPLICATIONS OF CRYPTOLOGY AND CYBERSECURITY . . . . . . . . . . . 317 Tomasz Kazana One-Time Programs with Limited Memory . . . . . . . . . . . . . . . . . . . . . . 12 299 317 Krzysztof Cabaj, Michał Buda Analysis of the HoneyPot system data using data mining techniques 325 Patryk Bęza, Jakub Gocławski, Paweł Mral, Piotr Sapiecha Acceleration of cryptographic calculations using GPUs . . . . . . . . . . . 341 Kazimierz Worwa Modelling the software testing process . . . . . . . . . . . . . . . . . . . . . . . . . . . 359 Adam E. Patkowski A Laboratory Model for Studying Federations of Cyber Defense Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377 Grzegorz Kostrzewa-Zorbas NATO in the New Strategic Environment: Cyber Attacks Now Covered by Article 5 of the North Atlantic Treaty . . . . . . . . . . . 397 WSTĘP Niniejszy numer „Studiów Bezpieczeństwa Narodowego” („National Security Studies”) po raz pierwszy został wydany jako całkowicie poświęcony zagadnieniom szeroko rozumianych zastosowań kryptologii i cyberbezpieczeństwa. Jest on początkiem serii „Kryptologia i Cyberbezpieczeństwo” („Cryptology and Cybersecurity”) koncentrującej się na wyjątkowo istotnych, w dobie globalnego społeczeństwa informacyjnego, dla bezpieczeństwa państwa i obywateli zagadnieniach. Idea powołania do istnienia po raz pierwszy w historii Polski rocznika „Kryptologia i Cyberbezpieczeństwo” jest konsekwencją porozumienia pomiędzy Narodowym Centrum Kryptologii a Wydziałem Cybernetyki Wojskowej Akademii Technicznej i jest ściśle związana z rozwojem narodowej kryptologii, a także budową kompetencji w sferze ochrony cybernetycznej państwa. Będzie publikowany jako wydawnictwo jawne oraz w postaci niejawnej – zgodnie z przyjętą koncepcją stanowić będzie płaszczyznę, na której będą przedstawiane oryginalne wyniki uzyskane w ostatnim okresie przez polskich naukowców w dziedzinie kryptologii i cyberbezpieczeństwa. Obecne, pierwsze wydanie zawiera przede wszystkim artykuły naukowo-badawcze będące rozszerzeniem referatów wygłoszonych na konferencji Kryptologia i Bezpieczeństwo Informacji, która odbyła się na Wydziale Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego w dniach 5–6 czerwca 2014 roku, dzięki zaangażowaniu i inicjatywie gen. rez. Krzysztofa Bondaryka, pierwszego Szefa Narodowego Centrum Kryptologii, oraz działalności organizacyjnej prof. dr. hab. Jacka Pomykały, przewodniczącego komitetu organizacyjnego konferencji. Autorami prac są przede wszystkim naukowcy z liczących się nie tylko w Polsce, ale i na świecie ośrodków zajmujących się kryptologią lub naukami powiązanymi, tj. Wydziału Cybernetyki Wojskowej Akademii Technicznej, Wydziału Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego, Instytutu Matematycznego Polskiej Akademii Nauk w Warszawie, Wydziału Matematyki i Nauk Informacyjnych oraz Wydziałów Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, a także analogicznych wydziałów Wyższej Szkoły Menedżerskiej w Warszawie, Uniwersytetu Adama Mickiewicza w Poznaniu oraz Uniwersytetu Śląskiego. Niniejsze wydanie „Kryptologia i Cyberbezpieczeństwo” zostało dofinansowane ze środków Narodowego Centrum Badań i Rozwoju na lata 2013 – 2018 w ramach projektu numer DOBR/0001/RON/ID1/2013/01. Oddawany w Państwa ręce pierwszy numer wydawnictwa „Kryptologia i Cyberbezpieczeństwo” („Cryptology and Cybersecurity”) rozpoczyna się próbą przedstawienia koncepcji polskiej polityki kryptologicznej, natomiast w kolejnych rozdziałach numeru zostały pogrupowane istotne kwestie z punktu widzenia budowy potencjału narodowego w tej jakże istotnej materii. Należy tu przywołać kwestie zastosowania krzywych eliptycznych w kryptologii, konstruowania bezpiecznych algorytmów kryptologicznych i stenograficznych, polityk dostępu, podziału sekretu, wymiany informacji czy ekstraktów losowych oraz praktycznego zastosowania kryptologii. Mamy nadzieję, iż oddawany w Państwa ręce pierwszy numer będzie początkiem dedykowanego, elitarnego wydawnictwa zajmującego się kryptologią i cyberbezpieczeństwem w Polsce, i co najważniejsze skupiającym wokół siebie najlepszych polskich naukowców zajmujących się tymi dziedzinami. Prof. dr hab. n. mat. inż. Jerzy August GAWINECKI, autor koncepcji wydawnictwa, Członek Rady Naukowej STUDIA BEZPIECZEŃSTWA NARODOWEGO, „KRYPTOLOGIA I CYBERBEZPIECZEŃSTWO” mgr inż. Piotr Durbajło, Sekretarz Rady, Zastępca Redaktora Naczelnego w zakresie Kryptologii i Cyberbezpieczeństwa INTRODUCTION The current issue of the “National Security Studies” was first published as solely devoted to, in its broadest sense, the field of cryptology and cybersecurity. It is the first one of the series: “Cryptology and Cybersecurity”, which tackles such important issues as global and national information security. Nowadays, these matters are to be taken with utmost care in the face of advancing globalization. As a result of the agreement between the National Cryptology Center and the Faculty of Cybernetics at the Military University of Technology, the idea of creating the first journal of Cryptology and Cybersecurity in the history of Poland came to life. The event was closely connected to the development of national cryptology and our growing expertise in the field of national cyber defense. Currently, the first issue includes mainly the research papers presented at the conference of Cryptology and Security of Information, held on 5th and 6th July 2014 at the Faculty of Mathematics, Computer Science and Mechanics at the University of Warsaw. The conference took place thanks to the engagement and efforts of the first head of National Cryptology Centre, Brig. Gen. (Ret.) Krzysztof Bondaryk and the involvement of prof. Jacek Pomykała, the Chair of the Organizing Committee. The authors of the presented papers are globally renowned experts, who specialize in cryptology and related fields. On daily basis, they conduct their research at many Polish centers, such as: the Faculty of Cybernetics, Military University of Technology, the Department of Mathematics, Computer Science and Mechanics at Warsaw University, the Mathematical Institute of the Polish Academy of Science, the Faculty of Mathematics and Information Science, Warsaw University of Technology, the Faculty of Electronics and Information Technology, Warsaw University of Technology and at similar departments at other Polish universities, such as: High School of Management in Warsaw, Adam Mickiewicz University in Poznan and University of Silesia in Katowice. The current issue of “Cryptology and Cybersecurity” contains papers devoted to the application of abstract mathematics, in particular the elliptic curves in cryptologic protocols, constructions of secure cryptographic and steganographic protocols, the secret sharing scheme, as well as other practical aspects of cryptology and cybersecurity. This issue devoted to the “Cryptology and Cyberdefence” was supported by The National Centre for Research and Development under the project number DOBR/0001/RON/ID1/2013/01. We hope that the first issue of our journal will initiate elite series dedicated to broad problems of cryptology and security in cyberspace, and it will serve as a guide for practitioners to build more secure systems based on cryptography. This is definitely a stepping stone for future researchers and an incentive to explore the exciting world of cryptography and its applications. Chief of Educational Council in the Field of Cryptology and Cybersecurity Prof. Jerzy August GAWINECKI The initiator of the idea of series: “Cryptology and Cybersecurity” and member of the Scientific Council Piotr DURBAJŁO, Secretary of the Redactor, Deputy Editor in the Field of “Cryptology and Cybersecurity” I. KONCEPCJA POLSKIEJ POLITYKI W ZAKRESIE KRYPTOLOGII I CYBERBEZPIECZEŃSTWA NOWE WYZWANIA DLA POLSKIEJ KRYPTOLOGII DRUGIEJ DEKADY XXI WIEKU Krzysztof Bondaryk∗ , Jacek Pomykała∗∗ ∗ Narodowe Centrum Kryptologii, MON ∗∗ Uniwersytet Warszawski Streszczenie. W artykule analizujemy wyzwania dla polskiej kryptologii XXI wieku ze szczególnym uwzględnieniem potrzeb narodowej kryptologii i roli, jaką spełniają w niej wybrane dziedziny matematyki, takie jak teoria liczb i geometria algebraiczna. W szczególności pokreślono rolę i bezpieczeństwo kryptosystemów bazujących na iloczynach dwuliniowych, a także problemy złożoności obliczeniowej ważnych dla kryptologii algorytmów deterministycznych. Wskazano na znaczenie funkcji typu L we współczesnej kryptografii i kryptoanalizie. Słowa kluczowe: polska polityka kryptologiczna, bezpieczeństwo informacji, wydajność obliczeniowa i funkcjonalność kryptosystemu, kryptoanaliza i trudne problemy obliczeniowe, derandomizacja, L-funkcje, Krzywe eliptyczne, CM metoda, Liczby B-wyjątkowe, ekwipartycja mod 1, funkcje jednokierunkowe, kryptosystemy oparte na politykach dostępu, geometria algebraiczna, teoria liczb. Nowe wyzwania dla polityki kryptologicznej w Polsce są determinowane szeregiem procesów i wydarzeń ostatnich lat, a szczególnie minionego roku. Ujawniona skala programu globalnej inwigilacji prowadzonej ostatniego roku przez służby specjalne USA, konflikt rosyjsko-ukraiński czy stale rosnąca liczba incydentów teleinformatycznych w domenie GOV.PL1 , wymuszają konieczność podjęcia przez państwo energicznych działań dla zapewnienia ochrony informacji i danych jego instytucji i obywateli. W nurt ten wpisują się intensywne działania Narodowego Centrum Kryptologii (NCK) określające potrzebę stworzenia długofalowej polityki kryptologicznej Polski (por. [1], [2]). Ponadto Polska jako członek Unii Europejskiej 1 Jak wynika z raportu Zespołu Reagowania na Incydenty Komputerowe CERT.GOV.PL, w 2013 r. odnotowano 5670 incydentów teleinformatycznych. K. Bondaryk, J. Pomykała będzie zobowiązana do implementacji nowej dyrektywy Network & Information Security przyjętej przez Parlament Europejski w marcu 2014r. Poszerzyła ona znacząco kompetencje Europejskiej Agencji ds. Bezpieczeństwa Sieci i Informacji (ENISA). W rezultacie ENISA stanie się główną organizacją zwalczającą cyberprzestępczość w UE, konsolidującą wysiłki organów ścigania i jednostek działających na rzecz ochrony prywatności w państwach członkowskich. Będzie również wspierać Komisję Europejską w rozwoju współpracy między członkami UE w kwestiach bezpieczeństwa cyberprzestrzeni oraz promować standardy zarządzania i zabezpieczania informacji i danych. Z powyższych powodów Polska stanęła przed wyzwaniem określenia fundamentów polityki kryptologicznej w zgodzie z rozwiązaniami unijnymi, przy jednoczesnym zabezpieczeniu interesów narodowych. Prace takie prowadzone są również w innych państwach unijnych. Warto przy tym zauważyć, że większość państw wysoko rozwiniętych spełnia następujące kryteria [3]: — posiada własną politykę kryptologiczną; — ustanowiło państwowe standardy i normy kryptograficzne; — wymaga implementacji własnych rozwiązań kryptograficznych dla sfery cywilnej i wojskowej; — posiada potencjał do samodzielnego zapewnienia interoperacyjności kryptologicznej w NATO i UE; — rozwija własne zdolności kryptoanalityczne; — posiada centrum kompetencji kryptologicznych. Wynika z tego konieczność oparcia fundamentów polskiej polityki kryptologicznej na następującej triadzie pojęciowej (KUW): — konsolidacji narodowych potencjałów naukowego i przemysłowego, — unifikacji rozwiązań kryptologicznych dla sektorów strategicznych, w tym zasad certyfikacji i akredytacji; — wymagań dotyczących zdefiniowanych norm i rozwiązań narodowych, a także przymusu ”polonizacji” rozwiązań zagranicznych. Uzyskanie pozytywnych efektów działań po zaakceptowaniu założeń KUW będzie zależało od wielu czynników, w tym: woli politycznej władz państwowych do kształtowania rynku oraz formułowania zamówień rządowych, a także konsolidacji pod auspicjami NCK, potencjału badawczego ośrodków naukowych kraju w dziedzinie kryptologii. W dniach 5–6 czerwca 2014 roku odbyła się na Wydziale Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego konferencja naukowa nt. Kryptografia i bezpieczeństwo informacji 2 , pod patronatem honorowym 2 20 kbi2014.mimuw.edu.pl Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku Uniwersytetu Warszawskiego, Narodowego Centrum Kryptologii oraz Narodowego Centrum Badań i Rozwoju. Stanowiła ona okazję do spotkania i wymiany poglądów przedstawicieli środowisk naukowo-badawczych, administracji publicznej i przemysłu w zakresie bezpieczeństwa teleinformatycznego. Konferencja dotyczyła współczesnych badań naukowych w dziedzinie kryptologii prowadzonych przez różne ośrodki badawcze w kraju, szeroko rozumianego problemu bezpieczeństwa informacji oraz rozwiązań praktycznych w dziedzinie walki z cyberprzestępczością [4], [5]. Tak szerokie postrzeganie znaczenia kryptologii w dziedzinie bezpieczeństwa cyberprzestrzeni i ochrony informacji staje się obecnie normą na świecie. Z tego względu, stopień zabezpieczenia państwowej infrastruktury teleinformatycznej przed atakami cybernetycznymi powinien być istotnym, ale nie jedynym czynnikiem związanym z rozwojem polskiej kryptologii w najbliższych latach. Jej rozwój powinien służyć zarówno siłom zbrojnym, służbom specjalnym, policji i strukturom antyterrorystycznym, jak i sektorom gospodarki o znaczeniu strategicznym, administracji publicznej oraz polskim obywatelom. Konsensus osiągnięty podczas konferencji wobec takiego wielostronnego rozumienia kryptologii wydaje się stanowić zaledwie pierwszy krok uczyniony w kierunku rzeczywistej konsolidacji polskich środowisk naukowych, przemysłowych i administracji publicznej w celu rozbudowy realnych środków bezpieczeństwa informacji i danych w państwie. Kolejnym, być może drobnym ale potrzebnym krokiem, mogłoby się stać stworzenie, funkcjonującej pod auspicjami NCK, platformy dyskusyjnej o narodowej kryptologii, która umożliwiałaby wymianę poglądów przedstawicieli polskiej nauki, przemysłu oraz rządu i administracji. Takie przedsięwzięcie miałoby przede wszystkim na celu ułatwienie współpracy pomiędzy władzami a ośrodkami badawczymi i przedsiębiorstwami oraz konsolidację i ukierunkowywanie wspólnych wysiłków na rzecz budowy polskiej kryptologii. Problemem polskiej kryptologii pozostaje bowiem to, że ze względu na długotrwały brak zainteresowania państwa budową narodowych rozwiązań kryptologicznych, badania w tej dziedzinie przyjęły charakter prac ściśle teoretycznych. Spowodowało to również rozluźnienie więzów między ośrodkami badawczymi a krajowym przemysłem związanym z kryptografią, zmagającym się z problemem braku zamówień rządowych na swoje produkty. Z kolei administracja publiczna, nie mając często wiedzy o rozwiązaniach krajowych, preferuje pozyskiwanie gotowych produktów zagranicznych, nie dbając przy tym zwykle o zabezpieczenie interesów narodowych poprzez uzyskanie praw do ich modyfikacji, „polonizacji” i in. 21 K. Bondaryk, J. Pomykała Ważnym przedsięwzięciem wspierającym przedstawioną powyżej inicjatywę jest powstanie czasopisma naukowego poświęconego kryptologii, prezentującego poglądy i prace naukowo-badawcze oraz produkty polskiego przemysłu. Warto przy tej okazji zadać pytanie o kompetencje środowisk naukowych w Polsce w zakresie kryptologii i bezpieczeństwa informacji. Wiele krajowych uczelni zarówno cywilnych jak i wojskowych posiada w swych programach nauczania odpowiednie przedmioty (wykłady, seminaria, laboratoria) z dziedziny kryptologii i bezpieczeństwa cybernetycznego. Problematyka kryptologiczna jest również dyskutowana podczas licznych, regularnie przeprowadzanych konferencjach naukowych, zarówno krajowych, jak i międzynarodowych3 . Materiały z jednej z takich konferencji, zorganizowanej przez Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego i objętej patronatem przez NCK, stanowią treść niniejszego numeru czasopisma. Ich lektura pozwala udzielić na zadane powyżej pytanie ostrożnie optymistycznej odpowiedzi. Jest bowiem tak, że przynajmniej w obszarze badań podstawowych w matematyce polskie ośrodki naukowe mają osiągnięcia, które zarówno ze względu na ich poziom jak i zakres, pozwalają z nadzieją patrzeć na przyszłość polskiej kryptologii. Dbając o kontynuację i rozwój tego kierunku badań podstawowych, stanowiących przecież fundament dla nowoczesnych rozwiązań z zakresu kryptografii oraz kryptoanalizy, trzeba jednak upomnieć się również o zacieśnienie więzów między ośrodkami naukowymi, krajowym przemysłem oraz administracją publiczną, a także zadbać o harmonijny rozwój badań kryptologicznych o charakterze technicznym, stosowanym, które zaowocowałyby równie wartościowymi pracami jak te, o których przeczytać można w niniejszym numerze czasopisma. Istotnym rezultatem przeprowadzonej konferencji jest podkreślenie wiodącej roli matematyki w zapewnianiu bezpieczeństwa informacji. Matematyka daje możliwości ścisłego zdefiniowania paradygmatów bezpieczeństwa informacji przy użyciu języka algorytmiki i pojęć modelowania matematycznego. Ponadto podstawą bezpieczeństwa wielu systemów kryptograficznych są głębokie problemy badawcze takich dziedzin matematyki jak teoria liczb czy geometria algebraiczna. Prowadzone w tych obszarach badania podstawowe na ogół wyprzedzają 3 22 Między innymi Central European Conference on Cryptology, ENIGMA, Cryptography and Security Systems Conference, Advanced Computer Systems, Międzynarodowa Konferencja Naukowa z tytułu rocznicy złamania Enigmy, Cyberprzestępczość i Ochrona Informacji i KBI2014. Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku o wiele lat ich zastosowania praktyczne. W celu skrócenia tego dystansu niezbędna jest ścisła współpraca matematyków i informatyków. Znaczenie metod teorii liczb i geometrii algebraicznej w kryptologii Ostatnie lata pokazują coraz to donioślejszą rolę teorii liczb i geometrii algebraicznej w dziedzinie kryptologii. Choć metody teorii krzywych eliptycznych nad ciałami skończonymi są przedmiotem badań kryptologicznych już od lat osiemdziesiątych ubiegłego stulecia, pojawiają się coraz to nowe problemy teoretyczne i obliczeniowe z nimi związane. Kryptosystemy eliptyczne i hipereliptyczne są niezwykle interesujące przynajmniej z dwu zasadniczych powodów. Po pierwsze ich złożoność obliczeniowa jest lepsza od analogicznych kryptosystemów opartych na tradycyjnej arytmetyce modularnej. To pozwala na taką implementację systemu, w której podobny poziom bezpieczeństwa jest zagwarantowany przez stosowanie znacznie krótszych kluczy kryptograficznych. Po drugie arytmetyka na krzywej eliptycznej pozwala na wykorzystanie (dzięki efektywnej konstrukcji iloczynów dwuliniowych) odpowiedniej struktury do uzyskania dodatkowych funkcjonalności systemów kryptograficznych. Przykładem jest wykorzystanie iloczynu dwuliniowego do ustanowienia klucza tajnego dzielonego przez trzy podmioty [6], (por. [7]) lub do stworzenia systemu szyfrowania asymetrycznego opartego na tożsamości [8]. Warto dodać, że te innowacyjne idee przyczyniły się do projektowania i upowszechnienia nie tylko kryptosystemów bazujących na tożsamości [9], lecz także kryptosystemów bezcertyfikatowych (patrz np. [10], [11]). Ten nurt znalazł w szczególności szerokie zastosowanie w kryptografii grupowej opartej na protokołach współdzielenia sekretu [12], [13], kryptosystemach bazujących na politykach dostępu [14], [15], a także systemach wzmacniania prywatności [16], [17], i bezpieczeństwa informacji klasyfikowanej bazujących na modelu ORCON [18]. Z drugiej strony warto podkreślić nową ideę kryptografii opartej na torusie [19] (ang. torus based cyptography). Przypomnijmy, że torus algebraiczny jest rozmaitością algebraiczną, która nad pewnym rozszerzeniem ciała podstawowego Fp jest produktem kartezjańskim określonej liczby kopii multyplikatywnej grupy modularnej Gm . Jest to więc uogólnienie grupy modularnej z działaniem zadanym przez funkcje wymierne, co pozwala w wielu przypadkach zmniejszyć złożoność działania mnożenia w grupie Fq∗ , gdzie q jest potęgą liczby pierwszej p. Inaczej mówiąc można zreduko23 K. Bondaryk, J. Pomykała wać działanie mnożenia w grupie Fq∗ do działania mnożenia w Fp∗ osiągając przy tym istotną korzyść obliczeniową. W tym kontekście szczególnego znaczenia nabierają badania dotyczące wydajności obliczeniowej generowania i funkcjonowania odpowiednich systemów kryptograficznych (por. [20], [21]). Rozwiązania derandomizacji ważnych algorytmów kryptograficznych zostały zaproponowane w [22], [23], [48]. Inny problem polega na zaprojektowaniu bezpiecznych i możliwie wydajnych obliczeniowo algorytmów i protokołów kryptograficznych. Takie protokoły mają na ogół naturę algebraiczną i są związane z trudnymi problemami obliczeniowej teorii liczb. Zwykle generowanie parametrów takich systemów sprowadza się do wyznaczenia pary liczb pierwszych (p, q) związanych z charakterystyką rozważanego ciała oraz rzędem i generatorem odpowiedniej podgrupy multyplikatywnej, w której problem logarytmu dyskretnego jest obliczeniowo trudny. W przypadku klasycznego protokołu ElGamala [24] jest to para odpowiednio dużych liczb pierwszych (p, q) spełniających warunek podzielności q|p − 1 oraz element g rzędu q w grupie Zp∗ . W przypadku protokołów wykorzystujących krzywe eliptyczne nad ciałem skończonym szukamy krzywej eliptycznej parametryzowanej liczbami (a, b) zadanej równaniem Weierstrassa E: y 2 = x3 + ax + b. W celu znalezienia odpowiedniej krzywej, tradycyjnie wykorzystuje się teorię mnożenia zespolonego (ang. CM method) otrzymując nieoczekiwanie dobrą złożoność heurystyczną odpowiednich algorytmów [25], [26]. Dalsze ciekawe wnioski wypływają z uogólnienia metody Cocksa-Pincha dla p-f (ang. pairing friendly) krzywych supereliptycznych mających genus równy 4 [27]. Zauważmy, że w przypadku systemów bazujących na arytmetyce krzywych eliptycznych metoda mnożenia zespolonego redukuje problem do znalezienia odpowiedniej krzywej E zadanej równaniem Weierstrassa w klasie krzywych o wyróżniku ∆ < 0 przy założeniu, że istnieje odpowiednia para liczb pierwszych (p, q) spełniających warunki: q|p + 1 − t (1) 4p − t2 = −∆f 2 (2) gdzie t jest śladem poszukiwanej krzywej E. Co więcej rozważając odpowiednią krzywą nad ciałem l = pn -elementowym można wykorzystać wzór Weila w celu wyznaczenia liczby punktów wymiernych krzywej E nad tym ciałem. Z drugiej strony w badaniu kryptosystemów z iloczynem dwuliniowym, kluczowym pojęciem jest stopnień zanurzenia k krzywej E/Fp (nad ciałem Fp ) względem q, gdzie q 24 Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku jest liczbą pierwszą dzielącą rząd E/Fp , będący z definicji rzędem p modulo q tj. minimalnym k spełniającym spełniającym podzielność: q|pk − 1 (3) Jeśli q > k to to powyższy warunek jest równoważny podzielności (patrz np. Lemat 2.4 pracy [28]): q|ϕk (p) (4) gdzie ϕk (x) jest k-tym wielomianem cyklotomicznym. Krzywe eliptyczne, które posiadają podgrupy dużego rzędu będącego liczbą pierwszą z odpowiednio małym stopniem zanurzenia są zwane powszechnie p-f krzywymi i odgrywają kluczowa rolę w kryptografii opartej na tożsamości i kryptosystemach bazujących na polityce dostępu. Dlatego celowe są badania dotyczące efektywnego znajdowania liczb pierwszych p i q spełniających warunki typu (3) lub (4) [29]. Jednym ze stosowanych w praktyce podejść jest ustalenie najpierw odpowiednio wielkiej liczby pierwszej q a następnie poszukiwanie p jako rozwiązania kongruencji ϕk (x) = 0(mod q). Liczbę pierwszą p leżącą w odpowiedniej klasie reszt znajdujemy wtedy deterministycznie i efektywnie obliczeniowo o ile najmniejsza liczba pierwsza w zadanym postępie mod q jest relatywnie mała. Tu z pomocą przychodzi analityczna teoria liczb i w szczególności metoda wielkiego sita, która odgrywa istotną rolę w badaniu rozmieszczenia zer odpowiednich L-funkcji Dirichleta w pobliżu prostej Re s = 1 [30], [31]. Wracając do kryptosystemów eliptycznych, z twierdzenia Hassego wynika, że wyróżnik ∆ krzywej E, spełniający równanie ∆f 2 = t2 − 4p jest ujemny wtedy i tylko wtedy gdy ∆f 2 = (N + 1 − p)2 − 4N < 0 (gdzie N jest rzędem krzywej E/Fp ). Zatem mamy tu do czynienia z problemem przedstawialności liczby m postaci m = 4p lub m = 4N przez formę kwadratową x2 + ∆y 2 , gdzie (−∆ jest wyróżnikiem krzywej E). Co więcej y jest tu zmienną regularną podczas gdy regularność (nieregularność) zmiennej x odpowiada nieregularności (regularności) parametru m. Rozmieszczenie rozwiązań odpowiedniej kongruencji x2 + ∆y 2 = 0 mod m z nieregularną zmienną x prowadzi do badania sum trygonometrycznych typu Kloostermana (por. [32]). Do ich szacowania wykorzystuje się teorię form modularnych i stowarzyszonych z nimi L-funkcji. Warto zauważyć, że sumy trygonometryczne w sposób naturalny pojawiają się przy badaniu ekwipartycji (mod 1) w sensie Weyla (por. [33]) ale także przy badaniu ekstraktorów losowości [34], [35], [36]. Teoria funkcji typu L stanowi jednak bezpośrednie wyzwanie dla współczesnej kryptografii na co wskazała 25 K. Bondaryk, J. Pomykała już praca [37], w której zaproponowano nowy typ funkcji jednokierunkowej zadanej przez ciąg wartości symbolu Kroneckera dla modułu d (charakteru rzeczywistego modulo 4d). Kontynuując tę ideę zaproponowano w [33] jej uogólnienie dla szerokiej klasy Selberga funkcji typu L. Szczególnie interesujące z obliczeniowego punktu widzenia są funkcje L wymiernych krzywych eliptycznych, których współczynniki aE (n) mogą być obliczone za pomocą wielomianowego algorytmu Schoofa. To ma ważną konsekwencję, a mianowicie jeśli E: y 2 = x3 + ax + b i (a, b) potraktować jako ziarno to ciąg binarny (aE (p1 )mod 2, aE (p2 )mod 2, . . .) zadaje eliptyczny generator pseudolosowy o dobrych własnościach kryptograficznych (patrz [33]) dla ciągu kolejnych liczb pierwszych p1 < p2 < p3 < . . .. Z drugiej strony zachowanie L-funkcji krzywych eliptycznych w punkcie symetrii równania funkcyjnego dla zadanej ich rodziny jest ze względu na głęboką hipotezę Bircha i Swinnertona-Dyera [38] związane z ich średnią jej rangą. W tym kierunku stosowne badania dla szerokiej klasy funkcji typu L przeprowadzono w pracach [39], [40]. Klasyczne L-funkcje Dirichleta pojawiają się także w kryptologii w związku z wydajnością obliczeniową kryptosystemów asymetrycznych, a także redukcją problemu faktoryzacji do problemu logarytmu dyskretnego w grupie Zn∗ . Kluczowe znaczenie odgrywa tu pojęcie B-wykładnika (tj. wykładnika podgrupy Zn∗ generowanej przez liczby nie przekraczające B). Dla liczb pierwszych n problem znajdowania małego generatora Zn∗ (por. [41]), jest do dziś przedmiotem intensywnych badań dotyczących gęstości liczb pierwszych o zadanym najmniejszym pierwiastku pierwotnym (patrz [42]). Liczby naturalne n, których redukcje modulo liczby pierwsze p, (p|n) mają B-wykładniki odległe od p − 1 (w sensie multyplikatywnym) o co najmniej d nazywamy (B, d)-wyjątkowymi. W pracy [31] udowodniono ich górne ograniczenie jako funkcji B i d wykorzystując najlepsze znane twierdzenia gęstościowe dla zer odpowiednich L-funkcji Dirichleta. Liczby te okazują się też mieć kluczowe znaczenie dla badania deterministycznej redukcji problemu faktoryzacji do obliczania wartości funkcji Eulera φ(n) (por. [43]). Z drugiej strony liczby (B, d)-wyjątkowe są tymi, które powodują, że redukcja faktoryzacji n do obliczania logarytmu dyskretnego w Zn∗ nie jest wielomianowa (por. [44], [45], [49]). Reasumując, badania w dziedzinie teorii liczb i geometrii algebraicznej stanowią obecnie matematyczny fundament i tym samym kluczowe wyzwanie dla współczesnej kryptografii asymetrycznej. Duży potencjał badawczy polskich środowisk naukowych w tych dziedzinach stanowi silną przesłankę do budowania na nim polskiej kryptologii w oparciu o doświadczenia implementacyjne polskich uczelni technicznych (patrz np. [46], [47]). 26 Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku Od wielu lat istnieje współpraca naukowa w ramach wspólnego seminarium badawczego z kryptologii przedstawicieli Instytutu Matematyki Wydziału MIMUW i Zakładu Podstaw Telekomunikacji, Wydziału Telekomunikacji i Technik Informacyjnych Politechniki Warszawskiej, a od roku także z przedstawicielami Instytutu Matematyki PAN w Warszawie. Obecna rozszerzona formuła współpracy polega między innymi na organizowaniu cyklu otwartych seminariów nt. zastosowań matematyki w kryptologii, która obejmuje trzy główne tematy: matematyczne aspekty kryptografii, teoretyczne i praktyczne problemy obliczeniowe w kryptologii oraz bezpieczeństwo informacji. Poza zaproszeniami kierowanymi do prelegentów z różnych ośrodków badawczych kraju seminarium jest okazją do wspólnych konsultacji przedstawicieli nauki, przemysłu i administracji publicznej pod auspicjami Narodowego Centrum Kryptologii. Konferencja KBI2014 pokazała potrzebę dalszego rozwijania i rozszerzenia tej współpracy do regularnych spotkań kryptologicznych i konferencji naukowych z udziałem przedstawicieli jednostek badawczych, przedsiębiorców oraz administracji publicznej, pod patronatem Narodowego Centrum Kryptologii. Tak szeroka konsultacja społeczna stwarza nowy impuls do realizacji długofalowej polityki kryptologicznej w Polsce na najbliższe lata oraz rozwoju potencjału naukowego na rzecz budowy systemu bezpieczeństwa informacji [50]. Literatura [1] http://www.bbn.gov.pl/pl/wydarzenia/5536,Doktryna-cyberbezpieczenstwa-dobre-praktyki-i-wspolpraca-publiczno-prywatna.html. [2] http://wyborcza.biz/biznes/1,101558,15673560,Cyberszable i cyberczolg czyli jak na ataki hakerow.html [3] K. Bondaryk, Potrzeba polityki kryptologicznej w Polsce, referat zaproszony konferencji kryptografia i bezpieczeństwo informacji, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [4] B. Hołyst, Wiktymologiczne aspekty cyberprzestępczości, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [5] J. Gawinecki, Zagrożenia cyberprzestępczości a kryptografia narodowa, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. 27 K. Bondaryk, J. Pomykała [6] A. Joux, A one round protocol for tripartite Diffie-Hellman, Journal of Cryptology 17 (4): 263–276 (2004). [7] W. Diffie, M. Hellman, New directions in cryptography, IEEE Transactions on Information Theory 22 (6): 644–654. (1976). [8] D. Boneh, M. Franklin, Identity-Based Encryption From the Weil Pairing, SIAM Journal on Computing, 2003, t. 32, nr. 3, p. 586–611. [9] J. Pomykała, ID-based digital signatures with security enhanced approach, J. Telecommunications and Information Technology 4, s. 146–153, 2009. [10] M. Girault, Self-certied public keys, Advances in Cryptology: Eurocrypt’91, p. 490–497, Springer, 1991. [11] J. Pejaś, Schematy podpisu cyfrowego z jawnymi I niejawnymi certyfikatami w infrastrukturze z wieloma urzedami zaufania, rozprawa habilitacyjna, Szczecin 2013 IEEE Standard for Identity-Based Cryptographic Techniques using Pairings, Std 1363TM -2013. [12] M. Kula, Matroidy I dzielenie sekretów, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [13] J. Derbisz, Wielowymiarowe rozszerzenia schematów podziału sekretu, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [14] W. Bagga, S. Crosta, R. Molva, Policy-based Encryption Schemes from Bilinear Pairing, Proc. of the 2006 ACM Symposium on information, computer and communication security, ACM Press, pp. 368–368, New York 2006. [15] A. Pragacz, Ogólne struktury dostępu z hierarchią, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [16] B. Hołyst, J. Pomykała, P. Potejko (red.), Nowe techniki badań kryminalistycznych a bezpieczeństwo informacji, Wyd. PWN, Warszawa 2014. [17] K. Durnoga, J. Pomykała, Racjonalne generowanie systemów kryptograficznych, to appear. [18] B. Hołyst, J. Pejaś, J. Pomykała (red.), Cyberprzestępczość i bezpieczne systemy zarządzania informacją klasyfikowaną, wyd. WSM, Warszawa 2013. [19] K. Rubin, A. Silverberg, Torus-Based Cryptography, CRYPTO 2003: 349–365. 28 Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku [20] M. Grześkowiak, Metody generowania liczb pierwszych w kryptosystemach z kluczem publicznym, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [21] J. Pomykała, Teoria liczb w kryptologii, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [22] M. Skałba, Derandomizacja wybranych algorytmów kryptograficznych, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [23] B. Źrałek, Rozszerzony algorytm Pohliga-Hellmana i jego zastosowanie do faktoryzacji, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [24] T. A. Elgamal , A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Transactions on Information Theory 1985, t. IT-31, nr. 4, s. 469–472 or CRYPTO 84, s. 10–18, Springer-Verlag. [25] Z. Jelonek, Krzywe eliptyczne z zadanym pierścieniem endomorfizmów i podgrupą ustalonego rzędu, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [26] R. Dryło, Konstruowanie krzywych hipereliptycznych genusu 2 z małym stopniem zanurzeniowym, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [27] A. Dąbrowski, Metoda Cocksa-Pincha dla pewnych klas krzywych algebraicznych, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [28] A. K. Lenstra, Using cyclotomic polynomials to construct efficient discrete logarithm cryptosystems over finite fields, ACISP’ 97 Springer-Verlag 1997. [29] M. Grześkowiak, Algorithms for relatively cyclotomic primes, Fundamenta Informaticae 125 (2013), pp. 161–181. [30] J. Pomykała, J. A. Pomykała, Systemy informacyjne, modelowanie i wybrane techniki kryptograficzne, MIKOM, Warszawa 1999. 29 K. Bondaryk, J. Pomykała [31] J. Pomykała, On q-orders in primitive modular groups, Acta Arithmetica, 166 4 (2014) p. 397–404. [32] J. Pomykała, On the greatest prime divisor of quadratic sequences, Sém. Théor. Nombres Bordeaux 3(2), p. 361–375, 1991. [33] J. Kaczorowski, Zastosowanie funkcji L w kryptologii, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskieg. [34] Y. Dodis, X. Li, T. D. Wooley, D. Zuckerman, Privacy amplification and non-malleable extractors via character sums, In: Proceedings of the 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science, FOCS ’11, pages 668–677,IEEE Computer Society. [35] K. Durnoga, Niekowalne ekstraktory losowości, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [36] K. Durnoga, B. Źrałek, On randomness extractors and computing discrete logarithms in bulk, submitted. [37] M. Anshel, D. Goldfeld, Zeta functions, one-way functions, and pseudorandom number generators, Duke Math. J. 88(1997), 371–390. [38] B. J. Birch, H. P. F. Swinnerton-Dyer, Notes on elliptic curves. II, J. Reine Angew. Math. 218 (1965), p. 79–108. [39] A. Dąbrowski, J. Pomykała, Nonvanishing of motivic L-functions, Math. Proc. Cambridge Philos. Soc., 130(2), pp. 221–235, 2001. [40] A. Perelli, J. Pomykała, Averages of twisted elliptic L-functions, Acta Arith, 80, pp. 149–163, 1997. [41] T. Adamski, Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania pierwiastków pierwotnych modulo n, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [42] A. Paszkiewicz, Badania własności liczb pierwszych i wielomianów nieprzywiedlnych pod kątem zastosowania w telekomunikacji, Rozprawa habilitacyjna, Politechnika Warszawska, Warszawa 2012. [43] J. B. Conrey, Problem 8 in: Future directions in algorithmic number theory, The American Institute of Mathematics, 2003, http://www.aimath.org [44] J. Pomykała, B. Źrałek, On Reducing Factorization to the Discrete Logarithm Problem Modulo a Composite, Computational Complexity, Volume 21, Number 3, p. 421–429, Springer-Verlag, 2012. 30 Nowe wyzwania dla polskiej kryptologii drugiej dekady XXI wieku [45] J. Pomykała, (d, B)-exceptional numbers with applications to cryptology, PTM-DMV Mathematical Conference, Poznań 2014. [46] J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko, Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów i protokołów kryptograficznych, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [47] P. Bęza, J. Gocławski, P. Mral, D. Waszkiewicz, P. Sapiecha, Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU, referat na konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. [48] J. Pomykała, B. Źrałek, Dynamic group tnreshold signature based onderandomized Weil pairing computation, Metody Informatyki Stosowanej, 4/2008 (t. 17) s. 183–194 [49] J. Pomykała, On exponents of modular subgrous generated by small intervalls, (submitted) [50] L. Grabarczyk, Rozwój potencjału naukowego na rzecz budowy systemu bezpieczeństwa informacji, referat zaproszony konferencji pt. „Kryptografia i bezpieczeństwo informacji”, Warszawa 5–6 czerwiec 2014, Wydział Matematyki Informatyki i Mechaniki Uniwersytetu Warszawskiego. NEW CHALLENGES FOR POLISH CRYPTOLOGY IN SECOND DECADE OF XXI CENTURY Abstract. In this paper we analyze the challenges for the twenty-first century Polish cryptology with special emphasis on the needs of the national cryptology and the role they perform in the selected areas of mathematics such as number theory and algebraic geometry. In particular, we stress the role and security of bilinear based cryptosystems, as well as the problems of computational complexity of deterministic algorithms important for cryptology. We pointed out the importance of L-functions in modern cryptography and cryptoanalysis. Keywords: Polish Cryptology Policy, information security, efficiency and functionality of cryptosystem, cryptoanalysis and hard computational problems, derandomization, L-functions, elliptic curves, CM method, B-exceptional numbers, equiparition mod 1, one-way functions, policy based cryptosystems, algebraic geometry, number theory WIKTYMOLOGICZNE ASPEKTY CYBERPRZESTĘPCZOŚCI Brunon Hołyst Uniwersytet Łódzki Streszczenie. W pracy analizowana są zjawiska towarzyszące rozwojowi Internetu ze szczególnym uwzględnieniem cyberprzestępczości oraz cyberterroryzmu. Omówione zostały także aspekty psychologiczne i wiktymologiczne związane z przestępczością w cyberprzestrzeni. Przeprowadzono analizę zagrożeń i ryzyka z uwzględnieniem czynników podmiotowych i sytuacyjnych. Słowa kluczowe: cyberprzestępczość, wiktymologia, cyberprzestrzeń, oprogramowanie złośliwe, ataki sieciowe, technologie informatyczne, ofiary cyberprzestępczości, psychologiczne aspekty cyberprzestępczości, edukacja sieciowa, internet a relacje interpersonalne, tożsamość wirtualna W ostatnich latach jesteśmy świadkami znaczących zmian technologicznych obejmujących różne sfery życia człowieka. Komputeryzacja i powstanie globalnej sieci pociągają za sobą różnorodne konsekwencje, również te niepożądane. I tak w miarę rozwoju internetu i powstania nowych rodzajów usług pojawiły się także rozmaite zjawiska o charakterze patologicznym czy wręcz przestępnym. Czyny te mają specyficzne cechy odróżniające je od innych przestępstw. Sygnalizuje się problemy dotyczące dwóch podstawowych zagadnień, a mianowicie: zakresu osób, którym można przypisać odpowiedzialność karną, oraz kwestii miejsca popełnienia przestępstwa. Podstawowe znaczenie praktyczne ma w przypadku przestępczości internetowej nakreślenie granic stosowania polskiej ustawy karnej i przypisania na tej podstawie odpowiedzialności za czyny, popełniane z wykorzystaniem internetu. Kodeks karny z 1997 r. objął swym zasięgiem przestępstwa komputerowe i internetowe. Przyjmuje się, iż przestępstwa internetowe to takie, w przypadku których możliwości oferowane przez internet ułatwiły sprawcy realizację zamierzonego czynu przestępnego albo jego poszczególnych stadiów. O przestępczości internetowej mówi się więc, gdy bez użycia internetu nie mogłoby dojść do popełnienia określonego czynu lub jego dokonanie byłoby znacznie bardziej utrudnionej [1]. Internet charakteryzuje się brakiem scentralizowanej kontroli, ogólnoświatowym zasięgiem i powszechną dostępnością. Nieliczne tylko państwa nie mają serwerów podłączonych do sieci. Nad poszczególnymi fragmentami sieci sprawują kontrolę administratorzy określonych serwerów, natomiast nikt nie kontroluj całości sieci. O dy- B. Hołyst namice rozwoju sieci zadecydowały możliwości, które oferuje, stanowiące wynik wskazanych cech. Ogromna liczba danych, łatwość publikowania, brak kontroli, a także zasięg geograficzny i struktura sieci sprawiły, że internet zaczął być wykorzystywany do popełniania przestępstw, jednocześnie stwarzając trudności dla wymiaru sprawiedliwości w ich ściganiu. W przypadku przestępstw internetowych przypisanie odpowiedzialności karnej wymaga dokonania oceny, czy i jaki czyn zabroniony popełnia dana osoba, jak również ustalenia, czy w danym przypadku do określenia odpowiedzialności karnej znajdzie zastosowanie polski Kodeks karny. Najpierw określa się więc, czy i przez kogo popełniony został czyn zabroniony, a później dopiero bada się, czy sprawca tegoż czynu może ponieść odpowiedzialność na podstawie zasady terytorialności względnie zasady personalnej, zasady podmiotowej obostrzonej lub zasady represji uniwersalnej [1]. Budowa społeczeństwa informatycznego spowodowała ujemny skutek informatyzacji w postaci cyberterroryzmu. Wyobrażenia terrorystów o potajemnym wdzieraniu się do systemów komputerowych w celu wprowadzenia wirusów, kradzieży wrażliwych informacji, zniekształcenia lub usunięcia stron internetowych albo wyłączenia ważnych służb publicznych niepokoją personel do spraw bezpieczeństwa komputerowego na całym świecie. Głośne ataki na strony e-handlowe Yahoo! i e-Bay w 1999 r. czy kontynuowana cybernetyczna święta wojna (dżihad) przeciw izraelskim i amerykańskim stronom w sieci przez pakistańskich hakerów w ramach pomocy palestyńskiej intifadzie to właśnie przykłady ceberterroryzmu. Wiele informacji sieciowych ma wpływ nie tylko na rodzaje celów i broni wybieranych przez terrorystów, ale również na metody działania ugrupowań terrorystycznych i strukturę ich organizacji. Kilka z tych najbardziej niebezpiecznych organizacji wykorzystuje technikę informacyjną: komputery, oprogramowanie, urządzenia telekomunikacyjne i internet, w celu lepszej organizacji i koordynacji rozproszonych działań. Podobnie jak wiele korporacji wykorzystujących internet do skuteczniejszych i bardziej elastycznych działań, terroryści wprzęgają siłę informacji technicznej (IT) do tworzenia nowych operacyjnych doktryn i form organizacyjnych. I tak jak firmy prywatne tworzą sojusznicze sieci w celu zaopatrzenia klientów w komplet usług, tak ugrupowania terrorystyczne odchodzą od hierarchicznej biurokracji, stają się zdecentralizowane i często zmieniają sieć ugrupowań złączonych wspólnymi celami. Powstanie powiązanych sieciowo ugrupowań terrorystycznych stanowi część szerszej koncepcji, określanej przez J. Arquillę i D.F. Ronfeldta jako wojna sieciowa (netwar) [2]. Pojęcie to odnosi się do wyłaniającego się 34 Wiktymologiczne aspekty cyberprzestępczości modelu konfliktów i przestępczości w płaszczyźnie społecznej, obejmującego przedsięwzięcia niewystępujące w tradycyjnej wojnie. W modelu tym uczestnicy działają w małych rozproszonych grupach, które komunikują się, koordynują akcje oraz prowadzą kampanie przez internet bez centralnego dowództwa [3]. Wskazuje się, iż przestępczość związana z elektronicznym przetwarzaniem in formacji, określana w literaturze fachowej mianem przestępczości komputerowej, pojawiła się wraz z powstaniem techniki komputerowej ok. 1940 r. i jej rozwojem [4]. Jedną z najgroźniejszych jej odmian, jaka obecnie funkcjonuje w sieciach komputerowych, budząc zaniepokojenie wśród właścicieli systemów i sieci komputerowych, jest tzw. hakerstwo. Liczba dokonywanych w ostatnim czasie włamań komputerowych (określanych mianem przestępczości nowych czasów) związanych bezpośrednio z hakerstwem znacząco wzrosła. Hakerstwo jako zjawisko subkulturowe jest najczęściej spotykane wśród szczególnie utalentowanej i zainteresowanej nowoczesnymi technologiami młodzieży obytej z techniką komputerową. Jednak nie jest domeną wyłącznie tej kategorii osób, gdyż czynów hakerskich dopuszczają się także zawodowi informatycy. Aktywność tego rodzaju pozostaje w sferze zainteresowań zorganizowanych grup przestępczych o charakterze mafijnym, a przykładem może być działalność rosyjskich złodziei komputerowych, którzy dzięki swoim umiejętnościom potrafią się włamać za pośrednictwem internetu do każdego systemu komputerowego, jeżeli tylko znajdą się tam dane, jakich potrzebują ich mocodawcy. Najczęściej wykonywanymi czynnościami rosyjskich hakerów są kradzieże znacznych kwot pieniędzy z banków amerykańskich. Dzięki fikcyjnym firmom, utworzonym specjalnie w tym celu, w jednej z tzw. oaz finansowych dokonują transferu ich do Rosji, gdzie mafia rosyjska wykorzystuje je na potrzeby swojej działalności. Szacuje się, iż chodzi o kwoty rzędu setek milionów dolarów. Rosyjskie mafie wynajmują nie tylko hakerów, którzy łamią systemy zabezpieczeń w firmach lub innych instytucjach dla zdobycia potrzebnych im danych. Odnotowuje się także wypadki, kiedy takich działań dokonują hakerzy w celu zaspokojenia potrzeby uznania i zyskania podziwu w środowisku. W efekcie rozwoju systemów informatycznych wystąpiły nowe, nieprzewidywalne niegdyś zagrożenia. Pojawił się nawet specjalny termin „wojna informatyczna określający techniki ataku na systemy komputerowe. W świetle tych faktów bezpieczeństwo systemów jest podstawowym problemem naszych czasów. Cyberprzestrzeń łączy tysiące sieci komputerowych na całym świecie, dlatego atak destabilizujący na systemy komputerowe dotknąłby miliony komputerów. Wskazuje się, że wojna informatyczna 35 B. Hołyst (mająca postać: szpiegostwa przemysłowego, ataków hakerów, programów niszczących i wirusów, podsłuchu danych, łamania szyfrów, ataków na prywatność oraz ataków z użyciem bomb mikrofalowych i broni magnetycznej) kosztuje USA od 100 do 300 mld dolarów rocznie [5]. Wskazuje się następujące zagrożenia [6]: – FBI szacuje, że rocznie traci w wyniku ataków na swoje sieci ok. 7,5 mld do larów, – DISA (Defense Information SecurityAgency) – specjalna agencja Departamentu Obrony USA (DoD) stwierdziła, że aż 88% komputerów w sieci DoD jest pe netrowanych, a w 96% przypadków włamań ich sprawcy nie zostają wykryci, – CERT (Computer Emergency Response Team) – specjalny zespół reagujący na zdarzenia w sieci szacuje, że rocznie liczba włamań do sieci wzrasta o 75%, – rosyjscy hakerzy włamali się przez sieć do kont Citibanku, skąd nielegalnie przelali na inne konta ok. 11,6 mln dolarów, – program SATAN (Security Administrator Tool for Analyzing Networks), rozprowadzany od 1995 r. darmowo w internecie, służący administratorom do sprawdzania bezpieczeństwa ich serwerów, stał się wytrychem w rękach włamywaczy. Przeprowadzona w 1996 r. przez FBI i CSI (Computer Security Institute) analiza bezpieczeństwa systemów sieciowych 428 organizacji w USA wykazała, że: – 41% badanych potwierdziło włamanie do ich sieci lub użycie zasobów sieci przez niepowołane osoby; 37% stanowiły instytucje medyczne, a 21% – instytucje finansowe (dane te wskazują, jakie informacje są najcenniejsze dla Amerykanów); – szpiegostwo gospodarcze było przyczyną 50% ataków (chodzi o wykradanie konkurencji informacji o charakterze ekonomicznym), – 50% badanych nie miało opracowanych zasad polityki bezpieczeństwa informacji, a z pozostałych 50% – połowa ich nie przestrzegała, – 20% badanych nie wiedziało, czy ich sieci były atakowane, czy też nie. W badaniach przeprowadzonych w 1996 r. w 1300 firmach USA i Kanady stwierdzono, że: – 54% badanych firm poniosło straty w wyniku włamań, – 78% firm odnotowało straty z powodu wprowadzenia wirusów komputerowych, 36 Wiktymologiczne aspekty cyberprzestępczości – 42% firm zarejestrowało niszczące ataki z zewnątrz, a skutki destabilizacji systemu okazują się bardziej dotkliwe niż włamanie do systemu, – 25% firm straciło w wyniku włamań ponad 250 tys. dolarów, a 15% – ponad 1 mln; większość firm nie potrafiła określić wielkości wyrządzonych szkód. Większość ataków jest dokonywanych wewnątrz firm, a ich sprawcami są pracownicy, którzy wykradają informacje lub bezprawnie dostają się do systemu. Dokonanie ataku ułatwia poczucie anonimowości. Specjalne techniki stosowane przez włamywaczy opierają się przede wszystkim na fakcie nieświadomości użytkowników systemów komputerowych, iż te systemy stanowią obiekt ataków. Cechą przestępstwa hakerstwa jest to, że miejsce, gdzie jest ono popełniane, prawie nigdy nie jest miejscem źródła zagrożenia. Narzędziem doskonałym w takich wypadkach jest sam komputer, podłączony do internetu i wyposażony w odpowiednie oprogramowanie. Wyróżniono dwa sposoby przeprowadzania ataków na systemy komputerowe [4]: – techniczne, dokonywane dzięki wiedzy informatycznej, jaką posługuje się sprawca takiego przestępstwa, a polegające na wykorzystywaniu siły i oprogramowania posiadanego komputera, – socjotechniczne, które w gruncie rzeczy polegają na zdobyciu określonej wiedzy na temat atakowanej firmy lub innego „opracowywanego” celu ataku, aby ją następnie wykorzystać do dokonania ataku sposobami informatycznymi. W tym celu potencjalny sprawca zdobywa dane na temat atakowanej instytucji, podając się za jednego z jej pracowników i prosząc o podanie mu hasła dostępu do sieci, ponieważ je zapomniał, bądź też przeprowadza promocję jakiegoś produktu firmy komputerowej, pozostawiając na dyskietce próbkę programu komputerowego z prośbą o jego przetestowanie. W ten sposób w sieci komputerowej jest umieszczany program, za pomocą którego możliwe jest następnie wdarcie się intruza do sieci i pokonanie istniejących w niej zabezpieczeń. W każdym przypadku haker zmierza do przejęcia hasła administratora sieci, gdyż to zapewnia mu bezpośredni dostęp do powłoki programu operacyjnego pracującego w sieci i przejęcie nad nią kontroli. Według cytowanego autora ataki na sieci i systemy komputerowe mają za zadanie zdobycie odpowiednich informacji poprzez działania polegające na: – przerwaniu, czyli zniszczeniu części systemu i spowodowaniu jego niedostępności, 37 B. Hołyst – przechwyceniu, co oznacza nic innego jak atak na poufność przesyłanych in formacji bądź danych jedną z możliwych metod – czyli przez podsłuch, – modyfikacji, polegającej na zdobyciu dostępu i przechwyceniu danych oraz na zmianie pliku z danymi, – podrobieniu, tj. ataku na autentyczność za pomocą wprowadzenia fałszywych informacji. Podstawowe rodzaje przestępczości komputerowej polegają przede wszystkim na wykorzystaniu technicznych możliwości, jakimi dysponuje komputer oraz odpowiednie oprogramowanie, ale także na zbieraniu i stosowaniu uzyskanych informacji w prowadzonym ataku na określoną instytucję czy podmiot gospodarczy. Działania takie podlegają karaniu, jak każcie inne przestępstwo pospolite, jednak specyfika dokonywanych w ten sposób przestępstw oraz sposób zbierania materiału dowodowego na potrzeby prowadzonego postępowania wyjaśniającego sprawiają dodatkową trudność organom ścigania i wymiaru sprawiedliwości. Wnikając do sieci, sprawcy ściągają wiele użytecznych dla siebie programów. Kod znanych programów może być jednak podmieniony lub mogą być dołączane do nich podprogramy o wrogim działaniu, takie jak [6]: – robak (worm) – jego celem jest powielanie się w komputerach całej sieci. Niezliczona liczba kopii takiego programu powoduje przepełnienie pamięci komputera, a w rezultacie – dezorganizację pracy w całym systemie, – wirus – w odróżnieniu od robaka spokojnie drzemie ukryty w programie dopóty, dopóki nie zostanie uruchomiony. Po uruchomieniu atakuje system w mniej lub bardziej groźny sposób, osłabiając jego działanie i bezpieczeństwo, – koń trojański – jest to pozornie użyteczny program, zwykle uruchamiany przez specyficzne dane lub właściwe słowo w dokumencie. Służy przyszłemu włamywaczowi do zdobywania określonych informacji. W pewnych przypadkach program ten powoduje automatyczny wysyłania e-maili zwrotnych z cennymi danymi do jego autora, który później wykorzysta je podczas próby ataku; – bomba logiczna – uruchamia się w określonym czasie (jest nim np. pewna data lub kluczowe słowo) i wpływa destrukcyjnie na system, – wrogi aplet Javy – program napisany w języku Java, który jest podstawowym narzędziem programowania w internecie – może zawierać w sobie podprogram o destrukcyjnym działaniu. Podczas ściągania dokumentów i uruchamiania programów w tej technologii atakuje wybrane stacje mimo zabezpieczeń na serwerach sieci. 38 Wiktymologiczne aspekty cyberprzestępczości Zazwyczaj głównym obiektem ataku jest główny serwer sieci, na którym znajdują się wszystkie informacje o atakowanym systemie. Atak jest przeprowadzony w różnych kierunkach w celu stwierdzenia istnienia luk bezpieczeństwa w oprogramowaniu pracującym na serwerze. Luki te są zwykle wynikiem błędów w oprogramowaniu, konfiguracji systemu czy protokołach transmisji danych. Wyróżnia się następujące rodzaje ataków: – zgadywanie haseł, stanowiące podstawową metodę, którą zwykle stosują hackerzy; polega ona na zdobywaniu haseł chroniących dostęp do serwera. W tym celu używa się specjalnych programów do ich łamania (tzw. crack), zawierających słowniki różnojęzyczne. Programy te podczas próby zdobycia dostępu do systemu automatycznie podstawiają kolejne wyrazy ze słowników aż do osiągnięcia skutku. Hasła są z reguły proste: najczęściej imię użytkownika konta jest nazwa konta, a zatem zadanie nie jest trudne. Często niektóre konta w ogóle nie są chronione hasłami, – maskaradę, polegającą na tym, iż po zdobyciu informacji o sieci atakujący może się podszyć pod jeden z komputerów, któremu serwer sieci „ufa” (przez podanie jego numeru IP jako swojego), i w ten sposób może się do niego dostać. Atakujący może np. wysłać dane ze sfałszowanym adresem poczty elektronicznej, które zostaną przez serwer przyjęte. W danych tych może być ukryty koń trojański, który uruchomi program przeszukujący dysk serwera, odnajdzie plik z kontami i hasłami użytkowników i wyśle je e-mailem zwrotnym do fałszywego nadawcy. Atakujący może podszyć się także pod adres serwera www, z którego atakowany serwer ściąga informację. Atakujący przekazuje atakowanemu prośbę o przesłanie żądanej strony www i dostarcza ją prawdziwemu adresatowi. W ten sposób można oszukiwać np. firmę inwestującą na giełdzie, podając fałszywe wyniki i w konsekwencji doprowadzić ją do bankructwa, – podsłuch, polegający na tym, iż atakujący stosuje monitoring ruchu w sieci i przechwytuje transmisję pomiędzy poszczególnymi komputerami. Przechwycenie transmisji pozwala zdobyć hasło użytkownika, który loguje się właśnie do serwera, a następnie podszyć się pod niego i zdobyć dostęp do wybranego komputera w sieci, – szukanie luk, wyrażające się w poszukiwaniu słabych stron w systemie zabezpieczeń i stanowiące podstawowy cel ataku przestępców. Luki te są wynikiem błędów w oprogramowaniu lub konfiguracji systemu. Atakujący posługuje się niekiedy specjalnymi skanerami internetowymi – programami sprawdzającymi wybrany system pod kątem istnienia 39 B. Hołyst owych luk. Najbardziej znanym skanerem jest program Satan, napisany specjalnie dla administratorów do sprawdzenia poziomu bezpieczeństwa ich serwerów, – blokowanie serwisów, polegające na destabilizowaniu sieci przez wyłączanie na serwerze internetu takich serwisów jak poczta elektroniczna. Atak polega na wysyłaniu potoku informacji powodujących przeładowanie pamięci serwera, a w konsekwencji jego destabilizację. Jeden z najbardziej znanych ataków tego typu polega na wysyłaniu dużej liczby pakietów inicjujących połączenia dla wybranej usługi (np. poczty elektronicznej). Serwer nie nadąża za realizacją połączeń i blokuje dostęp do danej usługi. W ten sposób hakerzy mogą sabotować działanie poczty elektronicznej na serwerach dostawców internetu, – socjotechnikę, oznaczającą w żargonie hakerskim manipulowanie ludźmi w taki sposób, aby ujawnili poufne informacje ułatwiające włamanie do systemu komputerowego. Przed dokonaniem ataku na wybraną sieć atakujący przeprowadza specjalny wywiad na temat wybranej firmy o: osobach w niej zatrudnionych, konfiguracji sieci, zasobach systemu, hasłach użytkowników itp. Może też wykorzystywać element zaskoczenia, np. dzwoniąc do administratora sieci, przedstawiając się jako szef jednego z działów i prosząc o zmianę hasła swojego konta. Wielu użytkowników systemu zapisuje swoje hasła na kartkach i chowa je pod klawiaturą lub do szuflady, a czasem nakleja na monitor komputera. Haker, podając się za pracownika serwisu, może te kartki łatwo odnaleźć. Inny sposób polega na dokładnym przeglądaniu za wartości śmietników znajdujących się na zapleczach firm, gdzie czasami można znaleźć np. stare notesy z telefonami i hasłami, rejestry zatrudnionych, dane techniczne o sprzęcie komputerowym stanowiące cenne źródło informacji o firmie, – terroryzm sieciowy, polegający na tym, iż różne organizacje terrorystyczne szantażują jakąś firmę, grożąc zniszczeniem danych lub destabilizacją systemu. W przypadku instytucji finansowej lub laboratorium badawczego, gdzie sieć zarządza wszystkimi procesami, problem ten nabiera wielkiej wagi. Współcześnie istnieją narzędzia, za pomocą których można zdezorganizować pracę całego systemu informatycznego bez wchodzenia do niego i bez odcinania zasilania. Chodzi o tzw. bomby mikrofalowe generujące duży impuls fali elektromagnetycznej o odpowiedniej częstotliwości, powodujący zakłócenie i destabilizację pracy wszystkich urządzeń elektronicznych. Taka bomba, znajdująca się w neseserze terrorysty (który np. jako biznesmen podejmuje pieniądze w banku), może w jednej chwili – nie budząc żadnych podejrzeń – zdezorganizować bankowy system informacyjny. 40 Wiktymologiczne aspekty cyberprzestępczości Wyróżnia się pięć podstawowych grup włamywaczy [6]: – turystów, których celem jest zdobycie dostępu do czyjegoś konta, aby rozpocząć wędrówkę po internecie, – wandali, dążących do zniszczenia w systemie czegokolwiek bądź dla zabawy, bądź w określonym celu, np. sformatowania dysku, wprowadzenia wirusa lub wrogiego appletu Jayy, zmiany stron www, – zdobywców, których celem jest wejście każdym możliwym sposobem do systemu, aby pokazać swoje umiejętności, choć zazwyczaj czynią to przez złamanie systemu zabezpieczeń, – szpiegów, wchodzących do systemu w konkretnym celu, np. wykradzenia in formacji lub destabilizacji systemu, – cyberterrorystów, którzy, stosując specjalne techniki, destabilizują pracę systemów informatycznych; najczęściej szantażują wybrane firmy, żądając ogrom nych okupów. Wykorzystując zarówno luki bezpieczeństwa w systemach, w których pracują serwery internetu, błędy w protokołach transmisji danych i konfiguracji serwerów www, jak również destabilizując systemy zabezpieczeń, hakerzy dążą do zdobycia dostępu do informacji w wybranej sieci przez internet. Wszelkie informacje o metodach włamań znajdują się w sieci, a hakerzy wymieniają się doświadczeniami na specjalnych, zamkniętych listach dyskusyjnych. Zwraca się uwagę, iż haker poza tym, że interesuje się zabezpieczeniami sieci komputerowych firm i urzędów, w gruncie rzeczy jest anarchistą [4]. Obowiązujący go kodeks honorowy zabrania mu korzystania z nielegalnie zdobytych danych, chociaż niektórzy kradną drobne sumy na własne potrzeby. Odmianą hakera jest phreaker, który jest także anarchistą. Wykorzystuje zdobyte przez siebie umiejętności do włamywania się wszędzie tam, gdzie najtrudniej się włamać. Może być bardzo niebezpieczny w sytuacji, kiedy znajdzie się w posiadaniu tajnych danych, bo wówczas ujawni je bez wahania. Zwykle człowiek ten jest bardzo młody i podatny na wszelkiego rodzaju wpływy, co może spowodować dodatkowe zagrożenia. Może się to zdarzyć w sytuacji, gdy znajdzie się pod wpływem poglądów reprezentowanych przez radykalną organizację. W odróżnieniu od dwóch poprzednich rodzajów przestępców komputerowych tzw. kraker nie ma żadnych zahamowani i nie przestrzega żadnego z kodeksów honorowych. Zajmuje się nie tylko przełamywaniem wszelkiego rodzaju zabezpieczeń sieci i systemów komputerowych, lecz także ściąganiem tajnych danych w celu ich dalszej odsprzedaży temu, kto więcej za nie zapłaci. Włamuje się do systemów bankowych, dokonując tam niewielkich kradzieży. Potrafi być jednak groźny, zwłaszcza gdy, przebywając w danej 41 B. Hołyst sieci, zakaża wirusem komputerowym oraz kiedy ma trudności z pokonaniem zabezpieczeń. Głównym źródłem jego utrzymania jest zajęcie polegające na przełamywaniu kodów zabezpieczających gry komputerowe oraz łamanie blokad znajdujących się w telefonach komórkowych. Złodziej komputerowy działa na zlecenie i może przejmować cudzą korespondencję, podsłuchiwać oraz przejmować pliki, włamywać się do wskazanych komputerów w celu zdobycia określonych danych, o które zabiega jego zleceniodawca, albo też zarażać wirusami firmowe sieci na zlecenie konkurencji czy dokonywać na własny lub cudzy rachunek nielegalnych przelewów bankowych i tak naprawdę to jest jego główne zadanie. Zwraca się uwagę, iż polscy hackerzy tworzą zamknięte, kilkusetosobowe środowiska, aktywne głównie w dużych miastach, takich jak Warszawa, Poznań, Wrocław czy Gorzów Wielkopolski. Pierwsze włamania do sieci komputerowych w Polsce miały zazwyczaj charakter poznawczy. Młodzi ludzie, w większości studenci korzystający z sieci uczelnianej, często usiłowali się dostać do innego komputera podłączonego do sieci, po to aby udowodnić sobie, że są w stanie złamać istniejące zabezpieczenia. Pierwsze głośne włamanie do sieci internetu w Polsce miało miejsce 13 grudnia 1995 r. Było to włamanie do węzła sieci NASK (Naukowej Akademii Sieci Komputerowej) w Warszawie, a zakończyło się modyfikacją pierwszej strony www tej instytucji. Haker występujący pod pseudonimem „Gumiś”, zaprotestował w ten sam sposób przeciwko nowemu cennikowi usług NASK, w którym wprowadzono zasadę opłaty za ruch w miejsce używanej powszechnie w internecie stałej odpłatności za przepustowość łącz. Kolejnego włamania dokonano w nocy z 3 na 4 maja 1997 r. na serwer Biura Informacyjnego Rządu RP. Ataku dokonali dwaj szesnastoletni chłopcy, używając gotowych przepisów, pozyskanych za pośrednictwem internetu. Dzięki atakowi pozwolono im na zmodyfikowanie głównej strony www tej instytucji. W wyniku takich działań okazało się, że instytucje rządowe nie mają zabezpieczeń przed tego rodzaju włamaniami. 8 sierpnia 1997 r. obiektem zamachu stał się największy serwer FTP w Polsce, słynna „słoneczna strona (sun site), zlokalizowany w ICM (Interdyscyplinarnym Centrum Modelowania Matematycznego i Komputerowego). Hakerom udało się dotrzeć do plików umieszczonych w tzw. powłoce (secure shell) systemu operacyjnego, do którego dostęp ma wyłącznie administrator sieci. Dzięki tym zabiegom podłożyli oni tzw. konia trojańskiego, modyfikując w ten sposób udostępniane na serwerze źródła programu SSH. W przypadku ataku na systemy bankowe niewiele zazwyczaj wiadomo o tego rodzaju zdarzeniach, gdyż banki ukrywają takie incydenty w obawie przed utratą zaufania dotychczasowych klientów. Dane, jakimi dysponują 42 Wiktymologiczne aspekty cyberprzestępczości organy ścigania, są niepełne, zaś ciemna liczba popełnionych i niewykrytych ataków na sieci komputerowe wynosi 90–95% [4]. Na świecie często dochodzi do działań pojedynczych hakerów lub całych grup, do ataków na największe firmy internetowe, najpopularniejsze strony www (World Wide Web) oraz na serwery instytucji bankowo-finansowych o charakterze strategicznym w wielu krajach. Ataki takie zarejestrowano w wielu krajach świata, a zwłaszcza w Stanach Zjednoczonych Ameryki Północnej, gdzie do zwalczania tego rodzaju przestępczości są używane wyspecjalizowane służby: FBI, NSA czy też CIA. Wynika to przede wszystkim z tego, że większość systemów obronnych i bankowych opiera swoje funkcjonowanie na tym, że sieci te są podłączone bezpośrednio do ogólnoświatowej „pajęczyny internetu. Działania zmierzające do przejęcia kontroli nad ich funkcjonowaniem polegają przede wszystkim na pokonaniu wielu zabezpieczeń stosowanych przez poszczególnych operatorów sieciowych. Najczęściej stosowanymi urządzeniami są tzw. ściany ognia, stanowiące jeden z istotnych elementów polityki bezpieczeństwa sieci i systemów komputerowych. Wskazuje się, iż jedną z podstawowych kwestii wymagających rozstrzygnięcia jest ustalenie, kto winien ponosić odpowiedzialność za przestępstwo popełnione w sieci [1]. Nie chodzi tu jednak o analizę, czy w konkretnej sytuacji spełnione są przesłanki opisane w art. 1 Kodeksu karnego stanowiące podstawę przyjęcia odpowiedzialności karnej, to jest: zachowanie będące czynem zabronionym pod groźbą kary, zawinionym, lecz o zakreślenie kręgu podmiotowego osób, które ponosić będą odpowiedzialność karną w związku ze stwierdzonym przestępstwem internetowym [7]. Oprócz osób popełniających czyny zabronione poprzez głoszenie zakazanych treści na stronach sieci i nielegalne rozpowszechnianie cudzych utworów czy też dokonujących przestępstw przeciwko ochronie informacji i przeciwko mieniu, czyli sprawców wykonawczych, odpowiedzialność będą ponosić także pomocnicy. Udzielanie pomocy może wyrażać się w udostępnianiu programu komputerowego służącego przełamywaniu haseł dostępu do systemów komputerowych. Efektem określonego przestępstwa może być także umożliwienie innym osobom popełnienia odrębnego czynu zabronionego, pozostającego w związku z pierwszym przestępstwem w takim sensie, że bez zaistnienia pierwszego czynu nie byłoby możliwe popełnienie drugiego. Przykładowo: nielegalne rozpowszechnianie cudzego programu komputerowego za pośrednictwem sieci umożliwia innym użytkownikom internetu popełnienie przestępstwa opisanego w art. 278 2 Kodeksu karnego, czyli uzyskanie bez zezwolenia cudzego programu komputerowego w celu osiąg nięcia korzyści majątkowej. 43 B. Hołyst Wymienia się pięć podmiotów, które potencjalnie mogłyby ponosić odpowiedzialność cywilnoprawną za udostępnianie materiałów w sieciach. Należą do nich [8]: dysponent i operator sieci telekomunikacyjnej (przedsiębiorstwo telekomunikacyjne); dostawca dostępu do internetu, tj. ten, kto oferuje i umożliwia dostęp, nie posiadając wpływu na treść przekazywanych komunikatów; autor i dostawca materiałów wprowadzanych do sieci; dostawca usług sieciowych, np. udostępniający miejsce na swoim serwerze; użytkownik końcowy. Warto zwrócić uwagę, iż ten sam podmiot może łączyć różne funkcje, np. gdy dostawca dostępu do sieci jest jednocześnie dostawcą usług sieciowych. Odnośnie do dokonanego rozróżnienia pomiędzy autorem i dostawcą materiałów oraz użytkownikiem końcowym wyjaśnić należy, iż pewne czyny popełniane mogą być jedynie przez autorów i dostawców materiałów wprowadzanych (rozpowszechnianie zakazanych treści, niektóre przestępstwa naruszenia praw autorskich), zaś inne jedynie przez użytkowników końcowych (przestępstwa przeciwko ochronie informacji, przestępstwa przeciwko mieniu, niektóre przestępstwa naruszenia praw autorskich inne niż popełnianie przez dostawców materiałów). Kategorie tych czynów są zasadniczo rozłączane, tj. inne przestępstwa popełnić może autor lub dostawca materiałów wprowadzanych do sieci, inne natomiast użytkownik końcowy. Przeciwko przypisywaniu odpowiedzialności karnej dysponentom sieci telekomunikacyjnej oraz dostawcom dostępu do internetu przemawia argument, iż otwierają jedynie drogę do cudzych treści, podobnie jak poczta, telekomunikacja czy przedsiębiorstwo transportowe. Zdaniem niektórych autorów bezdyskusyjna pozostaje kwestia odpowiedzialności autora materiałów wprowadzonych do sieci jako sprawcy wykonawczego [1]. Sprawcą takim jest zarówno autor konkretnego tekstu naruszającego prawo, jak i osoba, która taki tekst umieszcza na swojej stronie sieci, zgadzając się i identyfikując z jego treścią. Problem nie dotyczy sytuacji, w której przytoczenia cudzego tekstu dokonano celem podjęcia z nim polemiki. Sprawcą wykonawczym będzie ten użytkownik końcowy, który za pośrednictwem internetu popełnia konkretny czyn zabroniony. Oczywiście nie popełnia czynu zabronionego użytkownik, który dzięki sieci zapoznaje się z treściami przez prawo zakazanymi, a głoszonymi przez osoby trzecie. Wskazuje się, iż najwięcej uwagi poświęcić trzeba kwestii odpowiedzialności dostawcy usług sieciowych, czyli osoby pośredniczącej w dostarczaniu materiałów pochodzących od osób trzecich pośredniczących względnie dostarczających środków technicznych, bez których nie mogłoby dojść do dokonania przez inną osobę czynu zabronionego. W przypadku przestępstw popełnianych w internecie istotne jest określenie, na jakich zasa44 Wiktymologiczne aspekty cyberprzestępczości dach odpowiedzialność ponosić powinni właściciele (administratorzy) serwerów, na których umieszczone zostały treści zakazane przez prawo bądź za pomocą których popełniono inny czyn zabroniony, oraz osoby pro wadzące katalogi internetowe, w których zawarte zostały adresy stron sieci zawierających treści zabronione. Odnośnie do dokonanego rozróżnienia pomiędzy autorem i dostawcą materiałów oraz użytkownikiem końcowym wyjaśnić należy, iż pewne czyny popełniane mogą być jedynie przez autorów i dostawców materiałów wprowadzanych (rozpowszechnianie zakazanych treści, niektóre przestępstwa naruszenia praw autorskich), zaś inne jedynie przez użytkowników końcowych (przestępstwa przeciwko ochronie informacji, przestępstwa przeciwko mieniu, niektóre przestępstwa naruszenia praw autorskich inne niż popełnianie przez dostawców materiałów). Kategorie tych czynów są zasadniczo rozłączane, tj. inne przestępstwa popełnić może autor lub dostawca materiałów wprowadzanych do sieci, inne natomiast użytkownik końcowy. Przeciwko przypisywaniu odpowiedzialności karnej dysponentom sieci telekomunikacyjnej oraz dostawcom dostępu do internetu przemawia argument, iż otwierają jedynie drogę do cudzych treści, podobnie jak poczta, telekomunikacja czy przedsiębiorstwo transportowe. Zdaniem niektórych autorów bezdyskusyjna pozostaje kwestia odpowiedzialności autora materiałów wprowadzonych do sieci jako sprawcy wykonawczego Sprawcą takim jest zarówno autor konkretnego tek stu naruszającego prawo, jak i osoba, która taki tekst umieszcza na swojej stronie sieci, zgadzając się i identyfikując z jego treścią. Problem nie dotyczy sytuacji, w której przytoczenia cudzego tekstu dokonano celem podjęcia z nim polemiki. Sprawcą wykonawczym będzie ten użytkownik końcowy, który za pośrednictwem internetu popełnia konkretny czyn zabroniony. Oczywiście nie popełnia czynu zabronionego użytkownik, który dzięki sieci zapoznaje się z treściami przez prawo zakazanymi, a głoszonymi przez osoby trzecie. Wskazuje się, iż najwięcej uwagi poświęcić trzeba kwestii odpowiedzialności dostawcy usług sieciowych, czyli osoby pośredniczącej w dostarczaniu materiałów pochodzących od osób trzecich pośredniczących względnie dostarczających środków technicznych, bez których nie mogłoby dojść do dokonania przez inną osobę czynu zabronionego. W przypadku przestępstw popełnianych w internecie istotne jest określenie, na jakich zasadach odpowiedzialność ponosić powinni właściciele (administratorzy) serwerów, na których umieszczone zostały treści zakazane przez prawo bądź za pomocą których popełniono inny czyn zabroniony, oraz osoby pro wadzące katalogi internetowe, w których zawarte zostały adresy stron sieci zawierających treści zabronione. 45 B. Hołyst Zapewnienie dostępności strony sieci innym jej użytkownikom wymaga, by były one zapisane w postaci pliku komputerowego na twardym dysku serwera, czyli komputera niebędącego zazwyczaj własnością autora strony. Miejsce na serwerach udostępniane jest przez wiele firm odpłatnie bądź nawet nieodpłatnie, a strony sieci może właściwie każdy użytkownik komputera stworzyć za pomocą łatwo dostępnych programów. W efekcie powszechna jest możliwość stworzenia własnej strony i umieszczenia jej w sieci. Powstaje problem, czy administratorzy serwera zatrudnieni przez właściciela zobowiązani są do dbania, aby treści umieszczane na stronach sieci znajdujących się na serwerach nie naruszyły prawa, a jeżeli łamią prawo, to na jakich zasadach administratorzy serwerów zezwalających na umieszczenie na nich stron bez kontroli ich treści mogą ponosić odpowiedzialność karną właśnie za umożliwienie bądź ułatwienie inny osobom popełnienia przestępstwa. Odpowiedzialność za pomocnictwo jako zjawiskową postać przestępstwa, którego istotą jest ułatwienie popełnienia przez inną osobę czynu zabronionego, przewiduje Kodeks karny w art. 18 & 3 [7]. Zwraca się uwagę, iż udzielanie pomocy, o charakterze fizycznym polega przykładowo na dostarczeniu narzędzia. Narzędziem tym może być każdy przedmiot ułatwiający dokonanie czynu zabronionego, przy czym nie jest wówczas konieczny osobisty kontakt udzielającego pomocy ze sprawcą [7]. Karalne pomocnictwo może polegać także na zaniechaniu – wówczas na pomocniku spoczywać musi prawny, szczególny obowiązek niedopuszczenia do popełnienia czynu zabronionego. Istotą strony podmiotowej pomocnictwa jest zamiar bezpośredni lub wynikowy, przy czym pomocnik musi mieć wyobrażenie konkretnego czynu zabronionego. Dla przypisania odpowiedzialności nie jest wystarczający zamiar, aby inna osoba popełnia dowolny czyn zabroniony. Kwestia ta jest bardzo istotna w przypadku rozważań dotyczących przestępczości internetowej obejmującej czyny polegające na głoszeniu treści zakazanych przez prawo. Zwraca się uwagę, iż pomocnictwa nie stanowi samo umożliwienie umieszczenia dowolnych treści na serwerze, co pozwala przenieść ciężar rozważań z pierwszej części ustawowej definicji na zdanie drugie, mówiąc o szczególnym obowiązku niedopuszczenia do popełnienia czynu zabronionego. Samo bowiem udostępnienie miejsca na serwerze nie może powodować odpowiedzialności karnej gdyż nie od jego właściciela zależy sposób, w jaki zostanie wykorzystany. W przypadku pomocnictwa przez zaniechanie czynności wbrew szczególnemu obowiązkowi konieczne jest, aby pomocnik znajdował się wobec dobra chronionego w pozycji gwaranta nienastąpienia skutku. Obowiązek określający pozycję gwaranta musi mieć 46 Wiktymologiczne aspekty cyberprzestępczości charakter prawny. Gwarantem ustanowione są osoby charakteryzujące się szczególnym stosunkiem do określonego dobra prawnego. Praktycznie wszystkie z istniejących firm udostępniających miejsca na serwerach zarówno odpłatnie, jak i nieodpłatnie, zastrzegają w regulaminach, że użytkownicy nie mogą na stronach sieci umieszczać treści umieszczać treści niezgodnych z polskim prawem, a złamanie tego zakazu stanowi podstawę do usunięcia takiej strony [7]. Mimo iż regulamin rozpatrywany jako umowa cywilnoprawna wiąże jedynie strony umowy, a osoby trzecie nie mogą w treść stosunku prawnego ingerować ani obowiązków stron egzekwować, to jednak należy rozważyć, czy poprzez ustanowienie takiego regulaminu administrator nie podjął się pełnienia roli gwaranta niewystąpienia czynu zabronionego, przez co umowa wywrzeć może skutki nie tylko w sferze prywatnoprawnej. Stanowiłoby to przejęcie przez administratora na siebie odpowiedzialności za to, aby stron sieci, za pomocą których użytkownicy popełniają przestępstwa, na administrowanych serwerach nie utrzymywać. Nie jest na ogół możliwe kontrolowanie treści nowych stron przed ich umieszczeniem na serwerze zarówno ze względów technicznych, jak i wobec faktu, iż stanowiłoby to zakazaną cenzurę prewencyjną. Ponieważ gwarant powinien jednak podejmować czynności prowadzące do zmniejszenia niebezpieczeństwa popełnienia czynów zabronionych, to obowiązkiem administratora byłoby stworzenie takiego właśnie systemu kontroli, aby strony łamiące prawo sprawnie wykrywać i niezwłocznie po tym je usuwać bądź blokować. Niedbałe przeprowadzenie takiej kontroli bądź w ogóle jej zaniechanie rodzić powinno, w razie wystąpienia przestępstwa, odpowiedzialność administratora jako pomocnika, który „wbrew prawnemu szczególnemu obowiązkowi niedopuszczenia do popełnienia czynu zabronionego swoim zachowaniem ułatwia innej osobie jego popełnienie. Stopień staranności winien być wówczas dochowany z punktu widzenia racjonalnie działającego gwaranta, tj. podmiotu znającego określoną dziedzinę działalności, znającego przyjęty na siebie obowiązek odpowiednio ukierunkowanego działania oraz mającego postawę sumiennego wykonawcy obowiązku. Zwraca się uwagę, iż należy nie zapominać o argumentach przeciwników nałożenia na dostawców usług sieciowych obowiązku monitorowania treści udostępnianych za ich pośrednictwem. Dostawcy mają ograniczone możliwości bieżącego nadzorowania materiałów wprowadzanych do sieci za ich pośrednictwem, gdyż jeśli będą decydować, czy określona treść jest zgodna z prawem, może to naruszać konstytucyjne prawo wolności słowa oraz dostępu do informacji, a także ograniczać sferę prywatności użytkowników [8]. 47 B. Hołyst W przypadku popełnienia przestępstwa przez sprawcę wykonawczego późniejsze usunięcie strony sieci, za pomocą której popełniono czyn zabroniony, nie od wróci negatywnych skutków ani też nie zwolni sprawcy wykonawczego z odpowiedzialności, lecz takie postępowanie administratorów, a szczególnie działanie podejmowane z własnej inicjatywy, a nie po interwencji osób trzecich, stanowić winno podstawę do przyjęcia, iż po stronie administratora brak było zamiaru ewentualnego przyjęcia odpowiedzialności za pomocnictwo. Podkreśla się, iż zamiar bezpośredni po stronie administratora, a więc chęć popełnienia przestępstwa internetowego przez inną osobę, występować może jedynie sporadycznie. Co więcej, usuwanie stron WWW łamiących prawo spełnia także funkcje prewencji generalnej poprzez zamanifestowanie osobom chcącym takie strony umieścić, że działania przestępne nie będą tolerowane. Taką politykę największych firm-dostawców usług sieciowych dostrzegają już potencjalni twórcy takich stron. Osoby prowadzące katalogi stron sieci są również grupą, która może ponosić odpowiedzialność w związku z popełnionym przestępstwem internetowym. Ważną cechą internetu jest to, iż samo stworzenie i umieszczenie witryny na serwerze nie jest wystarczające dla dotarcia do szerszego kręgu odbiorców. Liczba dokumentów zawartych w sieci umożliwia użytkownikowi odnalezienie interesujących go informacji bez pomocy wyspecjalizowanych narzędzi. Służą temu właśnie katalogi tematyczne oraz tzw. wyszukiwarki internetowe, np. Google czy Yahoo, które dokonują przeglądu indeksowanych stron sieci z uwagi na obecność na nich wskazanych przez użytkownika kluczowych haseł. Kwestia czasu popełnienia czynu zabronionego jest ważnym problemem, ponieważ przypisanie odpowiedzialności za pomocnictwo możliwe jest wówczas, gdy zaszło przed dokonaniem czynu zabronionego lub w jego trakcie. Artykuł 6 & 1 Kodeksu karnego stanowi, iż czyn zabroniony uważa się za popełniony w czasie, w którym sprawca działał lub zaniechał działania, do którego był zobowiązany. W przypadku przestępstw internetowych polegających na prezentowaniu treści przez prawo zakazanych czy też naruszeń praw autorskich stan bezprawności utrzymuje się przez cały okres, w którym strona sieci zawierająca taką treść znajduje się na serwerze. Sytuacja taka jest odmienna od np. wydrukowania określonego tekstu w prasie lub wypowiedzi w radiu lub telewizji w tych przypadkach sprawca po dokonaniu czynu nie ma już możliwości ingerencji w treść ani nie ma możliwości jej wycofania. W przypadku stron sieci autor cały czas może swobodnie ich treść zmieniać lub usuwać. W takiej zaś sytuacji czyn zabroniony należy uznać za popełniany w ciągu całego okresu utrzymywania się stanu bezprawnego 48 Wiktymologiczne aspekty cyberprzestępczości [7]. W razie głoszenia treści zakazanych przez prawo lub nielegalnego udostępniania utworu możliwe jest zatem postawienie osobom prowadzącym katalog czy też administratorowi serwera za rzutu pomocnictwa w popełnieniu czynu zabronionego przez cały okres, w którym strona taka znajduje się na serwerze bądź odsyłacz do niej pozostaje w katalogu. Obowiązkiem osób prowadzących katalog winno być przygotowanie systemu kontroli wpisywanych adresów, tak aby eliminować strony sieci, za pomocą których popełniane są czyny zabronione, zaś wykazany stopień staranności powinien wpływać na ocenę możliwości przypisania zamiaru ewentualnego [1]. Biorąc pod uwagę zarówno niebezpieczeństwa, jak i korzyści wynikające z funkcjonowania internetu, pierwszeństwo przyznać należy zdecydowanie tym drugim. Z tego względu wszelkie kroki mające na celu limitowanie możliwości wprowadzania do sieci własnych materiałów muszą być podejmowane w sposób ostrożny i wyważony. Wątpliwości budzić może przede wszystkim sposób realizacji obowiązku monitorowania przez właścicieli serwerów materiałów umieszczanych na tych serwerach przez osoby trzecie. Prowadzi to bowiem do sytuacji, kiedy to administrator decyduje, czy konkretne treści są legalne, czy nie. Ponieważ ograniczanie wolności słowa następować może jedynie na podstawie ustaw, to tylko powołane ku temu organy mogą te ograniczenia egzekwować,a warunek taki w sposób ewidentny nie był wówczas spełniony. Można wyobrazić sobie sytuację, w której administrator serwera usuwa stronę, traktując ją za łamiącą prawo, a następnie autor strony przed sądem uzyskuje korzystne rozstrzygnięcie, wskazując, iż prawa nie naruszył. W przypadku zmiany treści obowiązku monitorowania zawartości serwera po przez przyjęcie, że administrator winien jedynie współpracować z policją w razie wykrycia zakazanych materiałów bez możliwości ich usuwania, może z kolei po wstać sytuacja, w której administrator poniósłby odpowiedzialność karną z tytułu rozpowszechniania treści naruszających przepisy prawa. Uznać jednak na leży, że propozycja pierwsza jest rozsądniejsza prawdopodobieństwo opisanej sytuacji jest niższe i pociąga za sobą zdecydowanie mniejsze ewentualne szkody niż całkowite zaniechanie usuwania stron sieci w oczekiwaniu na decyzję prokuratora bądź sądu. Nie istnieje inna metoda regulacji i kontroli treści prezentowanych w internecie niż działania organów wymiaru sprawiedliwości. Decydującą rolę odgrywać jednak powinny, w opinii cytowanego powyżej autora, instytucje powołane do zwalczania przestępczości, a przyznanie prawa kontroli nad treściami 49 B. Hołyst prezentowanymi w internecie np. utworzonemu dla tego celu urzędowi będzie ustanowieniem niedopuszczalnej cenzury. Zgodnie z regulacjami przyjętymi w różnych państwach europejskich dostawca usług sieciowych ponosi odpowiedzialność tylko wtedy, gdy można od niego wymagać uznania określonego materiału za nielegalny lub gdy zaniechał usunięcia takiego materiału po tym, jak określono jego nielegalny charakter. Rozwiązanie takie wydaje się najrozsądniejsze. Nałożenie natomiast zbyt daleko idących obowiązków może zahamować rozwój internetu zaangażowanie dostawców usług w rozwój sieci będzie tym mniejsze, im większy będzie zakres ich odpowiedzialności, ze względu na zbyt wysokie ryzyko podejmowania takiej działalności. Projekt konwencji Rady Europy o przestępstwach w sieci wprowadza odpowiedzialność osób prawnych za przestępstwo komputerowe, jednakże ogranicza ją je dynie do przypadków uzyskania korzyści majątkowej przez daną osobę prawną, a popełnione przez osobę fizyczną działającą indywidualnie bądź w ramach organu, posiadającą decydującą pozycję w ramach tejże osoby prawnej; odpowiedzialność można również przypisać w sytuacji, gdy popełnienie przestępstwa zo stało umożliwione przez brak nadzoru lub kontroli ze strony osoby fizycznej, o której mowa wyżej. Wyraźnie podkreśla się, że przepis ten nie dotyczy przestępstw popełnionych przez klientów, użytkowników lub osoby trzecie, a ograniczony jest ściśle do przestępstw popełnionych przez osoby o decydującej pozycji w ramach osoby prawnej, dokonanych dla osiągnięcia przez osobę prawną korzyści majątkowej. Objaśnienia zawarte w projekcie wprost wskazują, że odpowiedzialności nie ponosi pomocnik, któremu nie można przypisać zamiaru popełnienia przestępstwa [1]. Warto zwrócić uwagę na możliwości zapobiegania tego typu przestępczości m.in. przez stosowanie kompleksowych metod zabezpieczeń sieci komputerowych. Najważniejszym elementem bezpieczeństwa danej organizacji jest spójna polityka bezpieczeństwa, określająca następujące etapy procesu zabezpieczania informacji [6]. Na etapie pierwszym zachodzi budowanie podstawy analizowanie przez kierownictwo firmy jej potrzeb i możliwości, określenie wartości posiadanych danych, wyznaczenie osób odpowiedzialnych za wdrożenie procesu zabezpieczenia informacji. Na etapie drugim mamy do czynienia z prowadzeniem dokumentacji systemu informatycznego, usuwaniem błędów w tym systemie oraz uświadamianiem jego użytkownikom grożących niebezpieczeństw (zapisywanie haseł, wirusy itp.). Na etapie trzecim ma miejsce podnoszenie poziomu bezpieczeństwa systemu wprowadzanie rozwiązań technicznych zabezpieczających informacje w systemie komputerowym organizacji (ściany ognia, systemy: kon50 Wiktymologiczne aspekty cyberprzestępczości troli dostępu, szyfrujące, monitorowania); szkolenie personelu w zakresie zasad bezpiecznego korzystania z systemu oraz przygotowanie odpowiednich dokumentów określających prawa i obowiązki jego użytkowników. Wreszcie na etapie czwartym dostrzec można kontrolę obiegu dokumentów sprawdzanie założeń polityki bezpieczeństwa określonych w dokumentach, ich zastosowania w praktyce i przestrzegania w organizacji. Zwraca się uwagę, iż zabezpieczenie systemu informatycznego nie kończy się na ustaleniu zasad polityki bezpieczeństwa i wprowadzaniu ich w życie. Jest to proces ciągły, wymagający stałej kontroli oraz weryfikacji ze względu na zmiany stosowanych technologii informatycznych. Do niedawna jeszcze nikt nie zdawał sobie sprawy, iż internet będzie jednym z najważniejszych wynalazków XX wieku [9]. Przepływ informacji stał się o wiele szybszy i tańszy niż dotychczas. Internet oraz komputer, tak jak większość wynalazków technicznych, są po prostu narzędziami [10]. Dotychczasowe doświadczenia wskazują, że narzędzia te będą wykorzystywane również przez przestępców, których ofiarą z racji upowszechnienia tych wynalazków może praktycznie już dzisiaj stać się dosłownie każdy człowiek. Zagrożenia związane ze stosowaniem nowych technologii wiążą się nie tylko z zagrożeniami przybierającymi postać zachowań ściśle przestępnych, ale również z różnymi patologiami i niebezpieczeństwami w różnych sferach życia społecznego. Jednym z takich obszarów jest edukacja. Zagrożenia występujące na tym polu są tym groźniejsze, iż dotyczą zazwyczaj ludzi młodych, o nieukształtowanej jeszcze osobowości. W rozważaniach dotyczących kwestii wykorzystywania mediów i technologii informatycznej w edukacji zazwyczaj w pierwszym rzędzie akcentuje się pozytywne aspekty zastosowań czy to w edukacji w ogóle, czy w specyficznych dziedzinach kształcenia [11]. Podejście takie jest całkowicie zrozumiałe, jeżeli bierze się pod uwagę rozliczne korzyści, jakie wiążą się z takim postępowaniem. Wśród tych korzyści wymienia się m.in.: – możliwość indywidualizowania przebiegu uczenia się zachodzącego w toku nauczania, a więc dostosowanie jego tempa i zakresu do możliwości ucznia, – uzyskiwanie natychmiastowych informacji zwrotnych w toku uczenia się, co ma duże znaczenie dla utrzymywania motywacji do uczenia się, – wykrywanie na podstawie diagnozy słabych stron ucznia, – stwarzanie sprzyjających warunków do opanowywania i ćwiczenia różnych umiejętności: od stosunkowo prostych sensoryczno-motorycznych aż do złożonych, obejmujących podejmowanie decyzji i rozwiązywanie problemów przez uczestniczenie w zadaniach symulacyjnych tak 51 B. Hołyst skomplikowanych, jak kierowanie przedsiębiorstwem czy postępowanie w sytuacjach kryzysowych. Pamiętając o rozlicznych korzyściach wynikających z wykorzystywania technologii informacyjnej w sferze edukacji, nie należy wszakże zapominać o różno rodnych zagrożeniach, jakie mogą towarzyszyć temu procesowi. Ogólnie można powiedzieć, iż autorzy podejmujący problem zagrożeń związanych z powszechnym stosowaniem technologii informatycznej w edukacji reprezentują przynajmniej dwa podejścia. Zwolennicy pierwszego podejścia podejmują problem za grożeń w kontekście ogólnie negatywnego stosunku do zjawiska wkraczania technologii informatycznej, jako przejawu szerszego zjawiska technicyzacji, do tych sfer życia, w których tradycyjnie przywiązywano duże znaczenie do relacji międzyludzkich [12]. Chodzi tutaj o takie dziedziny, jak: medycyna, psychoterapia czy właśnie edukacja. Źródeł zagrożeń ze strony techniki, w tym technologii informatycznej, upatruje się w tym, iż dehumanizuje ona kontakty międzyludzkie, utrudnia bądź uniemożliwia tworzenie więzi międzyludzkich, a w konsekwencji obniża efektywność profesjonalnych oddziaływań. Współcześnie znacznie częściej stykamy się z podejściem, w którym sygnalizowanie zagrożeń związanych z zastosowaniem technologii informatycznej w edukacji nie wynika z totalnej negacji tejże technologii czy technicyzacji życia w ogóle. Wskazuje się, iż komputer, jak i zresztą wszelkie wytwory techniki wymyślone przez człowieka, są jedynie narzędziami, które mogą być wykorzystywane w sposób przynoszący korzyści bądź też szkody [13]. Zagrożenia psychologiczne i społeczne stanowią istotną, chociaż naturalnie nie jedyną [15], kategorię problemów związanych ze stosowaniem mediów i technologii informatycznej w sferze edukacji. Kwestie te przedstawimy, wskazując konkretne zagrożenia dotyczące funkcjonowania człowieka w sferze poznawczej, emocjonalnej, wolicjonalno-refleksyjnej oraz w dziedzinie relacji interpersonalnych. Zwraca się uwagę na to, iż korzystanie z identycznych programów komputerowych uniformizuje nawyki percepcyjne, sposoby ujmowania i porządkowania in formacji, a w konsekwencji może prowadzić do psychicznego upodabniania się ludzi. Zjawisko to określa się mianem „kolektywizacji umysłów” [16]. Inne, pokrewne zagrożenie dotyczy sytuacji, w których uczenie się na drodze gromadzenia bezpośrednich doświadczeń z trójwymiarowego świata zostaje zastąpione przez pracę z komputerem. Podaje się w tym kontekście przykład dziecka, które rozpoczyna pracę z programem graficznym. Dzięki realizacji opcji zawartych w tym programie, np. rysowania linii prostych i figur geometrycznych, wypełniania określonych obszarów kolorem, dziecko może wykonać prawidłowe rysunki. Tak naprawdę jednak nie uczy się ono rysować, lecz obsługiwać program komputerowy [14]. 52 Wiktymologiczne aspekty cyberprzestępczości Wskazuje się, iż tzw. nauczanie wspomagane komputerowo computer-assisted instruct stanowi jedynie bardzo efektywne zastosowanie prawidłowości, które są podstawą nauczania programowanego. Zadanie komputera sprowadza się do: zadawania pytania, oceny odpowiedzi i ewentualnego odesłania do alternatywnych odpowiedzi, utrwalania wiedzy przez powtarzanie [28]. Współcześnie można zaobserwować próby bardziej złożonego postępowania w postaci tzw. inteligentnego kształcenia wspomaganego komputerem (inteWgent computer-assisted instruction), których istota polega na inspirowaniu uczących się do dialogu z maszyną. Niemniej jednak pozostają wątpliwości, czy maszyna, której działanie opiera się na zaprogramowanych regułach, zdolna jest do postrzegania problemów. W hipermedialnych strukturach informacyjnych obserwuje się tendencję do po sługiwania się obrazami. Mówi się wręcz o walce pomiędzy kulturą słowa drukowanego a kulturą obrazu. Współczesny uczeń coraz rzadziej czyta książki, natomiast coraz częściej ogląda telewizję, sięga po programy multimedialne czy też poszukuje informacji w internecie. Dominacja wzrokowo-przestrzennych kodów w obsłudze komputerów stanowi efekt zacierania się różnic pomiędzy technologią telewizyjną a komputerową. Zjawisko to sprzyja rozwojowi myślenia konkretno obrazowego, upośledza natomiast myślenie abstrakcyjne [16]. Wielka łatwość umieszczania i dystrybucji informacji w internecie powoduje, że mamy obecnie do czynienia z sytuacją określaną mianem „informacyjnego smogu”, analogicznie do zjawiska smogu przemysłowego charakterystycznego dla cywilizacji przemysłowej [17]. Duża liczba tych informacji pochodzi ponadto od osób niekompetentnych, w związku z czym zapoznanie się z owymi informacjami może w większym stopniu utrudnić niż ułatwić zrozumienie jakiegoś przedmiotu. Wskazuje się również, że nadmiernie częste korzystanie przez ucznia z hiper medialnych struktur informacyjnych może prowadzić do tego, co określa się mianem „elektronicznego encyklopedyzmu”, czyli dysponowania przez uczniów ogromem informacji, często nieuporządkowanych i nieprzetworzonych, a najczęściej wręcz zbędnych. Uczniowie stają się kolekcjonerami informacji, natomiast występuje u nich deficyt wiedzy [18]. Warto przypomnieć w tym kontekście słowa angielskiego poety T.S. Eliota, iż wiedza może zatracać się w morzu informacji, a mądrość w potoku wiedzy. Zwraca się uwagę na jeszcze jedno zagrożenie związane z lawiną informacji przy ograniczonych możliwościach ich przetwarzania przez człowieka, a w konsekwencji na utrudnienie dokonania wyboru. Chodzi mianowicie o problem manipulacji. W sytuacji nadmiaru informacji rzadko możemy pozwolić sobie na przemyślaną analizę wszystkich aspektów danej sytuacji 53 B. Hołyst czy zagadnienia, częściej będziemy zmuszeni polegać na pojedynczych elementach czy aspektach jako wskazówkach. Jak pisze psycholog społeczny R. Cialdini [19]. „Dopóki owe pojedyncze wskazówki są rzetelne [. . .] nie ma niczego złego. Problem zaczyna się wtedy, kiedy z jakiegoś powodu te normalnie rzetelne wskazówki staną się niegodne zaufania i prowadzić nas będą na manowce błędnych decyzji i szkodliwych działań [. . .]. Jednym z takich powodów są sztuczki niektórych zawodowych praktyków wpływu społecznego [. . .]” W związku z rozpowszechnianiem się technologii informatycznej i stosowaniem komputerów zwiększa się liczba przypadków lęków i niepokoju, jakie budzi praca związana z używaniem komputera czy nawet z samym kontaktem z nim, a także towarzyszących im takich objawów jak bóle głowy, ogólne podrażnienie, koszmary nocne. Mogą również występować reakcje charakterystyczne dla ogólnej reakcji stresowej, takie jak: podwyższony poziom noradrenaliny i adrenaliny we krwi, przyspieszone tętno, wzrost ciśnienia w naczyniach krwionośnych. Wskazuje się, iż jedną z przyczyn, która warunkuje powstanie komputerofobii, są trudności w opanowaniu obsługi komputera, zwłaszcza wtedy, gdy jest to istotne z uwagi na wykonywaną pracę. Zwraca się uwagę, że niepokój odczuwany w kontakcie z komputerem może mieć podłoże „w ciągłym współzawodnictwie we współczesnym świecie, gdzie umiejętność obsługi komputera i kompetencja w tym zakresie jest niezbędna do odniesienia sukcesu” [20]. Zjawisko komputerofobii występuje w szczególnym nasileniu w kształceniu osób dorosłych w związku z tym, iż wraz z wiekiem zmniejsza się plastyczność umysłu, możliwość uczenia się, a więc coraz trudniej zmienić można przyzwyczajenia i adaptację do nowych warunków. Nie chodzi przy tym jedynie o sam fakt przystosowania się do korzystania z komputera, ale również o przystosowanie się do zmian wynikających z ciągłego postępu technicznego, do instalowania coraz to nowych programów i urządzeń. W badaniach obejmujących grupę ponad tysiąca nauczycieli stwierdzono, że problem komputerofobii występuje również wśród nauczycieli czynnych zawodowo. W związku z dużym tempem zachodzących zmian można będzie oczekiwać konieczności praktycznie ciągłego dostosowywania się do nich użytkowników, a także wystąpienia problemów doświadczanych w tym zakresie nie tylko przez kształcących się dorosłych [20]. Współcześnie problem komputerofobii dotyczy jednak nie tylko osób dorosłych. W czasopiśmie naukowym „Educational and Psychological Measurement” regularnie pojawiają się doniesienia z prac psychometrów poświęconych konstruowaniu specjalnych testów do pomiaru lęku przed komputerem (computer anxiety scale) [21]. Fakt ten, poza samymi donie54 Wiktymologiczne aspekty cyberprzestępczości sieniami naukowymi o występowaniu omawianego fenomenu w populacji uczniów różnych typów i poziomów szkół, zdaje się świadczyć o tym, iż zagrożenie, jakie wywołuje kontakt z komputerem i posługiwanie się nim, nie jest zjawiskiem incydentalnym. Obecnie internet zapewnia szybki dostęp do wszelkiego rodzaju informacji także niedostępnych w inny sposób. Pozwala również szybko porozumiewać się z innymi osobami, znajdującymi się w miejscach bardzo odległych. W związku z tym systematycznie wzrasta liczba osób spędzających przed komputerem bardzo dużo czasu, nierzadko zaniedbujących wskutek tego inne obowiązki, również naukę. Mówi się więc coraz powszechniej o zaburzeniu określanym różnymi nazwami: uzależnienie od internetu, siecioholizm, cyberzależność, infoholizm itp. [22]. Według badań Center for On-line Addiction przeprowadzonych na grupie 17 tys. internautów 6% spośród nich przejawia zachowania kwalifikujące się do leczenia, a 30% korzysta z internetu „aby uciec od złych myśli”, co stanowi prostą drogę do uzależnienia. Do najczęściej opisywanych skutków uzależnienia od internetu należą: – – – – – zaniedbywanie nauki lub pracy, utrwalenie postawy egocentrycznej, zaburzenia w sferze własnej tożsamości, zawężenie zainteresowań, zubożenie języka (posługiwanie się slangiem, skrótami itp.). Niektórzy badacze wskazują, iż zachowania polegające na nadużywaniu korzy stania z internetu nie tyle wynikają z, „uzależniających” właściwości samego medium, ile stanowią konsekwencję pewnych trudności przeżywanych przez jednostkę czy też wyraz określonych nieprawidłowości osobowościowych [23]. Zatem uzależnienie od internetu mogłoby stanowić ucieczkę od problemów czy też poczucia samotności bądź też wiązać się ze skłonnością do zachowań kompulsywnych, stanowić formę przejawiania się tzw. „nałogowej osobowości” współczesnych czasów [24]. W badaniach przeprowadzonych przez R. Krauta i jego współpracowników uzyskano dane empiryczne świadczące o występowaniu wśród osób często korzystających z internetu lekkich stanów depresyjnych, w postaci tzw. obniżonego samopoczucia [9]. Osoby te częściej niż inni użytkownicy deklarowały doświadczanie takich emocji, jak: smutek, przygnębienie, poczucie winy. Pomimo uzyskanych wyników fakt powstawania depresji (Stanów depresyjnych) u użytkowników internetu wywołuje pewne kontrowersje [25]. W perspektywie bardziej ogólnej zwraca się uwagę, iż upowszechnianie elektronicznych środków przetwarzania informacji powoduje przejmowanie 55 B. Hołyst pewnych funkcji poznawczych oraz kontrolnych przez maszynę [16]. Aktywność człowieka może zostać uzależniona od maszyn i sieci informatycznych, a zjawisko to może dotyczyć zarówno jednostek, jak I całych grup społecznych. W przypadkach skrajnych może dojść do sterowania człowiekiem, w tym także uczącym się, przez ma szynę. W skali globalnej takie tendencje wiązałyby się ze zmniejszaniem autonomii i niezależności poznawczej, wykształcaniem się swoistej bierności poznawczej, a w konsekwencji obniżaniem się kreatywności człowieka. Zwraca się uwagę, iż w komunikacji zachodzącej za pośrednictwem internetu informacje o własnej tożsamości są niedostępne dla partnerów interakcji, co umożliwia manipulowanie swoją tożsamością. „W cyberprzestrzeni każdy może mieć tyle «elektronicznych osobowości ile zdoła wykreować” [23]. Manipulacja własną tożsamością może mieć charakter gry prowadzonej z innymi uczestnikami komunikacji. W trakcie tej gry jednostka może nie tylko ukrywać pewne informacje przed innymi, ale może także je rozmyślnie fałszować. Takie postępowanie może mieć charakter zabawy, niemniej jednak może kształtować i utrwalać pewne nieprawidłowe sposoby funkcjonowania społecznego oparte na kłamstwie i manipulacji. W przypadku jednostek charakteryzujących się specyficznym typem osobowości, tzw. osobowością z pogranicza (borderline), dla której zaburzenia tożsamości są cechą osiową, udział w tego typu grach może mieć zdecydowanie negatywne konsekwencje. Jedną z konsekwencji upowszechniania się zastosowania mediów i techniki informatycznej w edukacji będzie, być może nie gwałtowne i całkowite, ale Stopniowe i częściowe zastępowanie bezpośrednich kontaktów ucznia z nauczycielem kontaktami pośrednimi czy też wręcz zastąpienie nauczyciela przez maszynę. Trudno jest przewidzieć konsekwencje takiego procesu, gdyby miał on rzeczywiście nastąpić. Dotyczy to zwłaszcza zastąpienia nauczyciela (czy też bezpośredniego kontaktu z nauczycielem) w takich oddziaływaniach, jak: wzbudzanie motywacji poznawczej do uczenia się, prezentowanie wzorca zachowań, stymulowanie do dyskusji, dialogu. Współcześnie dyskusja z komputerem to najczęściej wymiana rozkazów i oczekiwań; maszyna nie odbiera wrażeń ani nie odczuwa emocji, nie jest podmiotem rozumienia ani też nie jest zdolna do osiągania wglądu. Zaobserwowano, iż u osób często korzystających z internetu dochodzi nie tylko do zmian wcześniej opisanych, ale również do zaburzenia relacji interpersonalnych, utraty zainteresowania różnymi formami aktywności społecznej itp. [26]. U osób tych stwierdza się również zwiększony poziom poczucia osamotnienia. Co ważne, zmiany te zaobserwowano nawet wówczas, gdy dominujące wykorzystanie internetu miało charakter społeczny, a więc np. dotyczyło elektronicznej komunikacji z członkami rodziny, znajomymi 56 Wiktymologiczne aspekty cyberprzestępczości czy osobami nieznanymi. Niektórzy autorzy formułują nawet wniosek, iż internet zaczyna zastępować bliskie relacje interpersonalne, a czyniąc to w sposób powierzchowny, wywołuje w konsekwencji poczucie osamotnienia, które może potęgować Stany depresyjne, co już wcześniej sygnalizowaliśmy. Zwraca się uwagę, iż internet dzięki swoim interakcyjnym właściwościom może stać Się atrakcyjnym partnerem, zastępującym rzeczywiste kontakty społeczne. Wskazuje się, iż zwiększa się liczebnie nowa kategoria ludzi zwanych „elektronicznymi odludkami”, którzy potrafią perfekcyjnie posługiwać się Sprzętem komputerowym, ale są w znacznym stopniu pozbawieni podstawowych umiejętności społecznych dotyczących nawiązywania i utrzymywania bliskich relacji interpersonalnych [13]. Anonimowość oraz wzrastająca wolność od norm społecznych, którą zapewnia komunikacja za pośrednictwem sieci komputerowych, może wyzwalać zachowania agresywne, skłaniać do otwartego manifestowania czy też wręcz propagowania po staw społecznie szkodliwych takich jak rasizm. Wiadomo, iż anonimowość osób kontaktujących się za pośrednictwem sieci ogranicza możliwość kar i sankcji społecznych za niewłaściwe zachowanie. Psychologowie zwracają uwagę, że u niektórych ludzi w trakcie tego rodzaju komunikacji może dojść do osłabienia mechanizmów kontroli wewnętrznej, które nie wystąpiło by w bezpośredniej, nie anonimowej interakcji [27]. Ryzyko związane z zagrożeniami, jakie zostały przedstawione w odniesieniu do różnych sfer funkcjonowania podmiotu, może zmieniać się w zależności od występowania pewnych dodatkowych czynników (warunków). Ogólnie można wyróżnić dwie kategorie takich czynników: (1) czynniki podmiotowe oraz (2) czynniki sytuacyjne. W grupie czynników podmiotowych możemy wyróżnić kategorię czynników rozwojowych oraz czynników indywidualnych. Czynniki rozwojowe (czyli wieki związany z nim poziom rozwoju umysłowego, emocjonalnego i społecznego) mogą w istotny sposób determinować ryzyko związane z określonymi zagrożeniami. I tak, jeżeli chodzi o problemy dotyczące np. trudności występujących w związku z zalewem informacji i koniecznością dokonywania selekcji materiału czy też uzależnienia od internetu, to większe ryzyko występuje w przypadku osób młodszych. W przypadku natomiast np. komputerofobii większy poziom ryzyka charakteryzuje osoby dorosłe. W odniesieniu do czynników indywidualnych jako podkategorii uwarunkowań podmiotowych największe znaczenie należałoby przypisywać występowaniu pewnych specyficznych właściwości osobowości osób uczących się. Chodzi mianowicie o to, iż pewne specyficzne cechy osobowości czy też charakteryzowanie się pewnym typem osobowości może sprzyjać rozwinięciu się określonych zagrożeń. Na przykład skłonność do zachowań kom57 B. Hołyst pulsywnych może sprzyjać uzależnieniu od internetu, a tzw. osobowość histrioniczna podleganiu wpływom o charakterze manipulacyjnym, osobowość pograniczna (borderline) zaburzeniom tożsamości. Z uwagi jednak na relatywnie krótki okres wykorzystywania technologii komputerowej nie mamy dostatecznych danych umożliwiających nam ocenę jej efektywności, czyli dokonania rachunku strat i korzyści. Historia uczy nas ponadto, iż to, co okazywało się korzystne w skali lat, niekoniecznie było oceniane jako wartościowe w skali dziesięcioleci. Brak jest jednak reguł i zasad, które mogłyby stano wić oparcie dla decydentów; istnieją tylko bardzo ogólne wskazówki, jak ta, która nakazuje zachowanie ostrożności. Stosowanie technologii komputerowej na skalę masowej powinno przypominać zachowanie lekarza, który, wprowadzając nowe lekarstwo do terapii, musi uważnie śledzić wszelkie działania uboczne. Psychologiczne zagrożenia związane z zastosowaniem mediów i technologii informatycznej w edukacji mogą wiązać się z niebezpieczeństwem bezpośredniego zakłócenia oddziaływań społecznych, jak również mogą wpływać na efektywność tych oddziaływań w sposób pośredni, np. poprzez wpływanie na stan emocjonalny osób kształcących się. Psychologiczne zagrożenia związane z zastosowaniem mediów i technologii informatycznej w edukacji należy rozpatrywać w kontekście korzyści i zalet, jakie niesie ich wykorzystywanie. Należy przyjąć, iż generalnie technologia zwiększa możliwości człowieka, natomiast zastosowaniu technologii powinno towarzyszyć przewidywanie możliwych zagrożeń i przeciwdziałanie im [10]. Wydaje się, iż nie należy również bagatelizować tych zagrożeń, które mają ograniczony zasięg z tej racji, iż dotyczą jedynie pewnych charakterystycznych grup, np. osób o specyficznych cechach osobowości. Literatura [1] M. Sowa, Odpowiedzialność karna sprawców przestępstw internetowych, Prokuratura i Prawo 202, nr 4, s. 62–79. [2] J. Arquilla, D.F. Ronfeldt, The Adwent of Netwar, Santa Monica, Calif., 1996. [3] B. Hołyst, Terroryzm, t. 1, Warszawa 2009, s. 754. [4] M. Białkowski, Haking – przestępczość nowych czasów, Przegląd Policyjny, 2002, nr 12, s. 138–148. [5] Information Warfare, Thunders Mouth Press, New York 1996. [6] M. Byczkowski, Bezpieczeństwo systemów sieciowych, Postępy Kryminalistyki, 1997, nr 1, s. 62–73. 58 Wiktymologiczne aspekty cyberprzestępczości [7] K. Buchała, A Zoll, Kodeks karny. Komentarz. Część ogólna, t. 1, Warszawa 1998. [8] J. Barta, R. Markiewicz, Internet a prawo, Warszawa 1998. [9] R. Kraut, M. Patterson, V. Lundmark, S. Kiesler, Internet paradox: A social technology that reduces social involvment and psychological well-being, American Psychologist, 1998, nr 53, s. 1017–1031. [10] P. Wallace, Psychologia Internetu, Poznań 2001. [11] S. Juszczyk, Nowoczesne media dydaktyczne w edukacji lingwistycznej, Kognitywistyka i Media Edukacji, 1993, s. 107–109. [12] D. Sloan, Introduction: On raising critical questions about the computer in education, w: D. Sloan (red.), The Computer in Education. A critical Perspective, New York 1985. [13] J. Morbitzer, Technologia informacyjna – kodeks zagrożeniowym, w: J. Migdałek, B. Kędzierska (red.), Informatyczne przygotowanie nauczycieli w okresie zmian i transformacji, Kraków 2002. [14] J. Morbitzer, Technologia informacyjna, Warszawa 1998. [15] M. Tanaś, Medyczne skutki uboczne kształcenia wspomaganego komputerem, Toruńskie Studia Dydaktyczne, 1993, s. 107–109. [16] J. Bobryk, Technika elektroniczna, komunikacja masowa a procesy psychiczne, w: I. Kurcz, J. Bobryk (red.), Psychologiczne studia nad językiem i dyskursem, Warszawa 2001. [17] D. Shenk, Data Smog. Surviving for Information Glut, San Francisco 1998. [18] R. Pachociński, Czy szkoła przygotowuje do zmian?, Społeczeństwo Otwarte, 1997, nr 4 s. 35–39. [19] R. Cialdini, Wywieranie wpływu na ludzi, Gdańsk 1994, s. 248. [20] B. Siemieniecki, Edukacja humanistyczna i komputery, w: J. Gajda, S. Juszczyk, B. Siemieniecki, K. Wenta, Edukacja medialna, Toruń 2002, s. 183. [21] G.A. Marcoulides, Measuring computer anxiety: the Computer Anxiety Scale, Educational and Psychological Measurement, 1989, nr 49, s 733–740; G.A. Marcoulides, B.T. Mayes, R.L. Wiseman, Measuring computer anxiety in the work environment, Educational and Psychological Measurement, 1995, nr 55, s. 604–810. [22] A. Jakubik, Zespół uzależnienia od internetu, Studia Psychologica, 2002, nr 3, s. 133–142. [23] K. Majgier, Internet jako przestrzeń komunikacyjna, Przegląd psychologiczny, 2000, nr 43, s. 157–172. [24] J. Mellibruda, Nałogowa osobowość naszych czasów, Nowiny Psychologiczne, 1996, nr 2, s. 5–14. 59 B. Hołyst [25] J.S Shapiro, Loneliness: Paradox or artifact?, American Psychologist, 1999, nr 54, s. 782–783. [26] K.S Young, Caught in the Net: How to Recognize the Signs of Internet Addiction and Winning Strategy for Recovery, New York 1994. [27] E. Reid, Communication and communities Internet Relay Chat: Construciting communities, w: P. Ludlow (red.), Conceptual Issues on the Electronic Frontier, Melbourne 1996. [28] M.H. Dembo, Stosowana psychologia wychowawcza, Warszawa 1998. VICTIMOLOGICAL ASPECTS OF CYBECRIME Abstract. We analyze the phenomena associated with the development of the Internet with particular emphasis on cybercrime and cyberterrorism. Were also discussed psychological and victimological aspects of crime in cyberspace. An analysis of threats and risks with regard to subjective and situational factors is presented. Keywords: cybercrime, victimology, cyberspace, malware, network attacks, information technology, the victim of cybercrime, psychological aspects of cybercrime, education network, internet and interpersonal relationships, virtual identity II. KRZYWE ELIPTYCZNE I ICH ZASTOSOWANIE W KRYPTOLOGII ZASTOSOWANIE KRZYWYCH ELIPTYCZNYCH DO KONSTRUKCJI BEZPIECZNYCH ALGORYTMÓW I PROTOKOŁÓW KRYPTOGRAFICZNYCH Mariusz Jurkiewicz, Jerzy Gawinecki, Piotr Bora, Tomasz Kijko Wojskowa Akademia Techniczna Wydział Cybernetyki, Instytut Matematyki i Kryptologii, 00-908 Warszawa, ul. S. Kaliskiego 2 Streszczenie. Celem artykułu jest zaprezentowanie metod doboru bezpiecznych krzywych eliptycznych stosowanych do konstruowania protokołów kryptograficznych oraz sprzętową implementacje koprocesora realizującego operacje arytmetyczne na tej rodzinie krzywych algebraicznych. Słowa kluczowe: Krzywe eliptyczne, stopień zanurzeniowy, logarytm dyskretny, krotność punktu. 1. Wstęp Obecnie w celu uzgodnienia kluczy kryptograficznych a także realizacji podpisu cyfrowego wykorzystywane są algorytmy klucza publicznego. Podstawą bezpieczeństwa tych algorytmów są problemy trudne obliczeniowo takie jak faktoryzacja dużych liczb (algorytm RSA) albo wyznaczanie logarytmu dyskretnego (protokół Diffiego-Hellmana). Przykładem dziedziny wykorzystującej trudność znajdowania logarytmu dyskretnego jest grupa punktów krzywej eliptycznej zdefiniowana nad ciałem skończonym. Okazuje się, że nie każda grupa punktów zapewnia odpowiedni poziom bezpieczeństwa. Podejmiemy trud opisania metod wykrywania oraz radzenia sobie z tymi problemami. Kolejne zagadnienie dotyczy sprzętowych implementacji koprocesora realizującego operacje na krzywych eliptycznych. Wspomaganie sprzętowe obliczeń dla systemów klucza publicznego na krzywych eliptycznych musi być rozpatrywane w trzech warstwach: J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko • wykonywanie operacji elementarnych w ciele, • metody reprezentacji punktu, a co za tym idzie potok obliczeń dla podwajania i dodania punktów na krzywej eliptycznej, • metody realizacji krotności punktu na krzywej eliptycznej. Najczęściej spotykanymi rozwiązaniami są systemy budowane na krzywych nad ciałami liczbowymi lub nad ciałami wielomianów o współczynnikach z ciała charakterystyki 2. Spośród operacji elementarnych w ciele najbardziej czaso- i elementochłonną jest mnożenie modularne. Zarówno w rozwiązaniu budowanym nad ciałem liczbowym, jak i nad ciałem wielomianów najmniej efektywnym jest rozwiązanie mnożenia modularnego tzw. podstawowe. Najczęściej przechodzi się w reprezentacji czynników działania na postać czy to residuów, czy baz normalnych. W przypadku metod reprezentacji punktu na krzywej również odchodzi się od reprezentacji bezpośredniej – afinicznej, na rzecz reprezentacji ogónie nazywanych rzutowymi. Unikamy tu częstego liczenia inwersji elementu w ciele, zostawiając ją na koniec obliczeń wyliczania krotności celem korekcji wyniku do reprezentacji we współrzędnych afinicznych. Ostatnią grupą zagadnień są metody wyznaczania krotności punktu. Podstawowym rozwiązaniem jest metoda binarna, jednak często przechodzi się na metodę dodawań-odejmowań, okien w-szerokich, m-arną, ”drabiny Montgomery’ego”, metodę z dzieleniem punktu lub innych. Dobre zestawienie operacji we wszystkich trzech warstwach obliczeń umożliwia nam uzyskanie rozwiązania sprzętowego modułu wyznaczania krotności punktu o stosunkowo małych wymaganiach sprzętowych i szybkim wyznaczaniu wyniku. 2. Wprowadzenie algebraiczne Rozpoczniemy od zaprezentowania kilku znanych faktów algebraicznych stanowiących trzon aplikacyjny matematyki w kryptologii asymetrycznej. Szczegółowe informacje dotyczące przedstawionych tu kwestii można znaleść np. w [4], [6]. Niech dany będzie zbiór S. Dowolną funkcję ⊗ : S × S → S nazywamy działaniem w S. Działanie nazywamy: (i) łącznym, gdy a ⊗ (b ⊗ c) = (a ⊗ b) ⊗ c, dla a, b, c ∈ S; (ii) z elementem neutralnym, gdy istnieje e ∈ S, że e ⊗ a = a ⊗ e = a, dla a ∈ S; (iii) przemiennym, gdy a ⊗ b = b ⊗ a, dla a, b ∈ S. (iv) odwracalnym, gdy dla a ∈ S istnieje a−1 , że a ⊗ a−1 = a−1 ⊗ a = e; 62 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . Zbiór S z działaniem spełniającym warunki (i), (ii), (iv) nazywamy grupą. Jeżeli dodatkowo spełniony jest warunek (iii) grupę nazywamy przemienną lub abelową. Zbiór R z dwoma działaniami +, ·, nazywanymi odpowiednio „dodawaniem” i „mnożeniem”, nazywamy pierścieniem gdy dodawanie spełnia warunki (i)-(iv) a mnożenie (i)-(iii). Ponadto obydwa działania są związane warunkiem nazywanym rozłącznością mnożenia względem dodawania (v) a · (b + c) = a · b + a · c, dla a, b, c ∈ R. Elementy neutralne względem dodawania i mnożenia nazywamy odpowiednio zerem i jedynką. Zwykle zamiast pisać a · b piszemy ab. Pierścień nazywamy: • Pierścieniem całkowitym jeśli równość ab = 0 implikuje, że a = 0 lub b = 0. • Ciałem jeśli mnożenie jest odwracalne, tzn. spełnia (iv). Podzbiór P ⊂ R nazywamy podpierścieniem jeśli jest pierścieniem z działaniami z R obciętymi do P . Podpierścień J ⊂ R nazywamy ideałem jeśli spełniony jest warunek ar ∈ J dla a ∈ J oraz r ∈ R. Najmniejszym ideałem pierścienia R, zawierającym element a ∈ R jest ideał postaci (a) = {ra | r ∈ R}. Ideał J ⊂ R nazywa się głównym jeśli istnieje a ∈ R, że J = (a). Wtedy mówi się czasem, że J jest ideałem głównym generowanym przez a. Jeśli w dziedzinie całkowitości każdy ideał jest główny, nazywamy go dziedziną ideałów głównych. Niech R oraz J będą odpowiednio, pierścieniem i jego ideałem. Wprowadzamy następującą relację w R: a ≡ b (mod J) wtedy i tylko wtedy, gdy a − b ∈ J. Z łatwością można pokazać, że powyższa relacja jest relacją równoważności, dzielącą R na klasy abstrakcji oznaczane symbolem [a] := a + J. Zbiór wszystkich klas abstrakcji powyższej relacji oznacza się przez R/J. Jeśli w zbiorze R/J określimy działania ⊕ oraz ⊙ (a + J) ⊕ (b + J) = (a + b) + J oraz (a + J) ⊙ (b + J) = ab + J, to okaże się, że po pierwsze są dobrze zdefiniowane a po drugie wprowadzają w R/J strukturę pierścienia. Pierścień ten nazywamy pierścieniem ilorazowym lub dokładniej pierścieniem ilorazowym pierścienia R modulo J. W dalszy ciągu zamiast symboli ⊕, ⊙ będziemy używać zwykłego plusa i kropki. 63 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko Element a ∈ R nazywamy dzielnikiem b ∈ R jeśli istnieje c ∈ R, że ac = b. Elementy odwracalne w R nazywa się dzielnikami jedynki. Elementy a, b ∈ R nazywamy stowarzyszonymi jeśli istnieje dzielnik jedynki ϵ, że a = ϵb. Element p ∈ R nazywa się pierwszym jeśli nie jest dzielnikiem jedynki oraz jego jedynymi dzielnikami są dzielniki jedynki oraz elementy z nim stowarzyszone. Twierdzenie 1. Niech R będzie dziedziną ideałów głównych, wtedy R/(p) jest ciałem wtedy i tylko wtedy, gdy c jest elementem pierwszym pierścienia R. Wniosek 1. Z/(p) jest ciałem wtedy i tylko wtedy, gdy p jest liczbą pierwszą. Oczywiście jest to ciało skończone #Z/(p) = p, oznacza się je również symbolem Zp lub uniwersalnym symbolem Fp . Niech F będzie ciałem. Zbiór wszystkich wielomianów o współczynnikach z F z działaniami dodawania i mnożenia wielomianów jest pierścieniem, który oznaczamy symbolem F [x]. Wielomiany stałe utożsamiamy z elementami ciała F . Łatwo stwierdzić, że jedynymi dzielnikami jedynki w F [x] są niezerowe elementy F . Wielomian nazywamy unormowanym jeśli współczynnikiem przy najwyższej potędze jest jedynka. Elementami pierwszymi w F [x] są wielomiany nierozkładalne, nazywane czasem nieprzywiedlnymi. Trzeba podkreślić, że nieprzywiedlność jest ściśle związana z ciałem F . Klasyczny przykład to x2 − 2 który jest nieprzywiedlny nad Q oraz rozkładalny nad R. Okazuje się, że F [x] jest dziedziną ideałów głównych, dokładniej dla dowolnego ideału J ̸= (0) istnieje jednoznacznie wyznaczony wielomian unormowany f ∈ F [x] taki, że J = (f ). Stąd oraz twierdzenia 1, dostajemy Twierdzenie 2. Dla f ∈ F [x] pierścień ilorazowy F [x]/(f ) jest ciałem wtedy i tylko wtedy, gdy f jest wielomianem nieprzywiedlnym nad F . Dla dowolnego f ∈ F [x] przyjrzymy się elementom pierścienia F [x]/(f ). Jak wiadomo z wcześniejszych rozważań elementy pierścienia ilorazowego mają postać g + (f ). Okazuje się jednak, że każda klasa zawiera jednoznacznie wyznaczonego reprezentanta r ∈ F [x] czyniącego zadość warunkowi deg r < deg f , jest to zwyczajnie reszta z dzielenia g przez f . Ostatnia uwaga ma ciekawe konsekwencje, mianowicie dla F = Fp , gdzie p jest liczbą pierwszą oraz f wielomianem nieprzywiedlnym takim, że deg f = n ≥ 0, liczba elementów ciała Fp [x]/(f ) jest równa liczbie wielomianów w Fp [x] stopni mniejszych od n, zatem #Fp [x]/(f ) = pn . 64 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . Twierdzenie 3. Niech Fp będzie ciałem skończonym (i) Dla każdego n ≥ 1 istnieje nieprzywiedlny wielomian f ∈ Fp [x] stopnia n. (ii) Dla każdego n ≥ 1 istnieje ciało skończone zawierające pn elementów. (iii) Jeśli F oraz F′ są ciałami skończonymi o takiej samej liczbie elementów wtedy są izomorficzne. Jeżeli G ⊆ F jest ciałem to nazywamy je podciałem ciała F jeśli dodatkowo G ̸= F to mówimy, że G jest podciałem właściwym. Ciało F nazywa się również rozszerzeniemciała G. Łatwo stwierdzić, że iloczyn rodziny wszystkich podciał ciała F jest również jego podciałem, które nazywamy podciałem prostym. Zatem podciało proste nie zawiera żadnych podciał właściwych. Okazuje się, że każde podciało proste jest izomorficzne z Fp lub Q. To uzasadnia następną definicję. Charakterystyką ciała F nazywamy rząd jego podciała prostego. Widać, że charakterystyka ciała może być zerem lub liczbą pierwszą. 3. Krzywe eliptyczne Rozpoczniemy od koncepcji krzywej eliptycznej (patrz np. [5], [17]). Przez chwilę będziemy poruszać się w znanym środowisku jakim są przestrzenie euklidesowe. Nazwijmy krzywą eliptyczną w R2 zbiór rozwiązań równania y 2 = x3 + ax + b. (1) Równania tego typu nazywa się równaniami Weierstrassa. Najbardziej zadziwiającą cechą krzywych eliptycznych jest możliwość zdefiniowania działania „dodawania” punktów krzywej indukującego strukturę grupy. Weźmy dwa różne punkty, powiedzmy P i Q, leżące na krzywej eliptycznej, wtedy przechodząca przez nie prosta przecina krzywą w dokładnie trzech różnych punktach {P, Q, −R}. Przyjmujemy, że wynikiem dodawania będzie punkt R krzywej, symetryczny do −R względem osi odciętych. W przypadku gdy P = Q rozważamy styczną do krzywej w punkcie P i powtarzamy powyższą procedurę. Jest tu jednak pewien istotny problem, mianowicie w jaki sposób dodać punkty symetryczne względem osi odciętych lub podwoić punkt leżący dodatkowo na osi odciętych? Odpowiednia prosta będzie wówczas równoległa do osi rzędnych i oczywiście nie przetnie krzywej eliptycznej w żadnym innym punkcie. Okazuje się, że ten pozorny problem tak naprawdę jest dobrodziejstwem pozwalającym wtopić aparat algebraiczny w pojęcie krzywej. Zmienimy na chwilę punkt widzenia. Wyobraśmy sobie zanurzoną w przestrzeni płaszczyznę i stojącą na niej sferę 65 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko Rysunek 1. Dodawanie punktów na krzywej eliptycznej jednostkową w taki sposób, że ich jedynym punktem wspólnym są odpowiednio zero i „biegun południowy” sfery. Dla dowolnego punktu płaszczyzny rozważmy prostą łączącą go z „biegunem północnym”, wtedy nie licząc „bieguna” taka prosta przetnie sferę w dokładnie jednym punkcie. Oznacza to, że istnieje bijekcja pomiędzy płaszczyzną a sferą bez punktu (tzn. bez „bieguna północnego”). Pomysł polega na przypisaniu nieskończoności do tego punktu, nazywając „biegun północny” punktem w nieskończoności który oznaczać będziemy symbolem O. (1 ) Wróćmy do krzywej, rzutując ją na sferę w opisany powyżej sposób widać, że każda prosta równoległa do osi rzędnych przejdzie przez punkt w nieskończoności. Dokładniej, dla punktów symetrycznych względem osi odciętych łącząca je prosta jest krzywą zamkniętą przechodzącą przez obrazy tych punktów oraz punkt w nieskończoności, analogicznie w przypadku podwajania. Nietrudno odnieść wrażenia, że punkt w nieskończoności zachowuje się jak element neutralny działania na punktach krzywej. Naturalnym pomysłem jest przeto rozszerzenie prostej o ten punkt, wtedy krzywa eliptyczna z punktem w nieskończoności oraz opisanym działaniem „dodawania punktów” staje się grupą abelową. Poniżej uściślimy zaprezentowane intuicje. 1 66 Jest to tzw. jednopunktowe uzwarcenie w sensie Aleksandrowa a cała przedstawiona konstrukcja nazywa się rzutem stereograficznym. Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . Definicja 1. Krzywą eliptyczną nad R nazywamy zbiór rozwiązań równania (1) wraz z punktem w nieskończoności O, o ile stałe a, b spełniają dodatkowy warunek ∆E = −16 · (4a3 + 27b2 ) ̸= 0. Zbiór ten oznaczamy symbolem E (R). Zatem krzywa eliptyczna to zbiór E(R) = {(x, y) ∈ R2 | y 2 = x3 + ax + b} ∪ {O} Wyrażenie ∆E nazywa się dyskryminantem krzywej E (R). Warunek ∆E ̸= 0 oznacza, że wielomian x3 + ax + b nie posiada pierwiastków wielokrotnych. Krzywe dla których dyskryminant się zeruje posiadają osobliwości i działanie „dodawania” przestaje zachowywać się właściwie. Opisany powyżej sposób dodawania punktów na krzywej eliptycznej w wersji algebraicznej przyjmuje postać następującego twierdzenia: Twierdzenie 4. (Algorytm dodawania punktów na krzywej eliptycznej) Niech E (R) będzie krzywą eliptyczną oraz P1 , P2 ∈ E (R), wtedy: • Jeśli P1 = O to P1 + P2 = P2 • W przeciwnym wypadku, jeśli P2 = O to P1 + P2 = P1 • W przeciwnym wypadku, niech P1 = (x1 , y1 ) oraz P2 = (x2 , y2 ) ◃ Jeśli x1 = x2 oraz y1 = −y2 , wtedy P1 + P2 = O ◃ W przeciwnym wypadku, określmy λ= y2 − y1 dlaP1 ̸= P2 x2 − x1 3x2 + a 1 dlaP1 = P2 2y1 i niech x3 = λ2 − x1 − x2 oraz y3 = λ(x1 − x3 ) − y1 . Wtedy P1 + P2 = (x3 , y3 ). Twierdzenie 5. Krzywa eliptyczna E(R) wraz z wyżej określonym działaniem „dodawania” jest grupą abelową. Powyżej przedstawiliśmy intuicyjną definicję krzywej eliptycznej nad R, jednak chcąc znaleść zastosowanie krzywych eliptycznych w kryptologii jesteśmy zmuszeni zmienić scenę. Dokładniej, interesować nas będą analogony powyższych definicji jednak z tą różnicą, że tym razem współczynniki krzywej będą elementami ciała Fp . Zatem, 67 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko Definicja 2. Krzywą eliptyczną nad Fp nazywamy zbiór } { E (Fp ) = (x, y) ∈ Fp × Fp | y 2 = x3 + ax + b ∪ {O} (3) przy założeniu, że dyskryminant spełnia warunek ∆E = −16 · (4a3 + 27b2 ) ̸= 0 (mod char(Fp )). (4) Uwaga 1. Z powodów które podamy poniżej zakładamy, że p ≥ 3. Jest rzeczą zdumiewającą, że geometrycznie określone działanie „dodawania” punktów krzywej eliptycznej nad R przenosi się bez zmian oraz z zachowaniem wszystkich zasadniczych własności na przypadek ciała skończonego o charakterystyce większej niż dwa. Twierdzenie 6. Niech P, Q ∈ E (Fp ), wtedy: (i) Algorytm dodawania opisany w twierdzeniu 4 zastosowany do P i Q zwraca element z E (Fp ). (ii) Zbiór E (Fp ) wraz z działaniem dodawania punktów krzywej eliptycznej jest (skończoną) grupą abelową. Na podstawie poprzedniego twierdzenia wiemy, że krzywa eliptyczna nad ciałem skończonym (z chwilowym ograniczeniem na charakterystykę) jest grupą abelową. Naturalne pytanie dotyczy ilości elementów tej grupy. Spróbujmy z grubsza oszacować ten problem. Ustalając x0 ∈ Fp , dostaniemy trzy możliwości w odniesieniu do wartości wyrażenia x30 + ax + b. Po pierwsze może się zdarzyć, że wielkość ta da się spierwiastkować modulo p, co da nam dwa punkty z E (Fp ). W przybliżeniu taka sytuacja występuje w około 50% wypadków. Drugi przypadek to brak możliwości spierwiastkowania, co zdarza się również w około połowie sytuacji. Na koniec wartość wyrażenia może być równa zero, wtedy otrzymamy dokładnie jeden punkt z E (Fp ). Jednak taki przypadek może zajść dla co najwyżej trzech elementów Fp . Podsumowując możemy oczekiwać, że #E (Fp ) ≈ 50% · 2 · p + 1 = p + 1 (1 odpowiada za punkt w nieskończoności). Znane twierdzenie Hassego, póśniej uogólnione przez Weil’a i Deligne’a mówi, że nasze oczekiwania są spełnione z dokładnością do pewnych losowych wielkości. Twierdzenie 7. (Hasse) Niech E (Fp ) będzie krzywą eliptyczną. Wtedy √ #E (Fp ) = p + 1 − tp , przy czym |tp | ≤ 2 p. Wielkość tp = p + 1 − #E (Fp ) nazywa się śladem Frobeniusa dla E(Fp ). 68 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . Twierdzenie Hassego pozwala nam oszacować #E (Fp ), jednak nie dostarcza narzędzi do wyznaczenia tej wielkości. Oczywiście można zastosować metodę typu podstaw i sprawdś, jednak jest ona ekstremalnie nie efektywna zajmuje czas O(p). W pracy [15] Schoof pokazał algorytm wyznaczania #E (Fp ) w czasie O((ln p)8 ). Algorytm Schoof’a został następnie ulepszony przez Elkies’a i Atkin’a, zyskując znaczenie praktyczne (złożoność O((ln p)6 )) i jest aktualnie znany jako SEA (patrz [16]). Powróćmy do definicji 2 z której wynika, że wszystko dobrze działa dopóki dyskryminant nie jest zerem. Jednak z (4) dostajemy natychmiast, że w ciałach postaci F2k równość ∆E = 0 jest zawsze prawdziwa, gdyż char(F2k ) = 2, co można czytać 2 = 0. W tej sytuacji konieczne jest uogólnienie pojęcia krzywej eliptycznej: Definicja 3. Krzywą eliptyczną nazywamy zbiór rozwiązań uogólnionego równania Weierstrassa y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6 (5) wraz z punktem w nieskończoności O. Współczynniki a1 , . . . a6 muszą czynić zadość równości ∆ ̸= 0, gdzie dyskryminant ∆ definiujemy następująco ∆ = −d22 d8 − 8d34 − 27d26 + 9d2 d4 d6 , gdzie d2 = a21 + 4a2 , d4 = 2a4 + a1 a3 , d6 = a23 + 4a6 , d8 = a21 a6 + 4a2 a6 − a1 a3 a4 + a2 a23 − a24 . Równanie (5) ma najogólniejszą postać i w przypadku ciała o charakterystyce większej niż dwa2 można ją sprowadzić do krzywej postaci (3) za pomocą trywialnego przekształcenia. Zmiany polegają na tym, że pracując z postacią (5) zmianie ulega algorytm dodawania punktów. Dokładniej odbicie względem osi odciętych (x, y) 7→ (x, −y) wynikające z definicji geometrycznej trzeba zastąpić bardziej technicznym warunkiem (x, y) 7→ (x, −y − a1 x − a3 ). Jest to jednocześnie formuła opisująca punkt przeciwny do danego. 2 Zakwalifikowanie krzywych eliptycznych nad ciałem charakterystyki 3 do klasy analizowanych równaniem (3) ma charakter czysto teoretyczny, gdyż istnieją takie krzywe dla których dyskryminant jest niezerowy. Jednak w praktyce przypadek ten włącza się do sytuacji opisywanej równaniem (5), gdyż wtedy jesteśmy w stanie ogarnąć znacznie większą liczbę krzywych. 69 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko 4. Praktyczne zastosowania krzywych eliptycznych 4.1. Problem logarytmu dyskretnego Bieżącą sekcję zakończymy opisując jeden z głównych powodów uzasadniających użycie krzywych eliptycznych w kryptologii. Podobnie jak wyżej wróćmy na krótki moment do zbioru liczb rzeczywistych. Wyobraźmy sobie sytuację w której dwoje głównych aktorów sceny kryptologicznej, Alicja i Bob ustalają pewną liczbę rzeczywistą g ≥ 1, następnie Alicja wybiera w sekrecie liczbę n, możemy spokojnie założyć, że będzie to liczba naturalna i publikuje liczbę q = g n . Aktualnie abstrahujemy od pytania w jakim celu to robi. Adwersarz na podstawie informacji o postaci g oraz q musi odkryć n. Natychmiast widać, że n = logg q, czyli problem sprowadza się do rozwiązania klasycznego równania logarytmicznego znanego z podstawowego kursu matematyki, co naturalnie w rozważanym przypadku nie stanowi najmniejszego problemu. Wróćmy do krzywych eliptycznych i spróbujmy powtórzyć powyższą konstrukcję, zobaczymy czy w tym przypadku rozwiązanie jest równie trywialne. Rozważmy grupę punktów krzywej eliptycznej E(Fp ), gdzie jak wiadomo p jest liczbą pierwszą lub potęgą liczby pierwszej. Alicja wybiera punkt P ∈ E(Fp ) oraz n ∈ N i oblicza Q= P + P + ...P | {z } = [n]P, n−1 dodawań w E(Fp ) następnie publikuje P oraz Q. Na podstawie tych danych przeciwnik musi wyznaczyć n, czyli rozwiązać proste na pierwszy rzut oka równanie. Jednak tym razem równanie już proste nie jest. Mianowicie, okazuje się, że techniczna trudność definicji dodawania punktów krzywej eliptycznej wraz z arytmetyką modularną w ciele Fp , czyni ten problem niezwykle trudnym obliczeniowo, przynajmniej dla dużych p. Najszybszy znany algorytm rozwiązuje opisany problem w grupie punktów krzywej √ eliptycznej E(Fp ) o rzędzie r (r – liczba pierwsza) w nie mniej niż O( r) krokach. Definicja 4. Niech E(Fp ) będzie krzywą eliptyczną nad ciałem skończonym Fp oraz niech P, Q ∈ E(Fp ). Problemem logarytmu dyskretnego na krzywej eliptycznej (ECDLP) nazywamy problem znalezienia liczby naturalnej n takiej, że Q = [n]P . W analogii do klasyki szukaną liczbę oznaczamy n = logP Q, 70 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . i mówimy, że n jest dyskretnym logarytmem eliptycznym o podstawie P z Q. Zwróćmy uwagę na fakt, że w powyższa definicja zawiera pewną lukę, mianowicie mogą istnieć punkty P, Q leżące na krzywej takie, że Q nie jest wielokrotnością P . Wtedy oczywiście wyrażenie logP Q nie jest określone. Z praktycznego punktu widzenia nie jest to żadne ograniczenie, gdyż mając opublikowane P oraz Q wiadomo, że odpowiadający im ECDLP jest rozwiązywalny. Druga sprawa którą chcemy podkreślić jest niejednoznaczność rozwiązania. Dokładniej jeżeli istnieje n takie, że n = logP Q wówczas takich rozwiązań jest nieskończenie wiele, w związku ze skończonością grupy E(Fp ). Tak naprawdę wartość logP Q jest elementem zbioru Z/(s), gdzie s jest rzędem punktu P , co więcej jeśli n0 jest jakimkolwiek rozwiązaniem ECDLP to również są nimi wszystkie liczby postaci n = n0 +ks, k ∈ N. Zaletą spojrzenia na opisywane zagadnienie w ten sposób jest to, że dyskretny logarytm eliptyczny spełnia równanie: logP (Q1 + Q2 ) = logP (Q1 ) + logP (Q2 ), dlaQ1 , Q2 ∈ E(Fp ). Należy zwrócić uwagę na fakt, że znaki plus po dwóch stronach równości oznaczają dwa różne działania w różnych strukturach algebraicznych, odpowiednio w E(Fp ) oraz Z/(s). Dodatkowo zdefiniujemy w tym miejscu pojęcia stopnia zanurzeniowego i anomalnej krzywej eliptycznej, które będą wykorzystywane przy omawianiu wymagań stawianych bezpiecznym kryptograficznie krzywym eliptycznym. Definicja 5. Niech E będzie krzywą eliptyczną nad ciałem Fq , gdzie q = pm , gdzie p jest liczbą pierwszą. Dodatkowo niech r będzie największym dzielnikiem pierwszym #E(Fq ). Stopniem zanurzeniowym (embeded degree, MOV) krzywej eliptycznej E(Fq ) nazywamy najmniejsza liczbę naturalną l taką, że zachodzi r|(q l − 1). Należy zwrócić uwagę, że dla r = p stopień zanurzeniowy nie istnieje. Definicja 6. Krzywą eliptyczną E zdefiniowaną nad Fq nazywamy anomalną, gdy największy dzielnik pierwszy r rzędu grupy punktów #E(Fq ) jest równy charakterystyce ciała Fq . 4.2. Wymagania bezpieczeństwa Wszystkie kryptosystemy oparte o krzywe eliptyczne bazują na trudności obliczenia logarytmu dyskretnego w grupie punktów krzywej eliptycznej ECDLP. Dlatego też wymagania bezpieczeństwa w ogromnym stopniu 71 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko są związane z istniejącymi algorytmami służącymi do wyznaczania logarytmu dyskretnego na krzywych eliptycznych. Część z tych algorytmów pozwala także na obliczanie logarytmu dyskretnego w grupie multiplikatywnej ciała skończonego i w addytywnej grupie jaką jest jakobian krzywej hipereliptycznej. Warto w tym miejscu opisać krótko wybrane algorytmy, gdyż ich charakterystyka posłuży nam do zdefiniowania wymaganych własności jakimi powinna cechować się bezpieczna krzywa eliptyczna. 1. Pełne przeszukanie (atak brutalny). Jeżeli szukamy takiej wartości całkowitej α, dla której zachodzi Q = [α]P , to możemy dla kolejnych β od 1 obliczać punkty na krzywej R = [β]P i sprawdzać, czy R = Q. Jeśli równość zajdzie, to szukana wartość α jest równa aktualnej wartości β. Atak ten wymaga w najgorszym przypadku wyznaczenia wszystkich elementów grupy generowanej przez punkt P . 2. Meroda ρ-Pollarda. Metoda ta została przedstawiona przez Pollarda (patrz [12]). Opiera się ona na paradoksie dnia urodzin. W algorytmie tym dwa elementy grupy B (w naszym przypadku dwa punkty krzywej eliptycznej) poruszają się z różną „prędkością” po pseudolosowej trajektorii, aż do momentu znalezienia się w cyklu i dogonienia elementu „wolniejszego” przez element „szybszy”3 . Metoda ta wymaga w przybliżeniu pierwiastka z #B operacji w grupie. Przyjmując założenie, że 2128 operacji nie uda się wykonać w rozsądnym czasie, to wymagamy, aby #B > 2256 . 3. Metoda Pohliga-Hellmana. Metoda ta pozwala na zredukowanie problemu obliczenia logarytmu dyskretnego w grupie E(Fq∏ ), której rząd rozkłada się na czynniki pierwsze postaci #E(Fq ) = pai i do wyznaczenia logarytmu dyskretnego w podgrupach o rzędach równych pi (patrz [9]). Wynika z tego, że problem logarytmu dyskretnego w grupie E(Fq ) jest tak trudny, jak problem logarytmu dyskretnego w podgrupie rzędu r, gdzie r jest równe największemu pi . Dlatego też zalecane jest aby #E(Fq ) był liczbą pierwszą, albo #E(Fq ) = k · r, gdzie r jest liczbą pierwszą a k jest małe (np. mniejsze niż 5). 4. Metoda wykorzystująca anomalne krzywe eliptyczne. W 1998 Semaev przedstawił metodę o złożoności wielomianowej (patrz [14]) pozwalającą na sprowadzenie problemu logarytmu dyskretnego w grupie E(Fq ) krzywej anomalnej do problemu wyznaczenia wielokrotności w addytywnej grupie ciała Fq . Ruck rozwiną tę metodę dla przypadku krzywych hipereliptycznych ([13]). Należy więc unikać stosowania krzywych anomalnych. 3 72 Opis dotyczy jednej z wersji tego algorytmu (wersji nie wymagającej pamiętania trajektorii). Istnieją wersje tego algorytmu w których po pseudolosowej trajektorii porusza się tylko jeden punkt, jednak wymagają one pamiętania punktów na trajektorii. Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . 5. Atak MOV i Freya-Rucka. Menezes, Okamoto i Vanstone (patrz [8]) oraz Frey i Ruck (patrz [3]) pokazali, że jeżeli dla krzywej eliptycznej E(Fq ) o rzędzie podzielnym przez dużą liczbę pierwszą r istnieje stopień zanużeniowy l, to istnieje homomorfizm grup z podgrupy E(Fq ) o rzędzie r w podgrupę grupy multiplikatywnej ciała Fql . W przypadku, gdy l jest małe (nie większe niż 50), zamiast wyznaczać logarytm dyskretny w E(Fq ), to po przekształceniu szybciej otrzymamy rezultat dla podgrupy grupy F∗ql . 6. Ataki typu „cover”. Ataki tego typu bazują na zaproponowanej przez Freya (patrz [2]) idei, że dla pewnych (nie wszystkich) krzywych eliptycznych E (Fqm ) istnieją krzywe hipereliptyczne C (Fq ) takie, że grupa punktów E (Fqm ) jest homomorficzna z jakobianem krzywej C (Fq ). W przypadku, gdy genus krzywej C jest nieco większy od m, to obliczeniowo opłacalne jest przejście (przy pomocy homomorfizmu) z grupy punktów krzywej E do jakobianu krzywej C, i w tej grupie wyznaczenie logarytmu dyskretnego. Aby uniknąć takiej sytuacji zalecane jest, aby unikać krzywych eliptycznych (w ogólnym przypadku hipereliptycznych), dla których stopień rozszerzenia ciała bazowego m jest mały. Sugerowane jest aby stosować krzywe zdefiniowane nad ciałem prostym Fp albo nad F2m z m będącym liczbą pierwszą. Podsumowując powyższe rozważania można określić, jakimi parametrami powinna charakteryzować się bezpieczna kryptograficznie krzywa eliptyczna. Są nimi: 1. q powinna być liczbą pierwszą (q = p) alboq = 2m i m jest liczbą pierwszą. 2. Liczba r powinna być liczbą większą niż 2256 . 3. Liczba r nie może dzielić q. 4. Stopień zanurzenia l powinien być większy od 50. Opis warunków bezpieczeństwa stawianych przed krzywymi eliptycznymi w aspekcie zastosowań kryptograficznych oraz zalecane do wykorzystania krzywe można znaleść w [1], [11]. Dodatkowo zaleca się, aby iloraz rzędu krzywej #E(Fq ) przez r (oznaczony przez k) nie powinien przekroczyć 4. 4.3. Przykłady bezpiecznych krzywych eliptycznych Przedstawimy teraz przykłady krzywych eliptycznych do zastosowań kryptograficznych (spełniających wymagania bezpieczeństwa). Przykłady te zostały wyznaczone zarówno dla przypadku, gdy krzywa eliptyczna zdefiniowana jest nad ciałem charakterystyki 2 jak i ciałem prostym. 73 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko 4.3.1. Krzywe eliptyczne nad ciałami charakterystyki 2 Niech E(F2m ) będzie krzywą eliptyczną na ciałem F2m opisaną równaniem (5). Wtedy możemy sprowadzić równanie tej krzywej do jednego z dwóch równań E1 (F2m ) : y 2 + xy = x3 + b2 x2 + b6 , (gdy a1 ̸= 0), E2 (F2m ) : y 2 + b3 y = x3 + b4 x + b6 , (gdy a1 = 0). albo Krzywe eliptyczne E(F2m ) i E1 (F2m ) (albo E(F2m ) i E2 (F2m )) są izomorficzne, a także izomorficzne są ich grupy punktów. Na potrzeby praktycznych zastosowań szukaliśmy krzywych eliptycznych E(F2281 ) o równaniu: E(F2281 ) : y 2 + xy = x3 + b6 , (6) gdzie F2281 ∼ = F2 [t]/(f (t)), przy czym wielomian f jest nieprzywiedlny nad F2281 (patrz Twierdzenie 3) i ma postać f (t) = t281 + t280 + t278 + t277 + t276 + t273 + t272 + t262 + t261 + t260 + t257 + t256 + t230 + t229 + t228 + t225 + t224 + t217 + t216 + t214 + t213 + t212 + t209 + t208 + t198 + t197 + t196 + t193 + t192 + t153 + t152 + t150 + t149 + t148 + t145 + t144 + t134 + t133 + t132 + t129 + t128 + t25 + t24 + t22 + t21 + t20 + t17 + t16 + t6 + t5 + t4 + t + 1. Wyznaczone zostały trzy krzywe eliptyczne zdefiniowane nad wybranym ciałem opisane równaniem (6) przedstawione w Tabeli 1. Współczynniki b6 w równaniach krzywych zostały zapisane w postaci heksadecymalnej4 . 4.3.2. Krzywe eliptyczne nad ciałem prostym Na potrzeby praktycznych zastosowań szukaliśmy krzywych eliptycznych E(Fp ) o równaniu: E(Fp ) : y 2 = x3 − 3x + b, 4 74 Oznaczenia współczynników r i k jak w podrozdziale 4.2. (7) Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . Tabela 1 Bezpieczne krzywe eliptyczne nad ciałem F2281 Krzywa eliptyczna 1. b6 0xC89B77ED7DAC9E3F00298E09C1ABD4546401E1EDC2\\ r 97133444611286453545973095341175945332120350\\ 219265826B6E638788C3C6BDECF 6612204843939922802337458667070280781933 k ≈ 2279 2 Krzywa eliptyczna 2. b6 0x3029C1EEA22882E032CC968936E9A79CF49517B3D2\\ 230C2614A0C495D2E6C84C9A199C r 97133444611286453545973095341175945332120249\\ 2392950959374410519011296130835516994247 ≈ 2279 k 2 Krzywa eliptyczna 3. b6 0x23B5B7F7D2BE7EA4E097515298455DBFC7E3228A20\\ B3A37B8C8B52B76174B95E0D2147 r 97133444611286453545973095341175945332120292\\ 7759769823015633823402068717958858419181 k ≈ 2279 2 gdzie p = 2288 − 2224 − 264 − 1. Wyznaczone zostały trzy krzywe eliptyczne zdefiniowane nad wybranym ciałem opisane równaniem (7) przedstawione w Tabeli 2. 5. Praktyczna realizacja arytmetyki na krzywych eliptycznych Główną operacją w systemach wykorzystujących technologię klucza publicznego na krzywych eliptycznych jest wyznaczenie krotności punktu [k]P , gdzie P jest punktem krzywej eliptycznej a k liczbą całkowitą. Do realizacji tego zadania należy rozpatrzyć obliczenia w trzech warstwach: • w warstwie obliczeń w ciele charakterystyki 2 lub p szybkie mnożenie w ciele, • w warstwie reprezentacji krzywej, dla ominięcia czasochłonnego liczenia wielokrotnego inwersji elementu w ciele, • w warstwie metod wyznaczania krotności punktu. 75 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko Tabela 2 Bezpieczne krzywe eliptyczne nad ciałem Fp Krzywa eliptyczna 1. b 46434666704580341340259055902747977740358974\\ 5439209108137114490874441425880915297773789 r 49732323640978664212842230147967020030578915\\ 2828912872661660851876130475251591595746581 k ≈ 2288 1 Krzywa eliptyczna 2. b 14732881112350622874811312589591370839680442\\ 4310531207644440883289019529784816272113060 r 49732323640978664212842230147967020030578916\\ 2825746325931843590541573240289799851999751 ≈ 2288 k 1 Krzywa eliptyczna 3. b 20137344272582920889432431100201652193397174\\ 4945342080230360289378164419682769390517574 r 49732323640978664212842230147967020030578916\\ 6175721646729571266331517325646376703118329 k ≈ 2288 1 W warstwie obliczeń w ciele najistotniejsze jest mnożenie modularne. Dla rozwiązań nad ciałem charakterystyki 2 wykorzystuje się np. algorytm Karatsuby (patrz [7]) lub mnożenia elementów przekształconych do postaci baz normalnych. Dla rozwiązań nad ciałem charakterystyki p wykorzystuje się najczęściej przekształcenie czynników mnożenia do postaci residuów i realizacji obliczeń np. z wykorzystaniem algorytmu Montgomery’ego (patrz [10]). W warstwie reprezentacji krzywej przechodzi się z postaci afinicznej na reprezentację krzywej w jednej z postaci rzutowych. Dla rozwiązań nad ciałem charakterystyki 2 wykorzystuje się najczęściej postać współrzędnych rzutowych Lopeza-Dahaba. Dla rozwiązań nad ciałem charakterystyki p > 2 postać współrzędnych rzutowych ważonych nazywana jest również jakobianowymi. W warstwie metod wyznaczania krotności punktu spotyka się metody: • binarną, • dodawania-odejmowania, • tzw. „complementary recording” (gdy wartość k zapisana w NKB posiada dużą liczbę jedynek), 76 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . • • • • • • • • • 2r-arna, okna w-szerokiego, tzw. „drabina Montgomery’ego”, mnożenia skalarnego Montgomery’ego, łańcuchów dodawania-odejmowania punktu, z wykorzystaniem reprezentacji Zeckendora liczby k, z dzieleniem punktu, skalarną dla obliczeń typu [k1 ]P + [k2 ]Q, okienek z rozwinięciem znakowym m-arnym. Dla porównania efektywności wykorzystania powyższych rozwiązań często w literaturze spotyka się zestawienia dotyczące kosztów – ilości mnożeń dla realizacji konkretnej krotności punktu, jednak należy tu również uwzględnić bezpieczeństwo implementacji. Tu jedynie dwie ostatnie warstwy grają szczególną rolę. W warstwie reprezentacji krzywej należy wybrać rozwiązanie oferujące równowagę pomiędzy ilością operacji dla podwajania i dodania punktu na krzywej, natomiast w warstwie liczenia krotności możliwość ukrycia charakterystyki bitów obliczanej krotności. Tu szczególnie predestynowane są rozwiązania naturalnie bezpieczne, jak np. mnożenia skalarnego Montgomery’ego. 6. Podsumowanie Z powyższych rozważań płyną naturalne wnioski dotyczące doboru krzywych eliptycznych do konstrukcji bezpiecznych algorytmów o nie opartych. W przypadku praktycznych implementacji tych algorytmów warto zwrócić uwagę na realizacje sprzętowe, gdyż • można efektywnie realizować rozwiązania klucza publicznego oparte na krzywych eliptycznych w oparciu o platformy procesorowe lub struktury programowalne, osiągając bardzo duże przepływności, • można wyznaczyć np. krotność punktu w czasie ok 5 ms w przypadku systemu budowanego nad ciałem F2m z m rzędu 400 (m musi być liczbą pierwszą) i implementację koprocesora w strukturze programowalnej, • można realizować obliczenia w sposób bezpieczny i odporny na ataki typu „side channel”. Literatura [1] Certicom Research. SEC 2: Recommended Elliptic Curve Domain Parameters, 2010. 77 J. Gawinecki, P. Bora, M. Jurkiewicz, T. Kijko [2] G. Frey, How to disguise an elliptic curve (Weil descent), Talk at ECC’98, Waterloo, 1998. [3] G. Frey and H.-G. Ruck, A remark concerning m-divisibility and the discrete logarithm in the divisor class group of curves, Math. Comp., 62(206):865–874, 1994. [4] J. Gawinecki, J. Szmidt, Zastosowanie ciał skończonych i funkcji boolowskich w kryptografii, BelStudio, 2001. [5] D. Hankerson, A. Menezes and S. Vanstone, Guide to Elliptic Curve Cryptography, Springer, 2004. [6] R. Lidl and H. Niederreiter, Introduction to Finite Fields and Their Applications, Cambridge University Press, revised edition, 1994. [7] A. Karatsuba and Y. Ofman, Multiplication of Multidigit Numbers on Automata, Soviet Phys. Doklady 7(7):595596, 1963. [8] A.J. Menezes, T. Okamoto, and S.A. Vanstone, Reducing elliptic curve logarithms to logarithms is a finie field, IEEE Trans. Information Theory, 39(5):1639–1646, 1993. [9] S.C. Pohlig and M.E. Hellman, An improved algorithm for computing logarithms over gf (p) and its cryptographic significances, IEEE Trans. Information Theory, IT-24(1):106–110, 1978. [10] P.L. Montgomery, Modular multiplication without trial division, Mathematics of Computation, 78:315–333, 1985. [11] PKN, PN-ISO/IEC 15946-1. Technika informatyczna – Techniki zabezpieczeń – Techniki kryptografii oparte na krzywych eliptycznych – Część 1: Postanowienia ogólne, 2005. [12] J.M. Pollard, Monte carlo methods for index computation (mod p), Math. Comp., 32(143):918–924, 1978. [13] H.-G. Ruck, On the discrete logarithm in the divisor class group of curves, Math. Comp., 68(226):805–806, 1999. [14] I. A. Semaev, Evaluation of discrete logarithms in a group of p-torsion points of an elliptic curve in characteristic p, Math. Comp., 67(221):353–356, 1998. [15] R. Schoof, Elliptic curves over finite fields and the computation of square roots mod p, Math. Comp., 44(170):483–494, 1985. [16] R. Schoof, Counting points on elliptic curves over finite fields, J. Théor, Nombres Bordeaux, 7(1):219–254, 1995. Les Dix-huitiémes Journées Arithmétiques (Bordeaux, 1993). [17] L. C. Washington, Elliptic Curves: Number Theory and Cryptography, Discrete Mathematics and Its Applications. Chapman & Hall/CRC, 2003. 78 Zastosowanie krzywych eliptycznych do konstrukcji bezpiecznych algorytmów . . . APPLICATIONS OF ELLIPTIC CURVES FOR CONSTRUCTION OF SECURE CRYPTOGRAPHIC ALGORITHMS AND PROTOCOLS Abstract. The main purpose of this paper is to present some methods of choosing secure ECs for construction of cryptographical protocols and hardware implementation of coprocesor that performs aritmetical operations over this set of algebraic curves. Keywords: elliptic curve, embedding degree, discrete logarithm, point multiplication. Konstruowanie krzywych eliptycznych z podgrupą danego rzędu i z danym pierścieniem endomorfizmów Robert Dryło∗ , Zbigniew Jelonek∗∗ ∗ Szkoła Główna Handlowa, Aleja Niepodległości 162, 02-554 Warszawa Instytut Matematyczny PAN, ul. Śniadeckich 8, 00-950 Warszawa [email protected] [email protected] ∗,∗∗ Streszczenie. Metoda mnożeń zespolonych (CM metoda) pozwala skonstruować krzywą eliptyczną nad ciałem skończonych, której pierścień endomorfizmów jest ordynkiem maksymalnym w ciele urojonym kwadratowym o odpowiednio małym wyróżniku. Stosując CM metodę Lay i Zimmer oraz Bröker i Stevenhagen podali metodę konstruowania krzywej eliptycznej danego rzędu n nad pewnym ciałem prostym. Ich metoda ma heurystycznie wielomianowy czas działania, jeśli n nie ma zbyt wielu dzielników pierwszych. W tym opracowaniu pokażemy, że w analogiczny sposób można skonstruować krzywą eliptyczną, która zawiera podgrupę danego rzędu r i ma dany pierścień endomorfizmów o odpowiednio małym wyróżniku. Przy pewnych heurystycznych założeniach metoda ma wielomianowy czas działania, jeśli r jest liczbą pierwszą. Słowa kluczowe: krzywe eliptyczne danego rzędu, CM metoda, algorytm Cornacchii, pierścień endomorfizmów. 1. Wstęp Metoda mnożeń zespolonych (CM metoda) pozwala konstruować krzywe eliptyczne rzędu n nad ciałem skończonym Fq , których pierścień endomorfizmów jest ordynkiem w ciele urojonym kwadratowym K = √ Q( −d) o odpowiednio małym wyróżniku. CM metoda została wprowadzona do zastosowań w [1], aby przyspieszyć generowanie krzywych eliptycznych używanym przy dowodzeniu pierwszości. W kryptografii najczęściej stosuje się krzywe eliptyczne, których rząd n jest liczbą pierwszą lub r = n/h jest liczbą piewszą dla małego h. Jeden z problemów, którego rozwiązanie opisali Lay i Zimmer [12], dotyczy konstruowania krzywej eliptycznej danego rzędu n nad pewnym ciałem prostym Fp . Poszukiwanie takiego ciała polega na sprawdzaniu dla kolejnych liczb bezkadratowych d czy równanie N(α) = αᾱ = n ma rozwiązania α ∈ OK , takie że p = N(α + 1) jest liczbą pierwszą,√gdzie OK jest pierścieniem liczb algebraicznych całkowitych w K = Q( −d). Jeśli otrzymamy liczbę pierwszą p, to istnieje krzywa eliptyczna E/Fp rzędu n, którą można skonstruować stosując CM metodę jeśli d jest odpowiednio małe. Bröker i Stevenhagen [4] pokazali, że można oczekiwać znalezienia liczby pierwszej R. Dryło, Z. Jelonek p dla d = O(ln2 r) i podali dokładny opis algorytmu rozwiązującego ten problem, który ma koszt wielomianowy dla liczb n, których liczba dzielnników pierwszych jest ≤ ln ln n. W tym opracowaniu zajmujemy się następującym analogicznym problem: √ Problem 1.1. Niech K = Q( −d) będzie ciałem urojonym kwadratowym oraz r liczbą pierwszą. Skonstruować krzywą eliptyczną E nad pewnym ciałem prostym Fp , która zawiera podgrupę rzędu r i End(E) = OK . Krzywe z danym pierścieniem endomorfizmów mogą być użyteczne przy mnożeniu punktów przez skalary. Dla krzywych, które mają efektywnie obliczalne endomorfizmy istnieją efektywniejsze metody mnożenia punktów [9], [8], [10]. Na przykład, krzywe y 2 = x3 + a i y 2 = x3 + ax mają odpowiednio automorfizmy postaci (x, y) → (ζ3 x, y) i (x, y) → (−x, iy). Poszukiwanie rozwiązania Problemu 1.1 polega na sprawdzaniu dla kolejnych h ∈ N czy równanie N(α) = hr ma rozwiązanie α ∈ OK , takie że p = N(α + 1) jest liczbą pierwszą. Jeśli to równanie ma rozwiązania dla h < r, to r musi rozpadać się w K. Wówczas przy pewnych heurystycznych założeniach można oczekiwać znalezienia rozwiąza√ √ nia dla h ≤ O( d ln1+ε ( dr)), gdzie ε > 0 (Stwierdzenie 5.1). Metodę można w oczywisty sposób rozszerzyć na liczby r, które nie są pierwsze, ale znana jest faktoryzacja r, która jest wymagana do rozwiązania równania N(α) = hr. W rozdziałach 2 i 3 przypominamy podstawowe fakty o krzywych eliptycznych i CM metodzie. W rozdziale 4 szczegółowo opisujemy metodę rozwiązywania równania N(α) = n. W rozdziale 5 podajemy algorytm rowiązywania Problemu 1.1. Podajemy również prostszą wersję gdy OK jest dziedziną ideałów głównych. Wykorzystaliśmy program Magma, aby zaimplementować te algortymy i podać przykłady krzywych. 2. Krzywe eliptyczne Endomorfizm Frobeniusa stopnia q na krzywej eliptycznej E/Fq spełnia równanie charakterystyczne πq2 − tπq + q = 0, gdzie liczbę t ∈ Z nazywamy śladem krzywej. Ślad ma następujące własności: √ (1) |t| ≤ 2 q 82 Konstruowanie krzywych eliptycznych . . . (2) #E(Fq ) = q + 1 − t. √ √ W szczególności stąd ( q − 1)2 ≤ #E(Fq ) ≤ ( q + 1)2 . Krzywą E nazywamy zwykłą jeśli gcd(t, q) = 1. Jest to równoważne, temu że krzywa ma niezerowe punkty p-torsyjne nad Fp . Krzywą, która nie jest zwykła nazywamy spersingularną. Jeśli E jest krzywą zwykłą, to wyróżnik równania charakterystycznego możemy zapisać w postaci t2 − 4q = −dy 2 , gdzie d ∈ N jest liczbą bezkwadratową oraz y ∈ Z. Wówczas endomorfizm Frobeniusa możemy utożsamiać z jednym z pierwiastków √ t±y −d π= równania charakterystycznego oraz pierścień endomorfizmów 2 End(E) √jest izomorficzny z ordynkiem w ciele urojonym kwadratowym K = Q( −d). Ordynki w K są podpierścieniami ̸= Z pierścienia liczb algebraicznych całkowitych. Dla ustalonego c ∈ Z>0 są to podpierścienie postaci √ {x + yc −d | x, y ∈ Z},d ≡ 1, 2mod 4 √ Oc = (2.1) {x + yc 1 + −d | x, y ∈ Z},d ≡ 3mod 4. 2 Jeśli c1 | c2 , to Oc2 ⊂ Oc1 . Ordynek maksymalny O1 , który oznaczamy przez OK , składa się z liczb algebraicznych całkowitych w K. Niech N : K → Q będzie normą, N(α) = αᾱ = x2 + dy 2 dla α = √ x + y −d, x, y ∈ Q. Jeśli π ∈ OK odpowiada endomorfizmowi Frobeniusa, to (x − π)(x − π̄) = x2 − tx + q. Stąd t = π + π̄, q = N(π) oraz z (2) wynika, że #E(Fq ) = N(π − 1). (2.2) Odwrotnie z Twierdzenia 3.1 wynika, że jeśli π ∈ OK spełnia ππ̄ = q i t = π + π̄ jest względnie pierwsza z q, to istnieje krzywa eliptyczna zwykła E/Fq , taka że End(E) = OK oraz π odpowiada jej endomorfizmowi Frobeniusa. W szczególności rzędy krzywych eliptycznych zwykłych nad Fq √ √ są dokładnie liczbami n ∈ [( q − 1)2 , ( q + 1)2 ], takimi że gcd(t, q) = 1, gdzie t = q + 1 − n. Uwaga. Powyższy fakt jest szczególnym przypadkiem ogólnego twierdzenia Hondy i Tate, które mówi, że istnieje bijekcja między klasami isogenicznych rozmaitości abelowych prostych nad Fq , a klasami sprzężonych 83 R. Dryło, Z. Jelonek liczb q-Weila (liczbę algebraiczną całkowitą π nazywamy liczbą q-Weila, jeśli q = φ(π)φ(π) dla każdego zanurzenia φ : Q(π) → C). Jeśli wiemy, że pierścień endomorfizmów krzywej √ eliptycznej E/Fq jest ordynkiem w ciele urojonym kwadratowym K = Q( −d), to możemy dużo efektywniej niż przy pomocy algorymu Schoofa [13], [14], obliczyć rząd krzywej #E(Fq ). Możemy znaleźć rozwiązania równania N (π) = q w OK i sprawdzić czy dla losowo wybranego punktu P ∈ E(Fq ) mamy nP = 0, gdzie n = N(π − 1). Wówczas z dużym prawdopodobieństwem n jest rzędem E. 3. Metoda mnożeń zespolonych Następujące twierdzenie jest wnioskiem z twierdzeń Deuringa. √ Twierdzenie 3.1. Niech K = Q( −d) będzie ciałem urojonym kwadratowym oraz p liczbą pierwszą. Wówczas istnieją krzywe eliptyczne zwykłe nad Fp , takie że End(E) = OK dokładnie wtedy, gdy p rozpada się w K. Takie krzywe istnieją nad ciałem Fq , gdzie q = pm i m > 0 jest najmniejszą liczbą, taką że ideał P m jest główny, gdzie P ⊂ OK jest ideałem pierwszym leżącym nad p (wówczas generator P m odpowiada endomorfizmowi Frobeniusa πq ). Wielomian klas Hilberta HK (x)mod p ma w Fq wszystkie pierwiastki, które są dokładnie j-niezmiennikami krzywych eliptycznych E/Fp z End(E) = OK . Następujący algorytm pozwala skonstruować krzywe eliptyczne zwykłe danego rzędu, takie że End(E) √ jest ordynkiem maksymalnym w ciele urojonym kwadratowym K = Q( −d) o odpowiednio małym wyróżniku. √ √ Algorytm 3.2. Input: Potęga liczby pierwszej q, n ∈ [( q−1)2 , ( q+1)2 ], taka że t2 − 4q = −dy 2 , gdzie d, y ∈ Z>0 , d ̸= 1, 3 jest bezkwadratowa oraz t = q + 1 − n. Output: Krzywa eliptyczna zwykła E/Fq rzędu n. (1) Oblicz wielomian √ klas Hilberta HK (x) ∈ Z[x] ciała urojonego kwadratowego K = Q( −d). (2) Wyznacz pierwiastek j ∈ Fq wielomianu HK (x)mod p. 27j (3) Utwórz krzywą eliptyczną E : y 2 = x3 + ax − a, gdzie a = 4(1728−j) . (4) Wybierz losowy punkt P ∈ E(Fq ). (5) Jeśli nP = 0, zwróć E. W przeciwnym razie zwróć skręcenie kwadratowe E ′ : y 2 = x3 + ac2 x − ac3 , gdzie c ∈ Fq ∗ \ (F∗q )2 jest nieresztą kwadratową w Fq . 84 Konstruowanie krzywych eliptycznych . . . Uwaga 3.3. Powyższy algorytm można łatwo rozszerzyć dla d = 1, 3 dołączając wzory na skręcenia takich krzywych. W tym przypadku istnieje alternatywna prosta metoda konstruowania krzywych rzędu n. Dla d = 1, 3 mamy odpowiednio OK = Z[i] lub Z[ζ3 ]. Są to dziedziny ideałów głównych, więc liczba klas ciała K jest równa jeden. Stąd wszystkie krzywe eliptyczne z End(E) = Z[i] lub Z[ζ3 ] są izomorficzne. Krzywe (1) Ea : y 2 = x3 + ax, (2) Ea : y 2 = x3 + a mają automorfizmy odpowiednio stopnia 4 i 3 dane wzorem (x, y) 7→ (−x, iy) i (x, y) 7→ (ζ3 x, y). Stąd jeśli te krzywe są zwykłe, to odpowiednio End(Ea ) = Z[i] lub End(Ea ) = Z[ζ3 ]. Krzywe (1) i (2) są zwykłe nad Fp dokładnie wtedy, gdy odpowiednio p ≡ 1mod 4 lub p ≡ 1mod 3 (tj. p rozpada się w Z[i] lub Z[ζ3 ]). Aby w praktyce znaleźć krzywą rzędu n z d = 1, 3 wystarczy na ogół sprawdzać czy dla kolejnych małych a ∈ F∗q i dla losowego punktu P ∈ Ea (Fq ) mamy nP = 0. 4. Rozwiązywanie równania N (α) = n √ Niech K = Q( −d) będzie ciałem urojonym kwadratowym, gdzie d ∈ N jest liczbą bezwkadratową. Podamy własności pierścienia OK liczb algebraicznych całkowitych w K, które pozwolą wyznaczć wszystkie rozwiązania α ∈ OK równania N(α) = n. Pierścień OK ma bazę OK = Z + Zω, gdzie {√ ω= −d, d ≡ 1, 2mod 4 √ (1 + −d)/2,d ≡ 3mod 4. (4.1) Wielomianem minimalnym ω jest 2 x + d, fω = d ≡ 1, 2mod 4. x2 − x + 1 + d ,d ≡ 3mod 4. 4 (4.2) Wyróżnikiem ciała K jest 1 D = 1 2 { − 4d,d ≡ 1, 2mod 4 ω = ω̄ − d, d ≡ 3mod 4. (4.3) 85 R. Dryło, Z. Jelonek Wyróżnik D jest równy wyróżnikowi wielomianu fω . Pierścień OK można traktować jako 2-wymiarową kratę dyskretną w C. W szczególności dla n ∈ N istnieje skończenie wiele liczb α ∈ OK √ o module n, które są dokładnie rozwiązaniami równania N(α) = n. ∗ Grupa jedności OK składa się z liczb α ∈ OK o normie N(α) = 1. Jest to grupa skończona, więc jedności są pierwiastkami z jedynki. Dla k-tego pierwotnego pierwiastka z jedynki ζk ∈ C ciało Q(ζk ) ma stopień φ(k). Mamy φ(k) = 2 dla k = 3, 4, 6. Stąd grupa jedności jest postaci d ̸= 1, 3 ± 1, ∗ ± 1, ±i, d=1 OK = ± 1, ±ζ3 , ±ζ32 ,d = 3. Podamy teraz rozkład liczby pierwszej p na iloczyn ideałów pierwszych w OK . (1) Jeśli fω (x)mod p ≡ (x − a1 )(x − a2 )mod p ma dwa różne pierwiastki w Fp , gdzie a1 , a2 ∈ Z, to p rozpada się w OK na iloczyn dwóch ideałów pierwszych. Wówczas pOK = P P , gdzie P = (p, ω−a1 ), P = (p, ω−a2 ) oraz Fp = OK /P = OK /P . (2) Jeśli fω (x)mod p jest nierozkładalny nad Fp , to p pozostaje liczbą pierwszą w OK . Wówczas pOK = P jest ideałem pierwszym oraz Fp2 = OK /P . (3) Jeśli fω (x)mod p ≡ (x − a)2 mod p ma pierwiastek podwójny w Fp , gdzie a ∈ Z, to p rozgałęzia się w OK . Wówczas pOK = P 2 , gdzie P = (p, ω − a) oraz Fp = OK /P . Jeśli p jest nieparzysta, to ze wzorów na pierwiastki równania kwadratowego otrzymujemy, że p odpowiednio rozpada się, pozostaje pierwsza lub rozgałęzia się w OK dokładnie wtedy, gdy wyróżnik Dmod p jest resztą kwadratową, nieresztą kwadratową, lub Dmod p = 0; równoważnie symbol Legendra ( D p ) = 1, −1, 0. Liczba p = 2 rozgałęzia się w OK dokładnie wtedy, gdy Dmod 2 ≡ 0, czyli dla d ≡ 1, 2mod 4. Jeśli d ≡ 3mod 4, to dla d = 3 + 8k wielomian fω (x)mod 2 ≡ x2 + x + 1mod 2 jest nierozkładalny nad F2 , więc 2 pozostaje liczbą pierwszą w OK . Jeśli d = 7 + 8k, to fω (x)mod 2 ≡ x2 + xmod 2 ma dwa pierwiastki w F2 , więc 2 rozpada się w OK . Opiszemy teraz metodę rozwiązywania równanie N(α) = n dla α ∈ OK . Normą niezerowego ideału I ⊂ OK nazywamy liczbę N(I) = #OK /I. 86 Konstruowanie krzywych eliptycznych . . . Aby rozwiązać równanie N(α) = n wyznaczamy wszystkie ideały o normie n, a następnie wybieramy z pośród nich ideały główne i ich generatory. Jeśli I jest ideałem głównym o generatorze α, to N(I) = N(α). Jeśli I = ∏ Pivi jest iloczynem ideałów pierwszych, to N(I) = ∏ N(Pi )vi . (4.4) Dla ideału pierwszego P leżącego nad liczbą pierwszą p mamy N(P ) = p jeśli p rozpada się lub rozgałęzia się w OK oraz N(P ) = p2 jeśli p pozostaje pierwsza w OK . ∏k Niech n = i=1 pni i będzie liczbą o znanej faktoryzacji, przy czym liczby pierwsze pi są uporządkowane, tak że p1 , . . . , pk1 rozpadają się w OK , pk1 +1 , . . . , pk2 pozostają pierwsze w OK , oraz pk2 +1 , . . . , pk rozgałęziają się w K. Niech ideały pierwsze Pi , P i leżą nad pi dla 1 ≤ i ≤ k1 oraz Pi leżą nad pi dla k1 < i ≤ k. Jeśli istnieją w OK ideały o normie n, to z (4.4) ni są parzyste dla k1 < i ≤ k2 . Wówczas wszystkie takie ideały są postaci I= ∏ ni −ui Piui P i 1≤i≤k1 ∏ ni /2 Pi k1 <i≤k2 ∏ Pini , (4.5) k2 <i≤k gdzie 0 ≤ ui ≤ ni dla 1 ≤ i ≤ k1 . Mamy (n1 + 1) · · · (nk1 + 1) ideałów o normie n. Zatem liczba takich ideałów rośnie wykładniczo wraz z liczbą dzielników pierwszych n, które rozpadają się w K. Ponieważ pi OK = Pi P i dla 1 ≤ i ≤ k1 oraz pi OK = Pi dla k1 < i ≤ k2 , więc ideały o normie n możemy również zapisać w postaci I= ∏ 1≤i≤k1 Qni i −2ui pui i ∏ k1 <i≤k2 n /2 pi i ∏ Pini , k2 <i≤k gdzie 0 ≤ ui ≤ ⌊ni /2⌋, Qi ∈ {Pi , P i } dla 1 ≤ i ≤ k1 . Z pośród ideałów I o normie n musimy wybrać ideały główne i znaleźć ich generatory. Ideał o normie n jest główny oraz α ∈ I jest jego generatorem jeśli N(α) = n. Wówczas α jest liczbą w I o najmniejszej niezerowej normie. Traktując I jako 2-wymiarową kratę w C taką liczbę możemy znaleźć jako najkrótszy wektor w kracie. Stosując poniższy algorytm Gaussa, analogiczny do algorytmu Euklidesa, możemy znaleźć najkrótszy wektor w kracie. Najpierw musimy znaleźć bazę nad Z ideału I. 87 R. Dryło, Z. Jelonek Jeśli znamy rozkład I na iloczyn ideałów pierwszych, to możemy wyznaczyć generatory I nad OK , a stąd generatory I nad Z. Jeśli ai + bi ω są generatorami I nad Z, gdzie ai , bi ∈ Z dla 1 ≤ i ≤ s, to macierzą generującą dla I nazywamy macierz ( M= a1 b1 a2 b2 ... ... as bs ) . (4.6) Jeśli pomnożymy macierz złożoną z pierwszych dwóch kolumn przez macierz G ∈ GL2 (Z) ( ) ( ) a1 a2 c1 c2 G= , (4.7) b1 b2 d1 d2 to a1 + b1 ω, a2 + b2 ω i c1 + d1 ω, c2 + d2 ω generują ten sam Z-moduł. Niech e = gcd(b1 , b2 ) oraz x1 b1 + x2 b2 = e dla x1 , x2 ∈ Z. Wówczas w (4.7) dla macierzy ) ( b2 x1 e (4.8) G = −b1 x2 e otrzymujemy d1 = 0. Stąd możemy otrzymać macierz generującą (4.6) z b1 = 0. Przez indukcję otrzymamy macierz generującą, taką że b1 , . . . , bs−1 = 0. Wówczas dla a = gcd(a1 , . . . , as−1 ) macierzą generującą, której kolumny tworzą bazę I, jest ( a b 0 c ) (4.9) Możemy założyć, że a, c > 0 oraz 0 ≤ b < a dzieląc z resztą b przez a. Macierz generująca dla I postaci (4.9), taka że a, c > 0 i 0 ≤ b < a jest wyznaczona jednoznacznie. Jeśli A i B są dwiema macierzami generującymi takiej postaci, to AG = B dla G ∈ GL2 (Z). Stąd łatwo widać, że g21 = 0, g11 = g22 = 1 i g12 = 0. Omówimy teraz algorytm Gaussa, który pozwala znaleźć najkrótszy wektor w kracie L = Zω1 + Zω2 ⊂ C, gdzie ω1 , ω2 są liniowo niezależne nad R. Algorytm jest analogiczny do algorytmu Euklidesa i przez kolejne redukcje bazy ω1 , ω2 pozwala otrzymać bazę ω1′ , ω2′ dla L, taką że ω1′ jest najkrótszym wektorem w L. Algorytm opiera sią na następujęcym fakcie: jeśli ω1′ , ω2′ jest bazą dla L, taką że |ω2′ + mω1′ | ≥ |ω1′ | dla każdego m ∈ Z, to ω1′ jest najkrótszym wektorem w L. Niech v = aω1′ +bω2′ dla a, b ∈ Z będzie niezerowym wektorem w L. Jeśli b = 0, to oczywiście |v| ≥ |ω1′ |. Jeśli b ̸= 0, 88 Konstruowanie krzywych eliptycznych . . . to dzieląc z resztą a =bq + r, 0 ≤ r < |b|, mamy |v| = |(bq + r)ω1′ + bω2′ | = ′ ′ ′ ′ ′ ′ |b(ω2 + qω1 ) + rω1 | ≥ |b|(ω2 + qω1 )| − r|ω1 | ≥ |b||ω1′ | − r|ω1′ | ≥ |ω1′ |. Aby otrzymać bazę ω1′ , ω2′ wykonujemy następujące redukcje bazy ω1 , ω2 . Załóżmy, że |ω2 | ≥ |ω1 |. Wówczas dla m0 = ⌊− <ω|ω1 1,ω|22 > ⌉ funkcja |ω2 + mω1 | przyjmuje minimum dla m ∈ Z. Liczba m0 jest najbliższą liczbą całkowitą pierwszej współrzędnej wierzchołka paraboli |ω2 +mω1 |2 = m2 |ω1 |2 + 2m < ω1 , ω2 > +|ω2 |2 . Jeśli |ω2 + m0 ω1 | ≥ |ω1 |, to ω1 jest najkrótszym wektorem. Jeśli |ω1 | > |ω2 + m0 ω1 |, to przyjmujemy ω2 := ω1 , ω1 := ω2 + m0 ω1 i powtarzamy redukcję. W ten sposób otrzymujemy bazy, w których długości wektorów maleją, więc po skończonej liczbie kroków otrzymamy bazę z najkrótszym wektorem. Podobnie jak w algorymie Euklidesa, można pokazać, że koszt tego algorytmu jest O(log2 max{|ω1 |, |ω2 |}). Algorytm 4.1. ([5, Alg. 1.3.14]) Input: Krata dyskretna L = Zω1 + Zω2 ⊂ C. Output: Baza ω1′ , ω2′ kraty L, taka że ω1′ jest najkrótszym wektorem w L. (1) (2) (3) (4) Jeśli |ω1 | > |ω2 | przestaw ω1 , ω2 . Połóż m0 = ⌊− <ω|ω11,ω|22 > ⌉. Jeśli |ω2 + m0 ω1 | ≥ |ω1 |, zwróć ω1 , ω2 i zakończ algorytm. Jeśli |ω2 + m0 ω1 | < |ω1 |, połóż ω := ω2 + m0 ω1 , ω2 := ω1 , ω1 := ω i wróć do kroku 2. Jeśli α ∈ I jest generatorem ideału I, to pozostałe generatory I są postaci ∗ uα dla u ∈ OK . Następujący algorytm wyznacza rozwiązania równania N (α) = n. √ Algorytm 4.2. Input: Ciało urojone kwadratowe K = Q( −d) oraz liczba ∏k n = i=1 pni i o znanej faktoryzacji. Output: Zbiór S = {α ∈ OK : N (α) = n}. (1) Uporządkuj liczby pierwsze pi , tak że pi rozpadają się w OK dla 1 ≤ i ≤ k1 , pi pozostają pierwsze w OK dla k1 < i ≤ k2 , pi rozgałęziają się w OK dla k2 < i ≤ k. (2) Niech S := ∅. Jeśli ni ≡ 1mod 2 dla pewnego k1 < i ≤ k2 , zwróć S i zakończ algorytm. (3) Wyznacz ideały pierwsze Pi , P i leżące nad pi dla 1 ≤ i ≤ k1 oraz ideały pierwsze Pi leżące nad pi dla k2 < i ≤ k. ∏ ∏ n /2 (4) Połóż c0 := k1 <i≤k2 pi i i utwórz ideał J = k2 <i≤k Pini . n (5) Dla liczb całkowitych (u1 , . . . , uk1 ) ∈ [0, . . . , ⌊ n21 ⌋] × · · · × [0, . . . , ⌊ 2k1 ⌋] wykonuj: 89 R. Dryło, Z. Jelonek (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) ∏ Połóż c1 = 1≤i≤k1 pui i . Dla (Q1 , . . . , Qk1 )∏ ∈ {P1 , P 1 } × · · · × {Pk1 , P k1 } wykonuj: Utwórz ideał I = 1≤i≤k1 Qini −2ui J Znajdź bazę I nad Z. Zastosuj Algorytm 4.1 aby znaleźć liczbę α′ ∈ I \ 0 o najmniejszej normie. Jeśli (c0 c1 )2 N(α′ ) = n, połóż α := c0 c1 α′ . Jeśli d ̸= 1, 3, połóż S := S ∪ {±α}. Jeśli d = 1, połóż S := S ∪ {±α, ±i α}. Jeśli d = 3, połóż S := S ∪ {±α, ±ζ3 α, ±ζ32 α}. Zwróć S. Alternatywną metodę wyznaczania ideałów o normie n można znaleźć w [4]. 5. Algorytm Rozwiązujący Problem 1.1 √ Niech K = Q( −d) będzie ciałem urojonym kwadratowym oraz r liczbą pierwszą. Aby skonstruować krzywą eliptyczną E nad pewnym ciałem prostym Fp , taką że r | #E(Fp ) i End(E) = OK będziemy dla kolejnych h = 1, 2, . . . wyznaczać rozwiązania α ∈ OK równania N(α) = hr dopóki nie znajdziemy takiego rozwiązania, że p = N(α + 1) jest liczbą pierwszą. Wówczas istnieje krzywa eliptyczna E/Fp rzędu hr z End(E) = OK , którą można skonstruować za pomocą CM metody dla odpowiednio małego d. Jeśli równanie N(α) = hr ma rozwiązanie dla h < r, to z (4.5) r musi rozpadać się w K. Stwierdzenie 5.1. Jeśli liczba pierwsza r rozpada się w K, to przy poniższych heurystycznch założeniach można oczekiwać znalezienia rozwiązania √ √ Problemu 1.1 dla h ≤ O( d ln1+ε ( dr)), gdzie ε > 0. Dowód. Z twierdzeń o liczbach pierwszych i Chebotareva o gęstości wynika, że dla dużych liczb B prawdopodobieństwo, że p ≤ B jest liczbą pierwszą rozpadającą się w K jest bliskie 1/2 ln B. Prawdopodobieństwo, że losowy ideał w OK jest główny jest równe 1/hK , gdzie hK jest liczbą klas ciała K. Naturalne jest założenie, że takie samo jest prawdopodobieństwo otrzymania ideału głównego w zbiorze ideałów RP , gdzie R jest ideałem pierwszym w OK leżącym nad r oraz P jest ideałem pierwszym leżącym nad liczbą pierwszą p ≤ B rozpadającą się w K. Stąd dla h ≤ B równanie N(α) = hr ma rozwiązanie z prawdopodobieństwem przynajmniej 1/2hK ln B. Jeśli α ∈ OK jest rozwiązaniem rówania N(α) = hr dla h ≤ B, to liczba p = N(α + 1) jest wielkości Br. Załóżmy również, że p jest liczbą 90 Konstruowanie krzywych eliptycznych . . . pierwszą z takim samym prawdopodobieństwem jak losowa liczba < Br, tj. 1/(ln B + ln r). Zatem liczbę pierwszą p powinniśmy średnio otrzymać dla ln B + ln r rozwiązań równania N(α) = hr. Przynajmniej tyle rozwiązań α powinniśmy otrzymać jeśli B spełnia nierówność B ≥ ln B + ln r, 2hK ln B skąd B > 2hK ln B(ln B + ln r). Stąd łatwo widać, że wystarczy wziąć √ B = O(hK ln1+ε r))√dla dowolnego ε > 0. Ponieważ hK = O( d), √ (hK mamy B = O( d ln1+ε ( dr)). Następujący algorytm znajduje rozwiązanie Problemu 1.1. √ Algorytm 5.2. Input: Ciało urojone kwadratowe K = Q( −d) oraz liczba pierwsza r, taka że ( −d r ) = 1. Output: Liczba pierwsza p oraz krzywa eliptyczna E/Fp , taka że #E(Fp ) = hr oraz End(E) = OK . (1) Dla h = 1, 2, . . . wykonuj: (2) Zastosuj Algorytm 4.2 aby znaleźć wszystkie rozwiązania α ∈ OK równania N(α) = hr. (3) Dla każdego rozwiązania α sprawdź czy p = N(α+1) jest liczbą pierwszą. (4) Jeśli p jest liczbą pierwszą, zastosuj Algorytm 3.2 aby skonstruować krzywą eliptyczną E/Fp rzędu hr. (5) Zwróć E i zakończ algorytm. √ Przykład 5.3. Niech K = Q( −2014) oraz r będzie najmniejszą liczbą pierwszą > 2240 , taką że ( −2014 ) = 1, tj. r = 2240 + 897. Dla h = 5678 r znajdujemy krzywą eliptyczną E rzędu hr nad ciałem Fp , gdzie p=10032157633811666223373963209218291333068320894858075506013211817709457926071. Stosując Algorytm 3.2 znajdujemy równanie E, E:y 2 =x3 +48732382754611589005411440430067845033589 47143591836524675846606793111533020x +314249191178283264520842635525194558985 4692684418427023276704645355583460341. W tym przypadku liczba klas hK = 36. Powyższe obliczenia z wykorzystaniem Magmy zajęły kilka sekund. 91 R. Dryło, Z. Jelonek Jeśli OK jest dziedziną ideałów głównych, to możemy podać prostszy algorytm, który nie wymaga rozwiązywania równania N(α) = hr. Dowodzi się, że OK jest d.i.g dla d = 1, 2, 3, 7, 11, 19, 43, 67, 163. Jeśli R = (γ) jest ideałem pierwszym leżącym nad r, to wystarczy dla kolejnych x, y = 1, 2, . . . sprawdzać czy dla β = x + yω otrzymamy liczbę pierwszą p = N(βγ + 1). √ Algorytm 5.4. Input: Ciało kwadratowe urojone K = Q( −d), takie że OK jest d.i.g. oraz liczba pierwsza r, taka że ( −d r ) = 1. Output: Krzywa eliptyczna E/Fp , taka że #E(Fp ) = hr oraz End(E) = OK . (1) Zastosuj Algorytm 4.1 aby znaleźć generator γ ideału pierwszego R ⊂ OK leżącego nad r. (2) Dla z := 1, 2, . . . wykonuj: (3) Dla x := z i y := 1, . . . , z − 1 lub y := z i x := 1, . . . , z − 1 wykonuj: (4) Połóż α := (x + yω)γ, gdzie ω jest dana (4.1). (5) Jeśli d = 1, sprawdź czy p = N(uα + 1) jest liczbą pierwszą dla u = ±1, ±i. (6) Jeśli d = 3, sprawdź czy p = N(uα + 1) jest liczbą pierwszą dla u = ±1, ±ζ3 , ±ζ32 . (7) Jeśli d ̸= 1, 3, sprawdź czy p = N(uα + 1) jest liczbą pierwszą dla u = ±1. (8) Jeśli p jest liczbą pierwszą, zastosuj Algorytm 3.2 aby skonstruować krzywą eliptyczną E/Fp rzędu N(α). (9) Zwróć E i zakończ algorytm. √ Przykład 5.5. Niech K = Q( −3) oraz r będzie najmniejszą liczbą pierw240 szą > 2240 , taką że ( −3 + 897. Dla h = 28 znajdujemy r ) = 1, tj. r := 2 krzywą eliptyczną E rzędu hr nad ciałem Fp , gdzie p=49471717813794761228332330020801718456684110576225084158360341666891763503. Stosując metodę z Uwagi 3.3 znajdujemy równanie E : y 2 = x3 + 5. Literatura [1] A. O. L. Atkin, F. Morain, Elliptic curves and primality proving, Math. Comp. 61 (1993), 29-68. [2] J. Belding, R. Bröker, A. Enge, and K. Lauter, Computing Hilbert class polynomials, Algorithmic Number Theory 92 Konstruowanie krzywych eliptycznych . . . [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] Symposium-ANTS VIII (A. J. van der Poorten and A. Stein, eds.), Lecture Notes in Computer Science, vol. 5011, Springer, 2008, pp. 282–295. R. Bröker, A p-adic algorithm to compute the Hilbert class polynomial, Math. Comp. 77 (2008), 2417–2435. R. Bröker, P. Stevenhagen, Efficient CM-constructions of elliptic curves over finite fields Math. Comp. 76 (2007), 2161–2179. H. Cohen, A course in computational algebraic number theory, Springer Graduate Texts in Mathematics, vol. 138, 1993. D. Cox, Primes of the form x2 + ny 2 . Fermat, Class Field Theory and Complex Multiplication, John Wiley & Sons (1989). A. Enge, The complexity of class polynomial computation via floating point approximations, Math. Comp. 78 (2009), 1089–1107. R. Gallant, R. Lambert, S. Vanstone, Faster point multiplication on elliptic curves with efficient endomorphisms, In: Kilian, J. (ed.) CRYPTO. LNCS, vol. 2139, pp. 190–200. Springer (2001). S. D. Galbraith, X. Lin, M. Scott, Endomorphisms for faster elliptic curve cryptography on a large class of curves, J. Cryptology, 24(3):446–469, 2011. N. Koblitz, CM-curves with good cryptographic properties, Proc. Crypto’91, Springer-Verlag (1992) pp. 279–287. S. Lang, Elliptic functions Springer, 1987. G. Lay, H. Zimmer, Constructing elliptic curves with given group order over large finite fields, Algorithmic Number theory Symposium I, Springer Lecture Notes in Computer Science, 1994. MR1322728 (96a:11054). R. Schoof, Elliptic curves over finite fields and the computation of square roots mod p. Math. Comp. 44, (1985), 483–494. R. Schoof, Counting points on elliptic curves over finite fields, J. Théorie des Nombres de Bordeaux 7 (1995). 219–254. J. Silverman, The Arithmetic of Elliptic Curves Springer, 1986. J. Silverman, Advanced Topics in the Arithmetic of Elliptic Curves, Springer-Verlag, GTM 151, 1995. A. Sutherland, Computing Hilbert class polynomials with the Chinese remainder theorem, Math. Comp. 80 (2011), 501–538. 93 R. Dryło, Z. Jelonek CONSTRUCTING ELLIPTIC CURVES WITH A SUBGROUP OF A GIVEN ORDER AND WITH A GIVEN ENDOMORPHISM RING Abstract. The complex multiplication (CM) method allows one to construct an elliptic curve over a finite field, whose endomorphism ring is the maximal order in an imaginary quadratic field with a suitably small discriminant. Using CM method Lay-Zimmer and Bröker-Stevenhagen gave a method to construct an elliptic curve of a given order n over some prime field. Their method has a heuristic polynomial time if n has not too many prime factors. In this paper we show that in an analogous way one can construct an elliptic curve, which contains a subgroup of a given order r and has a given endomorphism ring with a suitably small discriminant. We give heuristic arguments, which show that the method works in a polynomial time if r is prime. Keywords: elliptic curves with a given order, CM method, Cornacchia’s algorithm, endomorphism ring. KONSTRUOWANIE KRZYWYCH GENUSU 2 Z DANYM STOPNIEM ZANURZENIOWYM Robert Dryło Szkoła Główna Handlowa, Aleja Niepodległości 162, 02-554 Warszawa Instytut Matematyczny PAN, ul. Śniadeckich 8, 00-950 Warszawa, e-mail: [email protected] Streszczenie. W kryptografii opartej na iloczynach dwuliniowych stosuje się specjalne krzywe, dla których iloczyny dwuliniowe Weila i Tate można efektywnie obliczyć. Takie krzywe, zwykle nazywane pairing-friendly, mają mały stopień zanurzeniowy i wymagają specjalnej konstrukcji. W praktyce stosuje się głównie krzywe eliptyczne i hipereliptyczne genusu 2. Konstrukcje takich krzywych opierają się na metodzie mnożeń zespolonych (CM metodzie) i stąd ograniczają się do krzywych, których pierścień endomorfizmów jakobianu jest generowany przez odpowiednio małe liczby. Aby skonstruować krzywą najpierw wyznacza się parametry jej jakobianu, które zwykle są dane przez liczby Weila dla krzywych genusu 2, a następnie stosuje się CM metodę, aby znaleźć równanie krzywej. Freeman, Scott i Teske zebrali i opisali w ujednolicony sposób metody konstruowania krzywych eliptycznych z danym stopniem zanurzeniowym. Istnieje kilka różnych podejść do konstruowania krzywych genusu 2, z których pierwsze podali Freeman, Stevenhagen i Streng, Kawazoe-Takahashi i Freeman-Satoh. W tym opracowaniu opisujemy podejście oparte na idei autora, w którym wykorzystujemy opowiednie wielomiany wielu zmiennych, aby jako ich wartości otrzymywać liczby Weila odpowiadające jakobianom krzywych genusu 2 z danym stopniem zanurzeniowym. Takie podejście pozwala konstruować zarówno krzywe genusu 2 o jakobianie absolutnie prostym oraz prostym, ale nie absolutnie prostym. Podajemy bezpośrednie wzory, które wyznaczają rodziny parametryczne krzywych genusu 2 z danym stopniem zanurzeniowym. Słowa kluczowe: kryptografia oparta na iloczynach dwuliniowych, krzywe z danym stopniem zanurzeniowym, iloczyny dwuliniowe Weila i Tate, CM metoda, liczby Weila. 1. Wstęp Zastosowanie iloczynów dwuliniowych pozwoliło otrzymać nowe protokoły kryptograficzne, m.in. szyfrowanie oparte na tożsamości [4], krótkie podpisy cyfrowe [5], lub ustalanie wspólnego tajnego klucza w jednej rundzie między trzema osobami [25]. W praktyce stosuje się iloczyny dwuliniowe Weila lub Tate głównie na krzywych eliptycznych lub w jakobianach krzywych hipereliptycznych genusu 2 (na ogół unika się krzywych wyższych genusów, ponieważ w ich przypadku istnieją efektywniejsze metody rozwiązywania problemu logarytmu dyskretnego). Dla tych zastosowań wymaga się specjalnych krzywych, zwykle nazywanych pairing-friendly, dla których iloczyny dwuliniowe można efektywnie obliczyć. Znalezienie odpowiednich krzywych przez losowy wybór jest praktycznie niemożliwe, dlatego takie krzywe muszą być specjalnie konstruowane. R. Dryło Podstawowym parametrem wpływającym na bezpieczeństwo i efektywność kryptosystemów opartych na iloczynach dwuliniowych jest stopień zanurzeniowy k, który jest stopniem rozszerzenia ciała zawierającego wartości iloczynu dwuliniowego na punktach r-torsyjnych. Stopień zanurzeniowy k musi być odpowiednio mały, aby obliczenie iloczynu było efektywne. Z drugiej strony k musi być tak dobrane, aby zapewnić odpowiedni poziom bezpieczeństwa, ponieważ iloczyny dwuliniowe przenoszą problem logarytmu dyskretnego z jakobianu do ciała, gdzie może być atakowany przez podwykładnicze metody. Na początku dla tych zastosowań proponowano krzywe supersingularne, które zawsze mają ograniczone stopnie zanurzeniowe (odpowiednio k ≤ 6, 12 dla krzywych eliptycznych i krzywych genusu 2 [29, 21]). Dla wyższych poziomów bezpieczeństwa stosuje się krzywe zwykłe, które wymagają specjalnych konstrukcji. Konstruowanie takich krzywych przebiega w dwóch etapach. Najpierw dla danego stopnia zanurzeniowego k wyznacza się parametru jakobianu krzywej (w szczególności ciało Fq and którym zdefiniowana jest krzywa oraz liczbę pierwszą r, która jest rzędem podgrupy jakobianu ze stopniem zanurzeniowym k). Następnie stosuje się metodę mnożeń zespolonych (CM metodę), aby znaleźć równanie krzywej, której jakobian ma takie parametry. W praktyce CM metoda pozwala skonstruować taką krzywą jeśli pierścień endomorfizmów jakobianu jest ordynkiem w CM ciele generowanym przez odpowiednio małe liczby. Dlatego w praktyce z góry ustala się CM ciało i tak dobiera się parametry jakobianu, aby jego pierścień endomorfizmów był ordynkiem w tym CM ciele. Dla zastosowań chcielibyśmy orzymać krzywe, dla których rząd r podgrupy ze stopniem zanurzeniowym k jest jak najbliższy rzędowi jakobianu, ponieważ wówczas krzywa jest zdefiniowana nad mniejszym ciałem i arytmetyka jest efektywniejsza. Różnicę między wielkościami tych rzędów wyraża parametr ρ. Dla krzywej C/Fq genusu g rząd jakobianu #Jac(C)(Fq ) jest tej samej wielkości co q g . Zatem parametr ρ= g log q log r mówi nam ile razy wielkość rzędu jakobianu jest więsza od wielkości r. Przypadek optymalny ρ ≈ 1 jest w praktyce bardzo trudny do osiągnięcia i głównym celem rozwijania metod konstruowania krzywych jest otrzymanie jak najmniejszego ρ. Znane są przykłady krzywych supersingularnych z parametrem ρ ≈ 1. Aby zminimalizować ρ dla krzywych zwykłych stosuje się rodziny parametryczne (tzn. parametry jakobianu otrzymuje się jako wartości pewnych wielomianów na liczbach całkowitych). Dla krzywych eliptycznych konstrukcje rodzin parametrycznych z ρ = 1 są znane 96 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym dla k = 3, 4, 6, 10, 12 ([34, 1, 15]). Dla wielu innych stopni zanurzeniowych istnieją rodziny parametryczne krzywych eliptycznych z 1 < ρ < 2 bliskim 1. Freeman, Scott i Teske [19] zebrali metody konstruowania krzywych eliptycznych z danym stopniem zanurzeniowym, podali jednolity opis i klasyfikację takich metod oraz podali rodziny o najmniejszym parametrze ρ dla k ≤ 50. Dla krzywych genusu 2 istnieje większa różnorodność metod. Ogólnie metody można podzielić na takie, które konstruują krzywe genusu 2 o jakobianie absolutnie prostym lub prostym, ale nie absolutnie prostym (tzn., jakobian rozpada się na produkt krzywych eliptycznych nad pewnym rozszerzeniem ciała bazowego krzywej. Stosowanie krzywych genusu 2, których jakobian rozpada się już nad ciałem bazowym nie daje korzyści i może zostać sprowadzone do krzywych eliptycznych). Większość metod dla krzywych eliptycznych można uogólnić na krzywe genusu 2. Freeman [16] i Freeman, Stevenhagen i Streng [20] podali pierwsze metody konstruowania takich krzywych (metoda [20] została podana dla dowolnych rozmaitości abelowych). Obie metody generycznie dają krzywe genusu 2 o jakobianie absolutnie prostym z parametrem ρ ≈ 8. Freeman [17] uogólnił metodę [20] na rodziny parametryczne, która w przypadku krzywych genusu 2 pozwala konstruować rodziny z parametrem ρ < 8 (generycznie bliskim 8). Kawazoe i Takahashi [27] podali metodę konstruowania krzywych postaci y 2 = x5 + ax, których jakobian nie jest absolutnie prosty i ma parametr ρ ≈ 4 lub ρ < 4 dla rodzin parametrycznych. Freeman i Satoh [18] podali ogólną metodę opartą na technice restrykcji Weila konstruowania krzywych genusu 2 o jakobianie prostym, ale nie absolutnie prostym, również z parametrem ρ ≈ 4 lub ρ < 4 dla rodzin parametrycznych. Celem tego opracowania jest rozwinięcie podejścia do konstruowania krzywych genusu 2 przedstawionego w pracach autora [10, 11]. Podobnie jak w większości metod, aby skonstruować krzywą najpierw otrzymujemy liczbę Weila, która wyznacza parametry jakobianu, a następnie stosujemy CM metodę, aby skonstruować odpowiednią krzywą. Liczby Weila będziemy otrzymywać jako wartości pewnych wielomianów na liczbach całkowitych, których konstrukcje opisujemy w Rozdziale 3. Takie podejście pozwala jednocześcnie opisać przypadek konstruowania krzywych o jakobianie prostym i absolutnie prostym. Przypadek generowania liczb Weila dla dowolnych rozmaitości abelowych nie jest istotnie trudniejszy niż dla powierzchni, dlatego tam gdzie jest to możliwe opisujemy metody w ogólnej sytuacji. W Rozdziale 4 podajemy streszczenie CM metody dla krzywych genusu 2. W Rozdziale 5 podajemy uogólnienie algorytmu Cocksa-Pincha dla krzywych eliptycznych na rozmaitości abelowe. Rozdział 6 zawiera uogólnienie algorytmu Brezing-Weng [6] konstruowania rodzin krzywych 97 R. Dryło eliptycznych z danym stopniem zanurzeniowym na rozmaitości abelowe zwykłe; podajemy bezpośrednie wzory, które wyznaczają rodziny parametryczne takich rozmaitości. 2. Podstawowe fakty z teorii rozmaitości abelowych W tym rozdziale przypominamy pojęcia i twierdzenia z teorii rozmaitości abelowych, na których opierają się metody konstruowania krzywych. Ogólną teorię rozmaitości abelowych można znaleźć w książkach Mumforda [35] i [33]. Streszczenie teorii rozmaitości abelowych nad ciałami skończonymi znajduje się w opracowaniu Oorta [36]. Niech F będzie dowolnym ciałem charakterystyki p ≥ 0 z domknięciem algebraicznym F. Rozmaitością abelową nad F nazywamy rozmaitość algebraiczną zupełną A/F, która jest grupą algebraiczną. Rozmaitości abelowe są grupami abelowymi i zanurzają się w przestrzenie rzutowe. Niech A/F będzie rozmaitością abelową wymiaru g. Dla dowolnego rozszerzenia ciał F′ /F zbiór punktów F′ -wymiernych A(F′ ) jest grupą abelową. Niech A[r] = {P ∈ A(F)|rP = 0} będzie podgrupą punktów r-torsyjnych na A, r ∈ Z \ 0. Jeśli gcd(r, p) = 1 lub p = 0, to A[r] ∼ = Z2g r . Jeśli p > 0, to ν ∼ A[p] = Zp , gdzie 0 ≤ ν ≤ g. Rozmaitość A nazywamy zwykłą (odp. supersingularną) jeśli ν = g (odp. ν = 0). Jeśli F = Fq jest ciałem skończonym, to A jest zwykła dokładnie wtedy, gdy współczynnik ag wielomianu charakterystycznego fq (x) (Twierdzenie 2.1 poniżej) jest względnie pierwszy z p. Krzywe eliptyczne (krzywe genusu 1) są dokładnie rozmaitościami abelowymi wymiaru 1. Rozmaitości abelowe wymiaru 2 nazywamy powierzchniami abelowymi. Jeśli C/F jest krzywą genusu g zawierającą punkt F-wymierny, to jej jakobian Jac(C) jest rozmaitością abelową nad F wymiaru g. Punkty F-wymierne Jac(C)(F) można utożsamiać z klasami dywizorów w grupie Picarda Pic0F (C) = Div0F (C)/PrinF (C) dywizorów stopnia 0 nad F modulo dywizory główne nad F. Każde odwzorowanie wymierne f : A → B rozmaitości abelowych jest regularne. Jeśli f (0) = 0, to f jest homomorfizmem grup. Mówimy, że f jest izogenią, jeśli dimA = dimB, f (0) = 0 i kerf jest skończone. Istnienie izogenii między rozmaitościami abelowymi jest relacją równoważności, oznaczaną A ∼ B. Mówimy, że rozmaitość A jest prosta nad F, jeśli A nie jest izogeniczna nad F z produktem niezerowych rozmaitości abelowych nad F. A jest prosta dokładnie wtedy, gdy nie zawiera właściwych niezerowych podrozmaitości abelowych. Każda rozmaitość A jest izogeniczna nad F z produktem An1 1 × · · · × Ans s rozmaitości abelowych prostych Ai /F, które są 98 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym wyznaczone jednoznacznie z dokładnością do izogenii. Mówimy, że A jest absolutnie prosta jeśli A jest prosta nad F. Jeśli A nie jest prosta nad F, to mówimy że A rozpada się nad F. Rozmaitość może być prosta nad F i rozpadać się nad pewnym rozszerzeniem. Niech A ⊂ Pn będzie rozmaitością abelową wymiaru g nad ciałem skończonym Fq . Podstawową rolę w teorii rozmaitości abelowych nad ciałami skończonymi pełni endomorfizm Frobeniusa nad Fq , πq : A → A, πq (x0 , . . . , xn ) = (xq0 , . . . , xqn ). Twierdzenie 2.1. (Weil) Endomorfizm Frobeniusa πq spełnia równanie charakterystyczne o współczynnikach całkowitych postaci fq (x) = x2g + a1 x2g−1 + . . . + ag xg + qag−1 xg−1 + · · · + q g−1 a1 x + q g = 0. (1) Pierwiastki zespolone π ∈ C wielomianu fq (x) spełniają ππ̄ = q, gdzie ¯· jest sprzężeniem zespolonym. (2) Rząd #A(Fq ) = fq (1). Z powyższego twierdzenia wynika, że rząd #A(Fq ) jest wielkości q g . (Jest to główna motywacja dla stosowania krzywych wyższych genusów. Aby otrzymać grupę, której rząd jest wielkości n-bitów możemy użyć krzywej eliptycznej nad ciałem n-bitowym, lub jakobianu krzywej genusu 2 nad ciałem n/2-bitowym.) Kluczową rolę dla konstruowania rozmaitości odgrywa pierścień endomorfizmów i liczby Weila. Pierścień endomorfizmów nad Fq rozmaitości A, EndFq (A), jest skończenie generowanym Z modułem rangi ≤ 4g 2 . Jeśli A jest prosta nad Fq , to EndFq (A) nie zawiera dzielników zera i EndFq (A)⊗Z Q jest algebrą z dzieleniem, której centrum jest podciało Q(πq ). Liczbę algebraiczną całkowitą π nazywamy liczbą q-Weila jeśli dla każdego zanurzenia φ : Q(π) → C mamy φ(π)φ(π) = q. Z Twierdzenia 2.1 endomorfizm Frobeniusa rozmaitości prostej nad Fq jest liczbą q-Weila. Twierdzenie 2.2. (Honda-Tate [43]) Przyporządkowanie rozmaitości abelowej prostej nad Fq jej endomorfizmu Frobeniusa πq zadaje bijekcję między klasami izogenicznych rozmaitości abelowym prostych nad Fq , a klasami sprzężonych nad Q liczb q-Weila. Ciało liczbowe K nazywamy CM ciałem jeśli K jest urojonym kwadratowym rozszerzenim ciała totalnie rzeczywistego K0 (K0 jest totalnie rzeczywiste jeśli φ(K0 ) ⊂ R dla każdego √ zanurzenia φ : K0 → C). Zatem CM ciało K jest postaci K = K0 ( −α), gdzie α ∈ K0 i φ(α) > 0 dla każdego zanurzenia φ : K0 → R. CM ciało K ma automorfizm, oznaczany ¯·, który dla każdego zanurzenia K → C jest przemienny ze sprzężeniem zespolonym; jest to nietrywialny automorfizm grupy dwuelementowej 99 R. Dryło Gal(K/K0 ). CM ciała tworzą klasę zamkniętą na składanie ciał. W szczególności domknięcie normalne CM ciała jest CM ciałem. Pierścień liczb algebraicznych całkowitych w ciele K oznaczamy przez OK . Twierdzenie 2.3. ([45]) Niech A/Fq będzie rozmaitością abelową prostą wymiaru g z algebrą endomorfizmów K = EndFq (A) ⊗ Q. Rozmaitość A jest zwykła dokładnie wtedy, gdy K jest CM ciałem stopnia 2g oraz πq , π q są względnie pierwsze w OK (tzn. generują ideał (1)). Wówczas K = Q(πq ), fq (x) jest wielomianem minimalnym πq oraz #A(Fq ) = fq (1) = NK/Q (πq − 1). (2.1) Opiszemy teraz liczby Weila odpowiadające rozmaitościom zwykłym i prostym, które nie są absolutnie proste. Twierdzenie 2.4. Niech A/Fq będzie rozmaitością zwykłą i prostą o liczbie q-Weila π. A rozpada się nad Fqn dokładnie wtedy, gdy Q(π n ) Q(π). Wówczas A jest izogeniczna z potęgą rozmaitości prostej B/Fqn odpowiadającej liczbie q n -Weila π n . Dowód. Pierwsza część jest szczególnym przypadkiem [23, Lemat 4]. Druga część jest również dobrze znana. Powyższy fakt łatwo wynika z własności wielomianu charakterystycznego i z twierdzeń Tate [44]. Jeśli fA,q (x) = ∏2g ∏2g n n i=1 (x − πi ), to fA, q (x) = i=1 (x − πi ). Ponieważ A jest zwykła i prosta, wielomian fA,q jest nierozkładalny, stąd liczby πi są sprzężone. Jeśli Q(π n ) Q(π), to fA,qn jest podzielny przez wielomian minimalny π n stopnia < deg fA,qn , stąd A musi rozpadać się nad Fqn . Odwrotnie, jeśli A ∼ B1 × · · · × Bm dla rozmaitości prostych Bi /Fqn , to fA,qn = fB1 ,qn · · · fBm ,qn . Ponieważ Bi muszą być zwykłe, fBi ,qn jest nien są sprzężone, stąd są pierwiastkami każdego rozkładalny. Liczby π1n , . . . , π2g n fBi ,q . Zatem wszystkie wielomiany fBi ,qn są równe i z twierdzenia Tate [44] rozmaitości Bi są isogeniczne nad Fqn , więc A ∼ B1m . Wniosek 2.5. Niech A/Fq będzie rozmaitością abelową zwykłą i prostą o liczbie q-Weila π oraz niech E/Fq będzie krzywą eliptyczną o liczbie q-Weila π0 . (1) Wówczas A jest izogeniczna z E g nad Fqn dokładnie wtedy, gdy π = ζs π0 , gdzie ζs jest s-tym pierwotnym pierwiastkiem z jedynki i s | n. (2) Jeśli 2 | s, to A rozpada się nad Fqs/2 . √ √ (3) Jeśli π = ζs π0 , to Q(π) = Q(ζs , −d), gdzie π0 ∈ Q( −d) i d ∈ Z>0 jest bezkwadratowa. 100 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym Dowód. (1) Z Twierdzenia 2.4 mamy A ∼ E g nad Fqn dokładnie wtedy, gdy π n = π0n . Jeśli s ∈ Z>0 jest najmniejszą liczbą, taką że π s = π0s , to π = ζs π0 i s | n. s/2 s/2 s/2 (2) Wynika stąd, że π s/2 = ζs π0 = −π0 ∈ Q(π0 ). s s (3) Ponieważ E jest pierwsze. Stąd π s ̸∈ Z √ zwykła, π0 i π̄0 są względnie √ s i π generuje Q( −d), zatem Q(π) = Q(ζs , −d). 3. Wyznaczanie liczb Weila w CM ciałach Dla standardowego szyfrowania opartego na schemacie ElGamala lub podpisów cyfrowych DSA na krzywych eliptycznych lub hipereliptycznych wymagane są grupy rzędu pierwszego lub prawie pierwszego. Najogólniejszym wyborem krzywej jest jej wylosowanie, obliczenie rzędu i sprawdzenie czy ma wymaganą własność. Niestety obecnie znane metody obliczania rzędu jakobianu krzywych genusu 2 nad dużymi ciałami prostymi są zbyt wolne w praktyce, aby ten sposób był efektywny. Alternatywne podejście polega na skonstruowaniu krzywej przy pomocy CM metody. Wówczas ograniczamy się do krzywych, których pierścień endomorfizmów jakobianu jest ordynkiem w CM ciele generowanym przez odpowiednio małe liczby. Obecnie nie są znane żadne powody, dla których problem logarytmu dyskretnego dla takich krzywych byłby łatwiejszy do rozwiązania. CM metodę stosujemy również, gdy chcemy skonstruować krzywe, których parametry jakobianu spełniają pewne dodatkowe własności, jak w przypadku krzywych z danym stopniem zanurzeniowym. Aby skonstruować krzywą, której jakobian ma rząd pierwszy lub prawie pierwszy postępujemy następująco. Najpierw w ustalonym CM ciele K wybieramy liczby π ∈ OK odpowiedniej wielkości spełniające ππ̄ ∈ Z dopóki nie znajdziemy, takiej że q = ππ̄ jest liczbą pierwszą oraz rząd n = NK/Q (π − 1) jest liczbą pierwszą lub prawie pierwszą. Następnie stosujemy CM metodę aby skonstrupwać krzywą, której jakobian realizuje znalezioną liczbę q-Weila π. Pierwszy problem, który wymaga omówienia to sposób otrzymywania liczb π ∈ √OK , takich że ππ̄ ∈ Z. Jeśli konstruujemy krzywe eliptyczne, to K = Q( −d) jest ciałem urojonym kwadratowym i oczywiście każda liczba π ∈ OK ma normę ππ̄ ∈ Z. Dla CM ciał wyższych stopni liczby π ∈ OK spełniające warunek ππ̄ ∈ Z są zawarte w pewnym właściwym podzbiorze algebraicznym, dlatego potrzebujemy odpowiedniej metody aby je znaleźć. Można je otrzymywać jako wartości na liczbach całkowitych wielomianów w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ] spełniających warunek (x1 , . . . , xn ) = w(x1 , . . . , xn )w(x1 , . . . , xn ) ∈ Q[x1 , . . . , xn ], (3.1) 101 R. Dryło gdzie ¯· jest sprzężeniem zespolonym współczynników w. Omówimy teraz metody otrzymywania takich wielomianów. (W przypadku ciała √ urojonego kwadratowego możemy oczywiście wziąć w(x1 , x2 ) = x1 + x2 −d.) Omówimy najpierw ideę geometrycznej metody [10] otrzymywania takich wielomianów dla CM ciał stopnia 4, a następnie opiszemy ogólą metodę algebraiczną dla dowolnych √ CM ciał. √ Niech K = Q( −a + b d0 ) będzie CM √ ciałem stopnia 4, gdzie √ a, b, d0 ∈ Z>0 , d0 jest bezkwadratowa i −a + b d0 < 0 (wówczas Q( d0 ) jest podciałem kwadratowym rzeczywistym). Niech b1 , . . . , b4 ∈ OK będzie bazą K/Q. Istnieją formy kwadratowe F1 , F2 ∈ Q[X1 , . . . , X4 ], takie że dla każdego (x1 , . . . , x4 ) ∈ Q4 mamy (∑ xi b i )( ∑ √ ) xi bi = F1 (x1 , . . . , x4 ) + F2 (x1 , . . . , x4 ) d0 . Wówczas współrzędne w bazie {bi } liczb π ∈ K spełniających ππ̄ ∈ Q odpowiadają punktom wymiernym na kwadryce S = {F2 = 0} ⊂ Q4 . Np. w bazie b1 = 1, b2 = √ d0 , b3 = √ √ −a + b d0 , b4 = b2 b3 mamy F2 = 2X1 X2 + 2aX3 X4 − bX32 − bdX42 . Jedynym punktem osobliwym na S jest początek układu O (pochodne cząstkowe ∂F2 /∂Xi , i = 1, . . . , 4, znikają tylko w O). Stąd rzutowanie z dowolnego punktu wymiernego A ̸= O na dowolną podprzestrzeń afiniczną M ⊂ Q4 wymiaru 3, indukuje odzorowanie biwymierne f : Q3 → S (gdzie M traktujemy jako Q3 wprowadzając układ współrzędnych). Jako punkt wymierny A ∈ S możemy np. wziąć punkt odpowiadający 1 ∈ K. Jeśli otrzymane odwzorowanie biwymierne f : Q3 → S pomnożymy przez wielomian, który jest wspólnym mianownikiem jego współrzędnych, to otrzymamy odwzorowanie (f1 , . . . , f4 ) : Q3 → S, którego współrzędne są formami kwadratowymi (szczegóły można znaleźć w [10]). (Mnożąc odwzorowanie f : Q3 → S przez dowolną funkcję otrzymujemy w dalszym ciągu odwzorowanie o wartościach w S, ponieważ S jest dana przez równanie jednorodne F2 = 0). Podobnie możemy założyć, że współczynniki form fi są całkowite. Stąd odwzorowanie wielomianowe f = (f1 , . . . , f4 ) : Q3 → S ∑4 wyznacza wielomian w(x1 , x2 , x3 ) = i=1 fi (x1 , x2 , x3 )bi ∈ K[x1 , x2 , x3 ] stopnia 2, który spełnia (3.1). 102 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym 3.1. Reflex norma Reflex norma została wprowadzona w teorii mnożeń zespolonych rozmaitości abelowych. Jej podstawowe własności można znaleźć w książce Shimury [38]. Freeman, Stevenhagen i Streng [20] i Freeman [17] wykorzystali reflex normę do konstruowania rozmaitości abelowych z danym stopniem zanurzeniowym. Poniżej podajemy podstawowe własności reflex normy, których dowody można znaleźć również w wykładzie Milne [33, str. 12–15]. Niech K będzie CM ciałem stopnia 2g o domknięciu normalnym K1 (które również jest CM ciałem). Niech Φ = {φ1 , . . . , φg } będzie zbiorem zanurzeń φi : K → K1 . Mówimy, że Φ jest CM typem na K, jeśli żadne zanurzenie w Φ nie powstaje przez sprzężenie zespolone innego (tzn., φi ̸= φj dla i, j = 1, . . . , g). Normą względem CM typu Φ nazywamy odwzorowanie NΦ : K → K1 , NΦ (x) = φ1 (x) · · · φg (x). Oczywiście mamy NK/Q (x) = NΦ (x)NΦ (x) ∈ Q. Stąd jeśli K jest Galois, możemy użyć normy NΦ , aby otrzymywać jako jej wartości liczby π = NΦ (x), takie że ππ̄ ∈ Z. W ustalonej bazie {bi } ciała K/Q możemy zapisać normę NΦ jako wielomian jednorodny stopnia g o współczynnikach w K1 (∑ ) (∑ ) (∑ ) NΦ xj bj = xj φ1 (bj ) · · · xj φg (bj ) dla xj ∈ Q, j j j który spełnia (3.1). Jeśli ciało K nie jest Galois, to na ogół NΦ (x) ̸∈ K dla x ∈ K, ale istnieje CM podciało K ∗ ⊂ K1 wraz z CM typem Φ∗ , takie że NΦ∗ (x) ∈ K dla x ∈ K ∗ . Wówczas jako wartości normy NΦ∗ będziemy otrzymywać liczby π = NΦ∗ (x) ∈ K, takie że ππ ∈ Z. Omówimy teraz konstrukcję takiego podciała K ∗ Jeśli K0 ⊂ K jest CM podciałem z CM typem Φ0 , to biorąc wszystkie możliwe rozszerzenia zanurzeń z Φ0 na ciało K otrzymujemy CM typ na K i mówimy że taki CM typ na K powstaje przez rozszerzenie Φ0 . Jeśli CM typ Φ nie powstaje przez rozszerzenie CM typu z właściwego CM podciała, to mówimy że Φ jest prymitywmy. Niech Φ1 będzie CM typem na K1 , który jest rozszerzeniem Φ oraz niech H = {σ ∈ Gal(K1 /Q) : Φ1 σ = Φ1 }. Wówczas ciało stałe K0 podgrupy H jest CM ciałem zawartym w K oraz zawężenie CM typu Φ do K0 jest CM typem Φ0 na K0 . Ciało K0 jest najmniejszym podciałem, takim że Φ powstaje przez rozszerzenie CM typu, które nazywamy podciałem prymitywnym dla pary (K, Φ). 103 R. Dryło Dla podciała K ∗ ⊂ K1 następujące dwa warunki są równoważne (1) K jest podciałem stałym grupy∑ {σ ∈ Gal(K1 /Q) : σΦ1 = Φ1 } (2) K ∗ jest generowane nad Q przez zbiór { φ∈Φ φ(x) : x ∈ K}. Ciało K ∗ nazywamy reflex ciałem względem CM typu Φ na K. Jeśli Φ powstaje przez rozszerzenie CM typu Φ0 na K0 , to K0∗ = K ∗ . W reflex ciele K ∗ wprowadzamy następujący CM typ. Niech Φ1 będzie rozszerzeniem Φ na K1 . Wówczas −1 Φ−1 : φ ∈ Φ1 } jest CM typem na K1 , którego podciałem prymi1 = {φ tywnym jest reflex ciało K ∗ . CM typ indukowany na K ∗ przez Φ−1 1 oznaczamy przez Φ∗ . Wówczas norma względem Φ∗ przyjmuje wartości w K, ∗ K ∗ ∋ x 7→ NΦ∗ (x) ∈ K. √ 3.2. CM ciała postaci K = Q(ζs , −d) Jeśli CM typ Φ na K nie jest prymitywny, to reflex norma NΦ∗ (x) dla x ∈ K ∗ przyjmuje wartości w podciele prymitywnym K0 ⊂ K dla Φ. Zatem nie możemy jej użyć, aby otrzymywać liczby Weila π = NΦ∗ (x), które generują K. Taka sytuacja np. zawsze zachodzi gdy K jest CM ciałem stopnia 4 zawierającym podciało urojone kwadratowe L; takie ciało K √ −d) ⊂ K jest podcianazywamy nieprymitywnym. (Wówczas jeśli L = Q( √ łem urojonym kwadratowym i Q( d0 ) ⊂ K jest podciałem √ rzeczywistym, to K zawiera drugie podciało urojone kwadratowe L′ = Q( −dd0 ). Stąd K jest Galois jako złożenie ciał kwadratowych i każdy CM typ na K powstaje przez rozszerzenie CM typu na L lub L′ . Np. rozszerzeniem CM typu {idL } na L jest {idK , iL′ }, gdzie automorfizm iL′ jest stały na L i jest sprzężeniem zespolonym na L′ . Wówczas Nid,iL′ (x) ∈ L dla dowolnego x ∈ K, ponieważ jest elementem √ stałym względem {id, iL′ }.) Niech K = Q(ζs , −d), gdzie ζs jest s-tym pierwotnym pierwiastkiem z 1 i d ∈ Z>0 jest CM √ bezkwadratowa (K jest CM ciałem jako złożenie √ ciał Q(ζs ) i Q( −d)). Dla dowolnej liczby q-Weila π0 ∈ Q( −d), π = ζs π0 jest liczbą q-Weila w K odpowiadającą rozmaitści abelowej, która nad rozszerzeniem stopnia s jest izogeniczna z potęgą krzywej eliptycznej odpowiadającej π0 (Wniosek 2.5). Zatem liczby Weila w K takiej postaci możemy otrzymywać jako wartości na liczbach całkowitych wielomianu √ w(x1 , x2 ) = ζs (x1 + x2 −d). 3.3. Otrzymywanie liczb Weila jako wartości wielomianów Jeśli wielomian w(x1 , . . . , xn ) spełnia (3.1), to problem czy obraz w(Zn ) zawiera nieskończenie wiele liczb Weila jest na ogół bardzo trudny 104 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym i otwarty od strony teoretycznej. Ograniczymy się jedynie do podania pewnych warunków koniecznych, które zwykle są wystarczające dla praktycznych zastoswań. Powyższy problem sprowadza się do problemu przyjmowania przez wielomian o współczynnikach wymiernych nieskończenie wielu wartości pierwszych. Latwo podać następujące warunki konieczne dla wielomianów jednej zmiennej. Stwierdzenie 3.1. Jeśli wielomian q(x) ∈ Q[x] przyjmuje nieskończenie wiele wartości pierwszych dla x ∈ Z>0 , to (1) q(x) jest nierozkładalny, (2) zbiór S = {q(x) : x, q(x) ∈ Z} jest niepusty i gcd(S) = 1, (3) q(x) ma dodatni współczynnik wiodący. Hipoteza Buniakowskiego-Schinzla mówi, że powyższe warunki są również wystarczające, aby wielomian przyjmował nieskończenie wiele wartości pierwszych. Bateman i Horn [2] podali hipotezę o gęstości liczb pierwszych w zbiorze wartości wielomianu. Zgodnie z terminologią wprowadzoną w [19] mówimy, że wielomian reprezentuje liczby pierwsze jeśli spełnia warunki Stwierdzenia 3.1. Jeśli dla takiego wielomianu przyjmiemy heurystyczne założenie, że liczby pierwsze są rozłożone równomiernie w zbiorze wartości q(Z) tak samo jak w dużych przedziałach, to z twierdzenia o liczbach pierwszych możemy oczekiwać, że q(x) będzie liczbą pierwszą z prawdopodobieństwem około 1/ deg q(x) log N dla x ∈ {1, . . . , N }. Jeśli q(x1 , . . . , xn ) ∈ Q[x1 , . . . , xn ] przyjmuje wartości nieujemne (w szczególności wielomian spełniający (3.1)), q(x1 , . . . , xn ) jest nierozkładalny i zbiór S = {q(x) : x ∈ Zn , q(x) ∈ Z} = ̸ ∅ ma gcd(S) = 1, to w praktyce taki wielomian również wydaje się przyjmować wartości pierwsze dla pewnej części punktów całkowitych w Zn , ale podanie nawet dla wielomianów dwóch zmiennych podobnej heurystyki jak wyżej nie jest oczywiste. Dla dalszych zastosowań będziemy zakładali, że mamy wielomian, którego obraz zawiera dostatecznie wiele liczb pierwszych (lub liczb Weila), przez co rozumiemy, że oczekujemy otrzymania liczb pierwszych (lub liczb Weila) z pewnym dodatnim prawdopodobieństwem. 4. Metoda mnożeń zespolonych Metoda mnożeń zespolonych (CM metoda) pozwala konstruować krzywe eliptyczne lub krzywe genusu 2 nad ciałami skończonymi, których pierścień endomorfizmów jakobianu jest ordynkiem maksymalnym w danym CM ciele K odpowiednio stopnia 2 lub 4. Wówczas jakobian takiej 105 R. Dryło krzywej lub jej skręcenia realizuje liczbę Weila π ∈ K. Aby wybrać odpowiednią krzywą w praktyce wystarczy sprawdzić czy dla losowego punktu P z jakobianu mamy nP = 0, gdzie n = NK/Q (π − 1) jest rzędem jakobianu, który chcemy otrzymać. W praktyce CM metoda jest efektywna dla CM ciał generowanych przez odpowiednio małe liczby. Poniżej opiszemy w dużym uproszczeniu główną ideę CM metody dla krzywych eliptycznych i krzywych genusu 2. CM metodę dla krzywych eliptycznych wykorzystuje się również do konstruowania krzywych genusu 2 o rozkładalnym jakobianie. Teoria na której opiera się CM metoda dla krzywych eliptycznych znajduje się w książkach [39, 9, 28], streszczenie można znaleźć np. w√[8, 12]. Niech K = Q( −d) będzie ciałem urojonym kwadratowym, gdzie d ∈ Z>0 jest liczbą bezkwadratową. Dla danego ciała F o domknięciu algebraicznym F niech CK,F będzie zbiorem klas izomorficznych krzywych eliptycznych E/F, takich że End(E) = OK jest ordynkiem maksymalnym w K. Dowodzi się, że zbiór CK,C jest skończony, j-niezmienniki krzywych eliptycznych w CK,C są sprzężonymi nad Q liczbami algebraicznymi całkowitymi, których wielomian minimalny ∏ HK (x) = (x − j(E)) ∈ Z[x] E∈CK,C nazywa się wielomianem klas Hilberta ciała urojonego kwadratowego K. √ Stopień i współczynniki wielomianu Hilberta są wielkości O( d) dlatego w praktyce można go obliczyć tylko dla odpowiednio małych d (obecnie d ≤ 1012 ). Istnieje kilka metod obliczania wielomianu klas [3, 7, 13, 42]. Jeśli w charakterystyce p istnieją krzywe eliptyczne zwykłe, których pierścień endomorfizmów jest ordynkiem w K, to również zbiór CK,Fp jest niepusty oraz redukcja modulo p indukuje bijekcję CK,C → CK,Fp . Wówczas j-niezmienniki krzywych w CK,Fp są dokładnie pierwiastkami w Fp wielomianu klas Hiberta mod p. Stąd aby skonstruować krzywą eliptyczną w CK,Fp wystarczy znaleźć pierwiastek j ∈ Fp wielomianu HK (x)mod p i utworzyć krzywą eliptyczną o j-niezmienniku j. Idea CM metody dla krzywych genusu 2 jest analogiczna jak dla krzywych eliptycznych, ale metoda opiera się na dużo trudniejszej teorii i jest mniej efektywna w praktyce. Niech K będzie CM ciałem prymitywnym stopnia 4, tzn. K nie zawiera podciała urojonego kwadratowego (obecnie CM metoda nie jest rozwinięta dla CM ciał nieprymitywnych). Krzywe genusu 2 nad F są z dokładnością do izomorfizmu nad F wyznaczone przez trzy niezmienniki Igusy j1 , j2 , j3 [24]. Algorytm Mestre [30] pozwala dla 106 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym danych niezmienników Igusy utworzyć równanie krzywej genusu 2 o tych niezmiennikach. Niech CK,F będzie zbiorem klas izomorficznych krzywych genusu 2 C/F, takich że End(Jac(C)) ∼ = OK jest ordynkiem maksymalnym w K. Wówczas zbiór CK,C jest skończony, niezmienniki Igusy krzywych w CK,C są liczbami algebraicznymi, oraz następujące trzy wielomiany Igusy mają współczynniki wymierne HK,i (x) = ∏ (x − ji (C)) ∈ Q[x]dlai = 1, 2, 3. C∈CK,C Podobnie jak dla wielomianu klas Hilberta istnieje kilka metod obliczania wielomianów Igusy [14, 40, 41], które w praktyce są efektywne jeśli ciało K jest generowane przez małe liczby. Jeśli charakterystyce p istnieją krzywe genusu 2, których jakobian jest ordynkiem w CM ciele K, to zbiór CK,Fp jest niepusty oraz redukcja mod p indukuje bijekcję CK,C → CK,Fp . Wówczas niezmienniki Igusy krzywych w CK,Fp otrzymuje się jako pierwiastki w Fp wielomianów Igusy HK,i (x)mod p. Dla znalezionych niezmienników Igusy krzywej C ∈ CK,Fp stosuje się algortym Mestre aby znaleźć równanie C. Przykład 4.1. Następujący przykład pokazuje zastosowanie CM metody, aby efektywnie znaleźć krzywą genusu 2 nad dużym ciałem Fp , której jakobian ma rząd pierwszy (poniższe obliczenia z wykorzystaniem programu Magma zajmują kilka sekund). Ciało cyklotomiczne K = Q(ζ5 ) jest CM ciałem stopnia 4. Aby otrzymywać liczby Weila w K wykorzystamy normę względem CM typu Φ = {idK , φ}, gdzie φ jest automorfizmem K, ζ5 → ζ52 . Wówczas w bazie 1, ζ5 , ζ52 , ζ53 norma względem CM typu Φ ma postać NΦ (x1 , . . . , x4 ) = (x1 + ζ5 x2 + ζ52 x3 + ζ53 x4 )(x1 + ζ52 x2 + ζ54 x3 + ζ56 x4 ). Przyjmując np. x1 = x2 = x3 = 1 otrzymujemy jednoparametrową rodzinę liczb Weila w K: π(x) = NΦ (1, 1, 1, x) = −(ζ53 + ζ52 + ζ5 + 1)x2 + (2ζ53 + 2ζ52 + ζ5 + 1)x − ζ53 q(x) = π(x)π̄(x) = x4 − 3x3 + 4x2 − 2x + 1 Wówczas wielomiany q(x) i n(x) = NK/Q (π(x) − 1) ∈ Z[x] reprezentują liczby pierwsze. Ponieważ n(x) jest stopnia 8, aby otrzymać liczbę Weila powierzchni abelowej, której rząd jest np. liczbą pierwszą o około 200 bitach powinniśmy jej szukać jako wartości π(x) na liczbach x ∈ Z około 107 R. Dryło 25-bitowych. Sprawdzając po kolei liczby x ≥ 225 znajdujemy x0 , takie że q(x0 ) i n(x0 ) są liczbami pierwszymi x0 = 225 + 1102, π = π(x0 ) = −1125973794914089ζ53 − 1125973794914088ζ52 − 1125973828469622ζ5 − 1125973828469622 n = NK/Q (π − 1) = 1607360007905881832641678208235088840783780080533469010788571 (200 bitowa liczba pierwsza) q = ππ̄ = 1267817024615886913951664773981 (100 bitowa liczba pierwsza) Aby znaleźć krzywą genusu 2, której jakobian realizuje powyższe parametry w przypadku CM ciała K = Q(ζ5 ) możemy uniknąć ogólnej CM metody. Zauważmy, że krzywe Ca : y 2 = x5 + a mają automorfizm stopnia 5, (x, y) 7→ (ζ5 x, y), stąd End(Jac(Ca )) = OK = Z[ζ5 ] w charakterystyce p jeśli Jac(Ca ) jest zwykły. Krzywe Ca są dokładnie skręceniami krzywej y 2 = x5 + 1, stąd aby w praktyce znaleźć odpowiednie a ∈ Fq , które realizuje powyższe parametry wystarczy na ogół po kolei sprawdzać małe a ∈ Fp dopóki nie znajdziemy odpowiedniej krzywej. Dla ustalonego a wybieramy losowo punkt P ∈ Jac(Ca )(Fp ) i jeśli nP = 0, to z dużym prawdopodobieństwem Ca jest szukaną krzywa. W naszym przypadku taką krzywą jest y 2 = x5 + 6. √ 4.1. CM metoda dla CM ciał stopnia 4 postaci K = Q(ζs , −d) Dla liczb Weila w nieprymitywnych CM ciałach stopnia 4 nie zostały rozwinięte ogólne metody konstruowania krzywych genusu 2, których jakobian realizuje takie liczby, przy założeniu, że takie krzywe istnieją (liczby Weila w CM ciałach nieprymitywnych mogą nie być realizowane przez jakobiany krzywych). Opiszemy teraz częściowe rozwiązanie problemu konstruowania takich krzywych podane √ przez Freemana i Satoha [18] dla CM ciał stopnia 4 postaci K = Q(ζs , −d), gdzie d ∈ Z>0 jest bezkwadratowa. Metoda pozwala zrealizować pewną część liczb Weila w takich CM ciałach 108 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym jako jakobiany krzywych postaci (4.1) i (4.2). Ponieważ ciało cyklotomiczne Q(ζs ) ma stopień równy funkcji Eulera φ(s), mamy φ(s) = 2 lub 4, stąd s = 3, 4, 6 lub s = 8, 12 (CM ciało prymitywne, CM ciała Q(ζ8 ) 5 ) jest √ √ Q(ζ√ √ i Q(ζ12 ) zawierają odpowiednio −1, −2 i −1, −3). √ Powierzchnie abelowe realizujące liczby Weila π ∈ Q(ζs , −d) mają automorfizm rzędu s odpowiadający ζs . Ponieważ 3 | s lub 4 | s najpierw naturalnie jest sprawdzić czy liczba Weila π nie jest realizowana przez jakobian krzywych postaci y 2 = x6 + ax3 + b, (4.1) y 2 = x5 + ax3 + bx, (4.2) które mają automorfizmy rzędu 3 i 4 odpowiednio dane przez (x, y) 7→ (ζ3 x, y) i (−x, ζ4 y). Metoda opiera się na następującym fakcie. Lemat 4.2. ([18, Propositions 4.1 and 4.2]) Krzywa C dana równaniem (4.1) lub (4.2) jest odpowiednio izomorficzna z krzywą y 2 = x6 + cx3 + 1 √ 2 5 3 lub y = x +cx +x, gdzie c = a/ b. Ponadto Jac(C) jest izogeniczny nad pewnym rozszerzeniem z E 2 , gdzie E jest krzywą eliptyczną odpowiednio o j-niezmienniku (2c − 5)3 j(E) = 28 33 , (4.3) (c − 2)(c + 2)3 lub j(E) = 26 (3c − 10)3 . (c − 2)(c + 2)2 (4.4) Dla naszych zastosowań jesteśmy zainteresowani znalezieniem krzywej, √ której jakobian realizuje liczbę Weila postaci π = ζs π0 , gdzie π0 ∈ Q( −d). Jeśli π jest realizowana przez jakobian krzywej C postaci (4.1) lub (4.2), to nad pewnym rozszerzeniem mamy isogenie Jac(C) ∼ E 2 ∼ E02 , gdzie E jest krzywą eliptyczną o j-niezmienniku (4.3) lub (4.4) oraz E0 jest krzywą eliptyczną o liczbie Weila π0 . Stąd liczba Weila krzywej E należy do ciała √ Q( −d). Jeśli pierścień endomorfizmów krzywej E jest ordynkiem maksymalnym OQ(√−d) , to j-niezmiennik j(E) jest pierwiastkiem wielomianu klas Hilberta HQ(√−d) . Stąd otrzymujemy następujący algorytm. Algorytm 4.3. Input: Liczba bezkwadratowa d ∈ Z>0 , s = 3, 4, liczba √ q-Weila π = ζs π0 , gdzie π0 ∈ K0 = Q( −d). Output: Krzywa genusu 2 nad Fq , której jakobian odpowiada π lub ∅. (1) Oblicz wielomian klas Hilberta HQ(√−d) (x) ciała urojonego kwadrato√ wego Q( −d). 109 R. Dryło (2) Dla dowolnego pierwiastka j ∈ Fq wielomianu HQ(√−d) (x) niech S1 i S2 będą zbiorami rozwiązań c ∈ Fq odpowiednio równań (4.3) i (4.4). (3) Dla i = 1, 2 oraz dla c ∈ Si wykonuj: jeśli i = 1 połóż C : y 2 = x6 + cx3 +1, w przeciwnym razie połóż C : y 2 = x5 +cx3 +x. Usuń C jeśli nie jest hipereliptyczna (tzn. prawa strona ma pierwiastki wielokrotne). (4) Jeśli wszystkie niezmienniki Igusy krzywej C leżą w Fq , wyznacz jej model C0 /Fq . (5) Wyznacz wszystkie skręcenia C0′ nad Fq krzywej C0 . (6) Dla każdego skręcenia C0′ wybierz losowy punkt P ∈ Jac(C0′ )(Fq ) i oblicz nP , gdzie n = NK/Q (π − 1). (7) Zwróć C0′ jeśli nP = 0. 5. Uogólniony algorytm Cocksa-Pincha Algorytm Cocksa-Pincha [19, Tw. 4.1] jest podstawową metodą konstruowania krzywych eliptycznych z danych stopniem zanurzeniowym, którego uogólnienia na rozmaitości abelowe zostały podane w [16, 19, 18, 10]. Poniżej opiszemy podejście do jego uogólnienia przedstawione w [10]. Zaczniemy od przypomnienia podstawowych pojęć. Niech A/Fq będzie rozmaitością abelową oraz r liczbą pierwszą, taką że r | #A(Fq ) i r ̸= charFq . Niech µr = {ζ ∈ Fq |ζ r = 1} będzie grupą r-tych pierwiastków z 1. Stopniem zanurzeniowym A względem r nazywamy liczbę całkowitą k, taką że Fqk = Fq (µr ). Stopień zanurzeniowy jest najmniejszą liczbą k ∈ Z>0 , taką że r | (q k − 1), lub równoważnie jest to rząd qmod r w grupie F∗r . Na rozmaitości abelowej A istnieją dwa iloczyny dwuliniowe Weila i Tate eW : A[r] × A[r] −→ µr ⊂ Fqk , eT : A(Fqk )[r] × A(Fqk )/rA(Fqk ) −→ µr ⊂ Fqk . Ciało Fqk jest najmniejszym rozszerzeniem Fq , w którym iloczyny dwuliniowe przyjmują wartości. Algorytm Millera [33, 22] pozwala obliczyć iloczyny dwulinowe na krzywych eliptycznych i w jakobianach krzywych hipereliptycznych, jeśli stopień k jest odpowiednio mały. W praktyce na ogół stosuje się iloczyn Tate, który można efektywniej obliczyć od iloczynu Weila. Konstrukcje rozmaitości abelowych opierają się na następującym fakcie, który opisuje liczby Weila odpowiadające rozmaitościom z danym stopniem zanurzeniowym. 110 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym Lemat 5.1. ([20, Proposition 2.1]) Niech K = Q(π) będzie CM ciałem stopnia 2g, gdzie π jest liczbą q-Weila, taką że π i π̄ są względnie pierwsze w OK . Wówczas rozmaitość abelowa A/Fq odpowiadająca liczbie q-Weila π ma stopień zanurzeniowy k względem liczby pierwszej r, gdzie r - kq, dokładnie wtedy gdy (1) r | NK/Q (π − 1), (2) r | Φk (q), gdzie Φk (x) jest k-tym wielomianem cyklotomicznym. Proof. Warunek (1) oznacza z Twierdzenia 2.3, że r | #A(Fq ). Przypomnijmy, że wielomiany cyklotomiczne Φl (x) ∈ Z[x] spełniają xk − 1 = ∏ Φl (x). l|k Pierwiastki Φk (x) w dowolnym ciele algebraicznie domkniętym F, takim że charF - k są dokładnie k-tymi pierwotnymi pierwiastkami z 1. Stąd warunek (2) oznacza, że qmod r jest k-tym pierwotnym pierwiastkiem z 1, czyli k jest stopniem zanurzeniowym względem r. kwadrat Przypomnijmy, że dla podgrupy rzędu r w A(Fq ) definiujemy parametr ρ= g log q , log r gdzie g = dimA. Ponieważ rząd #A(Fq ) jest wielkości q g , parametr ρ mówi nam ile razy wielkość #A(Fq ) jest więsza od wielkości r. Opiszemy teraz uogólnienie algorytmu Cocksa-Pincha przedstawione w [10]. Niech K będzie CM ciałem. Dla wielomianu w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ] definiujemy normę ∏ φ(w(x1 , . . . , xn )), NK/Q (w(x1 , . . . , xn )) = φ:K→K gdzie dowolne zanurzenie φ : K → K rozszerzamy do zanurzenia φ : K(x1 , . . . , xn ) → K(x1 , . . . , xn ) przyjmując φ(xi ) = xi dla i = 1, . . . , n. Wówczas NK/Q (w) ∈ Q[x1 , . . . , xn ], ponieważ jest to norma NK(x1 ,...,xn )/Q(x1 ,...,xn ) . Załóżmy, że dany jest wielomian w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ], taki że q(x1 , . . . , xn ) = w(x1 , . . . , xn )w(x1 , . . . , xn ) ∈ Q[x1 , . . . , xn ] n w(Z ) zawiera dostatecznie wiele liczb Weila w K oraz (5.1) 111 R. Dryło (gdzie „dostatecznie wiele” rozumiemy tak jak w Rozdziale 3.3). Chcemy otrzymać liczbę Weila π = w(x1 , . . . , xn ) dla pewnego (x1 , . . . , xn ) ∈ Zn , która odpowiada rozmaitości abelowej ze stopniem zanurzeniowym k względem liczby piewszej r. Wówczas (x1 , . . . , xn )mod r jest z Lematu 5.1 rozwiązaniem w Fnr układu równań wielomianowych o współczynnikach całkowitych { NK/Q (w(x1 , . . . , xn ) − 1) = 0 mod r Φk (q(x1 , . . . , xn )) = 0 mod r Stąd wynika Cocksa-Pincha. następujący algorytm, który uogólnia algorytm Twierdzenie 5.2. Niech k ∈ Z>0 , K będzie CM ciałem stopnia 2g oraz w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ] spełnia (5.1) (1) Niech r będzie liczbą pierwszą, taką że k | r − 1. (2) Niech Z ⊂ Fnr będzie pewnym zbiorem rozwiązań układu (5.2). (3) Dla dowolnego rozwiązania (a1 , . . . , an ) ∈ Z niech (x1 , . . . , xn ) ∈ Zn będzie jego podniesieniem. (4) Niech π = w(x1 , . . . , xn ). sl Jeśli π jest liczbą Weila, K = Q(π) i (π, π) = (1), to π odpowiada rozmaitości abelowej zwykłej wymiaru g ze stopniem zanurzeniowym k względem r. Warunek k | r − 1 jest konieczny, aby układ (5.2) miał rozwiązania w ciele Fr , ponieważ q(x1 , . . . , xn )mod r jest k-tym pierwotnym pierwiastkiem z 1. W praktyce możemy losowo wybierać liczby pierwsze r odpowiedniej wielkości i sprawdzać czy znajdziemy rozwiązania w ciele Fr . Możemy to robić np. ustalając n − 2 zmienne z Fr i wyznaczać rozwiązania układu z dwiema zmiennymi np. stosując rugowniki. Jeśli w ten sposób nie znajdziemy rozwiązań nad Fr próbując podstawiać pewną liczbę n − 2 zmiennych, to wybieramy inną liczbę pierwszą r. W następnym rozdziale podamy wzory na rozwiązania układu (5.2) w ciałach liczbowych w √ przypadku gdy w(x1 , . . . , xn ) jest reflex normą lub w(x , x ) = ζ (x + x 1 2 s 1 2 −d) √ dla CM ciała K = Q(ζs , −d). Wówczas te wzory opisują również rozwiązania w ciałach skończonych dla liczb pierwszych r, które całkowicie rozpadają się w CM ciele K (tzn. nad r leży 2g ideałów pierwszych w OK ). Na ogół rozwiązania układu (5.2) nad ciałem Fr są podobnej wielkości jak r, stąd zwykle otrzymujemy rozmaitości abelowe w parametrem ρ ≈ 2g deg w(x1 , . . . , xn ). √ Dla krzywych eliptycznych mamy ρ ≈ 2 jeśli √ K = Q( −d) jest ciałem urojonym kwadratowym i w(x1 , x2 ) = x1 +x2 −d. Jeśli K jest CM ciałem 112 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym prymitywnym stopnia 4 i w(x1 , . . . , x4 ) jest reflex normą, to otrzymujemy powierzchnie abelowe absolutnie proste z parametrem ρ ≈ 8. Jeśli √ √ K = Q(ζs , −d) jest CM ciałem stopnia 4 i w(x1 , x2 ) = ζs (x1 + x2 −d), to otrzymujemy powierzchnie abelowe proste, które nie są absolutnie proste z parametrem ρ ≈ 4. 6. Rodziny parametryczne rozmaitości abelowych Stosując uogólniony algorytm Cocksa-Pincha otrzymujemy rozmaitości abelowe z parametrem ρ ≈ 2g deg w(x1 , . . . , xn ). Aby otrzymać mniejszy parametr ρ używamy rodzin parametrycznych. Dla danego stopnia zanurzeniowego k rodzina parametryczna składa się z pary wielomianów (r(x), π(x)), gdzie r(x) ∈ Q[x] i π(x) ∈ K[x], takich że dla wielu x0 ∈ Z otrzymujemy liczbę pierwszą r(x0 ) i liczbę Weila π(x0 ) w K, która odpowiada rozmaitości abelowej zwykłej ze stopniem zanurzeniowym k względem r(x0 ). Dokładna definicja jest następująca. Definicja 6.1. ([17]) Niech K będzie CM ciałem stopnia 2g. Mówimy, że para wielomianów (r(x), π(x)), gdzie r(x) ∈ Q[x] i π(x) ∈ K[x], parametryzuje rodzinę rozmaitości abelowych ze stopniem zanurzeniowym k jeśli (1) q(x) = π(x)π(x) ∈ Q[x], (2) q(x) reprezentuje liczby pierwsze, (3) r(x) reprezentuje liczby pierwsze, (4) r(x) dzieli NK/Q (π(x) − 1), (5) r(x) dzieli Φk (q(x)). Trzy pierwsze warunki są konieczne, aby dla nieskończenie wielu x0 ∈ Z otrzymać liczbę pierwszą r(x0 ) i liczbę Weila π(x0 ). Z dwóch ostatnich warunków wynika, że r(x0 ) dzieli rząd NK/Q (π(x0 ) − 1) rozmaitości odpowiadającej liczbie Weila π(x0 ) i k jest stopniem zanurzeniowym względem r(x0 ). Parametry ρ rozmaitości abelowych parametryzowanych przez rodzinę (r(x), π(x)) dążą do parametru ρ rodziny ρ= g deg q(x) . deg r(x) Podobnie jak w uogólnionym algorytmie Cocksa-Pincha rodziny parametryczne możemy otrzymywać przy pomocy wielomianów w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ] spełniających (5.1). Chcemy otrzymywać rodziny (r(x), π(x)), gdzie π(x) = w(f1 (x), . . . , fn (x)) dla pewnych fi (x) ∈ Q[x]. 113 R. Dryło Wówczas (f1 (x), . . . , fn (x))mod r(x) jest rozwiązaniem nad ciałem liczbowym L = Q[x]/(r(x)) układu równań wielomianowych o współczynnikach całkowitych { NK/Q (w(x1 , . . . , xn ) − 1) = 0 (6.1) Φk (q(x1 , . . . , xn )) = o Stąd otrzymujemy następujące uogólnienie algorytmu Brezing-Weng ([6] lub [19, Tw. 6.1]) dla krzywych eliptycznych. Twierdzenie 6.2. Niech k ∈ Z>0 , K będzie CM ciałem i w(x1 , . . . , xn ) ∈ K[x1 , . . . , xn ] spełnia (5.1). (1) Znajdź ciało liczbowe L, w którym układ (6.1) ma rozwiązania. (2) Wyznacz pewien zbiór rozwiązań Z ⊂ Ln układu (6.1). (3) Przedstaw L jako ciało ilorazowe L = Q[x]/(r(x)), gdzie r(x) ∈ Q[x]. (4) Dla każdego rozwiązania (a1 , . . . , an ) ∈ Z weź jego podniesienie (f1 (x), . . . , fn (x)) ∈ Q[x]n , gdzie deg fi (x) < deg r(x) dla i = 1, . . . , n. (5) Niech π(x) = w(f1 (x), . . . , fn (x)). Jeśli q(x) = π(x)π̄(x) reprezentuje liczby pierwsze, to (r(x), π(x)) jest rodziną rozmaitości abelowych ze stopniem zanurzeniowym k o parametrze ρ= 2g deg w(x1 , . . . , xn )max{deg f1 (x), . . . , deg fn (x)} . deg r(x) Stąd otrzymujemy rodziny z parametrem ρ < 2g deg w(x1 , . . . , xn ), chociaż generycznie bliskim tej wartości. Dla krzywych eliptycznych mamy √ ρ < 2 jeśli √ K = Q( −d) jest ciałem urojonym kwadratowym i w(x1 , x2 ) = x1 +x2 −d. Jeśli K jest CM ciałem prymitywnym stopnia 4 i w(x1 , . . . , x4 ) jest reflex normą, to otrzymujemy powierzchnie abelowe absolutnie proste √ z parametrem ρ < 8. Jeśli K = Q(ζ , −d) jest CM ciałem stopnia 4 s √ i w(x1 , x2 ) = ζs (x1 + x2 −d), to otrzymujemy powierzchnie abelowe proste, które nie są absolutnie proste z parametrem ρ < 4. Nietrywialą częścią powyższego algorytmu jest wyznaczenie rozwiązań układu (6.1) w pewnym ciele liczbowym. Ogólnie pewne rozwiązania można znaleźć przy pomocy rugowników, które również pozwalają skonstruować ciało liczbowe L zawierające odpowiednie rozwiązania ([10]). Jednak ta metoda wymaga następnie zapisania ciała L jako ilorazu L = Q[x]/(r(x)) dla wielomianu r(x) o możliwie małych współczynikach (jeśli r(x) ma duże współczynniki, to zwykle wielomian π(x), który otrzymujemy ma współczynniki wymierne o dużych mianownikach i q(x) = π(x)π(x) rzadko reprezentuje liczby pierwsze). Aby znaleźć taki wielomian r(x) wykorzystuje 114 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym się LLL algortym redukcji krat i w przypadku ciał L wyższych stopni jest to dość wolna metoda w praktyce. Poniżej podamy efektywne wzory na rozwiązania układu (6.1) w przypadku gdy√wielomian w(x1 , . . . , xn ) jest reflex normą lub w(x1 , x2 ) = ζs (x1 + x2 −d). Zaczniemy od następującego uproszczenia układu (6.1). Niech K1 będzie domknięciem normalnym K oraz L ciałem liczbowym zawierającym K(ζk ). Dla dowolnego k-tego pierwotnego pierwiastka z jedynki ζk układ (6.1) sprowadza się do następujących układów ∏ wσ (x1 , . . . , xn ) − 1 = 0 σ:K→K1 q(x1 , . . . , xn ) = ζk Dla dowolnego zanurzenia σ : K → K 1 mamy q(x1 , . . . , xn ) = wσ (x1 , . . . , xn )wσ (x1 , . . . , xn ). Stąd dla dowolnego σ i ζk układ (6.1) możemy rozbić na następujące układy { σ w (x1 , . . . , xn ) = 1 (6.2) wσ (x1 , . . . , xn ) = ζk 6.1. Rodziny parametryczne otrzymane przy pomocy reflex normy Poniższa metoda może być traktowna jako alternatywna do metody Freemana [17], który podał inny algorytm oparty na reflex normie otrzymywania rodzin parametrycznych. Niech K będzie CM ciałem stopnia 2g z CM typem prymitywnym Φ i z domknięciem normalnym K1 . Niech K ∗ ⊂ K1 będzie reflex ciałem stopnia 2g ∗ względem (K, Φ) z CM typem dualnym Φ∗ =∑{ψ1 , . . . , ψg∗ }. ∑ ∗ W ustalonej bazie {bi } ciała K /Q zapiszmy ψi ( xj bj ) = j xj αij , gdzie αij = ψi (bj ) ∈ K1 . Wówczas reflex normę możemy przedstawić jako wielomian (∑ ) (∑ ) NΦ∗ (x1 , . . . , x2g∗ ) = xj α1j · · · xj αg∗ j ∈ K[x1 , . . . , x2g∗ ], który spełnia q(x1 , . . . , x2g∗ ) = NΦ∗ (x1 , . . . , x2g∗ )NΦ∗ (x1 , . . . , x2g∗ ) ∈ Q[x1 , . . . , x2g∗ ]. Zapiszmy układ (6.1) z reflex normą { NK/Q (NΦ∗ (x1 , . . . , x2g∗ ) − 1) = 0 (6.3) Φk (q(x1 , . . . , x2g∗ )) = 0 115 R. Dryło Niech L będzie ciałem liczbowym zawierającym K1 (ζk ). Po sprowadzeniu do postaci (6.2) powyższy układ rozpada się na na następujące układy dla dowolnego zanurzenia φ : K → K1 i k-tego pierwiastka z jedynki ζk { Nφ Φ∗ (x1 , . . . , x2g ∗ ) = 1 Nφ Φ∗ (x1 , . . . , x2g ∗ ) = ζk Kładąc βij = φ(αij ), jest to układ postaci ∑ ∑ ( xj β1j ) · · · ( xj βg∗ j ) =1 ∑ ∑ ( xj β 1j ) · · · ( xj β g∗ j ) =ζk Z twierdzenia Dirichleta o niezależności charakterów formy φψ1 , . . . , φψg∗ , φψ1 , . . . , φψg∗ są liniowe niezależne. Stąd wszystkie rozwiązania w L ostatniego układu otrzymujemy wybierając dowolnie parametry t1 , . . . , tg∗ −1 , s1 , . . . , sg∗ −1 ∈ L∗ i wyznaczając jedyne rozwiązanie nad L układu równań liniowych ∑ xj β1j =t1 .. . ∑ xj βg∗ −1j =tg∗ −1 ∑ x β ∗ =1/t · · · t ∑ j g j 1 g ∗ −1 xj β 1j =s1 .. . ∑ xj β g∗ −1j =sg∗ −1 ∑ xj β ∗ =ζk /s1 · · · sg∗ −1 g j Stąd otrzymujemy następującą postać wszystkich rozwiązań układu (6.3) na ciałem L. Lemat 6.3. Wszystkie rozwiązania (x1 , . . . , x2g∗ ) układu (6.3) nad ciałem liczbowym L zawierającym K1 (ζk ) mają następującą postać parame116 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym tryczną dla dowolnych ti , si ∈ L∗ x1 .. . .. . .. . .. . x2g∗ β11 βg ∗ 1 = β 11 β g∗ 1 ··· ··· ··· .. . ··· ··· ··· ··· ··· ··· .. . β12g∗ −1 βg∗ 2g∗ β 12g∗ · · · · · · · · · β g∗ 2g∗ t1 .. . tg∗ −1 ∗ 1/t1 · · · tg −1 s1 .. . sg∗ −1 ζk /s1 · · · sg∗ −1 gdzie ζk jest dowolnym pierwiastkiem z 1 i βij = φ(αij ) dla dowolnego zanurzenia φ : K → K1 . Przykład 6.4. Podamy rodzinę parametryczną powierzchni abelowych ze stopniem zanurzeniowym k = 10 i parametrem ρ = 6 dla CM ciała K = Q(ζ5 ). Do otrzymywania liczb Weila w K użyjemy normy względem tego samego CM typu Φ na K jak w Przykładzie 4.1. W powyższym lemacie bierzemy L = Q(ζ10 ) = Q(ζ5 ), zapisujemy L = Q[x]/(Φ10 (x)) i przyjmujemy t1 = 1 i s1 = ζ10 . Otrzymujemy następującą rodzinę powierzchni abelowych 1 1 Φ10 (x) = (x4 − x3 + x2 − x + 1), 5 5 1 1 π(x) = (−2ζ53 − ζ52 − 2ζ5 )x6 + (9ζ53 + 6ζ52 + 11ζ5 + 4)x5 25 25 1 1 3 2 + (−2ζ5 − 2ζ5 − 3ζ5 − 4)x4 + (ζ53 + 2ζ52 + 2ζ5 + 6)x3 5 5 1 1 + (−3ζ53 − 3ζ52 − 5ζ5 − 5)x2 + (3ζ53 + 4ζ52 + 3ζ5 + 15)x 5 25 1 + (−6ζ53 − 4ζ52 − 9ζ5 − 6). 25 r(x) = (współczynnik 1/5 przy Φ10 (x) został dobrany, aby wielomian r(x) reprezentował liczby pierwsze). Ponieważ deg r(x) = 4, aby otrzymać parametry powierzchni abelowej dla liczby pierwszej r około 160 bitowej powinniśmy jej szukać jako wartości rodziny na liczbach około 40 bitowych. Otrzymujemy np. następujące parametry powierzchni abelowej: 117 R. Dryło x = 241 + 122, r = 4676805240494623792653414435638491469904513556151 (161 bitowa liczba pierwsza), q = 1022934565644841731432276473153812385160945590601104166971386460374912 8850999745132050738686644206960342219021205993695811184795821178872972 3539661 Podobnie jak w Przykładzie 4.1 znajdujemy krzywą, której jakobian realizuje powyższe parametry y 2 = x5 + 2. √ 6.2. Rodziny parametryczne dla CM ciał postaci K = Q(ζs , −d) na rozwiązania układu (6.1) dla w(x, y) = ζs (x + √ Podamy teraz wzory √ y −d) i K = Q(ζs , −d). Zatem układ ma postać { √ NK/Q (ζs (x + y −d) − 1) = 0 ( ) Φk x2 + dy 2 = 0 (6.4) Lemat 6.5. Niech L będzie ciałem liczbowym zawierającym K(ζk ). Jeśli √ −d ̸∈ Q(ζs ), to dla dowolnych pierwotnych pierwiastków z jedynki ζs , ζk układ (6.4) ma rozwiązania postaci x= Jeśli √ ζs−1 + ζk ζs , 2 y=± ζs−1 − ζk ζs √ . 2 −d (6.5) −d ∈ Q(ζs ), to jedna z tych par jest rozwiązaniem układu (6.4). Proof. Zgodnie z (6.2) dla dowolnego σ ∈ Aut(K) i ζk układ (6.4) rozpada sią na następujące układy liniowe { 118 √ ( ) σ(ζs ) x + yσ( −d) = 1 √ ( ) σ(ζs−1 ) x − yσ( −d) = ζk Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym Stąd σ(ζs−1 ) + ζk σ(ζs ) x = 2 −1 σ(ζ ) − ζ σ(ζs ) s √ k y = 2σ( −d) √ Jeśli −d ̸∈ Q(ζs ), to każdy automorfizm ciała Q(ζs ) ma √ dwa rozszerzenia na K, więc rozwiązania są dokładnie postaci (6.5). Jeśli −d ∈ Q(ζs ), to automorfizm σ jest jednoznacznie wyznaczony przez wartości na ζs . √ Przykład 6.6. W CM ciele √ K = Q(ζ8 ) stopnia 4 zawierającym −2 użyjemy w(x, y) = ζ8 (x+y −2) do otrzymywania liczb Weila. Dla stopnia zanurzeniowego k = 16 otrzymujemy rodzinę z parametrem ρ = 3.5 1 8 (x + 1), 2 1 1 1 1 −1 ζ8 x7 − ζ8 x6 + (ζ82 − 1)x5 + (−ζ82 + 1)x4 + (ζ82 − 1)x π(x) = 2 2 4 4 4 1 + (−ζ82 + 1), 4 r(x) = Dostajemy np. następujące parametry powierzchni abelowej x = 220 + 217 + 7477, r = 3944315153601806198898435640010893344879150390626 (160 bitowa liczba pierwsza) q = 27598854348512437317747455665949090055277857799177455447493127024433646 31093882533297 Aby zrealizować liczby Weila w K jako jakobiany krzywych genusu 2, na ogół wystarczy użyć krzywych Ca : y 2 = x5 + ax, które mają automorfizm rzędu 8, (x, y) 7→ (ζ82 x, ζ8 y). Podobnie jak w Przykładzie 4.1 sprawdzając kolejne a ∈ Fp znajdujemy krzywą, której jakobian ma powyższe parametry y 2 = x5 + 14x. Powyższa metoda zastosowana do CM ciała K = Q(ζ8 ) jest alternatywna do metody Kawazoe i Takahashi [27], którzy podali metodę konstruowania krzywych postaci y 2 = x5 + ax z danym stopniem zanurzeniowym opartą na wzorach na rząd jakobianu takich krzywych. 119 R. Dryło √ √ Przykład 6.7.. Niech K = Q(ζ12 ) = Q(i, −3) i w(x, y) = i(x + y −3). Dla k = 12 zapiszmy ciało L = K jako iloraz L = Q[x]/(r0 (x)), gdzie r0 (x) = x4 + 2x3 + 6x2 − 4x + 4 otrzymujemy jako wielomian minimalny 2 3 elementu ζ12 − ζ12 + ζ12 . Aby otrzymać jak najmniejszy parametr ρ próbujemy różnych reprezetacji ciała L jako ilorazu Q[x]/(r(x)). Wielomiany r(x) możemy otrzymywać jako wielomiany minimalne elementów prymitywnych w K (taka metoda dla krzywych eliptycznych została wprowadzona w [26]). Znajdujemy rodzinę powierzchni abelowych ze stopniem zanurzeniowym k = 12 i parametrem ρ = 2: 1 4 r(x) = (x + 2x3 + 6x2 − 4x + 4), 36 √ √ ) i ( 2 √ π(x) = x (− −3 + 1) − 2x( −3 + 1) − 6 −3 − 2 . 12 Dostajemy np. następujące parametry powierzchni abelowej x = 87960930234340, r = 1662864086068056644824292237437174114512687909008301229 (180 bitowa liczba pierwsza), π= √ i (1289520874615042134242461153 − 1289520874615100774862617381 −3), 2 q = 1662864086068056644824292238726694989127818004180996723, Stosując Algorytm (4.3) znajdujemy krzywą, której jakobian realizuje powyższe parametry y 2 = 3x6 + 399087380656333594757830137294406797390676321003439214x3 + 840318388709976017122087137087102952585808061504841608 Literatura [1] P.S.L.M. Barreto, M. Naehrig, Pairing-friendly elliptic curves of prime order, in Selected Areas in Cryptography–SAC 2005, Lecture Notes in Computer Science, vol. 3897 (Springer, Berlin, 2006), pp. 319–331. [2] P. Bateman, R. Horn, A heuristic asymptotic formula concerning the distribution of prime numbers, Math. Comput. 16, 363–367 (1962). [3] J. Belding, R. Bröker, A. Enge, K. Lauter, Computing Hilbert class polynomials, Algorithmic Number Theory Symposium-ANTS VIII (A. J. van der Poorten and A. Stein, eds.), Lecture Notes in Computer Science, vol. 5011, Springer, 2008, pp. 282–295. 120 Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym [4] D. Boneh, M. Franklin, Identity-based encryption from the Weil pairing, In Advances in Cryptology Crypto 2001. LNCS, vol. 2139, pp. 213–229. Springer, Berlin (2001). Full version: SIAM J. Comput. 32(3), 586–615 (2003). [5] D. Boneh, B. Lynn, H. Shacham, Short signatures from the Weil pairing, In Advances in Cryptology Asiacrypt 2001, LNCS, vol. 2248, pp. 514–532. Springer, Berlin (2002). Full version: J. Cryptol. 17, 297–319 (2004). [6] F. Brezing, A. Weng, Elliptic curves suitable for pairing based cryptography, Des. Codes Cryptogr. 37, 133–141 (2005). [7] R. Bröker, A p-adic algorithm to compute the Hilbert class polynomial, Math. Comp. 77 (2008), 2417–2435. [8] R. Bröker, P. Stevenhagen, Efficient CM-constructions of elliptic curves over finite fields, Math. Comp. 76 (2007), 2161–2179. [9] D. Cox, Primes of the form x2 + ny 2 . Fermat, Class Field Theory and Complex Multiplication, John Wiley & Sons (1989). [10] R. Dryło, A New Method for Constructing Pairing-Friendly Abelian Surfaces, In: Pairing-Based Cryptography – Pairing 2010. LNCS, vol. 6487, pp. 298-311. Springer, Heidelberg (2010). [11] R. Dryło, Constructing Pairing-Friendly Genus 2 Curves with Split Jacobian, Lecture Notes in Computer Sciences (INDOCRYPT 2012) 7668 (2012), 437-458. [12] R. Dryło, Z. Jelonek, Krzywe eliptyczne z zadaną grupą endomorfizmów i podgrupą ustalonego rzędu, Materiały z konferencji „Kryptografia i Bezpieczeństwo Informacji”, Warszawa 2014. [13] A. Enge, The complexity of class polynomial computation via floating point approximations, Math. Comp. 78 (2009), 1089–1107. [14] K. Eisentrager, K. Lauter, A CRT algorithm for constructing genus 2 curves over finite fields, in Proceedings of AGCT 2005: Arithmetics, Geometry, and Coding Theory – Société Mathématique de France, 2011. [15] D. Freeman, Constructing pairing-friendly elliptic curves with embedding degree 10, in Algorithmic Number Theory Symposium–ANTS-VII. Lecture Notes in Computer Science, vol. 4076 (Springer, Berlin, 2006), pp. 452–465. [16] D. Freeman, Constructing pairing-friendly genus 2 curves with ordinary Jacobians,In Pairing-Based Cryptography – Pairing 2007, LNCS, vol. 4575, pp. 152–176. Springer, Verlag (2007). [17] D. Freeman, A generalized Brezing-Weng algorithm for constructing pairing-friendly ordinary abelian varieties, In: Pairing-Based Crypto121 R. Dryło [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] 122 graphy – Pairing 2008, LNCS, vol. 5209, pp. 46–163, Springer, Heidelberg (2008). D. Freeman, T. Satoh, Constructing pairing-friendly hyperelliptic curves using Weil restriction, J. Number Theory 131, 959–983 (2011). D. Freeman, M. Scott, E. Teske, A taxonomy of pairing-friendly elliptic curves, J. Cryptol. 23, 224–280 (2010). D. Freeman, P. Stevenhagen, M. Streng, Abelian varieties with prescribed embedding degree, In: Algorithmic Number Theory – ANTS VIII. LNCS, vol. 5011, pp. 60–73, Springer, Heidelberg (2008). S. Galbraith, Supersingular curves in cryptography, In ASIACRYPT 2001, LNCS, 2248, pp. 495–513. Springer, Berlin (2001). S. Galbraith, F. Hess, F. Vercauteren, Hyperelliptic pairings, In Pairing-based cryptography – Pairing 2007, LNCS vol. 4575 108–131. Springer, Berlin, (2007). E. Howe, H. Zhu, On the existence of absolutely simple abelian varieties of a given dimension over an arbitrary field, J. Number Theory 92, 139–163 (2002). J. Igusa, Arithmetic Variety of Moduli for Genus Two, Ann. Math. 72, 612–649 (1960). A. Joux, A one round protocol for tripartite Diffie–Hellman, In Algorithmic Number Theory Symposium – ANTS-IV. LNCS, vol. 1838, pp. 385–393, Springer, Berlin (2000), Full version: J. Cryptol. 17, 263–276 (2004). E. Kachisa, E. Schaefer, M. Scott, Constructing Brezing-Weng pairing friendly elliptic curves using elements in the cyclotomic field, In Pairing-Based Cryptography–Pairing 2008, LNCS, vol. 5209, pp. 126–135. Springer, Heidelberg (2008). M. Kawazoe, T. Takahashi, Pairing-friendly ordinary hyperelliptic curves with ordinary Jacobians of type y 2 = x5 + ax, In: Pairing-Based Cryptography – Pairing 2008. LNCS, vol. 5209, pp. 164–177. Springer, Heidelberg (2008). S. Lang, Elliptic functions, Springer, 1987. A. Menezes, T. Okamoto, S. Vanstone, Reducing elliptic curve logarithms to logarithms in a finite field, IEEE Trans. Inf. Theory 39, 1639–1646 (1993). J.F. Mestre, Construction de courbes de genre 2 à partir de leurs modules, In Effective methods in algebraic geometry (Castiglioncello, 1990), pages 313–334. Birkhäuser, Boston, MA (1991). V.S. Miller, The Weil pairing, and its efficient calculation, Journal of Cryptology, 17, 235–261, 2004. Konstruowanie krzywych genusu 2 z danym stopniem zanurzeniowym [32] J.S. Milne, Abelian varieties, In G. Cornell, J. Silverman, (eds.) Arithmetic Geometry 103–150. Springer, New York (1986). [33] J.S. Milne, Complex multiplication http://www.jmilne.org/math/CourseNotes/ [34] A. Miyaji, M. Nakabayashi, S. Takano, New explicit conditions of elliptic curve traces for FR-reduction, IEICE Trans. Fundam. E84-A(5), 1234–1243 (2001). [35] D. Mumford, Abelian varieties, Oxford University Press 1970. [36] F. Oort, Abelian varieties over finite fields. Higher-dimensional varieties over finite fields, Summer school in Göttingen, pp. 66, June 2007. [37] K. Rubin, A. Silverberg, Using abelian varieties to improve pairing-based cryptography, J. Cryptol. 22, 330-364 (2009). [38] G. Shimura, Abelian Varieties with Complex Multiplication and Modular Functions, Princeton University Press, 1998. [39] J. Silverman, Advanced Topics in the Arithmetic of Elliptic Curves, Graduate Texts in Mathematics 151. Springer-Verlag, New York (1994). [40] M. Streng, Complex multiplication of abelian surfaces, PhD thesis, Universiteit Leiden (2010). [41] M. Streng, Computing Igusa Class Polynomials Mathematics of Computation, Vol. 83, pp 275–309, (2014). [42] A. Sutherland, Computing Hilbert class polynomials with the Chinese remainder theorem, Math. Comp. 80, 501–538 (2011). [43] J. Tate, Classes d’isogénie des variétés abéliennes sur un corps fini, (d’aprés T. Honda.) Séminarie Bourbaki 1968/69, exposé 352, Lect. Notes in Math., vol. 179, pp. 95–110. Springer (1971). [44] J. Tate, Endomorphisms of abelian varieties over finite fields, Inventiones Mathematicae 2 (1966). [45] W.C. Waterhouse, J.S. Milne, Abelian varieties over finite fields, Proc. Symp. Pure Math. 20, 53–64 (1971). CONSTRUCTING PAIRING-FRIENDLY GENUS 2 CURVES Abstract. For applications in pairing-based cryptography we need special curves for which the Weil and Tate pairings can be efficiently computed. Such curves, commonly called pairing-friendly, require specific constructions. In practice we mainly use elliptic curves or hyperelliptic curves of genus 2. Methods for constructing pairing-friendly curves are based on the complex multiplication (CM) method, and thus are restricted to curves whose endomorphism ring of the Jacobian is generated by suitably small 123 R. Dryło numbers. To construct such a curve one first determines parameters of its Jacobian, which are usually given by Weil numbers for genus 2 curves, and then one uses the CM method to find a curve equation. Methods for constructing pairing-friendly elliptic curves were gathered and described in a coherent language by Freeman, Scott and Teske. There are several approaches to construct pairing-friendly genus 2 curves the first of which were developed by Freeman, Stevenhagen, and Streng, Kawazoe-Takahashi, and Freeman-Satoh. In this paper we describe an approach based on the idea of the author, where we use suitable polynomials of several variables to obtain as their values Weil numbers corresponding to Jacobians of pairing-friendly genus 2 curves. This approach can be used to construct both genus 2 with absolutely simple Jacobian, and with simple, but not absolutely simple. We give explicit formulas, which determine parametric families of pairing-friendly genus 2 curves. Keywords: pairing-based cryptography, pairing-friendly curves, the Weil and Tate pairings, CM method, Weil numbers. KODOWANIE DETERMINISTYCZNE NA KRZYWYCH ELIPTYCZNYCH Mariusz Skałba Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski ul. Banacha 2, 02-097 Warszawa, Polska [email protected] Streszczenie. W pracy przedstawiono problematykę znajdowania punktów na krzywych eliptycznych określonych nad ciałami skończonymi, ze szczególnym uwzględnieniem algorytmów deterministycznych. Algorytmy takie nie były znane do 2005 roku. Wcześniejsze metody, chociaż dość praktyczne, miały charakter probabilistyczny, a ich efektywność była uwarunkowana hipotezami Riemanna. Słowa kluczowe: krzywe eliptyczne, ciała skończone, kodowanie deterministyczne Przed zaszyfrowaniem informacji, na ogół przecież werbalnej, należy ją zakodować za pomocą liczb. I tak na przykład kolejnym literom alfabetu można na stałe przyporządkować kolejne liczby A −→ 0, B −→ 1, . . . , Z −→ 25, spacja −→ 26 i zdanie ALA MA KOTA zakodować jako ciąg liczb ze zbioru {0, 1, . . . , 26} 0 11 0 26 12 0 26 10 14 19 0. Dopiero teraz możemy wiadomość zaszyfrować. Potraktujmy powyższe liczby jako reszty modulo 27, czyli elementy pierścienia Z27 . Przekształcenie szyfrujące E zadajemy wzorem E(x) = 5x + 3. Powyższa wiadomość zaszyfrowana wygląda tak 3 4 3 25 9 3 25 26 19 17 3. Przeprowadzając proste rachunki modulo 27 łatwo obliczamy przekształcenie rozszyfrowujące D D(y) = 11y − 6. Rzeczywiście, dla każdej liczby całkowiej x mamy D(E(x)) = 11(5x + 3) − 6 = 55x + 27 ≡ x (mod 27). M. Skałba Oczywiście szyfrogram można dla niepoznaki zapisać literami DEDZJDZ TRD. Już na tym elementarnym przykładzie widać, że w istocie szyfrowanie polega na jednoznacznym przyporządkowaniu układowi liczb innego układu liczb, według tajnej reguły (E), która jest odwracalna, w tym sensie, że, ze zmienionego układu można powrócić do wyjściowego za pomocą reguły odwrotnej (D). Metodę powyższą można wyrafinować pracując w grupie multyplikatywnej reszt, zamiast w grupie addytywnej, jak wyżej. Niech mianowicie p będzie liczbą pierwszą nieparzystą, a liczba g ∈ {2, 3, . . . , p − 1} będzie tak wybrana, że reszty liczb g, g 2 , . . . , g p−1 wyczerpują wszystkie reszty modulo p (oczywiście z wyjątkiem reszty 0). Takie liczby g istnieją dla każdej liczby pierwszej p – nazywamy je pierwiastkami pierwotnymo modulo p, lub generatorami grupy Z∗p . I tak dla p = 29 można wziąć g = 2. Nasze ulubione zdanie można zakodować teraz za pomocą reszt modulo 29 w następujący sposób 20 211 20 226 212 20 226 210 214 219 20 , czyli 1 18 1 22 7 1 22 9 28 26 1. Szyfrować i rozszyfrowywać można na przykład za pomocą funkcji E(x) = 8x5 , oraz D(y) = (11y)17 . Rzeczywiście, mamy następujący ciąg kongruencji mod 29, gdzie w pewnym momencie używamy małego twierdzenia Fermata: D(E(x)) = (11 · 8x5 )17 ≡ (x5 )17 ≡ (x28 )3 · x ≡ x (mod 29). Ponieważ oswoiliśmy się nieco z dodawaniem i mnożeniem reszt modulo m warto odnotować najważniejszy fakt: jeżeli p jest liczbą pierwszą to Zp jest ciałem. Równania z dwiema niewiadomymi x, y o współczynnikach z ciała opisują krzywe, które można badać metodami algebry liniowej, lub dogłębniej metodami geometrii algebraicznej. Szczególnie interesujący jest przypadek równania typu y 2 = x3 + Ax + B, gdzie A, B ∈ Zp oraz ∆ = 4A3 − 27B 2 ̸= 0. Zakładamy ponadto, dla uproszczenia dalszych wywodów, że p > 3. Mówimy, że powyższe równanie zadaje krzywą eliptyczną nad ciałem Zp . „Krzywa” ta składa się ze skończonej liczby punktów – wszystkich par (x, y), gdzie x, y ∈ Zp , jest przecież p · p. 126 Kodowanie deterministyczne na krzywych eliptycznych Rozważmy jako przykład krzywą E nad ciałem Z31 zadaną równaniem y 2 = x3 + 7x + 13. Łatwo sprawdzić, że poniższa lista zawiera wszystkie elementy (x, y) zbioru Z231 spełniające powyższe równanie: {(2, 2), (2, −2), (5, 7), (5, −7), (7, 8), (7, −8), (13, 10), (13, −10), (16, 6), (16, −6), (18, 9), (18, −9), (20, 0), (21, 11), (21, −11), (26, 15), (26, −15), (27, 13), (27, −13), (30, 6), (30, −6)}. Podobnie, jak reszty, które można dodawać i mnożyć, punkty (x, y) na krzywej eliptycznej też można dodawać. Jest to pięknie i wyczerpująco opisane w klasycznej książce [4], a my poprzestaniemy tylko na uwadze, że chociaż punktów nie dodajemy „po współrzędnych” to współrzędne sumy dwóch punktów wyrażają się poprzez współrzędne punktów składników za pomocą stosunkowo prostych wzorów. Powstaje w ten sposób skończona grupa abelowa, która w naszym przypadku ma 22 elementy. Na powyższej liście wymienione są wszystkie punkty afiniczne – jest ich 21 – niewymieniony punkt to tzw. punkt w nieskończoności, oznaczany zwykle ∞ lub O. Jest on elementem neutralnym rzeczonego działania grupowego. Uznajmy, że najbardziej wyrafinowany sposób kodowania z powyżej opisanych polega na zastąpieniu liter (lub kilkuliterowych zbitek liter) przez punkty krzywej eliptycznej określonej nad ciałem skończonym Zp . I tu pojawia się tytułowy problem: inaczej niż w przypadku kodowania za pomocą reszt modulo m, czy to w wersji addytywnej, czy multyplikatywnej, w przypadku krzywej eliptycznej nie mamy naturalnego sposobu wyboru punktów, które będą kodować litery. Jeśli liczba pierwsza p oraz parametry krzywej eliptycznej A, B są ogromnymi liczbami kilkusetcyfrowymi to nie jest jasne, jak znaleźć x0 , y0 ∈ Zp spełniające równanie y02 = f (x0 ), gdzie oznaczyliśmy f (x) = x3 + Ax + B. Problem ten składa się z dwóch części: 1. Znaleźć x0 ∈ Zp takie, że f (x0 ) jest kwadratem w Zp . 2. Znaleźć y0 ∈ Zp spełniające y02 = f (x0 ). 127 M. Skałba W żargonie podproblem 2 określa się jako wyciąganie pierwiastka kwadratowego mod p. Od dawna znany jest efektywny algorytm wyciągania pierwiastka kwadratowego modulo p, działający w czasie O(ln3 p), o ile dysponujemy elementem n ∈ Zp , który nie jest kwadratem w Zp [8]. Algorytm ten należy uznać za probabilistyczny, gdyż póki co nikt nie potrafi znajdować niereszty kwadratowej modulo p w czasie wielomianowym (od ln p). Co prawda, przy założeniu rozszerzonej hipotezy Riemanna E. Bach wykazał w [1] , że najmniejsza niereszta kwadratowa jest mniejsza od 2 ln2 p, ale wynik ten jest przez to bardzo warunkowy! Jeszcze gorzej było z podproblemem 1. Przynajmniej do 2005 roku „rozwiązywano” go w następujący sposób. Za x0 podstawiano małe liczby naturalne 0, 1, 2, . . . dopóki nie natrafiono na x0 takie, że f (x0 ) jest resztą kwadratową modulo p. To, że powyższe postępowanie jest praktycznie skuteczne nawet dla dużych liczb pierwszych p wynika ze słynnego twierdzenia Hassego [3]: Niech N będzie liczbą Fq -punktów na krzywej eliptycznej zdefiniowanej nad ciałem Fq . Wtedy √ |N − (q + 1)| ≤ 2 q. √ Ponieważ p jest bardzo małe w stosunku do p, dla dużych p, więc teza twierdzenia Hassego oznacza, że dla około połowy liczb x0 ze zbioru {0, 1, 2 . . . , p − 1} liczba f (x0 ) jest kwadratem modulo p, i każde takie x0 daje dwa punkty na krzywej (x0 , y0 ), (x0 , −y0 ) . Szansa wylosowania dobrego x0 wynosi około 1/2 i dlatego takie poszukiwanie po omacku jest praktycznie bardzo efektywne – mimo tego, przedstawiona powyżej metoda postępowania to typowy algorytm zrandomizowany. Neal Koblitz, pionier i guru zastosowań krzywych eliptycznych w kryptografii, pisał w swojej książce [5] tak: Ale główną przeszkodą w skonstruowaniu deterministycznego algorytmu wielomianowego znajdującego punkt na krzywej eliptycznej E wcale nie jest pierwiastkowanie f (x). Problem leży raczej w znalezieniu x ∈ Zp , dla którego f (x) jest kwadratem. Chociaż własność tę ma około 50% elementów x, to – z wyjątkiem kilku specjalnych przypadków – nie jest znany żaden efektywny sposób deterministyczny wyznaczenia takiego x. Wszystkie metody deterministyczne wymagają czasu wykładniczego. Jest rzeczą godną uwagi, że nikt nie wie, jak znaleźć na krzywej eliptycznej jakikolwiek punkt (różny od punktu w nieskończoności) w czasie podwykładniczym. Ten podproblem udało mi się jednak rozwiązać w 2005 roku w pracy [9]. Przy założeniu A ̸= 0 oraz p > 3 podałem wzory wyraźne na niestałe funkcje wymierne X1 (t), X2 (t), X3 (t), U (t) spełniające tożsamość f (X1 (t))f (X2 (t))f (X3 (t)) = U (t)2 . 128 Kodowanie deterministyczne na krzywych eliptycznych Podstawmy teraz za t taki element t0 ∈ Zp , który nie jest miejscem zerowym żadnego z mianowników funkcji X1 (t), X2 (t), X3 (t), U (t). Z równości w ciele Zp , f (X1 (t0 ))f (X2 (t0 ))f (X3 (t0 )) = U (t0 )2 (1) i faktu, że grupa multyplikatywna Z∗p jest cykliczna dostajemy natychmiast wniosek: istnieje j ∈ {1 , 2 , 3 } takie, że f (Xj (t0 )) jest kwadratem w Zp . Jednak najbardziej zaskakujące jest to, że korzystając z (1) można również rozwiązać efektywnie i bezwarunkowo podproblem 2! Dokonał tego Christian van de Woestijne w swojej pracy doktorskiej, napisanej pod kierunkiem H.W. Lenstry na Uniwersytecie w Lejdzie. Natomiast A. Shallue podał deterministyczny sposób znajdowania punktu na krzywej eliptycznej nad ciałem skończonym charakterystyki 2. W ten sposób powstała ważna praca wspólna obu autorów [7]. Opiszemy teraz krótko na czym polega rozwiązanie podproblemu 2 zaproponowane przez van de Woestijne. Na podstawie (1) mamy cztery elementy a, b, c ∈ Zp takie, że abc = d2 (2) i bardzo chcemy wyciągnąć efektywnie pierwiastek kwadratowy z przynajmniej jednego elementu spośród a, b, c. Niech 2t będzie największą potęgą 2, która dzieli p − 1. Mamy więc p − 1 = 2t s, gdzie liczba s jest nieparzysta. Oznaczmy α = as , β = bs , γ = cs , δ = ds . Jeśli uda nam się znaleźć µ, takie, że α = µ2 to przyjmując f = µa(1−s)/2 dostajemy a = f 2 . Tak więc wystarczy, jeśli wyciągniemy efektywnie pierwiastek kwadratowy z jednego z elementów α, β lub γ. Możemy napisać, że α, β, γ, δ ∈ H, gdzie H jest maksymalną 2-podgrupą grupy Z∗p . Dla h ∈ H niech ord(h) oznacza rząd elementu h. Rozróżniamy teraz dwa przypadki: k • jeśli ord(α) < ord(β) to istnieje liczba naturalna k taka, że α1 = αβ 2 ma rząd mniejszy niż rząd α. Kontynuując to postępowanie uzyskujemy przedstawienie α = β 2K . • jeżeli natomiast ord(α) = ord(β) to ord(αβ) < ord(β) i jak wyżej uzyskamy efektywnie przedstawienie typu αβ = β 2K . Ale wówczas γ = (δβ −K )2 . Podsumowując: metoda van de Woestijne pozwala efektywnie wyciągnąć pierwiastek kwadratowy z przynajmniej jednego spośród elementów 129 M. Skałba a, b, c ∈ Zp , o ile spełniają one równanie (2) – nie potrzebujemy przy tym niereszty kwadratowej, a więc obywamy się bez nieudowodnionych hipotez. Należy jeszcze dodać, że A. Schinzel i M. Skałba we wspólnej pracy [6] rozpatrzyli przypadek A = 0. Ponadto M. Ulas w pracy [10] znacznie uprościł wyprowadzenie tożsamości (1) i, co najważniejsze, jego sposób obejmuje również krzywe hipereliptyczne postaci y 2 = xn + Ax + B oraz y 2 = xn + Ax2 + Bx, o ile AB ̸= 0. Metody naszkicowane w bieżącej pracy były potem i są dalej rozwijane intensywnie na całym świecie – obecny stan badań i bogatą literaturę można znaleźć w pracy [2]. Literatura [1] E. Bach, Explicit bounds for primality testing and related problems, Math. Comp. 55 (1990), 355–380 [2] R.R. Farashahi, P.A. Fouque, I.E.Shparlinski, M. Tibouchi, J.F. Voloch, Indifferentiable deterministic hashing to elliptic and hyperelliptic curves, Math. Comp. 82 (2013), 491–512. [3] H. Hasse, Zur Theorie der abstrakten elliptischen Funktionenkrper. I, II & III, Crelle’s Journal 175 (1936). [4] N. Koblitz, Wykład z teorii liczb i kryptografii, Wydawnictwa Naukowo-Techniczne, Warszawa 2006. [5] N. Koblitz, Algebraiczne aspekty kryptografii, Wydawnictwa Naukowo-Techniczne, Warszawa 2000. [6] A. Schinzel, M. Skałba, On equations y 2 = xn + k in a finite field, Bull. Polish Acad. Sci. Math. 52 (2004), 223–226. [7] A. Shallue, C. van de Woestijne, Construction of rational points on elliptic curves over finite fields, Lecture Notes in Computer Science 4076, Springer 2006, 510–524. [8] D. Shanks, Five number-theoretic algorithms, Congressus Numerantium 7 , Proc. 2 nd Manitoba Conf. on Numerical Math. (University of Manitoba), 1972, 51–70. [9] M. Skałba, Points on elliptic curves over finite fields, Acta Arith. 117 (2005), 293–301. [10] M. Ulas, Rational points on certain hyperelliptic curves over finite fields, Bull. Polish Acad. Sci. Math. 55 (2007), 97–104. 130 Kodowanie deterministyczne na krzywych eliptycznych DETERMINISTIC ENCODING ON ELLIPTIC CURVES Abstract. The methods of finding points on elliptic curves over finite fields are presented with special emphasis on deterministic algorithms. Such algorithms were unknown until 2005. Earlier methods were probabilistic in nature and their efficiency was strongly conditioned on unproved Riemann conjectures. Keywords: elliptic curves, finite fields, deterministic encoding. A FAMILY OF PAIRING-FRIENDLY SUPERELLIPTIC CURVES OF GENUS 4 Andrzej Dąbrowski Institute of Mathematics, University of Szczecin, Wielkopolska 15, 70-451 Szczecin, Poland; [email protected] Abstract. We give explicit construction of pairing-friendly superelliptic curves of genus 4 based on the closed formulas for the orders of their Jacobians. Keywords: superelliptic curve, Jacobian variety, Cocks-Pinch method, pairing-friendly abelian variety. 1. Introduction There are many results for constructing pairing-friendly ordinary elliptic curves. On the other hand, there are very few results for explicit constructions of pairing-friendly abelian varieties of higher dimension. These mostly concern the cases of dimension two ordinary surfaces. Freeman constructs one such family for dimension three. The most common abelian varieties used in cryptography are elliptic curves or Jacobians of hyperelliptic curves of genus > 1. We refer to [1], [4], [5], [7], [2], [8] and references therein for further discussion. In this paper we give explicit construction of pairing-friendly superelliptic curves of genus four based on the closed formulas for the orders of their Jacobians. Our method is an analogue of the Cocks-Pinch method and produces curves with ρ ≈ 8 (see section 6). Our work was inspired by the article [7] by Kawazoe and Takahashi (see section 5). 2. Preliminaries Let us recall some notations and definitions. Let A be g-dimensional abelian variety defined over Fq , and let l be a prime number satisfying l - q. We say that A has embedding degree k with respect to l if (i) A has an Fq -rational point of order l, and (ii) k is the smallest integer such that µl is contained in Fqk . The last condition is equivalent to any of the following ones: (iia) k is the smallest integer such A. Dąbrowski that l divides q k −1, (iib) Φk (q) ≡ 0(mod l), where Φk is the kth cyclotomic polynomial (see Lemma 4.1). The embedding degree gets its name because one can use the (Weil or Tate) pairing to ‘embed’ a cyclic subgroup of A(Fq ) of order l into the multiplicative group of the degree k extension of Fq . In pairing-based cryptography, for an abelian variety A defined over Fq , the following conditions must be satisfied to make a system secure: (a) the order l of a prime order subgroup of A(Fq ), and q k should be log(q) large enough; (b) the embedding degree k and the ratio ρ = glog(l) should be approximately small. In practice, it is recommended that l > 2160 and q k > 21024 . Abelian varieties over Fq satisfying the above conditions are called pairing-friendly. Algebraic curves whose Jacobian varieties are pairing-friendly are also called pairing-friendly. Let A be an abelian variety of dimension g defined over a finite field Fq . Let hA (x) = x2g + a1 x2g−1 + ... + ag−1 xg+1 + ag xg + ag−1 qxg−1 + ... + a1 q g−1 x + q g be the characteristic polynomial of the Frobenius endomorphism of A. Note the folowing useful definitions: A is ordinary if the middle coefficient ag of hA (x) is relatively prime to q, and A is supersingular if all √ of the complex roots of hA (x) are roots of unity times q. Note that |A(Fq )| = hA (1). 3. Construction of pairing-friendly elliptic curves: the Cocks-Pinch method Let us recall the Cocks-Pinch algorithm for finding pairing-friendly elliptic curves ([3], [2]). Fix a positive integer k, and a prime l ≡ 1 mod k. Choose a positive integer X of order k in (Z/lZ)× , and a positive integer D such that −D is a square modulo l. Fix s(mod l) such that s2 ≡ −D (mod l), and choose an integer Y congruent to ±(X − 1)s−1 modulo l. Compute q = ((X + 1)2 + DY 2 )/4. If q is a prime, use CM method to construct elliptic curve E over Fq such that |E(Fq )| = q − X (see, for instance, [1 ], chapter VIII). If q is not a prime number, start again with a different X and/or Y . Remarks. (i) We obtain q ≡ X(mod l), hence l divides |E(Fq )| and k is an embedding degree of E/Fq with respect to l. (ii) This method usually 134 A family of pairing-friendly superelliptic curves of genus 4 gives elliptic curves with ρ ≈ 2. However, the smallest known values of ρ for even embedding degrees 14 ≤ k ≤ 38 (limit as q, l → ∞) were obtained by the Cocks-Pinch method. For instance, ρ = 7/6 for k = 38 and ρ = 11/8 for k = 20 (see [3]). 4. Some useful Lemma ∏ Let Φk denote the k-th cyclotomic polynomial: Φk (x) = (x − ζkm ), where 1 ≤ m ≤ k, (m, k) = 1. We have the folowing useful result ([4], Prop. 2.3). Lemma 4.1. (Freeman) Let A be an abelian variety defined over Fq . Let l be a prime number satisfying l - q, and let k be a positive integer. Assume that the following conditions are satisfied: (i) hA (1) ≡ 0(mod l) , (ii) Φk (q) ≡ 0(mod l) . Then A has embedding degree k with respect to l. Remark. The condition l | hA (1) guarantees that A has an Fq -rational point of order l, and the condition l | Φk (q) implies that A has embedding degree k with respect to l. 5. A family of pairing-friendly hyperelliptic curves of genus 2 Here we recall the main results of [7]. The authors apply an analogue of the Cocks-Pinch method to construct a family of pairing-friendly hyperelliptic curves of genus 2 with a prescribed embedding degree. Let us stress that the method is based on closed formulas for the orders of the Jacobians, hence it allows to construct pairing-friendly hyperelliptic curves in a very short time. p−1 Theorem 5.1. If p ≡ 1 (mod 8), p = c2 + 2d2 , c ≡ 1 (mod 4), a 2 ≡ 3(p−1) p−1 p−1 −1 (mod p), 2(−1) 8 d ≡ (a 8 + a 8 )c (mod p), then the Jacobian variety Ja of Ca : y 2 = x5 + ax is simple over Fp , and hJa (T ) = T 4 − 4dT 3 + 8d2 T 2 − 4dpT + p2 . Theorem 5.2. Fix a positive integer k. Moreover: (i) let l be a prime number satisfying LCM(8, k) | l − 1; 135 A. Dąbrowski (ii) let α be a primitive kth root of unity in (Z/lZ)× ; let β, γ ∈ N be such that β 2 ≡ −1 (mod l) and γ 2 ≡ 2 (mod l); (iii) let c, d ∈ Z satisfy c ≡ (α + β) (γ(β + 1))−1 (mod l) d ≡ (αβ + 1) (2(β + 1))−1 (mod l). Then for a and p satisfying the assumptions of Theorem 5.1, the number k is the embedding degree of Jac(Ca ) over Fp with respect to l. The above method produces curves of genus 2 with simple jacobians, and with ρ ≈ 4, for l ∈ (2160 , 2160 + 220 ) or l ∈ (2256 , 2256 + 220 ), k ≤ 32. 6. A family of pairing-friendly superelliptic curves of genus 4 Here we modify (a variant of) the Cocks-Pinch method (used in [7]) to construct a family of pairing-friendly superelliptic curves of genus 4 with a prescribed embedding degree. Let Ja denote the Jacobian variety of Ca : y 3 = x5 + a over Fp . We start with the following explicit calculations ([6], Prop. 13). Theorem 6.1. Let a be a nonzero integer, and p an odd prime with p - a. If p ≡ 2, 8 (mod 15), p = 3c2 + 5d2 , then we have hJa (T ) = T 8 + 2p(3c2 − 5d2 )T 4 + p4 . Remark. (i) J(Ca ) are simple over Fp for a and p satisfying the assumptions above (simple argument using Theorem 6.1). (ii) J(Ca ) (under the same assumptions on a and p) are neither ordinary nor supersingular (use Theorem 6.1 and definitions from section 2). Now we are ready to state the main result of this paper. Theorem 6.2. Fix a positive integer k. Moreover: (i) let l be a prime number satisfying k|l − 1; (ii) let α be a primitive kth root of unity in (Z/lZ)× ; let β, γ, δ, ω ∈ N be such that β 2 ≡ −1 (mod l), γ 2 ≡ 3 (mod l), δ 2 ≡ 5 (mod l) and ω 2 ≡ α (mod l); (iii) let c, d ∈ Z satisfy β(α2 − 1) c≡ (mod l) 2γω (α2 + 1) d≡ (mod l). 2δω 136 A family of pairing-friendly superelliptic curves of genus 4 Then for a and p satisfying the assumptions of Theorem 6.1, the number k is the embedding degree of Jac(Ca ) over Fp with respect to l. Proof of this result uses Lemma 4.1 and Theorem 6.1. We omit the details. Our method produces curves of genus 4 with simple jacobians, and with ρ ≈ 8, for l ∈ (2160 , 2160 + 220 ), k ≤ 50 (calculations were made by T. Jędrzejak). References [1] I. Blake, G. Seroussi, N. Smart, Elliptic curves in cryptography, The Press Syndicate of the University of Cambridge, 2002 [2] D. Boneh, K. Rubin, A. Silverberg, Finding composite order ordinary elliptic curves using the Cocks-Pinch method, J. Number Theory 131 (2011), 832-841 [3] D. Freeman, Methods for constructing pairing-friendly elliptic curves, lecture at ECC 2006, available online [4] D. Freeman, Constructing pairing-friendly genus 2 curves over prime fields with ordinary Jacobians, Lecture Notes in Computer Science 4575 (2007), 152-176 [5] D. Freeman, T. Satoh, Constructing pairing-friendly hyperelliptic curves using Weil restriction, J. Number Theory 131 (2011), 959-983 [6] T. Jędrzejak, On the torsion of the Jacobians of superelliptic curves y q = xp + a, Journal of Number Theory 145 (2014), 402-425 [7] M. Kawazoe, T. Takahashi, Pairing-friendly hyperelliptic curves with ordinary Jacobians of type y 2 = x5 + ax, Lecture Notes in Computer Science 5209 (2008), 164-177 [8] K. Lauter, N. Shang, Generating pairing-friendly parameters for the CM construction of genus 2 curves over prime fields, Des. Codes Cryptogr. 67 (2013), 341–355 RODZINA PF (PAIRING-FRIENDLY) KRZYWYCH SUPERELIPTYCZNYCH GENUSU 4 Streszczenie. Podajemy jawną konstrukcję pf (pairing-friendly) krzywych supereliptycznych genusu 4, bazując na formułach dokładnych dla rzędów ich jakobianów. Słowa kluczowe: krzywa supereliptyczna, rozmaitość Jakobiego, metoda Cocksa-Pincha, pf (pairing-friendly) rozmaitość abelowa. III. ALGORYTMY STENOGRAFICZNE ORAZ KRYPTOLOGICZNE I ICH BEZPIECZEŃSTWO STEGODROID – APLIKACJA MOBILNA DO PROWADZENIA UKRYTEJ KOMUNIKACJI Jerzy Gawinecki, Kamil Kaczyński Wojskowa Akademia Techniczna, Wydział Cybernetyki, Instytut Matematyki i Kryptologii, 00-908 Warszawa, ul. S. Kaliskiego 2 [email protected], [email protected] Streszczenie. Komputery i telefony komórkowe są narzędziami wykorzystywanymi w niemalże wszystkich dziedzinach życia codziennego. Ogólnoświatowe sieci komputerowe łączą zarówno komputery osobiste, wielkie centra danych, jak i urządzenia przenośne takie jak telefony komórkowe. Zapewnienie bezpieczeństwa systemów informatycznych wymaga wykorzystania technik umożlwiających przesyłanie danych do zdalnych lokalizacji w sposób gwarantujący ich poufność, integralność i dostępność. Do realizacji tych celów wykorzystuje się techniki kryptograficzne i steganograficzne. Kryptografia obrabia wiadomości w taki sposób, aby nie można było ich w łatwy sposób zrozumieć, zaś steganografia ukrywa wiadomości, tak aby ich istnienie było niemożliwe do odkrycia. Obydwie metody można ze sobą łączyć, dzięki czemu przesyłana wiadomość może być chroniona w dwojaki sposób. W tym przypadku, gdy steganografia zawiedzie i wiadomość zostanie wykryta, nadal nie będzie możliwe odczytanie jej treści przez wzgląd na zastosowane metody kryptograficzne. W ramach niniejszej pracy wykonano implementację autorskiego algorytmu steganograficznego, wykorzystującego liniowe kody korekcji błędów. Opracowana aplikacja jest przeznaczona dla urządzeń pracujących pod kontrolą systemu Android, tym samym istnieje szerokie grono odbiorców takiego oprogramowania. Słowa kluczowe: steganografia, kryptografia, Android 1. Wstęp Gwałtowny postęp technologiczny w zakresie budowy urządzeń mobilnych doprowadził do sytuacji, w której mogą one z powodzeniem zastąpić komputery osobiste. Urządzenia takie, jak smartfony wydają się być idealPraca dofinansowana ze środków NCBiR na lata 2013-2018, w ramach projektu numer DOBR/0001/RON/ID1/2013/01. J. Gawinecki, K. Kaczyński nymi do prowadzenia komunikacji. Wątpliwym natomiast jest, czy komunikacja prowadzona w taki sposób jest w pełni bezpieczna. Istnieje wiele możliwości przechwytywania transmitowanych danych, a także ich odczytywania. Warto nadmienić, że metody kryptograficzne, które są powszechnie wykorzystywane, nie gwarantują pełnego bezpieczeństwa prowadzonej komunikacji. Przykładem może być tu m. in. skompromitowany szyfr strumieniowy A5/1 stosowany do przykrycia kryptograficznego komunikacji GSM. Ostatni atak na ten algorytm pochodzi z 2009 roku [5]. Pozwala on na złamanie kluczy A5/1 w czasie 3-5 minut przy wykorzystaniu tzw. „tęczowych tablic o rozmiarze 2 TB. Producenci oprogramowania skupiają się przede wszystkim na stosowaniu kryptografii. Jest to słuszne podejście, jednakże stosowanie wyłącznie kryptografii niesie także pewne zagrożenia. Strony, które będą chroniły swoją komunikację z wykorzystaniem kryptografii niechybnie zwrócą na siebie uwagę odpowiednich służb. Powyższe może zostać ograniczone poprzez połączenie metod kryptograficznych ze steganografią. Zabieg taki pozwala nie tylko na zabezpieczenie przesyłanych informacji, ale także na ukrycie samego faktu prowadzenia komunikacji. W niniejszej pracy przedstawiono oprogramowanie „Stegodroid” stworzone na potrzeby urządzeń pracujących pod kontrolą systemu operacyjnego Android. Oprogramowanie łączy autorski algorytm steganograficzny oparty na liniowych kodach korekcji błędów i klasyczny szyfr blokowy AES. 2. Algorytm steganograficzny Na potrzeby aplikacji „Stegodroid zaadaptowano algorytm steganograficzny będący połączeniem algorytmu LSB i idei kodowania syndromami [10]. Algorytm ten wykorzystuje kod Hamminga, który należy do klasy liniowych kodów korekcji błędów. Kod korekcji błędów to nadmiarowa informacja dodana do ciągu binarnego, która pozwala na całkowitą lub częściową detekcję i korekcję błędów powstałych w wyniku zakłóceń lub częściowej modyfikacji sygnału źródłowego. Kodowanie korekcyjne jest stosowane wtedy, gdy ponowne przesłanie informacji jest kosztowne, kłopotliwe lub niemożliwe. Zarówno detekcja jak i korekcja błędów opiera się na założeniu, że jedynie pewne sekwencje odebranych bitów są poprawne. Utworzenie n-bitowego słowa kodowego wymaga dodania do k-bitowego słowa wiadomości n−k bitów parzystości. Kod taki jest nazywany kodem blokowym, ponieważ jednocześnie kodowane są bloki danych składające się z wielu bitów. Gdy bity wiadomości nie zostają zmodyfikowane, kod nazywany jest kodem systematycznym. Dekodowanie takiego kodu wymaga jedynie odrzucenia uprzednio dodanych bitów parzystości. 140 Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji Liniowy kod blokowy (n, k) to k-wymiarowa podprzestrzeń przestrzeni wektorowej n-wymiarowej. Możliwe zatem jest znalezienie k liniowo niezależnych wektorów, które będą bazą przestrzeni kodowej. Kod liniowy (n, k) może być jednoznacznie określony przez dowolny zbiór k liniowo niezależnych wektorów, tworzących bazę przestrzeni kodowej, która stanowi podstawę do utworzenie macierzy generującej kod Gk×n . Słowa kodowe są uzyskiwane w wyniku mnożenia słów wiadomości przez macierz G. Słowo kodowe to wektor: c = (c0 , c1 , · · · , cn−1 ), słowo wiadomości to wektor m = (m0 , m1 , · · · , mk−1 ). Zależność pomiędzy wektorem c i m przedstawiona jest poniżej: c = mG Liniowy kod Hamminga jest kodem korekcyjnym zbudowanym nad GF (2). Macierz generująca G kodu Hamminga (7,4) może mieć następującą postać: 1 1 1 0 0 0 0 1 0 0 1 1 0 0 G= 0 1 0 1 0 1 0 1 1 0 1 0 0 1 Aby zakodować wiadomość m = 1010 wykonujemy następującą operację: T 1 0 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 [1 1 0 0] = 1 0 1 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 Tak otrzymany wektor kodowy c = 1011010. Detekcji i korekcja błędów wymaga zastosowania tzw. macierzy kontroli parzystości H. Macierz kontroli parzystości dla kodu Hamminga (7,4) ma postać: 1 0 1 0 1 0 1 H = 0 1 1 0 0 1 1 0 0 0 1 1 1 1 Co jest równoważne poniższemu układowi równań: x1 + x3 + x5 + x7 = 0(mod 2) x2 + x3 + x6 + x7 = 0(mod 2) x4 + x5 + x6 + x7 = 0(mod 2) 141 J. Gawinecki, K. Kaczyński Macierz kontroli parzystości pozwala na obliczenie syndromu s. Syndrom zawiera informację o położeniu błędu w przesłanym słowie kodowym. Syndrom obliczany jest przy wykorzystaniu następującej formuły: s = HcT Przykładowo, gdy otrzymamy wektor c = 0110101, obliczenia wyglądają następująco: 0 1 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 = 1 0 0 0 0 1 1 1 1 1 0 0 Wektor sT zawiera informacje o bicie, na którym nastąpiło przekłamanie. Informacja ta jest zapisana z wykorzystaniem kodowania little-endian. W powyższym przykładzie syndrom wskazuje na przekłamanie bitu nr 6 W steganografii stosuje się tzw. kodowanie syndromami. Zabieg ten pozwala na ukrycie większej ilości danych w obrazie, przy jednoczesnym zmniejszeniu ilości wprowadzanych zniekształceń. Przykładowo, wykorzystanie kodu Hamminga (7,4) pozwala na ukrycie 3 bitów wiadomości w 7 bitach nośnika. W tym celu zmieniana jest wartość tylko jednego bitu nośnika. Pojemność (w bitach) standardowej bitmapy o wymiarach h na w pikseli jest w przybliżeniu równa: h·w·3 c= 7 Aby ukryć dane, należy zmodyfikować słowo kodowe w taki sposób, aby syndrom obliczony dla zmodyfikowanego słowa kodowego równał się ukrywanej wiadomości. Przykładowo, gdy w słowie kodowym 1001001 chcemy ukryć bity 101: a. Obliczamy syndrom dla słowa kodowego: 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 1 = 1 1 0 0 0 1 1 1 1 0 0 0 1 142 Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji b. Obliczony syndrom s = 010 różni się od wiadomości na wszystkich trzech bitach. c. Zgodnie z układem: x1 + x3 + x5 + x7 = s1 x2 + x3 + x6 + x7 = s2 x4 + x5 + x6 + x7 = s3 należy zmienić bit x7 na przeciwny. d. Nowe słowo kodowe ma postać 1001000. e. Obliczamy ponownie syndrom: 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 = 0 1 1 0 0 0 Poniższy rysunek przedstawia schemat blokowy zmodyfikowanego algorytmu LSB: Rysunek 1. Schemat blokowy zmodyfikowanego algorytmu LSB 143 J. Gawinecki, K. Kaczyński Ze względu na sposób interpretacji bitmap przez system Android, w procesie ukrywania wiadomości wykorzystany został drugi najmniej znaczący bit koloru niebieskiego każdego z pikseli. 3. Algorytm kryptograficzny Opracowana aplikacja wykorzystuje symetryczny szyfr blokowy AES z kluczem o długości 128 bitów. AES wykonuje 10 rund podstawieniowo-przestawieniowych. Każda z nich składa się z podstawienia wstępnego, permutacji macierzowej (mieszanie wierszy i mieszanie kolumn) oraz modyfikacji za pomocą klucza. Trybem wybranym na potrzeby wykonanej aplikacji jest tryb wiązania bloków zaszyfrowanych (CBC). Tryb ten wykorzystuje sprzężenie zwrotne i cechuje się samosynchronizacją. W tym trybie blok tekstu jawnego jest sumowany modulo 2 z szyfrogramem poprzedzającego go bloku. Efektem powyższego jest zależność od poprzednich bloków. Pierwszy blok jest sumowany modulo 2 z losowo wygenerowaną wartością początkową IV. Wybór algorytmu AES był podyktowany szeroką dostępnością implementacji, a także wysokim poziomem bezpieczeństwa potwierdzonym przez międzynarodową społeczność kryptologiczną. 4. Implementacja Aplikacja Stegodroid została zbudowana z wykorzystaniem pakietu Android Developer Tools (ADT) v22.3.0-887826. ADT to dodatek do środowiska Eclipse przeznaczony do projektowania aplikacji przeznaczonych dla systemu Android. ADT rozszerza funkcjonalność środowiska Eclipse poprzez łatwe tworzenie nowych projektów systemu Android, tworzenie interfejsu użytkownika, dodawania pakietów bazujących na oficjalnym API, a także łatwe testowanie stworzonych aplikacji. Aplikacje mogą być uruchamiane na wbudowanym emulatorze lub na fizycznym urządzeniu podłączonym do ADT. Aplikacja Stegodroid może zostać uruchomiona na urządzeniu wyposażonym w system operacyjny Android w wersji 3.2 lub nowszy. Do poprawnej pracy wymagany jest dostęp do zapisu i odczytu pamięci zewnętrznej, a także dostęp do aparatu fotograficznego wbudowanego w urządzenie. Przez wzgląd na ograniczenia Android API niezbędne było wykorzystanie dwóch bibliotek zewnętrznych. Pierwsza biblioteka aFileDialog jest wykorzystywana do wyświetlenia okna dialogowego, pozwalającego na dokonanie wyboru pliku, który ma przenosić wiadomość. Biblioteka pozwala także 144 Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji Rysunek 2. Schemat algorytmu AES na wybór folderów, stosowanie filtrów wyboru przy wykorzystaniu wyrażeń regularnych, a także na tworzenie nowych plików i folderów. Drugą z zastosowanych bibliotek jest mCrypt. Biblioteka ta pozwala na wykorzystanie istniejącej implementacji algorytmu AES w trybie CBC, ze szczególnym uwzględnieniem szyfrowania strumieni tekstu. Biblioteka ta zapewnia pełną kompatybilność ze swoim odpowiednikiem stosowanym w PHP. 145 J. Gawinecki, K. Kaczyński Rysunek 3. Ekran główny aplikacji Stegodroid Rysunek 4. Okno dialogowe wyboru pliku 146 Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji Aplikacja pozwala na dodanie wiadomości do: • plików utworzonych wcześniej, dostępnych w pamięci urządzenia, • obrazów dostępnych w galerii urządzenia, • zdjęć wykonanych aparatem fotograficznym wbudowanym w urządzenie. Plik wynikowy jest zapisywany w formacie kompresji bezstratnej PNG w pamięci urządzenia. 5. Uzyskane wyniki Do sprawdzenia poprawności działania aplikacji Stegodroid wykorzystano telefon komórkowy Samsung GT-i9505. Jako nośnik został wybrany obraz kot.png [1], w którym ukryto 3597 bitów wiadomości. Obrazy poniżej prezentują ukrywanie wiadomości w wybranym obrazie: Tak otrzymany obraz poddany został stegoanalizie wizualnej i RS. Stegoanaliza wizualna pozwala odkryć zniekształcenia wprowadzone do obrazu przez algorytmy takie jak np. LSB. Poniższe obrazy przedstawiają wyniki dla dwóch najmniej znaczących bitów obrazu. Analiza powyższych obrazów nie pozwala na wyciągnięcie żadnych wniosków na temat umieszczonej wiadomości. W związku z powyższym obraz został poddany także stegoanalizie algorytmem RS. W tym celu posłużono się oprogramowaniem StegSecret [2]. Tabela przedstawia wyniki przeprowadzonego testu. Tabela 1 Wyniki analizy algorytmem RS Obraz Procent zmienionych bitów pikseli koloru czerwonego Procent zmienionych bitów pikseli koloru zielonego Procent zmienionych bitów pikseli koloru niebieskiego Oryginalny 0,088 0,257 0,018 Stego 0,088 0,257 0,057 Jak wynika z założeń algorytmu RS [3], [4], można przyjąć, że obraz przenosi ukrytą treść, wtedy, gdy liczba zmienionych pikseli jest większa niż 5%. W przypadku zastosowanego algorytmu uzyskano wynik 0,057% dla koloru niebieskiego, co jest wartością 100-krotnie niższą. Dodatkowo, przeanalizowano obraz oryginalny jak i stegogram przy wykorzystaniu ataku Chi-kwadrat [5]. Na rysunkach 9 i 10 zaprezentowano prawdopodobieństwo umieszczenia wiadomości odpowiednio w obrazie oryginalnym jak i stego147 J. Gawinecki, K. Kaczyński Rysunek 5. Ukrywanie wiadomości w nośniku Rysunek 6. Ukrywanie wiadomości w nośniku Rysunek 7. LSB obrazu z wbudowaną wiadomością Rysunek 8. LSB obrazu oryginalnego gramie. Jak można zauważyć, obydwa wykresy są niemal identyczne, a sam atak określa długość wprowadzonej wiadomości na ok. 100 B. Ponownie można wyciągnąć wnioski, że tak spreparowany obraz nie przenosi żadnej ukrytej treści. Wymiana wiadomości o rozmiarze 3597 bitów pozostanie zatem niezauważona. Warto nadmienić, że odpowiada to wiadomości o długości 514 znaków. 148 Stegodroid – aplikacja mobilna do prowadzenia ukrytej komunikacji Rysunek 9, 10. Wyniki ataku chi-kwadrat dla obrazu oryginalnego i stegogramu 6. Wnioski Przedstawiona w pracy aplikacja Stegodroid pozwala na prowadzenie ukrytej komunikacji użytkownikom urządzeń przenośnych pracujących pod kontrolą systemu Android. Zastosowanie algorytmu steganograficznego o obniżonej liczbie wprowadzanych zmian [10], pozwoliło na znaczące zmniejszenie możliwości wykrycia faktu wprowadzenia danych do nośnika. Dodatkowym składnikiem zwiększającym bezpieczeństwo komunikacji jest zastosowany algorytm szyfrujący AES-128, który nawet w przypadku odzyskania ukrytych danych nie pozwoli na odtworzenie przenoszonej w nich informacji. W kolejnych etapach rozwoju aplikacji planuje się wprowadzenie algorytmu steganograficznego dla stratnych formatów kompresji plików graficznych, a także możliwość bezpośredniego przesyłania wytworzonych plików poprzez e-mail, bluetooth, NFC, a także serwisy społecznościowe. Literatura [1] http://meinkat.files.wordpress.com/2013/09/cat using computer.jpg dostęp 16.07.2014. [2] http://stegsecret.sourceforge.net/dostęp 11.07.2014. [3] J. Fridrich, M. Goljan, Rui Du Detecting LSB steganography in color, and grayscale images. IEEE Multimedia 8 pp 22-28, 2001. [4] J. Fridrich, M. Goljan, D. Hogea, D. Soukal, Quantitative steganalysis of digital images: estimating the secret message length. 149 J. Gawinecki, K. Kaczyński Multimedia Systems 9, pp 288-302, 2003. [5] N. Karsten, Ch. Paget, ”GSM: SRSLY?”, Chaos Communication Congress, 21.01.2010. [6] W. Mochnacki, Kody korekcyjne i kryptografia, Oficyna Wydawnicza Politechniki Wrocławskiej, 2000. [7] J. Gawinecki, J. Szmidt, ”Zastosowanie ciał skończonych i krzywych eliptycznych w kryptografii”, Wydawnictwo Instytutu Matematyki i Badań Operacyjnych, WAT, 1999. [8] I. J. Cox, M. L. Miller, J. A. Bloom, J. Fridrich, T. Kalker, ”Digital Watermarking and Steganography” (Second Edition), Morgan Kaufmann, 2008. [9] K. Kaczyński, Steganografia z wykorzystaniem cyklicznych kodów korekcji błędów. Biuletyn WAT, Vol. LXII, Nr 4, 2013, pp. 267–277. [10] K. Kaczyński, Steganografia z wykorzystaniem optymalnych kodów liniowych, Nowe techniki badań kryminalistycznych a bezpieczeństwo informacji, Wyd. PWN 2014, ISBN 978-83-01-17890-1, str. 110–120. STEGODROID – MOBILE APPLICATION TO CONDUCT COVERT COMMUNICATION Abstract. Computers and mobile phones are tools used in almost all areas of daily life. The worldwide computer networks are connecting a personal computers as well as a large data centers and mobile devices such as a mobile phones. Ensuring the security of information systems requires the use of techniques to send data to remote sites in a way that ensures the confidentiality, integrity and availability. These goals are achieved by using an cryptographic and steganographic techniques. Cryptography process messages in such a way that they can not be easily understood, when steganography hides the message, so that their existence is impossible to discover. In some cases, transmission of encrypted messages can arouse suspicions, while messages sent using steganography will remain undetected. Both methods can be combined, so that the transmitted message can be protected in two ways. In this case, if the steganography fails and the message is detected, the content of the message will be still protected by cryptography. In this paper we described our implementation of proprietary steganographic algorithm using linear error correction codes. The developed application is designed for devices running under Android OS, thus there is a wide range of customers for such a software. Keywords: steganography, cryptography, Android COMPARISON OF ALGORITHMS FOR FACTORIZATION OF LARGE NUMBERS HAVING SEVERAL DISTINCT PRIME FACTORS Tomasz Kijko, Michal Wroński Institute of Mathematics and Cryptology, Cybernetics Faculty, Military University of Technology, Warsaw, Poland E-mail: [tkijko,mwronski]@wat.edu.pl Abstract. We present analysis of security of the most known assymetric algorythm RSA and its modern version MultiPrime RSA. We focused on more precisious estimations of time complexity of two factorization algorithms: Elliptic Curve Method and General Number Field Sieve. Additionally for the MultiPrime RSA algorithm we computed the maximal number of prime factors for given modulus length which does not decrease the security level. Keywords: factorization, MultiPrimeRSA ECM GNFS smoothness 1. Introduction Many public key algorithms base on the factoring problem. The fastest known algorithm of factorization for large numbers is GNFS (General Number Field Sieve). The expected running time of the algorithm depends only on the size of the number and it is not sensitive for small factors (small in comparison with the size of the number). Analysis of security the public key algorithms often base on the expected time of running GNFS. If the number has more factors than two, then the other factorization algorithms may be faster, like ECM (Elliptic Curve Method). In this article we will show a comparison between expected time of running ECM and GNFS depending on the size of the number and the number of prime factors. However, parallel hardware implamentations are considered (see [8]) we focused on single processor implementations. This paper devoted to the “Cryptology and Cyberdefence” was supported by The National Centre for Research and Development under the project number DOBR/0001/RON/ID1/2013/01. T. Kijko, M. Wroński 2. GNFS (General Number Field Sieve) 2.1. Introduction to GNFS The biggest numbers being the product of two distinct prime factors have been factorized during the RSA Challenge. Many of these numbers have been factorized using very advanced solutions based on parallel architectures what in the result makes hard to compare the time of factoring these numbers. We used the data included on the website of RSA Challenge, so we were able to estimate the number of all instructions needed to make a sieve step in GNFS Algorithm. We were not able to estimate the number of instructions needed to make all steps of GNFS algorithm but we knew that the sieve step is the longest of all steps in GNFS algorithm and takes from 60% to 80% of amount of time. In these circumstances we estimated the running time of GNFS by the time of sieving step. 2.2. The approximating function It is well known that expected running time of GNFS algorithm is subexponential given by the formula: ( √ ) 1 2 3 64 (ln n) 3 ·(ln(ln n)) 3 9 O e . Because of using the big O notation, we are not able to estimate expected time so properly if we do not know the leading coefficient of √ 1 2 3 64 e 9 (ln n) 3 ·(ln(ln n)) 3 . So we are obligated to looking for a function: √ √ 1 2 1 2 3 64 3 64 A · e 9 (ln n) 3 ·(ln(ln n)) 3 = e 9 (ln n) 3 ·(ln(ln n)) 3 +a , where a = ln A. To find out the constant a, we make the following transformations: Let n1 , n2 , . . . nk be RSA modules. For √ each ni we denote its factorization 1 2 time by yi . Then we can denote: yi = e 9 (ln ni ) 3 ·(ln(ln ni )) 3 +a . Then: √ 1 2 3 64 (ln ni ) 3 · (ln (ln ni )) 3 + a = ln yi . 9 3 64 152 Comparison of algorithms for factorization of large numbers . . . We are looking for the minimum of the function: f (a) = k ∑ i=1 √ Afler substituting 3 (√ 3 1 2 64 (ln ni ) 3 · (ln (ln ni )) 3 + a − ln yi 9 1 64 3 9 (ln ni ) f (a) = )2 . 2 · (ln (ln ni )) 3 by xi we have got: k ∑ 2 (xi + a − ln yi ) . i=1 Using the data from RSA Challenge presented in Table 1 we estimated a = −27.5622. Table 1: Numbers broken in RSA Challenge (Based on [4] and [6]) Name of Number of Number of Number of Estimated time the number decimal digits bits instructions on 3.3 GHz[s] RSA 140 140 465 2.72 · 1016 8.25 · 106 17 RSA 155 155 515 2.52 · 10 7.65 · 107 16 RSA 160 160 532 1.88 · 10 5.70 · 106 RSA 576 173 576 3.82 · 1018 1.16 · 109 18 RSA 640 193 640 2.08 · 10 6.31 · 108 RSA 768 231 768 1.39 · 1020 4.20 · 1010 We also made computations1 of factoring large numbers with the GNFS algorithm using Cado-NFS2 implementation. The results are based on factorization numbers from 260 to 350 bits. The results we got are very similar to these that we got from RSA Challenge. We obtained a = −26.7220. The difference is small and is caused by taking much smaller numbers to computation than in RSA Challenge and because we had results of a sieving step from RSA Challenge only. 1 2 Computations were made on 3.3 GHz chipset. See [7]. 153 T. Kijko, M. Wroński 3. ECM (Elliptic Curve Method) 3.1. Introduction to ECM The Elliptic Curve Method is based on the idea used firstly in Pollard p − 1 algorithm. Let’s consider elliptic curve over the ring Z/nZ: Ca,b : Y 2 Z = X 3 + aXZ 2 + bZ 3 , ( ) where GCD n, 4a3 + 27b2 = 1. Let’s define the point of this elliptic curve in projective coordinates: P = (x, y, z) ∈ Ca,b (Z/nZ). Let’s denote the smallest prime factor of factorized number n by p. √ From Hasse’s theorem it is well known that |Np − (p + 1)| < 2 p, where Np is the order of group of Fp rational points on Ca,b curve. Then ∏B we are supposed to choose the number B and to compute k = r=2 re(r) , √ where e(r) = ⌊logr (p + 2 p + 1)⌋ and the point (xk , yk , zk ) = [k]P (mod n). Finally, if Np |k, then p|zk and the divisor of number N may be found by counting GCD (zk , n). From the facts described above, it is obvious that the algorithm will be successful with big probability if we find the elliptic curve with B – smooth order. 3.2. ECM algorithm complexity Estimation of ECM expected running time is not trivial. There are used several hypothesis, some of them partially proved. In the first article about Elliptic Curve Method (see [14]), Hendrik W. Lenstra described estimation of expected running time. In this article we try to show the estimation in slightly different way. Hypotesis 1 (Sato – Tate Hypothesis). By ep we denote deviation from the center of the interval which consists the order of elliptic curve. e By ap = 2√pp we denote normalized deviation. Then ap ∈ ⟨−1, 1⟩ and density of probability distribution of finding out the elliptic curve with given deviation t is equal: 2√ 1 − t2 . π 154 Comparison of algorithms for factorization of large numbers . . . Figure 1. The distribution of probability density of finding elliptic curve with given normalized deviation This hypothesis has been proved for almost all elliptic curve without complex multiplication. Assuming the hypothesis as true, we get the following conclusion: The probability of finding out the elliptic curve with the given deviation √ ∫1 t ∈ ⟨− 21 , 12 ⟩ is equal to the definite integral: −2 1 π2 1 − t2 dt ≈ 0.608998. 2 Moreover, we can assume uniform distribution in this interval. 3.2.1. The number of B – smooth numbers in the given interval and consequences To estimate the ECM time complexity we have to find out how many B √ √ – smooth numbers are in interval (x − x + 1, x + x + 1) for the given smoothness bound B. Let’s denote by Ψ (x, B) the number ( of B)– smooth numbers in the interval = xu−u+O(u) ≈ xu−u . For large √ √ numbers x we can simplify interval to (x − x, x + x), which gives the 1 ⟨1, . . . , x⟩. Then we know3 , that Ψ x, x u 3 See [15], page 77. 155 T. Kijko, M. Wroński same probability of finding B – smooth number: ( ( √ √ 1) √ √ 1) Ψ x + x, (x + x) u − Ψ x − x, (x − x) u √ 2 x √ √ (x + x) u−u − (x − x) u−u √ = 2 x ( ) ( ) √ √ 1 1 Ψ x + x, x u − Ψ x − x, x u √ = u−u > . 2 x (x − Finally we √ √ would like to count the probability of getting in interval x, x + x) the B – smooth number: ( ) ( ) √ √ 1 1 Ψ x + x, x u − Ψ x − x, x u √ . 2 x The solution of this problem is not obvious. There are some theorems that help ( to estimate ) the(number ) of B – smooth numbers under some conditions: 1 1 β Ψ x + x , x u −Ψ x, x u ≫ xβ u−u , where β > 12 , u > 0. Unfortunately, the case for β = 21 has not been proved yet. Moreover, even assuming the Riemann Hypothesis is true, we are not able to prove it. In this case we assume that: ( ) ( ) √ √ 1 1 Ψ x + x, x u − Ψ x, x u ≫ xu−(u+o(u)) . Then of getting the B – smooth number in interval (x − √ the probability √ −(u+o(u)) c x, x + c x) is ≫ u . Under presented conditions we can expect, that the proper elliptic curve 1 will be found after about 0,608998 uu = 1.642042uu trials. 3.2.2. Estimating of expected running time of algorithm Every step requires ( ln M ) (B) additions of points on elliptic curve and every addition takes O ln2 n of operations, where M (B) = LCM (1, . . . , B) 1 Let’s suppose that B = p u . Now we are looking for such u, for which the expected running time is the smallest: ( ) T (u, n, p) = O ln2 n O (ln M (B)) O (uu ) = A · ln2 n · ln M (B) · uu , where A is a constant. 156 Comparison of algorithms for factorization of large numbers . . . The second Tshebyshev’s function helps us to find out the estimation of ln (LCM (1, . . . , B))4 ψ (B) = ln (LCM (1, . . . , B)) ≈ B. Then: 1 T (u, n, p) = A · ln2 n · B · uu = A · ln2 n · p u · uu . Let’s denote by S (u, n, p) = ln (T (u, n, p)). We have: ( ) 1 S (u, n, p) = ln A · ln2 n · p u · uu = ln A + ln ln2 n + Then: 1 ln p + uln u. u ∂S (u, n, p) ln p = − 2 + ln u + 1 = 0 ∂u u and u2 (1 + ln u) = ln p, u2 (1 + ln u) ≈ u2 ln u ≈ ln p, u2 ln u2 ≈ 2ln p. √ 2ln p √ , ln u2 Finally we get u = get: but u2 ln u = ln p and from this equation we ln u2 + ln ln u = ln ln p. Because ln u2 ≫ ln ln u, we estimate ln u2 = ln ln p, what gives √ 2ln p u= √ . ln ln p Then 1 u uln u p =e =e √ln p and u uln u u =e =e ln p u =e √ 2ln p √ln p 2ln p ln ln p √ =e 1 √ 2 ln p·ln ln p √ ln p·ln ln p =e 1 √ 2 √ ln p·ln ln p . Finally we have √ T (u, n, p) = A · ln2 n · e 2ln p·ln ln p . 4 See [2]. 157 T. Kijko, M. Wroński 4. Main results We made the estimation of factorization running time of GNFS which is given by function e √ 3 64 9 1 2 (ln n ) 3 ·(ln(ln n) ) 3 −27.5622 . (1) We made load of computations of factoring by ECM numbers being products from 2 to 6 factors, each the same length, from 80 to 130 bits. We used the algorithm for point addition on elliptic curve with complexity 2 O(ln n (ln ln n) (ln ln ln n)) that lead us to the formula of time complexity for ECM: √ 2 e 2ln p·ln ln p+ln(ln n (ln ln n) (ln ln ln n)) +a . (2) From practical and theoretical obsrevations, which will be described below, we consider that constant a should be different for different numbers of factors. So we can describe the time complexity of factorisation by ECM by formula: √ 2 (3) e 2ln p·ln ln p+ln(ln n (ln ln n) (ln ln ln n)) +ai , where ai is equal: • • • • • a2 a3 a4 a5 a6 = −27.1957 = −27.7505 = −28.1881 = −28.4320 = −28.6344 for for for for for 2 3 4 5 6 factors; factors; factors; factors; factors. The differences between these values are the result of probability of finding any non–trivial divisor of modulus. The more factors the number has, the bigger is probability of finding out the proper elliptic curve with good parameters. If the probability of finding a proper elliptic curve for given smallest factor is equal to P , then if there are k factors and all are the same length, the probability of finding the non–trivial factor is given by: d(k) = 1 − P k − (1 − P )k ( ) ( ) ( ) k k 2 = kP − P + P 3 − . . . + (−1)n+1−1 P n . 2 3 158 Comparison of algorithms for factorization of large numbers . . . Because in our computations n is small (not bigger than 6) and P is very small, we can consider that: d(k) = 1 − P k − (1 − P )k ( ) ( ) ( ) k k 2 = kP − P + P 3 − . . . + (−1)n+1−1 P n ≈ kP. 2 3 ≈ k+1 Then it is easy to see, that d(k+1) d(k) k . The probability has a direct impact for the expected running time of the alhorithm. The bigger probability, the smaller is constant ai . ( ) So we may expect that ai − ai−1 ≈ ln i−1 , what gives: i a3 − a2 = −0.4055, a4 − a3 = −0.2877, a5 − a4 = −0.2231, a6 − a5 = −0.1823. Constants we got in our computations gave results: a3 − a2 = −0.5548, a4 − a3 = −0.4376, a5 − a4 = −0.2439, a6 − a5 = −0.2024. Basing on our estimated formulas (1) and (3) we were able to compare time required to factorization each number by GNFS and ECM algorithms. We consider that secure MultiPrime RSA modulus should not be factorized faster by ECM than GNFS algorithm. The Table 2 presents the smallest length of secure modules which may consist from given number of cofactors of similar length. Table 2: Length of number for which GNFS and ECM have the same expected running time Number of factors The length of number in bits 2 8 3 724 4 4004 5 11155 6 23909 159 T. Kijko, M. Wroński In 2000 year the COMPAQ made a comparison (Compaq 2000) between speed of factorization large numbers being the product of several primes by GNFS and ECM algorithms. The calculations were done for expected running times given by following formulas: √ 3 2 (ln n) • e1.923· ln n·ln for GNFS algorithm. √ 2 2ln n·ln(ln) • 2(log10 n) e for ECM algorithm. These formulas cannot result in precisious comparision of ECM and GNFS algorithms. We have estimated the number of prime factors for numbers of distinct length, for which the GNFS is the fastest known factorization algorithm. Similar analyzis, using the same functions and techniques as COMPAQ, was presented by Martin Hinek in his article from 2006 ([10]). We present the comparision of our results with results computed by M. Hinek in Table 3. Table 3: Maximal number of distinct prime factors for given length of factorized number. Length of number in bits Maximal number of prime factors (our approach) Maximal number of prime factors (M. Hinek) 1024 2048 4096 8192 3 3 4 4 3 3 4 5 5. Conclusion Our computations may help to choose the better factorization algorithm in particular situation. We have shown that the comparison between GNFS and ECM cannot be done properly if expected running times of these algorithms are not described by precise formulas. Our description of expected running time of ECM and some observations about the probability in situation when the large number is being the product of many small factors resulted in formulas that can be used by everyone who want to choose the fastest algorithm of factorization in particular situation. 160 Comparison of algorithms for factorization of large numbers . . . References [1] I. F. Blake, G. Seroussi, and N. Smart, Elliptic Curves in Cryptography, Cambridge University Press, (1999). [2] J. Cilleruelo, J. Rue, P. Sarka, and A. Zumalacarregui, The least common multiple of sets of positive integers, ArXiv e-prints arXiv:1112.3013v1 [math.NT], (2011). [3] Compaq. Cryptography Using Compaq MultiPrime Technology in a Parallel Processing Environment, Compaq, (2000). [4] http://www.crypto-world.com/FactorRecords.html. [5] J. H. Ellis, The story of non-secret encryption, Available from http://cryptome.org/jya/ellisdoc.htm, (1997). [6] http://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-factoring-challenge.htm. [7] P. Gaudry, A. Kruppa, F. Morain, L. Muller, E. Thom and P. Zimmermann, cado-nfs, An Implementation of the Number Field Sieve Algorithm, Release 1.1, available from http://cado-nfs.gforge. inria.fr/. [8] W. Geiselmann and R. Steinwandt, A Dedicated Sieving Hardware, In Public Key Cryptography, 6th International Workshop on Practice and Theoryin Public Key Cryptography, PKC 2003 Proceedings, LNCS 2567, pp. 254–266, (2002). [9] A. Granville Smooth numbers: computational number theory and beyond, In Algorithmic Number Theory MSRI Publications, no. 44: pp. 267–323 (2008). [10] M. Jason Hinek, On the security of Multi – prime RSA. In J. Mathematical Cryptology, no. 2(2), pp 117–147 (2008). [11] A. K. Lenstra, Unbelievable Security. Matching AES Security Using Public Key Systems, In Advances in Cryptology - ASIACRYPT 2001, pp 67–86 (2001). [12] A. K. Lenstra, H. W. Lenstra, M. S. Manasse, and J. M. Pollard, The number field sieve, In Proc 22nd Annual ACM Symposium on the Theory of Computing, pp. 564–572 (1990). [13] A. K. Lenstra, A. Shamir, J. Tomlinson, and E. Tromer, Analysis of Bernstein’s Factorization Circuit. In Advances in Cryptology – ASIACRYPT 2002, pp. 1–26, (2002). [14] H. W. Lenstra, Factoring Integers with Elliptic Curves, In The Annals of Mathematics 126 : pp. 649–673 (1987). [15] C. Pomerance, Smooth numbers and the quadratic sieve, In Algorithmic Number Theory MSRI Publications, no. 44 : pp. 69–81 (2008). [16] S. Singh, Code book. Delacorte Press, pp. 21–220 (2002). 161 T. Kijko, M. Wroński [17] I. Tolkov, Counting points on elliptic curves: Hasse’s theorem and recent developments, http://igor.tolkov.com/essays/336paper.pdf, (2009). PORÓWNANIE ALGORYTMÓW FAKTORYZACJI DUŻYCH LICZB POSIADAJĄCYCH KILKA RÓŻNYCH CZYNNIKÓW PIERWSZYCH Streszczenie. W artykule przedstawiamy analizę bezpieczeństwa powszechnie znanego algorytmu klucza publicznego RSA oraz jego następcy MultiPrime RSA. Skupiliśmy się na dokładniejszym wyznaczeniu oczekiwanego czasu faktoryzacji dużych liczb za pomocą dwóch algorytmów: Metody Krzywych Eliptycznych (ECM) i Ogólnego Sita Ciała Liczbowego (GNFS). Dodatkowo dla algorytmu MultiPrime RSA została obliczona maksymalna liczba czynników pierwszych dla danej długości modułu, która nie powoduje zmniejszenia bezpieczeństwa. Słowa kluczowe: faktoryzacja, MultiPrimeRSA, Metoda Krzywych Eliptycznych, Ogólne Sito Ciała Liczbowego, B-gładkość PRIME NUMBERS AND CRYPTOSYSTEMS BASED ON DISCRETE LOGARITHMS Maciej Grześkowiak Adam Mickiewicz University Faculty of Mathematics and Computer Science Umultowska 87, 61-614 Poznań, Poland. [email protected] Abstract. In this paper, we give a short overview of algorithms of generating primes to a DL systems. The algorithms are probabilistic and works in a polynomial time. Keywords: Torus-based cryptography, Elliptic and hyperelliptic curve cryptography 1. Introduction Let (G, ·) be an abelian group, and let |G| = N be the order of G. The Discrete Logarithm Problem (DLP) is: given g, h ∈ G find x ∈ N, if it exists, such that h = g x . The security of a discrete logarithm (DL) system depend on the assumption that discrete logarithms in G are hard to compute. In practice a DL system is based on a cyclic subgroup of G of a prime order q. Let q be the largest prime divisor of N . It is well known that the DLP in G is as hard as the DLP in the subgroup of order q [20]. For this reason it is essential to choose G such that q | N and q is a large prime. From the security point of view it is reasonable to assume that q ≈ 2160 . For the complexity of algorithms depending on N we define the function LN (α, c) = exp((c + o(1))(log N )α (log log N )1−α ). with a, c ∈ R, 0 ≤ a ≤ 1 and c > 0 [6]. If the second parameter is omitted, it is understood that is equal 1/2. Let G = F∗pn be a multiplicative group of finite fields. The DLP in F∗pn can be computed in subexponential time Lpn (1/3) [1], [10], [15], [16]. For finite fields of small characteristic, this problem can be solved with heuristic complexity Lpn (1/4) [14]. The above shows that one should take pn at least 1024 bits in order to have the DLP intractable to solve. So to efficiently implement a DL system in G one need to find primes p, q of appropriate size such that q | pn − 1. The author was partially supported by the grant no. 2013/11/B/ST1/02799 from National Science Centre. M. Grześkowiak Fix n = 1. In many a DL systems a generator g of G is required. No polynomial-time algorithm is known for finding generators, or even for testing whether an element is a generator of G if the factorization of is unknown. There is a special kind of prime for which it is easy. Namely, let p = 2q + 1, where q is also a prime. In order to find a generator of G one select randomly g ∈ G such that g 2 ̸≡ 1 (mod p) and g q ̸≡ 1 (mod p). For p ≈ 21024 the algorithm works well in practice. On the other hand, theoretical estimation of the algorithms running time becomes a problem. We do not know if there exist infinitely many primes p of the above form. This is an extremely hard, still unproven mathematical problem. However, there are some conjectures related to this problem [13]. To overcome this problem, we consider the second approach for generating a generator g of G. Let x ∈ R be a sufficiently large number. Fix a prime q ∈ [x, 2x]. The algorithm randomly selects a positive integer k ∈ [0, cq(log q)20 ], where c > 0 is a constant. Next it computes p = qk + 1 and checks if p is a prime. If it is a prime then the algorithm returns the prime p and k. Otherwise, it randomly finds k and the above mentioned steps are repeated. Let λ ≥ 1. The above algorithm finds a prime p ≤ cq 2 (log q)20 with probability greater than or equal to 1 − e−λ after repeating [c0 λ(log x)] steps with the possible exception of at most O(x(log x)−2 ) values of q, where c0 > 0 is a constant [12]. Since p−1 = kq, the factorization of p−1 can be obtained by factoring k. However, we cannot exclude the possibility that the number of steps we need to factor k is exponential. On the other hand, given p, q, one can easily find an element g ∈ G of order q and implement a DL system in the subgroup generated by g. We define the parameter ρ(G) = log N , log q which measures the group G size N relative to the size of the prime order q subgroup of G. For sufficiently large x the above algorithm finds primes p and q with ρ(F∗p ) = 2 + o(1). An interesting problem in this area is the following: Construct a polynomial-time algorithm that finds primes p, q such that q | pn − 1 with ρ(F∗pn ) = n + o(1). Let n be a positive integer, and let Φn (x) be the nth cyclotomic polynomial. Let p be a prime and let F∗pn be a multiplicative group of finite field Fpn . It is well known that ∏ Φd (p). |F∗pn | = pn − 1 = d|n 164 Prime Numbers and Cryptosystems Based on Discrete Logarithms Let G be a subgroup of F∗pn of a prime order q > n, and let q divides Φn (p). Then Fpn is the smallest extension of Fp that contains G [18]. In recent years, there have been several proposal DL systems based on the G with q < Φn (p) [19], [25]. Rubin and Silverberg [22] generalise the above cryptosystems using the algebraic torus Tn (Fp ) which is isomorphic to the G with q = Φn (p). Techniques used in the above mentioned DL systems allow to represent an element of G with less coefficients than a general element of Fpn needs. Such an approach leads to substantial savings both in the computational complexity of algorithms performing arithmetic operations in Fpn and transmission elements of Fpn , without compromising security. We introduce the following definition [12]. Definition 1. A prime q is relatively n-cyclotomic to a prime p if q divides Φn (p). Algorithms for generating primes p and q such that q is relatively n-cyclotomic to a prime p are utilized for computing key parameters in DL systems based on G. From the security point of view it is essential to find a prime p such that Φn (p) has a large prime factor q having at least 160 bits to make DLP in G intractable. On the other hand, one should find a prime p such that n log p ≈ 1024 in order to have the DLP unfeasible to solve by applying an index calculus method. In [12] a polynomial time algorithm generating of two primes p and q such that q is relatively n-cyclotomic to p is proposed. The algorithm is probabilistic and finds such primes with ρ(F∗pn ) = n + o(1). For cryptographic purposes one can replace F∗pn by the group of rational points of E(Fpn ) on an elliptic curve. Let G = E(Fp ). The most efficient √ way to solve DLP in G is the Pollard’s rho method [21]. It takes O( N ) group operations. On the other hand Hasse’s theorem shows that N = √ p + 1 − t, where |t| ≤ 2 p. So in practice it is recommended to generate a prime p ≈ 2200 . Now, we introduce the following definition [11]. Definition 2. Let p, q be a pair of primes and ∆ < 0. The primes p, q are defined to be CM-primes with respect to ∆ if there exist integers f and t such that √ |t| ≤ 2 p, q | p + 1 − t, 4p − t2 = ∆f 2 . To construct a DL system based on G it is essential to find CM-primes p and q with respect to ∆ of appropriate order of magnitude. Given such primes, an elliptic curve E over Fp can be constructed by applying the 165 M. Grześkowiak complex multiplication (CM) method [4], [7]. Given current computational power, the method can construct curves over Fp when |∆| ≤ 1012 . For this reason ∆ should be sufficiently small to make the CM method work effectively in practice. In [11] a polynomial time construction of CM primes with respect to ∆ is proposed. The algorithm is probabilistic and finds such primes with 5 ρ(E(Fp )) = + o(1). 2 Let C be a hyperelliptic curve of genius g defined over finite prime field Fp . We denote the group of Fp -rational points of the Jacobian of C by JC (Fp ). Koblitz [11] proposed the DLP in groups of the form G = JC (Fp ). For general hyperelliptic curves of genus g ≤ 2 the DLP in JC (Fp ) is thought to be hard [2], [8], [9], [26]. To make the DLP in JC (Fp ) intractable, it is essential to generate a large prime p, and a curve C defined over Fp , such that |JC (Fp )| has a large prime factor q. To construct a genus 2 curve over Fp with the above properties one can use the genus 2 CM method [27]. This method generates curves for which a prime p and |JC (Fp )| are known in advance. In practice, to the above mentioned method works efficiently, K must have a small discriminant. A field K is called a CM field if it is a totally imaginary quadratic extension of a totally real algebraic number field. Let K, [K : Q] = 2t be a CM field with the corresponding ring of integers OK . We say that π is a Weil q-number if π ∈ OK , and for every √ complex embedding σ : K → C we have |σ(π)| = q. There is a connection between |JC (Fp )| and a Weil p-number. Namely, if K = Q(π) then NK/Q (π) = pt , |JC (Fp )| = NK/Q (π − 1). Now, we introduce the following definition Definition 3. Let K be a CM field, and let p, q be a pair of primes. The primes p, q are defined to be CM-primes with respect to K if there exist π ∈ OK such that π is a Weil p-number, and p = ππ, q | NK/Q (π − 1). Let K be a quartic CM field. To implement a DL system based on G of appropriate order of magnitude CM primes p, q with respect to K are required. In [27] a probabilistic method for generating CM primes with respect to K is presented. However, an analysis of computational complexity of the algorithm were not given there. An interesting open problem is the 166 Prime Numbers and Cryptosystems Based on Discrete Logarithms following: Construct a polynomial-time algorithm generating CM primes p, q with respect to K. In the present paper, we give a survey of certain algorithms generating primes to DL systems. We focus attention on the algorithms that works in polynomial time. The remaining part of the paper is organized as follows. In Section 2 we describe an algorithm for generating of finding two primes p, q such that q is relatively n-cyclotomic to a prime p. An algorithm for CM-primes with respect to ∆ is given in Section 3. 2. Relatively n-cyclotomic primes Fix n ∈ N. In the present section, we show a general method of finding two primes p, q such that q is relatively n-cyclotomic to a prime p [12]. Before we describe the algorithm, we introduce some notation. Given a primitive nth root of unity ω, K = Q(ω) denotes the nth cyclotomic field with the ring of integers OK = {a1 + a2 ω + . . . + aφ(n) ω φ(n)−1 , ai ∈ Z, i = 1, . . . , φ(n)}. Let α ∈ OK , we write ∑ φ(n) αω i−1 = aij ω j−1 , aij ∈ Z, a1j = aj . (2.1) j=1 The determinant det[aij ] of the matrix A(α) = [aij ] of (2.1) is the norm of the element α ∈ OK relative to the K/Q [5, Definition, p. 400]. So, if α ∈ OK is given then N (α) = det(A(α)). The main algorithm consists of the following three procedures. We start with a procedure which generates α ∈ OK such that N (α) ≡ 1 (mod n) is a prime. Procedure 1 (n). Fix n ∈ Z, n > 1 and let ω be a primitive nth root of unity. Fix K = Q(ω), [K : Q] = 2t, where t is the number of complex embeddings of K into C. Let ε1 , . . . , εr , be a system of fundamental units of K, where r = t − 1, and let σ1 , σ1 . . . , σt , σt be embeddings of K = Q(ω) into C. We define M = M (n) = max1≤i≤r {log |σj (εi )|, j = 1, . . . , t}. Let ω1 = ω, ω2 , . . . ωφ(n) be the conjugates of ω and we define C = C(n) = max{|υi,j |, i = 1, . . . , φ(n), j = 1, . . . , φ(n)}. (2.2) 167 M. Grześkowiak where 1 1 . .. ω1 ω2 .. . 1 ωφ(n) ··· ··· .. . ··· φ(n)−1 −1 ω1 υ1,1 φ(n)−1 ω2 υ2,1 = . .. ··· φ(n)−1 υφ(n),1 ωφ(n) υ1,2 υ2,2 .. . υφ(n),2 ··· υ1,φ(n) ··· υ2,φ(n) .. . ··· · · · υφ(n),φ(n) ∑φ(n) i−1 The procedure finds α = ∈ OK such that N (α) ≡ 1 i=1 ai ω (mod n) is a prime, x ≤ N (α) ≤ 2x and |ai | < Cφ(n)erM (2x)1/φ(n) . step 1.: For i = 1, . . . , φ(n), choose ai ∈ Z such that |ai | < Cφ(n)erM (2x)1/φ(n) at random in Z. Write α = a1 + a2 ω + . . . + aφ(n) ω φ(n)−1 ∈ OK . step 3.: Compute q = N (α). If q < x or q > 2x, then go to step 1. step 4.: If q is a prime, then terminate the procedure. Otherwise go to step 1. step 5.: Return a1 , . . . , aφ(n) , q and A(α) such that det(A(α)) = q. Let m be a positive integer. We denote by PT the number of bit operations necessary to carry out the deterministic primality test [3]. For simplicity, assume that PT takes at least O(log3 m) bit operations. Theorem 2. Given n ∈ Z, n > 2, there exist two constants c0 > 0 and x0 such that for every x ≥ x0 and an arbitrary real λ ≥ 1, Procedure 1 finds ∑ φ(n) α= ai ω i−1 ∈ OK , |ai | < Cφ(n)erM (2x)1/φ(n) i=1 such that N (α) ≡ 1 (mod n), x ≤ N (α) ≤ 2x, is a prime, with probability greater than or equal to 1 − e−λ after repeating [c0 λ(log x)] steps of the procedure. Every step of the procedure takes at most PT bit operations. Proof. See [12]. Now, we introduce the deterministic procedure of finding roots of irreducible polynomials Φn (x) (mod q) that works effectively in polynomial time and may be an alternative to the random algorithms. Procedure 3 (α, A(α), q). Fix n ∈ Z, n ≥ 1. Given α ∈ OK and a prime q such that N (α) = q ≡ 1 (mod n), where N (α) = det(A(α)), this procedure computes a root of Φn (x) (mod q). 168 Prime Numbers and Cryptosystems Based on Discrete Logarithms step 1.: Determine the matrix M = [A(α)T |C]φ(n)×φ(n)+1 which is a matrix obtained by appending the columns of A(α)T and the vector C, where C T = [y, −1, 0, . . . , 0]1×φ(n) . step 2.: Applying Gaussian Elimination algorithm over Fq transform the matrix M into the upper triangular form a′1,1 0 M′ = . .. 0 a′2,1 a′2,2 .. . 0 ··· ··· .. . ··· a′φ(n),1 a′φ(n),2 .. . c′1 c′2 .. . a′φ(n),φ(n) , c′φ(n) where c′i = c′i (y) are polynomials of degree no greater than 1. step 3.: For each i = φ(n), . . . , 1 (1) Write φ(n) ∑ 1 ′ ri y + si bi = ′ ci (y) − a′ij bj = , aii t i j=i+1 (2) If (ri , q) = 1 then compute y ≡ −si ri−1 Step 4. Otherwise go to Step 3 step 4.: Return y (mod q). where q|ti (mod q) and go to Theorem 4. Fix n > 2, and let Φn (x) be the nth cyclotomic polynomial. Given α ∈ OK , a matrix A(α) and a prime q such that q = N (α) ≡ 1 (mod n), where N (α) = det(A(α)), Procedure 3 is deterministic and finds a root of Φn (x) (mod q) using O(φ(n)3 log3 q) bit operations. Proof. See [12]. Procedure 5 (r, q). Given a prime q and r < q, the procedure finds a prime p ≡ r (mod q). step 1.: Choose randomly k ∈ N such that k ∈ [10, ((240 q 2 (log 220 q)20 ) − r)q −1 ]. step 2.: Compute p = qk + r. If p is not a prime, then go to step 1. step 3.: Return p. 169 M. Grześkowiak Theorem 6. Let a prime q ∈ [x, 2x] be the output of Procedure 3, and let r < q. For sufficiently large q ≥ 232 and an arbitrary real λ ≥ 1, Procedure 5 finds k ∈ N and a prime p = qk + r such that k ∈ [0, ((240 q 2 (log 220 q)20 ) − r)q −1 ], q ≤ p ≤ 240 q 2 (log 220 q)20 with probability greater than or equal to 1 − e−λ after repeating [λ8 log(220 q)] steps of the procedure with the possible exception of at most O(x(log x)−2 ) values of q. Every step of the procedure takes at most PT bit operations. Proof. See [12]. We are now in a position to introduce the main algorithm. Algorithm 7. (n) step 1.: α, A(α), q := Procedure 1 (n) step 2.: y := Procedure 3 (α, A(α), q) step 3.: p := Procedure 5 (y, q) step 4.: Return p, q; Theorem 8. Algorithm 7 finds two primes p and q such that q is relatively n-cyclotomic to a prime p. Proof. See [12]. An interesting open problem is the following: Construct a polynomial-time algorithm that finds CM-primes p, q such that n ρ(E(F∗pn )) = + o(1). φ(n) 3. CM primes with respect to ∆ √Throughout this section, ∆ < 0 is a square-free rational integer, K = Q( ∆) is the quadratic field with the corresponding ring of integers OK = {a + bω : a, b ∈ Z}, and Of = [1, f ω], f ∈ Z is any order of K, where √ 1+ ∆ ω= if ∆ ≡ 1 (mod 4), √ 2 if ∆ ≡ 2, 3 (mod 4). ω= ∆ 170 Prime Numbers and Cryptosystems Based on Discrete Logarithms By N (α) = αα = (a + bω)(a + bω) we denote the norm of an element α = a + bω ∈ OK with respect to Q. That is N (α) = a2 + ab + 1−∆ 2 b 4 N (α) = a2 − ∆b2 if ∆ ≡ 1 (mod 4), if ∆ ≡ 2, 3 (mod 4). In this section we describe a probabilistic algorithm which generates CM-primes q and p with respect to ∆ that executes in polynomial time [11]. The algorithm consists of the following two procedures. Procedure 9 (n, ∆, x, γ) Given n, m ∈ N, (m, n) = 1, a square-free ∆ ∈ √ Z, ∆ < 0, and a sufficiently large x ∈ R. Fix K = Q( ∆) with the corresponding ring of integers OK . Let γ = f + gω ∈ OK be such that |f |, |g| ≤ n, N (γ) ≡ m (mod n); this procedure finds α = a + bω ∈ OK , N (α) ≡ m (mod n), such that N (α) = q is a prime with x ≤ q ≤ 2x. step 1.: Choose u, v at random in Z such that √ 1−∆ 2 |u| ≤ ( √ (2x)1/2 − f )n−1 , |v| ≤ ( √ (2x)1/2 − g)n−1 −∆ −∆ if ∆ ≡ 1 (mod 4), 1 (2x)1/2 − g)n−1 |u| ≤ ((2x)1/2 − f )n−1 , |v| ≤ ( √ −∆ if ∆ ≡ 2, 3 (mod 4). step 2.: Compute a = nu + f and b = nv + g step 3.: Compute q = a2 + ab + q = a2 − ∆b2 1−∆ 2 b 4 if ∆≡1 if ∆ ≡ 2, 3 (mod 4), (mod 4). If q < x or q > 2x, then go to step 1. step 4.: If q is a prime, then terminate the procedure. Otherwise, go to step 1. step 5.: Return α = a + bω, q. Let f be an ideal of OK . Let Hf∗ (K) be the group of narrow ray classes (mod f), and let h∗f (K) be the number of elements in Hf∗ (K). In the notation above we have the following theorem. 171 M. Grześkowiak Theorem 10. Given √n, m ∈ N, (m, n) = 1, and a square-free integer ∆ < 0. Fix K = Q( ∆) with the corresponding ring of integers OK , and let f = nOK . There exists x0 > 0 such that for every x ≥ x0 and an arbitrary real λ ≥ 1, Procedure 9 finds α = a + bω ∈ OK such that N (α) ≡ m (mod n) is a prime, x ≤ N (α) ≤ 2x, where √ 1 1 1−∆ 2 |a| ≤ √ (2x) 2 , |b| ≤ √ (2x) 2 if ∆ ≡ 1 (mod 4), −∆ −∆ 1 1 1 |a| ≤ (2x) 2 , |b| ≤ √ (2x) 2 if ∆ ≡ 2, 3 (mod 4). −∆ with probability greater than or equal to 1−e−λ after repeating [c1 λ(log x)] steps of the procedure, where √ 16 1 − ∆h∗f (K) c1 = if ∆ ≡ 1 (mod 4), −∆n2 16h∗f (K) c1 = √ if ∆ ≡ 2, 3 (mod 4). −∆n2 Every step of the procedure takes no more than PT bit operations. Proof. See [11]. √ Procedure 11 (α, q, ∆, x). Fix 0 < ε < 2/5, and fix K = Q( ∆) with the corresponding ring of integers OK . Given α = a + bω ∈ OK such that q = N (α) ≡ m (mod n), (m, n) = 1, is a prime, x ≤ q ≤ 2x; this procedure finds β ∈ OK such that β ≡ 1 (mod αOK ) and N (β) is a prime. step 1.: Choose s, t at random in Z. If ∆ ≡ 1 (mod 4), √ 1−∆ 2 |s| ≤ √ (2x)(3+5ε)/(4−10ε) , |t| ≤ √ (2x)(3+5ε)/(4−10ε) . −∆ −∆ If ∆ ≡ 2, 3 (mod 4) |s| ≤ (2x)(3+5ε)/(4−10ε) , |t| ≤ √ 1 (2x)(3+5ε)/(4−10ε) −∆ step 2.: Compute 1−∆ bt + 1, d = bs + (a + b)t 4 c =as + ∆bt + 1, d = bs + at c =as − 172 if ∆ ≡ 1 (mod 4), if ∆ ≡ 2, 3 (mod 4). Prime Numbers and Cryptosystems Based on Discrete Logarithms step 3.: Compute p = c2 + cd + 1−∆ 2 d 4 p = c2 − ∆d2 if ∆≡1 if ∆ ≡ 2, 3 (mod 4), (mod 4). If p < x or p > (2x)5/(2−5ε) , then go to step 1. step 4.: If p is a prime, then terminate the procedure. Otherwise, go to step 1. step 5.: Return β = c + dω, p. √ Theorem 12. Let ∆ < 0 be a square-free integer. Fix K = Q( ∆) with the corresponding ring of integers OK , and fix 0 < ε < 25 . Let α ∈ OK and x ≤ q ≤ 2x be the output of Procedure 9. Procedure 11 with the input consisting of α, q and ∆, has the following properties: there exists x0 > 0 such that for every x ≥ x0 , and for an arbitrary real λ ≥ 1, and for any constant A > 2, the procedure finds β ∈ OK such that, β = c + dω, p = N (β) is a prime, x ≤ N (β) ≤ (2x)5/(2−5ε) , with probability greater than or equal to 1 − e−λ after repeating [c2 λ(log 2x)] steps of the procedure, where √ 80h(K) 1 − ∆ c2 = −(2 − 5ε)w(K)∆ 40h(K) √ c2 = (2 − 5ε)w(K) −∆ if ∆ ≡ 1 (mod 4), if ∆ ≡ 2, 3 (mod 4). for almost all α with the possible exception of at most O(x(log x)−A ) values of α. Every step of the procedure takes no more than PT bit operations. Proof. See [11]. We are now in a position to introduce our main algorithm. Algorithm 13. (n, ∆, x, γ) step 1.: α, q := Procedure 9 (n, ∆, x, γ). step 2.: β, p := Procedure 11 (α, q, ∆, x). step 3.: Return p, q, α, β. 173 M. Grześkowiak Theorem 14. Given √ n, m ∈ N, (m, n) = 1, and a square-free integer ∆ < 0. Fix K = Q( ∆) with the corresponding ring of integers OK . If Algorithm 13 terminates, then the output is a pair α, β ∈ OK , β = c + dω such that q = N (α) ≡ m (mod n), N (β) = p are CM-primes. Proof. See [11]. Remark √ 15. Let n ∈ N, and let ∆ < 0 be a square-free integer. Fix K = Q( ∆) with the corresponding ring of integers OK . Given CM-primes q = N (α), p = N (β), where α = a + bω, β = c + dω ∈ OK . There exists an elliptic curve E over Fp with complex multiplication by an order Od = [1, dω] ⊆ K such that q divides |E(Fp )| = p + 1 − 2c − d if ∆ ≡ 1 (mod 4), |E(Fp )| = p + 1 − 2c if ∆ ≡ 2, 3 (mod 4). Let c > 0 be a constant, and let ∆ = O((log p)c ). For any ϵ > 0 constructing E over Fp via the CM method takes O((log p)c(1+ϵ)/2 ) arithmetic operations in Fp . An interesting open problem is the following: Construct a polynomial-time algorithm that finds CM-primes p, q such that ρ(E(Fp )) ≤ 2. References [1] L. Adleman, A subexponential algorithm for the discrete logarithm problem with applications to cryptography, The 20th Annual Symposium on Foundations of Computer Science (Washington, DC, USA), SFCS ’79, IEEE Computer Society, 1979, pp. 55–60. [2] L. Adleman, J. DeMarrais, and M. Huang, A subexponential algorithm for discrete logarithmsover the rational subgroup of the jacobians of large genus hyperelliptic curves over fnite felds, Algorithmic Number Theory, LNCS 877, 1994, pp. 28–40. [3] M. Agrawal, N. Kayal, and N. Saxena, Primes is in p, Ann. of Math. 160 (2004), no. 2, 781–793. [4] A. Atkin and F. Morain, Elliptic curves and primality proving, Tech. report, Projet ICSLA RR-1256, INRIA, 1990. 174 Prime Numbers and Cryptosystems Based on Discrete Logarithms [5] Z. Borevich and I. Shafarevich, Number theory, Academic Press, 1966. [6] H. Cohen, G. Frey, R. Avanzi, C. Doche, T. Lange, K. Nguyen, and F. Vercauteren, Handbook of elliptic and hyperelliptic curve cryptography, second edition, 2nd ed., Chapman & Hall/CRC, 2012. [7] R. Dupont, A. Enge, and F. Morain, Building curves with arbitrary small mov degree over fnite prime felds, J. Cryptology 18 (2005), no. 2, 79–89. [8] P. Gaudry, An algorithm for solving the discrete log problem on hyperelliptic curves, Advances in Cryptology - EUROCRYPT 2000, LNCS 1807, 2000, pp. 19–34. [9] P. Gaudry, E. Thom´e, N. Th´eriault, and C. Diem, A double large prime variation for small genus hyperelliptic index calculus, IACR Cryptology ePrint Archive (2004), 153. [10] D. Gordon, Discrete logarithms in gf (p) using the number feld sieve, SIAM J. Discret. Math. 6 (1993), no. 1, 124–138. [11] M. Grześkowiak, An algorithmic construction of fnite elliptic curves of order divisible by a large prime, Fund. Inform.,to appear. [12] M. Grześkowiak, Algorithms for relatively cyclotomic primes, Fund. Inform. 125 (2013), no. 2, 161–181. [13] G. H. Hardy and J. E. Littlewood, Some problems of partition numerorum iii: On the ex- pression of a number as a sum of primes, Acta Math. 44 (1922), 1–70. [14] A. Joux, A new index calculus algorithm with complexity l(1/4+o(1)) in very small characteristic, 2013. [15] A. Joux and R. Lercier, The function feld sieve in the medium prime case, Advances in Cryptology - EUROCRYPT 2006, LNCS 4004 (Serge Vaudenay, ed.), Springer Berlin Heidelberg, 2006, pp. 254–270 (English). [16] A. Joux, R. Lercier, N. Smart, and F.Vercauteren, The number feld sieve in the medium prime case, Advances in Cryptology - CRYPTO 2006, LNCS 4117, Springer Berlin Heidelberg, 2006, pp. 326–344. [17] N. Koblitz, Hyperelliptic cryptosystems, Journal of Cryptology 1 (1989), no. 3, 139–150 (English). [18] A. Lenstra, Using cyclotomic polynomials to construct efcient discrete logarithm cryptosystems over fnite felds. [19] A. Lenstra and E. Verheul, The xtr public key system, Advances in Cryptology CRYPTO 2000, LNCS 1880, 2000, pp. 1–19. 175 M. Grześkowiak [20] S. Pohlig and M. Hellman, An improved algorithm for computing logarithms over and its cryptographic signifcance (corresp.), IEEE Trans. Inf. Theor. 24 (2006), no. 1, 106–110. [21] J. Pollard, Monte Carlo methods for index computation (mod p), Mathematics of Computation 32 (1978), 918–924. [22] K. Rubin and A. Silverberg, Torus-based cryptography, Advances in Cryptology - CRYPTO 2003, LNCS 2729, 2003, pp. 349–365. [23] K. Rubin and A. Silverberg, Using primitive subgroups to do more with fewer bits, Algorithmic Number Theory 6th International Symposium, ANTS-VI, LNCS 3076, 2004, pp. 18–41. [24] E. Savaş, T.A. Schmidt, and C. K. Koç, Generating elliptic curves of prime order, Cryptographic Hardware and Embedded Systems CHES 2001, LNCS 2162, 2001, pp. 145–161. [25] P. Smith and C. Skinner, A public-key cryptosystem and a digital signature system based on the lucas function analogue to discrete logarithms, In Advances in Cryptology ASIACRYPT 1995, LNCS 917, 1995, pp. 357–364. [26] N. Thériault, Index calculus attack for hyperelliptic curves of small genus, Advances in Cryptology - ASIACRYPT 2003, LNCS 2894, 2003, pp. 75–92. [27] A. Weng, Constructing hyperelliptic curves of genus 2 suitable for cryptography, Math. Comput. 72 (2003), no. 241, 435–458. LICZBY PIERWSZE I KRYPTOSYSTEMY OPARTE NA LOGARYTMACH DYSKRETNYCH Streszczenie. W pracy przedstawiamy algorytmy, które generują liczby pierwsze do kryptosystemów opartych na logarytmach dyskretnych. Zaprezentowane algorytmy są probabilistyczne i działają w wielomianowym czasie. Słowa kluczowe: Kryptosystemy oparte na torusie, kryptosystemy eliptyczne i hipereliptyczne. ROZSZERZONY ALGORYTM POHLIGA-HELLMANA I JEGO ZASTOSOWANIE DO FAKTORYZACJI Bartosz Źrałek Instytut Matematyki Uniwersytetu Warszawskiego, Banacha 2, 02-097 Warszawa [email protected] Streszczenie.Wskażemy ścisły związek między problemami logarytmu dyskretnego i faktoryzacji. Opiszemy mianowicie uogólnienie algorytmu Pohliga-Hellmana dla grup niecyklicznych Z∗n , które można zastosować do derandomizacji algorytmu p − 1 Pollarda. Algorytm ten bowiem w w wersji potrzebuje źródła losowości. Okazuje się, że obliczenia można przeprowadzić deterministycznie bez znaczącego pogorszenia złożoności. Słowa kluczowe: faktoryzacja, logarytm dyskretny, derandomizacja 1. Wprowadzenie W kryptografii klucza publicznego, jawnie zapoczątkowanej przez Diffiego i Hellmana [2], bezpieczeństwo kryptosystemu opiera się zazwyczaj na trudności obliczeniowej pewnych problemów teorii liczb - głównie problemu logarytmu dyskretnego w grupie cyklicznej oraz problemu faktoryzacji liczb naturalnych. Te problemy są uważane za trudne, ponieważ przypuszcza się, że nie istnieją algorytmy rozwiązujące je w czasie wielomianowym (ze względu na rozmiar danych). Najszybsze obecnie algorytmy rozkładu na czynniki liczb naturalnych (np. sito ciała liczbowego [8]) mają pesymistyczną złożoność podwykładniczą. Podobnie jest w przypadku problemu logarytmu dyskretnego, choć jedynie dla grup cyklicznych o„korzystnej obliczeniowo” reprezentacji takich jak grupy multyplikatywne ciał skończonych [4] (w tzw. modelu generycznym [3] złożoność ta jest bowiem wykładnicza). W praktyce kryptograficznej nie można jednak ograniczać badań do ogólnych instancji powyższych problemów. Podstawową rolę odgrywają metody rozwiązywania szczególnych przypadków - z punktu widzenia obliczeniowego łatwych, czyli, z punktu widzenia kryptoanalizy, prowadzących do wygenerowania słabych parametrów kryptosystemu. Takimi łatwymi instancjami są przykładowo: 1. problem logarytmu dyskretnego w grupie cyklicznej o gładkim (podzielnym jedynie przez małe liczby pierwsze) rzędzie - efektywnym atakiem jest algorytm Pohliga-Hellmana [10]. B. Źrałek 2. problem rozkładu liczby n mającej dzielnik pierwszy p, taki że rząd grupy Z∗p (równy p−1) jest gładki - efektywnym atakiem jest algorytm p − 1 Pollarda [11]. (Idea Pollarda była prawdopodobnie inspiracją do opracowania przez Lenstrę [9] algorytmu faktoryzacji, w którym poszukuje się takiej„krzywej eliptycznej nad Zn ”, by dla pewnego dzielnika pierwszego p liczby n, grupa jej punktów modulo p miała gładki rząd.) Wskażemy ścisły związek między problemami logarytmu dyskretnego i faktoryzacji. Opiszemy mianowicie uogólnienie algorytmu Pohliga-Hellmana dla grup niecyklicznych Z∗n , które można zastosować do derandomizacji algorytmu p − 1 Pollarda. Algorytm ten bowiem w oryginalnej wersji potrzebuje źródła losowości. Okazuje się, że obliczenia można przeprowadzić deterministycznie bez znaczącego pogorszenia złożoności. Przedstawione tu wyniki zostały opublikowane w [13]. 2. Klasyczny algorytm Pohliga-Hellmana Przypomnijmy najpierw działanie klasycznego algorytmu Pohliga-Hellmana. Niech G będzie grupą cykliczną rzędu N , generowaną przez g: G = ⟨g⟩, #G = N . Niech h ∈ G. Problem logarytmu dyskretnego, w skrócie DLP, w G to znalezienie l ∈ Z, takiego że g l = h. Przypuśćmy, że znamy nietrywialny rozkład N = N1 N2 , NWD(N1 , N2 ) = 1. Mamy izomorfizm ⟨g⟩ ∼ = ⟨g N1 ⟩ × ⟨g N2 ⟩. Pomysł polega na sprowadzieniu DLP w ⟨g⟩ do DLP w grupie ⟨g N1 ⟩ i DLP w grupie ⟨g N2 ⟩, czyli w grupach mniejszych niż G, bo #⟨g N1 ⟩ = N2 , #⟨g N2 ⟩ = N1 . Jeśli znajdziemy li ∈ Z, takie że (g Ni )li = hNi , to wystarczy rozwiązać układ { l ≡ l1 (N2 ) l ≡ l2 (N1 ). Ogólnie, jeśli mamy pełną faktoryzację rzędu N , to możemy sprowadzić DLP w grupie G do DLP w jej podgrupach rzędów pvp , gdzie pvp jest maksymalną potęgą liczby pierwszej p dzielącą N . Podajemy przykład obliczeń algorytmu w podgrupie grupy G rzędu 2v . Niech a, b ∈ G, przy czym a jest rzędu 2v , co zapiszemy rz(a) = 2v , 178 Rozszerzony algorytm Pohliga-Hellmana i jego zastosowanie do faktoryzacji v i niech b2 = 1. Szukamy liczby l, dla której al = b. Zapisujemy logarytm l binarnie z niewiadomymi cyframi li : al0 +l1 ·2+...+lv−1 ·2 v−1 = b. Po podniesieniu obu stron do potęgi 2v−1 otrzymujemy a2 v−1 l0 = b2 v−1 , czyli (−1)l0 = b2 v−1 . To nam daje wartość l0 (0 lub 1). Dalej al1 ·2+...+lv−1 ·2 v−1 = b · a−l0 i podobnie kolejno obliczamy l1 , . . . , lv−1 . 3. Rozszerzony algorytm Pohliga-Hellmana Rozpatrzmy teraz skończoną grupę przemienną G, ale niekoniecznie cykliczną. Zilustrujemy ideę uogólnienia algorytmu Pohliga-Hellmana na v przykładzie najprostszego przypadku: a, b ∈ G, rz(a) = 2v , b2 = 1. Możemy spróbować zastosować klasyczny algorytm Pohliga-Hellmana, by znaleźć l ∈ Z, takie że al = b. Jeśli się nie uda, to znaczy że podgrupa ⟨a, b⟩, a więc i G, nie jest cykliczna. Tego rodzaju implikacja znalazłaby zastosowanie w testowaniu pierwszości (dowodzeniu złożoności): dla G = Z∗n , jeśli G nie jest cykliczna, to n jest liczbą złożoną. Niecykliczność podgrupy ⟨a, b⟩ można tu jednak wykorzystać pełniej - rozłożyć liczbę n. Niech więc G = Z∗n , gdzie n jest, powiedzmy, iloczynem pq dwóch nieparzystych liczb pierwszych. Z chińskiego twierdzenia o resztach, Z∗n ≃ Z∗p × Z∗q . Przy tym izomorfizmie poczynimy utożsamienia a ↔ (a1 , a2 ), b ↔ (b1 , b2 ). Załóżmy bez utraty ogólności, że rz(a1 ) = 2v (po ewentualnej zamianie p i q). Istnieje l całkowite, takie że al1 = b1 , ponieważ grupa Z∗p jest cykliczna. Znów rozwijamy l binarnie z niewiadomymi cyframi li : l +l1 ·2+...+lv−1 ·2v−1 a10 = b1 , 179 B. Źrałek co daje (−1)l0 = b21 v−1 . Stąd p | NWD((−1)l0 − b2 v−1 , n). Próbując l0 = 0, 1, albo otrzymamy nietrywialny dzielnik liczby n, albo v−1 okaże się, że (−1)l0 = b2 . Jeśli nie otrzymaliśmy dzielnika, powtarzamy to postępowanie dla l1 itd. Tym sposobem, albo otrzymamy nietrywialny dzielnik liczby n, albo al = b i podgrupa ⟨a, b⟩ jest cykliczna (generowana przez a). Ogólnie zachodzi twierdzenie Twierdzenie 1. (Rozszerzony algorytm Pohliga-Hellmana) Niech B ⊂ Z∗n i niech będzie dana dla każdego b ∈ B pełna faktoryzacja liczby rz(b). Wówczas możemy znaleźć (deterministycznie) generator podgrupy ⟨B⟩ lub (gdy nie jest cykliczna)∏nietrywialny dzielnik liczby n w czasie O(#B · q(ln n)C ), gdzie q = p+ ( b∈B rz(b)), a C jest stałą. W powyższym p+ (·) oznacza największy dzielnik pierwszy. Dla porównania, złożoność klasycznego algorytmu Pohliga-Hellmana w grupie cyklicznej G rzędu N to O(p+ (N )(ln N )C ), przy wielomianowym czasie operacji elementarnych w G. 4. Algorytm p − 1 Pollarda Przechodzimy do opisu standardowego (probabilistycznego) algorytmu faktoryzacji p − 1 Pollarda. Niech n będzie nieparzystą liczbą naturalną, różną od 1 i nie będącą potęgą liczby pierwszej. Niech p będzie dzielnikiem pierwszym liczby n. Niech wreszcie b będzie (losową) liczbą całkowitą względnie pierwszą z n. Dla wielokrotności M liczby p−1 mamy bM ≡ 1 (p) na mocy małego twierdzenia Fermata. Innymi słowy, p | NWD(bM − 1, n), przy czym prawą stronę obliczamy za pomocą algorytmu Euklidesa. Może się zdarzyć, że NWD(bM − 1, n) = n. Jednak można pokazać, że M dla co najmniej połowy elementów b ∈ Z∗n ciąg NWD(b 2i − 1, n) zawiera nietrywialny dzielnik liczby n. Jeśli liczba p − 1 jest B-gładka (inaczej: wszystkie dzielniki pierwsze liczby p − 1 są ≤ B), to można przyjąć ∏ [ ln n ] M= q ln q , gdzie q przebiega liczby pierwsze ≤ B. 180 Rozszerzony algorytm Pohliga-Hellmana i jego zastosowanie do faktoryzacji Te spostrzeżenia są podstawą następującego twierdzenia: Twierdzenie 2. (Algorytm p − 1 Pollarda) Niech p będzie takim dzielnikiem pierwszym danej liczby naturalnej n, że liczba p − 1 jest B-gładka. Wówczas liczbę p można znaleźć probabilistycznie w czasie O(B(ln n)C ), gdzie C jest stałą. Zachodzi również twierdzenie mocniejsze: Twierdzenie 3. (Deterministyczny algorytm p − 1 Pollarda) W twierdzeniu 2 słowo „probabilistycznie” można zastąpić słowem „deterministycznie”. 5. Dowód poprawności derandomizacji algorytmu p − 1 Pollarda Naszkicujemy dowód twierdzenia 3. Niech n będzie złożone, bez dzielników pierwszych ≤ (ln n)2 , i niech B = {2, 3, . . . , [(ln n)2 ]}. Jednym z głównych składników rozumowania jest dolne oszacowanie funkcji ψ zliczającej liczby gładkie, ψ(x, y) = #{n ≤ x : p+ (n) ≤ y}. Mamy bowiem √ #⟨B⟩ ≥ ψ(n, (ln n)2 ) > n, a więc zbiór B generuje„dużą” podgrupę grupy Z∗n . Trzeba rozpatrzyć dwa przypadki: 1. Grupa ⟨B⟩ jest cyliczna. Wtedy nietrywialny dzielnik liczby n znajdujemy za pomocą znanej (z prac [6, 5, 7] na temat testowania pierwszości) metody. 2. Grupa ⟨B⟩ nie jest cykliczna. Wtedy nietrywialny dzielnik liczby n znajdujemy za pomocą rozszerzonego algorytmu Pohliga-Hellmana. Załóżmy najpierw, że grupa ⟨B⟩ jest cyliczna. Wówczas zbiór B zawiera taki element b, że NWD(b rz(b) s − 1, n) > 1 dla pewnej liczby pierwszej s | rz(b). Takie b będziemy nazywać świadkiem Fermata-Euklidesa (złożoności liczby n). Istotnie, przypuśćmy, że w B nie 181 B. Źrałek ma świadka Fermata-Euklidesa. Niech q będzie najmniejszym dzielnikiem pierwszym liczby n. Wtedy #⟨B⟩ = NWWb∈B rz(b) = NWWb∈B rzq (b) | q − 1, √ gdzie rzq (·) oznacza rząd w grupie Z∗q . W szczególności #⟨B⟩ < q ≤ n, co przeczy otrzymanej wcześniej nierówności przeciwnej. W pozostałym przypadku niecyklicznej grupy ⟨B⟩ wystarczy zastosować twierdzenie 1. 6. Uwagi końcowe Jak pisaliśmy we wprowadzeniu, jednym z podstawowych zagadnień kryptografii asymetrycznej (jak również oczywiście samej obliczeniowej teorii liczb) jest badanie klasy liczb„efektywnie” rozkładalnych. Klasa ta zawiera liczby naturalne n mające dzielnik pierwszy p, taki że wartość ustalonego wielomianu cyklotomicznego Φk w p jest gładka. Algorytmy faktoryzacji wykorzystujące tę własność liczby rozkładanej n nazywane są cyklotomicznymi [1]. Do nich zaliczamy algorytm p − 1 Pollarda - przy k = 1. Również dla k ≥ 2 algorytmy cyklotomiczne (oryginalnie probabilistyczne) można, przynajmniej częściowo, zderandomizować, co wykazano w [13] (warto podkreślić pewną uniwersalność stosowanej tu metodologii, która pozwala także faktoryzować wielomiany nad ciałem skończonym [14]). Sam zaś związek problemu faktoryzacji liczby n z problemem logarytmu dyskretnego w grupie Z∗n jest jeszcze głębszy niż przedstawiono to tutaj na tle liczb n o szczególnej własności. W pracy [12] przedstawiono deterministyczną, podwykładniczą (szybszą niż sito ciała liczbowego) redukcję faktoryzacji (dowolnej) liczby n do obliczania logarytmu dyskretnego w grupie Z∗n . Literatura [1] E. Bach, J. O. Shallit, Factoring with cyclotomic polynomials, Mathematics of Computation, 52 (1989), 201-219. [2] W. Diffie, M. Hellman, New directions in cryptography, IEEE Transactions on Information Theory, 22 (1976), 644-654. [3] J. von zur Gathen, Arithmetic circuits for discrete logarithms, Lecture Notes in Computer Science, 2976 (2004), 557-566. [4] D. Gordon, Discrete logarithms in GF (p) using the number field sieve, SIAM Journal on Discrete Mathematics, 6 (1993), 124-138. 182 Rozszerzony algorytm Pohliga-Hellmana i jego zastosowanie do faktoryzacji [5] M. R. Fellows, N. Koblitz, Self-witnessing polynomial-time complexity and prime factorization, Designs, Codes and Cryptography, 2 (1992), 231-235. [6] M. Fürer, Deterministic and Las Vegas primality testing algorithms, Lecture Notes in Computer Science, 194 (1985), 199-209. [7] S. Konyagin, C. Pomerance, On primes recognizable in deterministic polynomial time, The Mathematics of Paul Erdös, R. L. Graham, J. Nesetril, eds., Springer-Verlag, 1997, 176-198. [8] A. Lenstra, H. Lenstra Jr. (Eds.), The development of the number field sieve, Lecture Notes in Mathematics, 1554 (1993). [9] H. Lenstra Jr., Factoring integers with elliptic curves, Annals of Mathematics, 126 (1987), 649-673. [10] S. Pohlig, M. Hellman, An improved algorithm for computing logarithms over GF (p) and its cryptographic significance, IEEE Transactions on Information Theory, 24 (1978), 106-110. [11] J. M. Pollard, Theorems on factorization and primality testing, Proceedings of the Cambridge Philosophical Society, 76 (1974), 521-528. [12] J. Pomykała, B. Źrałek, On reducing factorization to the discrete logarithm problem modulo a composite, computational complexity, 21 (2012), 421-429. [13] B. Źrałek, A deterministic version of Pollard’s p − 1 algorithm, Mathematics of Computation, 79 (2010), 513-533. [14] B. Źrałek, Using partial smoothness of p − 1 for factoring polynomials modulo p, Mathematics of Computation, 79 (2010), 2353–2359. A GENERALIZATION OF THE POHLIG-HELLMAN ALGORITHM AND ITS APPLICATION TO FACTORING Abstract. We will show that the discrete logarithm problem and the problem of factoring are closely related. Namely, we will describe a generalization of the Pohlig-Hellman algorithm to noncyclic Z∗n groups which can be used to derandomize Pollard’s p − 1 algorithm. The original version of this factoring algorithm needs indeed a source of randomness. It turns out however that the computations can be done deterministically with only slightly worse complexity. Keywords: factoring, discrete logarithm, derandomization. ALGORYTMY INSPIROWANE NATURĄ W KRYPTOANALIZIE Iwona Polak, Mariusz Boryczka Uniwersytet Śląski, Instytut Informatyki [iwona.polak, mariusz.boryczka]@us.edu.pl Streszczenie. W dzisiejszych czasach ochrona informacji jest niezwykle istotna, a jednym z elementów zapewniających ową ochronę jest kryptografia. Tu z kolei ważną rolę odgrywa kryptoanaliza, która pozwala badać bezpieczeństwo używanych szyfrów. Oprócz typowo analitycznego podejścia do łamania szyfrów (jak kryptoanaliza różnicowa, kryptoanaliza liniowa czy analiza statystyczna) od kilkunastu lat do tego celu zaprzęga się różnego rodzaju niedeterministyczne systemy inspirowane naturą. Użycie takich technik nie jest do końca intuicyjne – w kryptoanalizie często ważne jest znalezienie jednego konkretnego klucza (rozwiązania optymalnego), a każde inne rozwiązanie daje kiepskie rezultaty, nawet jeśli jest blisko optimum globalnego. Słowa kluczowe: kryptoanaliza, metaheurystyka, algorytmy optymalizacyjne, kryptografia. 1. Wprowadzenie Pierwszymi szyframi, które poddano kryptoanalizie metodami heurystycznymi były szyfry klasyczne. W 2003 roku John A. Clark zachęcał do sprawdzenia technik inspirowanych naturą w kryptoanalizie szyfrów współczesnych, zamiast wiary w to, iż one i tak się tam nie sprawdzą [7]. Co prawda szyfry współczesne są dużo bardziej skomplikowane niż szyfry klasyczne, jednak w ogólności opierają się na tych samych zasadach, czyli przestawianiu i podstawianiu. Od tamtej pory próbowano wielu ataków przy wykorzystaniu różnorodnych technik na różne algorytmy szyfrujące. Pojawiły się również modele hybrydowe, łączące kilka różnych podejść. Klasyfikacja szyfrów omówionych w niniejszej pracy została przedstawiona na rys. 1. Na rzecz kryptografii także można zastosować algorymy heurystyczne. W literaturze ukazały się propozycje szyfru opartego na algorytmach genetycznych. Można również metod inspirowanych naturą użyć w celu zaprojektowania przydatnych w kryptografii silnie nieliniowych zrównoważonych funkcji boolowskich. 2. Kryptoanaliza szyfrów klasycznych Szyfry klasyczne to szyfry przestawieniowe i podstawieniowe, wszystkie są szyframi symetrycznymi. Ich działanie polega odpowiednio na za- I. Polak, M. Boryczka Rysunek 1. Klasyfikacja szyfrów opisanych w pracy mianie liter miejscami lub zmianie liter na inny znak lub zestaw znaków (inne litery, liczby, symbole). W pracy [32] autorzy prezentują oryginalne podejście do kryptoanalizy szyfru przestawieniowego przy użyciu algorytmów mrówkowych [8]. Poszczególne kolumny tekstu przedstawiono w formie grafu. W fazie wstępnej wszystkie wierzchołki były połączone ze wszystkimi innymi. W każdej iteracji algorytmu każda cyfrowa mrówka budowała swoją ściężkę. Dla danej ścieżki liczona była jej wartość na podstawie wartości bigramów (tj. sąsiadujących dwóch liter) zgodnie z naturalną częstością występowania tych bigramów w języku, w którym została zakodowana wiadomość. Po kilku iteracjach niektóre ścieżki otrzymywały wyższe wartości feromonu i były bardziej prawdopodobnymi kandydatami na klucz deszyfrujący. Autorzy opisali udaną kryptoanalizę przy maksymalnie 5000 iteracjach, przy kluczu do długości 40. Przekrojową pracą na ten temat jest praca [4]. Autorka sprawdziła tam wiele szyfrów klasycznych: przestawieniowy, Cezara, Vigenere’a i inne wieloalfabetowe szyfry podstawieniowe. Podjęła również próbę kryptoanalizy szyfrów współczesnych: DES i AES. Prezentowane wyniki pokazują, że 186 Algorytmy inspirowane naturą w kryptoanalizie algorytmy genetyczne [20] bardzo dobrze sprawdziły się przy kryptoanalizie szyfrów klasycznych, lecz nie poradziły sobie zszyframi współczesnymi. Brak efektów również przy kryptoanalizie szyfrów współczesnych za pomocą optymalizacji stadnej cząsteczek (PSO) [15]. 3. Kryptoanaliza szyfrów współczesnych Na przestrzeni kilkunastu ostatnich lat ciekawie przedstawia się kryptoanaliza szyfrów współczesnych z wykorzystaniem technik inspirowanych naturą. Wykorzystano bardzo wiele różnych technik heurystycznych do kryptoanalizy bardzo różnorodnych szyfrów współczesnych. 3.1. Szyfry asymetryczne Osobliwym przypadkiem są kryptosystemy oparte na problemie plecakowym, ponieważ z jednej strony nie są liczone do szyfrów klasycznych, gdyż powstały dopiero w dobie komputerów, z drugiej zaś strony nie zostały nigdy wykorzystane do stworzenia współczesnego kryptosystemu [28]. Opierają się one na problemie pakowania plecaka, który zaliczany jest do klasy problemów NP-zupełnych, a klasa owa to doskonałe pole do popisu dla wszelkiego rodzaju algorytmów optymalizacyjnych. Autorzy pracy [39] poddali takie kryptosystemy analizie korzystając z algorytmów genetycznych. Znalezienie właściwego klucza wymagało przeszukania 0,09-4% przestrzeni poszukiwań (dla problemów plecakowych o rozmiarze do 25 elementów). Podobnie, w pracy [9] wykorzystano algorytmy genetyczne do kryptoanalizy szyfrowania opartego na problemie plecakowym. Dla zbioru 8-elementowego średnio po 115 populacjach otrzymywano właściwy klucz, tj. ciąg w postaci superrosnącej, ze średnim przeszukaniem poniżej 50% przestrzeni rozwiązań (czyli wszystkich możliwych kluczy). Ukazała się również praca dotycząca kryptoanalizy systemu kryptograficznego dotyczącego krzywych eliptycznych [18]. Autorzy wykorzystali sztuczne sieci neuronowe (ANN) [21] do kryptoanalizy owego kryptosystemu dla krzywych eliptycznych o rozmiarze p = 14, 20, 32. Wyliczenie najmniej znaczącego bitu (lsb) logarytmu dyskretnego nad krzywą eliptyczną uzyskano ze średnią dokładnością 57% na zbiorze testowym (czyli trochę więcej niż wybór losowy) oraz 90% na zbiorze treningowym. Nie są to najlepsze wyniki, niemniej jednak jako efekt uboczny owej pracy autorzy sugerują możliwość kompresji zbioru stosując tę metodę. 187 I. Polak, M. Boryczka 3.2. Szyfry symetryczne blokowe Interesujące podejście do szyfru Serpent opisano w pracy [3]. Szyfr został przedstawiony w formie grafu, w którym przy wykorzystaniu sieci neuronowych jest szukana najkrótsza ścieżka. Serpent jest symetrycznym szyfrem blokowym i operuje na blokach o rozmiarach 128 bitów oraz na kluczu o długości: 128, 192 lub 256 bitów. Korzysta on z 32 rund; każda runda składa się z przekształcenia XOR względem klucza rundy, użycia 128-bitowej funkcji mieszającej i zastosowania 32 4-bitowych S-Boksów. W wymienionej pracy kryptoanalizie poddano jego wersję 4-, 5-, 6- i 7-rundową. Wraz ze zwiększeniem liczby rund obserwuje się spadek skuteczności algorytmu kryptoanalitycznego. Istnieje wiele prac dotyczących kryptoanalizy algorytmu DES. Co prawda wszystkie one dotyczą jedynie osłabionej lub ćwiczebnej wersji szyfru (SDES), jednak wiele z nich dokonuje próby porównania różnych technik adaptacyjnych, co może być przydatne do określenia kierunku dalszych badań mogących przynieść obiecujące rezultaty i porzucenia technik nie przynoszących efektów. SDES (Simplified DES) został opracowany w 1996 roku jako narzędzie edukacyjne. Na wejściu pobierany jest 8-bitowy blok tekstu jawnego oraz 10-bitowy klucz, a na wyjściu produkowany jest 8-bitowy blok kryptogramu (tekstu zaszyfrowanego). Deszyfrowanie działa w odwrotnej kolejności. Zasada działania SDES jest analogiczna z zasadą działania używanego w praktyce algorytmu DES. W pracy [10] przedstawiono kryptoanalizę algorytmu SDES wykorzystując do tego celu algorytmy genetyczne oraz algorytmy memetyczne [24]. Algorytm genetyczny odwzorowuje mechanizmy rządzące światem genów i ewolucji; najważniejsze operatory to operator krzyżowania i mutacji. Z kolei algorytm memetyczny opiera się na ewolucji kulturowej i jednostką doboru jest mem, czyli jednostka informacji kulturowej. W tych badaniach osiągnięto następujące wyniki: algorytm genetyczny odtworzył od 4 do 8 bitów 10-bitowego klucza, a algorytm memetyczny – od 5 do 9 bitów, zatem algorytm memetyczny pozwolił osiągnąć trochę lepsze rezultaty. W pracy [26] próba porównania kilku technik, takich jak symulowane wyżarzanie (SA) [6], [16], optymalizacja stadna cząsteczek (PSO), algorytm genetyczny (GA) oraz przeszukiwanie tabu (TS) [11], [12], dała następujący wynik: najlepsze rezultaty osiągnięto dla przeszukiwania tabu, najgorsze dla algorytmów genetycznych. W pracach [27], [34] badano zarówno SDES, jak i osłabioną wersję oryginalnego DES. W przypadku SDES najlepsze wyniki zostały osiągnięte dla metody TS: 344 deszyfrowania w celu znalezienia prawidłowego klucza 188 Algorytmy inspirowane naturą w kryptoanalizie (algorytm siłowy – średnio 512). Odpowiednie wartości dla PSO to 400 deszyfrowań, a dla adaptacyjnego algorytmu genetycznego (AGA) [35] – 460 deszyfrowań. Podstawowa wersja algorytmu genetycznego (GA) nie znalazła rozwiązania nawet w 1024 iteracjach. Do badań autorzy użyli również wersji DES z liczbą rund zredukowaną z 16 do 6 oraz z kluczem zmniejszonym z 56 do 16 bitów, a także z usuniętymi S-Boksami. Dla DES najlepsze wyniki dało użycie technik: PSO, AGA oraz GA (podano w kolejności od najlepszej) [27]. W [34] przetestowano całą gamę metod heurystycznych: GA, PSO, symulowane wyżarzanie (SA), TS, algorytm pszczeli (BA) [30], optymalizacja żerowania bakterii (BFO) [29], systemy kukułcze (CS) [38]. Kryptoanalizie poddano ponownie SDES oraz DES z 16- i 32-bitowym kluczem. Najlepiej poradziło sobie PSO, najgorzej GA oraz BFO. Na DES (wersja z okrojoną liczbą rund, bez fazy inicjalizacyjnej oraz końcowej) przeprowadzono jeszcze jeden atak [36], wykorzystując metodę ataku z wybranym tekstem jawnym. Użyto do tego celu algorytmu genetycznego. Uzyskano dobre rezultaty dla liczby rund 6 lub mniej. Autorzy twierdzą, że przy odpowiednim zmodyfikowaniu funkcji przystosowania, ich algorytm można zastosować również do innych współczesnych szyfrów blokowych. Gdy metody heurystyczne nie były w stanie podołać kryptoanalizie samodzielnie, tworzono modele hybrydowe łączące wybraną metodę heurystyczną z bardziej „tradycyjną” metodą analityczną. W pracy [17] wykorzystano pomocniczo PSO oraz ewolucję różnicową (DE) [37] w kryptoanalizie różnicowej. Kryptoanaliza różnicowa to metoda ataku kryptologicznego polegająca na porównaniu dwóch szyfrogramów, które powstały w wyniku zaszyfrowania tym samym kluczem dwóch odmiennych od siebie tekstów jawnych. Teksty jawne są dobrane w pewien szczególny sposób, zależny od atakowanego systemu i pozwalający na analityczne wyliczenie występujących zależności, a na tej podstawie – użytego klucza. W opisywanym przypadku atakowi został poddany szyfr DES w wersji 4- i 6-rundowej. Kryptoanaliza różnicowa stanowi pierwszą fazę działania całego algorytmu i zapewnia 42 bity klucza, natomiast w drugiej fazie techniki adaptacyjne mają znaleźć pozostałe 14 bitów, co udaje się w 93-100%, ze średnią ok. 99%. Autorzy sugerują, że ich metoda jest możliwa do wykorzystania w przypadku innych szyfrów opartych na sieci Feistela (rys. 2). Podobnie kryptoanalizę różnicową, lecz tym razem wspartą przez algorytm genetyczny, zastosowano w [14] w celu złamania blokowego szyfru XTEA. Uzyskano bardzo dobre wyniki do 13 z 32 rund tego algorytmu – prawidłowo określono od 27 do 32 bitów 32-bitowego klucza. Podobnie jak 189 I. Polak, M. Boryczka Rysunek 2. Schemat sieci Feistela powyżej, i tutaj autorzy sugerują, że to podejście można rozszerzyć na inne szyfry oparte na sieci Feistela. Z kolei przy kryptoanalizie algorytmu AES, w wersji z jednym S-Boksem [13] wykorzystano uczenie maszynowe [23] wmetodzie SCA (side channel analysis), czyli analizie poboru mocy. Analiza poboru mocy jest to metoda bazująca najczęściej na konkretnej sprzętowej bądź programowej implementacji algorytmu. W trakcie takiej analizy sprawdza się pobór mocy podczas wykonywania poszczególnych faz algorytmu i na tej podstawie można uzyskać fragmenty lub poszczególne bity klucza. W artykule porównano różne wariacje metody; co w przypadku tego typu metod dość oczywiste, wyciągnięto wniosek, że dobór odpowiednich parametrów ma bardzo duże znaczenie w jakości otrzymywanych wyników. 3.3. Szyfry symetryczne strumieniowe W pracy skupiono się na aproksymacji strumieni bitów poprzez liniowe rejestry przesuwne ze sprzężeniem zwrotnym LFSR (Linear Feedback Shift Register), rys. 3. Podobne podejście zaprezentowano w pracy [1], lecz na znacznie krótszych ciągach bitów i rejestrach (do n = 8). W [31] przedstawiono początek prac w tym kierunku – próby znalezienia rejestru LFSR mając dany ciąg generowany przez rejestr LFSR (którego konstrukcja nie jest znana). W celu znalezienia odpowiedniego rejestru LFSR użyto algorytmów genetycznych. Dla rejestrów o długości do n = 32 uzyskano od 68% do 100% zgodności z zadanym strumieniem, ze średnią na poziomie 84%. Najlepsze rezultaty osiągnięto dla krótszych rejestrów, z mniejszą liczbą zaczepów. Wyniki dla losowego stanu początkowego przedstawino w tabeli 1. Jednak, ponieważ dla takiego przypadku znana jest analityczna metoda Berlekampa-Massey’a [19] dokładnego odtworzenia rejestru LFSR 190 Algorytmy inspirowane naturą w kryptoanalizie o długości n mając do dyspozycji długość wyjścia 2n, w dalszych badaniach skupiono się na aproksymacji strumieni bitów generowanych przez inne struktury. Rysunek 3. Rejestr przesuwny ze sprzężeniem zwrotnym – FSR. W przypadku LFSR funkcją sprzężenia zwrotnego jest alternatywa wykluczająca (XOR) wybranych bitów Autorzy niniejszej pracy podjęli próby aproksymacji generatora liczb pseudolosowych BBS (Blum-Blum-Shub) [5] oraz szyfrów strumieniowych A5/1 i A5/2 będących standardem szyfrowania rozmów w telefonii komórkowej GSM. Dla generatorów BBS z okresem o długości do 328 osiągnięto przy różnego rodzaju mutacjach wyniki z przedziału od 69% do 75% aproksymacji atakowanego strumienia bitów. Zbiorcze wyniki dla różnych rodzajów mutacji podano w tabeli 2. Na tej podstawie zdecydowano się w dalszym toku badań testować tylko najbardziej obiecujące rodzaje mutacji, tj.: 1. rozciągającą – rejestr zostaje wydłużony o jedno pole (rys. 4), 2. losowe przesunięcie – losowany jest jeden z zaczepów, a następnie przenoszony na inne, również losowo wybrane, miejsce (rys. 5). Rysunek 4. Mutacja rozciągająca Rysunek 5. Mutacja losowe przesunięcie 191 192 0111101111100110 0001100 x16 + x5 + x4 + x3 + 1 (USB 3.0) x7 + x3 + 1 (CRC-7, MMC) 0.710 x31 + x28 + x23 + x20 + x18 + x16 + x14 +x9 + x3 + x2 + x1 + +x18 + x17 + x16 + x13 + x12 + x7 + x6 +x4 + x3 + x2 + x1 + 1 x26 + x25 + x24 + x23 + x22 + x21 + x20 x7 + x3 + 1 x22 + x7 + 1 x22 + x21 + 1 Znaleziony wielomian 25 15 23 8 7 0,754 0,724 0,715 0,71 0,696 0,695 0,688 rozciągająca losowe przesunięcie zmiana na przeciwny sąsiednie przesunięcie zwężająca dodanie zaczepu usunięcie zaczepu 5 15 Średnia generacja Mutacja Tabela 2 Mutacja posortowana względem najlepszego przystosowania wszystkich testowanych generatorów BBS 110010010110 11100000000 1 0.679 1 Maksymalne dopasowanie Średnie najlepsze przystosowanie (wygenerowany losowo) x23 + x21 + x20 + x18 + x17 + x16 +x11 + x10 + x9 + x7 + x3 + 1 +x10 + x8 + x7 + x5 + x4 + x2 + x1 + 1 0000000000000000 (CRC-32-MPEG2, CRC-32-IEEE 802.3) 1110111010101110 00101100101 00000111010 x22 + x21 + 1 (A5/1) x32 + x26 + x23 + x22 + x16 + x12 + x11 Stan początkowy (losowy) Szukany wielomian Wyniki dla LFSR z losowym stanem początkowym 29 16 16 5 13 16 Pokolenie Tabela 1 I. Polak, M. Boryczka Algorytmy inspirowane naturą w kryptoanalizie W przypadku szyfrów A5/1 i słabszej odmiany A5/2 wyniki również są obiecujące. Algorytmy te składają się odpowiednio z trzech oraz czterech sprzężonych ze sobą rejestrów LFSR. Podczas badań przy aproksymacji z wykorzystaniem pojedynczego rejestru LFSR o długości z przedziału 20–30 uzyskano zgodność bitów generowanych przez ów znaleziony rejestr z bitami zadanego wyjścia na poziomie średnim 70%, a dla najlepszych przypadków do 77%. Oznacza to, że korzystając tylko z jednego rejestru LFSR można odszyfrować znaczącą część zaszyfrowanej wiadomości. Autorzy niniejszej pracy będą kontynuować kierunek swoich badań. 4. Algorytmy inspirowane naturą na rzecz kryptografii Warto również wspomnieć, że opublikowano pierwsze próby stworzenia algorytmów kryptograficznych opartych na metodach heurystycznych czy też wykorzystano te techniki pomocniczo przy generowaniu składników wykorzystywanych w kryptografii. Autorzy pracy [22] korzystając z algorytmów genetycznych projektują silnie nieliniowe, zrównoważone funkcje boolowskie, które wykorzystuje się w kryptografii do projektowania S-Boksów odpornych na kryptoanalizę liniową i różnicową. Taka pseudolosowa metoda zapewnia odpowiednią alternatywę dla systematycznych metod budowy kryptograficznie silnych funkcji boolowskich. Z kolei w pracy [25] zaproponowano kryptosystem oparty na algorytmie genetycznym z deterministycznymi operatorami krzyżowania i mutacji. Jest to o tyle ciekawe, że wszystkie omawiane do tej pory techniki heurystyczne mają to do siebie, iż dużą rolę gra w nich przypadek. Są one ze swojej natury losowe i przy każdym wywołaniu algorytmu można otrzymać odmienny wynik. Kryptosystem z kolei wymaga tego, aby zaszyfrowany tekst miał postać taką, by dało się go bez problemu rozszyfrować i otrzymać w wyniku tego sensowne dane. Najczęściej kryptosystemy buduje się w taki sposób, że dany tekst jawny po zaszyfrowaniu danym kluczem za każdym razem da taki sam szyfrogram. Jak widać założenia algorytmu genetycznego i algorytmu szyfrującego są ze sobą sprzeczne. Niemniej jednak autorom omawianej pracy udało się stworzyć modyfikację GA z determistycznymi operatorami krzyżowania i mutacji, która to modyfikacja dla danego tekstu jawnego i klucza wygeneruje za każdym razem ten sam szyfrogram. Co prawda wadą jest to, że szyfrogram zajmuje dwa razy więcej miejsca niż tekst jawny, jednakże sama idea takiego kryptosystemu jest dość oryginalna. Podobnie technikę optymalizacyjną wykorzystano w [2] do stworzenia kryptosystemu opartego na algorytmach genetycznych z pseudolosową 193 I. Polak, M. Boryczka sekwencją. W użytej wersji algorytmu z dwóch operatorów genetycznych wybrano tylko krzyżowanie. Stworzony szyfr jest szyfrem strumieniowym opartym na NLFSR (Non-Linear Feedback Shift Register). W swoich badaniach eksperymentalnych autorzy wykazali przepustowość wystarczająco dobrą dla rzeczywistych zastosowań. 5. Podsumowanie W pracy została przedstawiona cała gama algorytmów inspirowanych naturą w atakach na wiele kryptosystemów. Co prawda bardzo dobre wyniki są uzyskiwane jak dotąd tylko dla szyfrów klasycznych, niemniej jednak powolny, acz systematyczny postęp w łamaniu współczesnych obecnie używanych kryptosystemów pozwala domniemywać, że algorytmy genetyczne, mrowiskowe czy sieci neuronowe nie powiedziały jeszcze ostatniego słowa w tej kwestii. Z jednej strony cieszy, że współczesne kryptosystemy opierają się nowym technikom ataku, z drugiej strony trzeba się strzec i mieć na uwadze, że kryptoanaliza przy wykorzystaniu systemów inspirowanych naturą daje satysfakcjonujące rezultaty dla coraz silniejszych wersji alorytmów szyfrujących i być może dopracowanie tych technik pozostaje tylko kwestią czasu. Literatura [1] A. A. Abd, H. A. Younis, W. S., Awad, it Attacking of stream Cipher Systems Using a Genetic Algorithm, Journal of the University of Thi Qar, Volume 6, pp.1–6, 2011. [2] A. Almarimi, A. Kumar, I. Almerhag, N. Elzoghbi, A new approach for data encryption using genetic algorithms, 2006. [3] A. G. Bafghi, R. Safabakhsh, B. Sadeghiyan, Finding the differential characteristics of block ciphers with neural networks, Information Sciences, Vol.178, No 15, pp. 3118–3132, 2008. [4] K. P. Bergmann, Cryptanalysis Using Nature-Inspired Optimization Algorithms (master’s thesis), 2007. [5] L. Blum, M. Blum, M. Shub, A Simple Unpredictable Pseudo Random Number Generator, SIAM J. Comput. 15, 2, pp. 364–383, 1986. [6] V. Cerny, Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm, Journal of Optimization Theory and Applications, pp. 41–51, 1985. 194 Algorytmy inspirowane naturą w kryptoanalizie [7] J. A. Clark, Invited paper. Nature-inspired cryptography: Past, present and future, Proceedings of the 2003 Congress on Evolutionary Computation CEC2003, pp. 1647–1654, 2003. [8] M. Dorigo, D. Di Caro, L. M. Gambardella, Ant Algorithms for Discrete Optimization, Artificial Life, pp. 137–172, 1999. [9] P. Garg, A. Shastri, An Improved Cryptanalytic Attack on Knapsack Cipher using Genetic Algorithm, World Academy of Science, Engineering and Technology, pp.553–560, 2007. [10] p. Garg, A Comparison between Memetic algorithm and Genetic algorithm for the cryptanalysis of Simplified Data Encryption Standard algorithm, International Journal of Network Security & Its Applications (IJNSA), Vol.1, No 1, pp.34–42, April 2009. [11] F. Glover, Future Paths for Integer Programming and Links to Artificial Intelligence, Comput. Oper. Res., pp. 533–549, 1986. [12] F. Glover, Tabu SearchPart I, ORSA Journal on Computing, pp. 190–206, 1989. [13] G. Hospodar, B. Gierlichs, E. D. Mulder, I. Verbauwhede, J. Vandewalle, Machine learning in side-channel analysis: a first study, J Cryptogr Eng (2011), pp.293–302, 2011. [14] P. Itaima, M. C. Riffa, Applying Differential Cryptanalysis for XTEA using a Genetic Algorithm, 2008. [15] J. Kennedy, R. Eberhart, Particle swarm optimization, IEEE International Conference on Neural Networks, Proceedings, pp. 1942–1948, 1995. [16] S. Kirkpatrick, C. D. Gelatt, M. P. Vecchi, Optimization by Simulated Annealing, Science, Number 4598, pp. 671–680, 1983 . [17] E. C. Laskari, G. C. Meletiou, Y. C. Stamatiou, M. N. Vrahatis, Applying evolutionary computation methods for the cryptanalysis of Feistel ciphers, Applied Mathematics and Computation 184(1), pp. 63–72, 2007. [18] E. C. Laskari, G. C. Meletiou, Y. C. Stamatiou, D. K. Tasoulis, M. N. Vrahatis, Assessing the effectiveness of artificial neural networks on problems related to elliptic curve cryptography, Mathematical and Computer Modelling, Vol.46, No 12, pp.174–179, 2007. [19] J. L. Massey, Shift-register synthesis and BCH decoding, IEEE Transactions on Information Theory, Vol.15, No 1, pp.122–127, 1969. [20] Z. Michalewicz, Algorytmy genetyczne + struktuy danych = programy ewolucyjne, Warszawa, Wydawnictwa Naukowo-Techniczne, 2003. [21] Z. Michalewicz, D. B. Fogel, Jak to rozwiązać czyli Nowoczesna heurystyka, Warszawa, Wydawnictwa Naukowo-Techniczne, 2006. 195 I. Polak, M. Boryczka [22] W. Millan, A. Clark, E. Dawson, Heuristic design of cryptographically strong balanced Boolean functions, Advances in Cryptology EUROCRYPT’98, Lecture Notes in Computer Science, pp. 489–499, 1998. [23] T. M. Mitchell, Machine Learning, McGraw-Hill Inc., New York, NY, USA, 1997. [24] P. Moscato, On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic Algorithms, California Institute of Technology, 1989. [25] N. Nalini, G. Raghavendra Rao, A new encryption and decryption algorithm combining the features of genetic algorithm (GA) and cryptography, 1999. [26] N. Nalini, G. Raghavendra Rao, Cryptanalysis of Simplified Data Encryption Standard via Optimisation Heuristics, 2006. [27] N. Nalini, G. Raghavendra Rao, Experiments on Cryptanalysing Block Ciphers via Evolutionary Computation Paradigms, 2006. [28] A. M. Odlyzko, The rise and fall of knapsack cryptosystems, Cryptology and Computational Number Theory, pp. 75–88, 1990. [29] K. M. Passino, Bacterial Foraging Optimization, Int. J. Swarm. Intell. Res., vol. 1, no 1, pp. 1–16, 2010. [30] D. T. Pham i inni, The bees algorithm, Technical report, Manufacturing Engineering Centre, Cardiff University, UK, 2005. [31] I. Polak, M. Boryczka, Breaking LFSR Using Genetic Algorithm, Computational Collective Intelligence, Technologies and Applications, pp. 731–738, 2013. [32] M. D. Russell, J. A. Clark, S. Stepney, Making the Most of Two Heuristics: Breaking Transposition Ciphers with Ants, Evolutionary Computation, CEC ’03, Vol. 4, pp. 2653–2658, 2003. [33] B. Schneier, Kryptografia dla praktyków, Wyd. 2, Warszawa, Wydawnictwa Naukowo-Techniczne, 2002. [34] G. Selvi, T. Purusothaman, Cryptanalysis of Simple Block Ciphers using Extensive Heuristic Attacks, European Journal of Scientific Research, Vol.78 No.2 (2012), pp.198–221, 2012. [35] M. Srinivas, L. M. Patnaik, Adaptive probabilities of crossover and mutation in genetic algorithms, IEEE Transactions on Systems, Man, and Cybernetics, 4, pp. 656–667, 1994. [36] J. Song, H. Zhang, Q. Meng, Z. Wang, Cryptanalysis of Four-Round DES Based on Genetic Algorithm International Conference on Wireless Communications, Networking and Mobile Computing. WiCom. pp. 2326–2329, 2007. 196 Algorytmy inspirowane naturą w kryptoanalizie [37] R. Storn, K. Price, Differential Evolution – A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces, J. of Global Optimization, vol. 11, no 4, pp. 341–359, 1997. [38] X. -S. Yang, S. Deb, Cuckoo Search via Lvy Flights, NaBIC, IEEE, pp. 210–214, 2009. [39] I. F. T. Yaseen, H. V. Sahasrabuddhe, Breaking multiplicative knapsack ciphers using a genetic algorithm, Proceedings of the International Conference on Knowledge Based Computer Systems, p. 129–139, 1998. CRYPTANALYSIS USING NATURE-INSPIRED ALGORITHMS Abstract. Nowadays protection of information is very crucial and cryptography is a significant part of keeping information secure. Here in turn cryptanalysis plays an important role by examining the safety of ciphers used. Besides the analytical approach to ciphers breaking (eg. differential cryptanalysis, linear cryptanalysis, statistical analysis) for this purpose there are several kinds of non-deterministic, inspired by nature systems applied. It is not intuitive - as in cryptanalysis often it is important to find the exact key used (optimal solution) and every other solution is giving poor results, even if it is near global optimum. Keywords: cryptanalysis, metaheuristic, optimization algorithms, cryptology. TEST AUTOKORELACYJNY DLA CIĄGU BINARNEGO Krzysztof Mańk Wojskowa Akademia Techniczna, Wydział Cybernetyki, Laboratorium Badawcze Kryptologii 00-908 Warszawa, ul. S. Kaliskiego 2, [email protected] Streszczenie. W pracy tej prezentujemy wariant testu autokorelacyjnego dedykowany dla ciągów binarnych, dzielonych na bloki bitów. Dla proponowanego testu wyznaczyliśmy przybliżenie rozkładu statystyki testowej oraz przeprowadziliśmy analizę jego jakości. Pokazaliśmy również konsekwencje użycia testu przy podziale ciągu na wielobitowe bloki. Słowa kluczowe: test statystyczny, test losowości, test autokorelacyjny Wstęp W literaturze znaleźć można dwa warianty testu badającego ciąg liczb rzeczywistych zprzedziału [0, 1) pod kątem jego autokorelacji. Pierwszy zaproponowany został przez Donalda Knutha w powszechnie znanej Sztuce programowania [5], test ten polega na obliczeniu współczynnika korelacji pomiędzy badanym ciągiem, a jego cyklicznym przesunięciem o t pozycji. Drugi zwariantów znaleźć można, na przykład, wbibliotece TestU01 [2], przewiduje on jednak wyznaczanie współczynnika korelacji zniecyklicznym przesunięciem ciągu. Dopełnieniem dla nich jest test autokorelacyjny dla ciągu binarnego. W niniejszej pracy przedstawimy krótko obydwa warianty testu dla ciągu liczb rzeczywistych, skupiając się na poprawności określenia ich parametrów oraz podatności na implementację w środowisku o ograniczonych zasobach. W drugiej części zaproponujemy wariant testu i jego implementacji pozwalający na możliwie kompaktową implementację. Praca dofinansowana ze środków NCBiR na lata 2013-2018, w ramach projektu numer DOBR/0001/RON/ID1/2013/01. K. Mańk 1. Testy autokorelacyjne dla ciągu liczb rzeczywistych W tym rozdziale zakładać będziemy, że testowany jest ciąg U l = u1 , u2 , . . . , ul – ciąg l liczb rzeczywistych, zaś ui tworzą ciąg niezależnych zmiennych losowych o rozkładzie równomiernym na przedziale [0, 1) – co jest własnością weryfikowaną przez testy. 1.1. Test zaproponowany przez Knutha Knuth zaproponował wyznaczanie statystyki testowej postaci: (∑ )2 n n ∑ n ui ui+t − ui Scykl = i=1 n ∑ n i=1 i=1 u2i − (∑ n )2 , ui i=1 przy czym należy przyjąć, że badany ciąg jest postaci U n+t = u1 , u2 , . . . , un , u1 , . . . , ut . Dla dużych n można przyjąć, że opisuje ją zmienna losowa o rozkładzie normalnym, z wartością oczekiwaną µ = −1/(n − 1) i wariancją 24 n2 − . (n − 1)2 (n − 2) 5n2 Przeprowadzone przez nas testy wskazały, że rozkład i parametry statystyki testowej zostały poprawnie określone. Analiza testu pod kątem implementacji w strukturach programowalnych wskazała na dwie, dość istotne, wady, podnoszące zajętość struktury. Pierwszą z nich jest cykliczność stosowanego przesunięcia, oznacza to konieczność zapamiętania t − 1 początkowych elementów ciągu, w celu ich późniejszego użycia, drugą – występowanie aż trzech sum w statystyce testowej. Należy zaznaczyć, że obie te niedogodności można stosunkowo prosto przezwyciężyć. W pierwszym przypadku, poprzez przerzucenie ciężaru przechowania lub dwukrotnego wytworzenia wspomnianego fragmentu na stronę dostarczającą badany ciąg, co jednak może być z różnych względów nieakceptowalne, np. gdy układ wytwarzający implementowany jest wewnątrz tej samej struktury. W drugim przypadku rozwiązanie jest już proste i eleganckie, polega na skojarzeniu tego testu z testami momentów pierwszego i drugiego rzędu, na użytek których wyznacza się sumę i sumę kwadratów elementów ciągu. σ2 ≈ 200 Test autokorelacyjny dla ciągu binarnego 1.2. Test z niecyklicznym przesunięciem Implementację testu w przedstawionej poniżej wersji znaleźć można w bibliotece svaria, wchodzącej w skład pakietu testów TestU01. Występuje tam pod nazwą sample correlation test. Wyznaczana jest statystyka testowa: 1∑ 1 ui ui+t − , n i=1 4 n Sncykl = przy czym, odmiennie niż w poprzednim punkcie, badany jest, po prostu, ciąg U n+t = u1 , u2 , . . . , un+t . √ Podano, że dla dużych n zmienna losowa Sncykl 12n ma w przybliżeniu rozkład N (0, 1). Proponuje się przeprowadzanie testu zgodności, jako testu drugiego poziomu, dla wielokrotnych powtórzeń testu przedstawionego. Poprzez rezygnację z cykliczności przesunięcia udało się usunąć obie niedogodności, które sygnalizowaliśmy w poprzednim punkcie, niestety stronę analityczną autorzy potraktowali po macoszemu. Niezbyt złożone rachunki, pozwalają wyznaczyć prawidłową formułę opisującą wariancję statystyki testowej, dla której otrzymaliśmy: D2 [Sncykl ] = 13 t − . 144n 24n2 Drugi składnik jest w praktyce zaniedbywalny, wobec czego okazuje się, że rzeczywista wariancja jest o nieco ponad 8% większa od pierwotnie postulowanej. Jakie to może mieć znaczenie pokażemy na poniższym przykładzie. Załóżmy, że badanie zostało zaprojektowane przy użyciu pierwotnej formuły, na podstawie której wyznaczono kwantyle dziesiętne – test drugiego poziomu będzie testem zgodności Poissona, w którym rozróżnianych jest 10 klas, zaś poddany mu został generator posiadający założone własności. Tabela 1 przedstawia wartości pierwszych 5 kwantyli – pozostałe pominęliśmy ze względu na symetryczność rozkładu – oraz odpowiadających im prawdopodobieństw uwzględniających poprawną wartość wariancji (nie uwzględnialiśmy drugiego składnika). Takie ustalenie progów miało na celu uzyskanie równego 10% prawdopodobieństwa dla każdej z 10 klas. Jak widać, największe różnice występują dla skrajnych klas, dla których przekraczają one 9% wartości założonej, a spośród pozostałych największe są dla klas środkowych – tu odchylenie 201 K. Mańk wynosi niecałe 4%. Tabela 1 Kwantyle dziesiętne i odpowiadające im rzeczywiste prawdopodobieństwa założone prawdopodobieństwo kwantyl · √ n rzeczywiste prawdopodobieństwo rzeczywiste prawdopodobieństwo dlaklasy 0,1 −0,36995 0,10911 0,10911 0,2 −0,24296 0,20937 0,10026 0,3 −0,15138 0,30719 0,09782 0,4 −0,07314 0,40384 0,09665 0,5 0,0 0,50000 0,09616 Jeśli badaniu poddana zostanie seria ciągów pochodzących z idealnego generatora, to przeciętne częstości, otrzymywane dla poszczególnych klas, dążyć będą do przedstawionych powyżej prawdopodobieństw dla klas. Biorąc liczbę powtórzeń testu (liczność serii ciągów) wynoszącą 100, otrzymamy następujące średnie liczności dla poszczególnych klas: 10,911 9,616 10,026 9,665 9,782 9,782 9,665 10,026 9,616 10,911 Obliczone dla tych wartości prawostronne prawdopodobieństwo w teście zgodności równe jest 0,999999, co oznacza, że błąd określenia wariancji nie ma istotnego wpływu na otrzymywany wynik. Nawet jeśli zamiast wartości ułamkowych, przyjmiemy najbliższe liczby całkowite najlepiej pasujące do powyższych średnich: 11, 10, 10, 10, 9, 9, 10, 10, 10, 11, to i tak różnica nie będzie znacząca. Okazuje się jednak, że już dla liczby powtórzeń wynoszącej 430, liczone jak powyżej, prawdopodobieństwo spada poniżej 0,9, dla 610 – poniżej 0,5, zaś dla 980 – poniżej 0,01. Wynika z tego, że przeprowadzając test drugiego poziomu dla 1000 powtórzeń tego testu, niemal zawsze otrzymamy odpowiedź: ”Twój generator jest bardzo, ale to bardzo, zły.” Wyjątkiem mogą być sytuacje, gdy rozpatrywany generator jest naprawdę bardzo zły, gdyż wtedy może mieć zastosowanie ludowe porzekadło o dwóch minusach. 202 Test autokorelacyjny dla ciągu binarnego 2. Testy autokorelacyjne dla ciągu binarnego Zgodnie z tytułem, w rozdziale tym zajmiemy się badaniem ciągu binarnego sl = s1 , s2 , . . . , sl – ciąg binarny o długości l, gdzie si ∈ {0, 1} i tworzą one ciąg niezależnych zmiennych losowych z prawdopodobieństwem 1/2 otrzymania 0. 2.1. Test dla ciągu bitów Dla binarnego ciągu sn+t obliczana jest empiryczna korelacja z jego niecyklicznym przesunięciem o t pozycji: Ai = n ∑ (si ⊕ si+t ), i=1 gdzie ⊕ oznacza alternatywę wykluczającą (sumę modulo 2). Powyższa procedura jest tożsama z przeprowadzeniem testu momentów pierwszego rzędu dla bloku jednobitowego dla ciągu powstałego przez pobitowe dodanie modulo 2 ciągu wyjściowego i jego przesunięcia o t pozycji. Wobec powyższego statystyka testowa ma asymptotycznie rozkład określony formułą: (( Pr(At < x) = Φ n) 2 √ x− 2 n ) ( ) 1 (3) ( n) 2 √ − φ x− , 12n 2 x [3] 2 x2 ) − √ gdzie Φ(x) jest dystrybuantą rozkładu N (0, 1), a φ(3) = x(3−x e 2 2π jest trzecią pochodną gęstości tego rozkładu. Dla bardzo dużych n drugi składnik√można pominąć, otrzymując w ten sposób przybliżenie rozkładem N (n/2, n/2). 2.2. Test dla ciągu bloków d bitowych Testy opisane w punktach 1.2. i 2.1. są, z punktu widzenia obliczeń przy użyciu komputera cyfrowego, dwoma skrajnymi przypadkami – w drugim ciąg dzielony jest na bloki jednobitowe, a w pierwszym na, w teorii, nieskończonej długości, a w praktyce 32 bitowe. Tak długie bloki rodzą jednak dwa problemy: 203 K. Mańk • ciąg określonej długości można podzielić na stosunkowo niewiele takich bloków, • najmniej znaczące bity, okazują się być praktycznie nieznaczące, ze względu na ich marginalny wpływ na wartość statystyki testowej. Powyższe skłoniły nas do zaproponowania modyfikacji testu z punktu 1.2., która uwzględnia skończoną długość bloku. Wyjściowy ciąg binarny sd(n+t) dzielony jest na rozłączne bloki długości d bitów, które następnie utożsamiamy z liczbami naturalnymi ze zbioru {0, 1, 2, . . . , 2d − 1}. W ten sposób otrzymujemy ciąg liczb całkowitych C n+t = c1 , c2 , . . . , cn+t . Na podstawie założenia o równomierności i niezależności rozkładu bitów w ciągu wyjściowym, można również założyć, że tworzą one ciąg niezależnych zmiennych losowych o rozkładzie równomiernym na zbiorze {0, 1, 2, . . . , 2d − 1}. Wyznaczana jest statystyka testowa: d Sncykl = n ∑ ci ci+t , t > 0. i=1 Poniżej prezentujemy sposób wyznaczenia parametrów rozkładu i dystrybuanty statystyki testowej. Zakładamy, że dla dużych n mieć ona będzie, w przybliżeniu, rozkład normalny. Aby zminimalizować błąd tego przybliżenia posłużymy się formułą: [3], [9] ) 1 µ3 (2) 1 ( µ4 F (x) = Φ(x) − φ (x) + − 3 φ(3) (x) 3! σ 3 4! σ 4 1 ( µ5 µ3 ) (4) 10 ( µ3 )2 (5) − − 10 φ (x) + φ (x) 5! σ 5 σ3 6! σ 3 ) 35 µ3 ( µ4 280 ( µ3 )3 (8) (6) − − 3 φ (x) − φ (x) + . . . , 7! σ 3 σ 4 9! σ 3 gdzie: F (x) – dystrybuanta znormalizowanej statystyki testowej, Φ(x) – dystrybuanta standardowego rozkładu normalnego, φ(k) – k-ta pochodna gęstości standardowego rozkładu normalnego, σ – odchylenie standardowe d d zmiennej Sncykl , µk – moment centralny rzędu k zmiennej Sncykl . Oczywiście w prezentowanej powyżej formule jest nieskończenie wiele wyrazów, my jednak ograniczyliśmy się do wyznaczenia przedstawionych, co, jak pokażemy dalej, pomijając skrajne przypadki, jest znacznie nadmiarowe. 204 Test autokorelacyjny dla ciągu binarnego Istotnym ograniczeniem stosowalności powyższej formuły jest warunek niezależności składników sumy tworzącej zmienną losową – naszą statystykę testową. W oczywisty sposób warunek ten nie jest tutaj spełniony, w dalszej części pokażemy jednak, że wobec niewielkiej siły korelacji można ją zaniedbać. Rozpoczynamy od wyznaczenie momentów rzędu od 1 do 4 zmiennej d Sncykl . Ponieważ rachunki temu towarzyszące są dość żmudne i cechują się znaczną objętością, pozwolimy sobie zaprezentować tok postępowania na przykładzie momentów rzędu 1 i 2, dla kolejnych podając jedynie wynik końcowy. Dla momentu rzędu 1 mamy: m1 = d E[Sncykl ] =E [∑ n ]2 ci ci+t i=1 = n(E[ci ])2 = = n ∑ E[ci ci+t ] = i=1 n ∑ E[ci ]E[ci+t ] i=1 (2d − 1)2 n. 4 Skorzystaliśmy z addytywności wartości oczekiwanej i niezależności zmiennych ci i ci+t . Dla momentu rzędu 2 mamy: m2 = E [∑ n i=1 ]2 ci ci+t =E [∑ n i=1 2 (ci ci+t ) + 2 n−1 ∑ n ∑ ] ci ci+t cj cj+t . i=1 j=i+1 Pierwszy składnik jest prosty i wyznaczamy go tak, jak dla momentu rzędu 1. Dla drugiego rozpatrzyć należy dwa przypadki: gdy j = i + t oraz pozostałe. Tak więc dostajemy: m2 = nE[c2i c2i+t ] + 2(n − t)E[ci c2i+t ci+2t ] + (n2 − 3n + 2t)E[ci ci+t cj cj+t ] n d n−t d = (2 − 1)2 (2 · 2d − 1)2 + (2 − 1)3 (2 · 2d − 1) 36 12 n2 − 3n + 2t d (2 − 1)4 + 16 (2d − 1)2 = (9(2d − 1)2 n2 + (13 · 22d + 2 · 2d − 11)n 144 − 6(2d − 1)(2d + 1)t). 205 K. Mańk Przy pomocy dwóch powyższych momentów wyznaczamy wariancję: (2d − 1)2 (2d + 1) ((13 · 2d − 11)n − 6(2d − 1)t). 144 d µ2 = σ 2 = D2 [Sncykl ]= Dla kolejnych momentów i momentów centralnych mamy: m3 = E [∑ n (ci ci+t )3 + 3 i=1 +6 n ∑ ∑ (ci ci+t )2 cj cj+t i=1 j̸=i n−2 ∑ n−1 ∑ n ∑ ] ci ci+t cj cj+t ck ck+t i=1 j=i+1 k=j+1 (2 − 1)4 ( d 3(2 − 1)2 n3 + (2d + 1)(13 · 2d − 11)n2 192 ) d = − 2(2d + 1)(3(2d − 1)t − 4(2d + 1))n − 8(2d + 1)2 t , µ3 = m4 = 1 d (2 − 1)4 (2d + 1)2 (n − t), 24 (2d − 1)2 ( 675(2d − 1)6 n4 + 450(2d − 1)4 (2d + 1)(13 · 2d − 11)n3 28 33 52 − 25(2d − 1)2 (2d + 1)(108(2d − 1)3 t − A1 )n2 − 6(2d + 1)(50(2d − 1)3 (2d + 1)(37 · 2d − 35)t − A2 )n ) + 40(2d − 1)(2d + 1)(45(2d − 1)3 (11 · 2d − 7)t − A3 )t A1 = (2d + 1)(457 · 22d − 862 · 2d + 409), A2 = 327 · 25d + 167 · 24d − 2606 · 23d + 2514 · 22d + 367 · 2d − 753, A3 = 215 · 24d + 130 · 23d − 792 · 22d + 110 · 2d + 313, µ4 = 206 (2d − 1)2 (2d + 1) ( 25(2d − 1)2 (2d + 1)(13 · 2d − 11)2 n2 28 33 52 − 6(50(2d − 1)3 (2d + 1)(13 · 2d − 11)t − A2 )n ) + 20(2d − 1)(45(2d − 1)3 (2d + 1)t − A3 ) t Test autokorelacyjny dla ciągu binarnego (2d − 1)4 ( 175(2d − 1)6 n5 + 150(2d − 1)4 (2d + 1)(13 · 2d − 11)n4 210 33 5 − 25(2d − 1)2 (2d + 1)(36(2d − 1)3 t − A4 )n3 m5 = − 2(2d + 1)(150(2d − 1)3 (2d + 1)(25 · 2d − 23)t − A5 )n2 + 4(2d + 1)(225(2d − 1)4 (2d + 1)t2 − 5(2d − 1)A6 t − 16(2d + 1)A7 )n ) + 32(2d + 1)2 (75(2d − 1)3 (2d + 1)t + A8 )t , A4 = (2d + 1)(313 · 22d − 574 · 2d + 265), A5 = 3581 · 25d − 1699 · 24d − 13018 · 23d + 70 · 2d + 653, A6 = 595 · 24d + 170 · 23d − 1512 · 22d + 70 · 2d + 653, A7 = 37 · 24d − 120 · 23d + 214 · 22d − 120 · 2d − 23, A8 = 59 · 24d − 330 · 23d + 668 · 22d − 330 · 2d − 91, µ5 = (2d − 1)4 (2d + 1)2 ( 25(2d − 1)2 (2d + 1)(13 · 2d − 11)2 n2 26 33 5 − (25(2d − 1)2 (2d + 1)(19 · 2d − 17)t − A9 )n ) + 2(75(2d − 1)3 (2d + 1)t + A8 )t A9 = 148 · 24d − 480 · 23d + 856 · 22d − 480 · 2d − 92 Należy zaznaczyć, że powyższe formuły będą prawdziwe dla n ≥ 4t, co oznacza minimalną długość badanego ciągu wynoszącą 5t. W dalszej części pokażemy, że dla dużych długości ciągu możliwe będzie dopuszczenie przesunięć równych połowie długości ciągu. Dopuszczenie większych t, w pierwszym przypadku, wymagałoby dodatkowych żmudnych rachunków nie wnosząc do testu nowej jakości, przekroczenie przez t połowy długości ciągu równałoby się pomijaniu części wyrazów. Obliczone momenty pozwalają wyznaczyć wszystkie siedem, zaprezentowanych powyżej, składników rozwinięcia dystrybuanty. Posiłkując się nimi można również wyznaczyć współczynnik korelacji pomiędzy wyrazami sumy: d 3(2 − 1) , dla j = i ± t, corr(ci ci+t , cj cj+t ) = 7 · 2d − 5 0, w p.p. Przyjmuje on, jak widać, wartości uważane za przeciętne, należy jednak pamiętać, że dla określonego składnika niezerowa wartość pojawia się jedynie 207 K. Mańk w przypadku dwóch lub tylko jednego innego składnika, tak więc średnia korelacja jest odwrotnie proporcjonalna do długości ciągu. Jeśli w powyższych rozważaniach sumy zastąpimy odpowiednimi całkami, to wyznaczymy parametry dla testu z punktu 1.2. To samo można uzyskać dzieląc powyższe wyrażenia przez odpowiednią potęgę (2d − 1) i przechodząc z d do nieskończoności. Drugim istotnym spostrzeżeniem jest, że znany z literatury test zaprezentowany w punkcie 2.1. nie jest szczególnym przypadkiem powyższego. Stał by się nim, gdyby sumę modulo 2 zastąpić iloczynem. W kolejnym rozdziale zajmiemy się ustaleniem minimalnych wartości parametrów n i d, dla których uzasadnione jest posługiwanie się podanym przybliżeniem, jak również zastanowimy się nad koniecznością wykorzystywania w nim wszystkich siedmiu składników. Na koniec zbadamy relację pomiędzy dwoma przedstawionymi powyżej testami. 3. Analiza własności statystyki testu dla ciągu bloków d bitowych 3.1. Istotność składników rozwinięcia W punkcie tym sprawdzimy, czy wyznaczone w poprzednim punkcie przybliżenie dystrybuanty jest wystarczające. Jako jedną z miar wpływu każdego ze składników na wartość formuły przyjęliśmy największą, co do modułu, wartość przez niego przyjmowaną. Ponieważ parametry n, t i d mają wpływ jedynie na wartość współczynnika stojącego przed właściwą funkcją, więc niezależnie od nich można analitycznie wyznaczyć tę maksymalną wartość. W tabeli 2 zebraliśmy tak otrzymane wartości dla różnych kombinacji parametrów. Jeśliby ograniczyć się jedynie do tego wskaźnika, to bez wahania można by ograniczyć się do dwóch pierwszych składników, gdyż jedynie dla skrajnie małych n „poprawka” dawana przez największy z pozostałych przekracza kilka procent wartości wnoszonej przez drugi. Okazuje się, że równie istotne jak sama wartość maksymalna, jest również położenie argumentu jej odpowiadającego – w czterech przypadkach jest nim 0, w dwóch pozostałych są to wartości około ±0,617 i ±0,742, a więc wszystkie one położone są w centralnej części wykresu dystrybuanty, gdzie nad wszystkimi dominuje pierwszy składnik. Wykresy wszystkich składników, odpowiadające pierwszej z umieszczonych w tabeli 2 kombinacji parametrów, zamieściliśmy na rysunku 1. 208 Test autokorelacyjny dla ciągu binarnego Tabela 2 Maksymalne wartości bezwzględne uzyskiwane przez poszczególne składniki dla różnych kombinacji parametrów n, t i d n/t/d max|II| 10/1/1 0,0432 1000/1/1 0,0045117 1000/1/32 0,0032288 1000/100/32 0,0031203 106 /1/1 106 /1/32 1,4 · 10−4 1,0 · 10−4 10−8 3,2 · 10−8 max|III| 0,0045 0,0000568 0,0000319 0,0000274 5,7 · max|IV| 0,0057 0,0000054 0,0000022 0,0000023 1,7 · 10−10 7,0 · 10−11 10−7 7,6 · 10−8 max|V| 0,0135 0,0001475 0,0000756 0,0000706 1,5 · max|VI| 0,0053 0,0000070 0,0000028 0,0000023 2,2 · 10−10 8,9 · 10−11 10−10 1,2 · 10−10 max|VII| 0,0089 0,0000101 0,0000037 0,0000033 max|V| max|II| 0,3130 0,0327 0,0234 0,0226 3,2 · 0,0010 0,0007 Rysunek 1. Wykresy wszystkich wyznaczonych składników dla kombinacji parametrów 10/1/1 W przypadku pierwszego z nich jest to jedynie mały fragment, gdyż dostosowaliśmy zakres osi rzędnych do pozostałych, dystrybuanta standardowego rozkładu normalnego jest zaś powszechnie znana. Na rysunku tym, oprócz licznych maksimów i minimów lokalnych poszczególnych funkcji i ich wzajemnej relacji, zwrócić należy uwagę na jego lewy kraniec, który osobno przedstawiliśmy na rysunku 2. W wielu przypadkach, jak chociażby podczas pojedynczego badania, kiedy weryfikujemy hipotezę odnośnie jednego zadanego ciągu, istotniejsze od maksymalnych odchyleń w centralnej części stają się tzw. „ogony” rozkładu. Właśnie w tej części kolejne składniki mogą przeważać nad pierw209 K. Mańk Rysunek 2. Fragmenty wykresów wyznaczonych składników dla kombinacji parametrów 10/1/1 szym i takie zjawisko obserwujemy na rysunku 2. W tym konkretnym przypadku okazuje się, że otrzymana formuła jest nieprawidłowa, a ściślej rzecz biorąc, że dla tak małej długości ciągu, należałoby użyć większej liczby wyrazów rozwinięcia. Prowadzi to do otrzymania funkcji niemonotonicznej, a dodatkowo przyjmującej wartości ujemne, a taka nie może być dystrybuantą. Dobrze widać to na rysunku 3, gdzie zamieściliśmy wykres funkcji będącej sumą wszystkich siedmiu wyrazów rozwinięcia. Na tym samym rysunku nanieśliśmy również wykres funkcji odpowiadającej kombinacji 100/1/1, dla której dopiero analiza danych liczbowych pozwala dostrzec opisane wyżej nieprawidłowości, są one jednak na tyle małe, że nie wpływają na jakość otrzymywanych wyników. Analogiczne rozważania można powtórzyć dla prawej części rozkładu, z tą tylko różnicą, że rozpatrywać należy odległość otrzymywanych wartości od 1, nie od 0. Na drugim biegunie wykorzystania testu znajduje się badanie generatorów, w którym zakładamy, że dla źródła losowego otrzymywać będziemy ciąg prawdopodobieństw wybieranych, poprzez statystykę testową, z rozkładem równomiernym na przedziale (0, 1). Dla takiego ciągu powszechnie stosowany jest następnie klasyczny test Kołmogorowa – Smirnowa [6] lub jeden z testów z rodziny testów Andersona – Darlinga [1]. 210 Test autokorelacyjny dla ciągu binarnego Rysunek 3. Fragment wykresu rozwinięcia do siódmego wyrazu dla kombinacji parametrów 10/1/1 i 100/1/1 Dla naszych celów najwygodniejsze będzie odwołanie się do testu Kołmogorowa – Smirnowa, w którym miarą jakości jest maksymalne odchylenie dystrybuanty empirycznej od teoretycznej. Przedstawiona poniżej procedura, nie jest zgodna z założeniami testu, więc nie uprawnia do uzyskania ścisłych wskaźników liczbowych, tym niemniej pozwoli wychwycić interesujące nas zależności. Wykorzystaliśmy trzy warianty dystrybuanty, za podstawę przyjęliśmy rozwinięcie składające się z siedmiu wyrazów oraz wersje zredukowane tylko do pierwszego (I), dwóch pierwszych wyrazów (I + II), czterech wyrazów (I + II + III + V). Naszym celem była ocena możliwości wykorzystania tych zredukowanych przybliżeń. Dla każdego z trzech powyższych wariantów wyznaczaliśmy kolejne kwantyle, z krokiem 10−5 , a następnie dla nich obliczaliśmy prawdopodobieństwo według pełnej formuły. Na rysunkach od 4 do 6 prezentujemy odchylenia pomiędzy otrzymanymi prawdopodobieństwami a wartościami wyjściowymi, dla których zostały otrzymane, dla n wynoszących 100, 1000 i 10 000 oraz t i d równych 1. Na osi poziomej odkładane są kwantyle odpowiadające przypadkowi (I). Wykresy są bardzo podobne, szczególnie w przypadku przebiegu (I), gdzie, pomijając symetryzowanie się, różnią się jedynie skalą. To samo dotyczy przebiegów dla pozostałych dwóch wariantów. Zauważyć należy, że gasną one wyraźnie szybciej od pierwszego. 211 K. Mańk Rysunek 4. Wykres odchyleń dla n = 100 Rysunek 5. Wykres odchyleń dla n = 1000 Rysunek 6. Wykres odchyleń dla n = 10 000 Na rysunku 7 prezentujemy zależność pomiędzy długością ciągu, a maksymalnym odchyleniem dla poszczególnych wariantów. Dodatkowo, aby uwypuklić różne tempa gaśnięcia tych odchyleń, dla poszczególnych wariantów, liniami przerywanymi oznaczyliśmy przebieg dla wariantu (I + II) po przemnożeniu przez 20, zaś dla wariantu (I + II + III + V) po przemnożeniu przez 200. Wykres ten pokazuje, że wariant wykorzystujący jedynie pierwszy wyraz osiąga dokładność uzyskiwaną przez dwa pozostałe dla 212 Test autokorelacyjny dla ciągu binarnego Rysunek 7. Maksymalne odchylenia notowane dla poszczególnych wariantów w zależności od długości ciągu n = 100, dopiero dla ciągów o długości ok. 44 000 dla drugiego wariantu oraz przeszło 5 000 000 bloków dla trzeciego. Z kolei drugie przybliżenie daje błąd większy od 10 do przeszło 100 razy od trzeciego, przy czym górna wartość nie jest granicą, a wynika jedynie z zakresu przeprowadzonych obliczeń, co jednak ważniejsze ta ogromna różnica względna przekłada się na pomijalne: 4,5 · 10−8 różnicy bezwzględnej. Wydaje się, że nawet w przypadkach wymagających bardzo dokładnych wyników, już dla ciągów złożonych z 1000 bloków można ograniczyć się do formuły wykorzystującej jedynie dwa pierwsze wyrazy. Podsumowując ten punkt musimy przyznać, że dla bardzo małych n – rzędu dziesiątek, jeśli potrzebujemy precyzyjnych wyników dla ogonów rozkładu, podane przez nas przybliżenie okazuje się niewystarczające. Dla ciągów złożonych z setek wyrazów musimy zaś korzystać z proponowanego siedmiowyrazowego rozwinięcia, które dalej można ograniczyć do pięciu wyrazów. Jeśli weźmiemy pod uwagę maksymalne różnice pomiędzy wartościami uzyskiwanymi przy użyciu poszczególnych wariantów, to okazuje się, że nawet dla ciągów do 1000 bloków, wystarczające jest rozwinięcie wykorzystujące 4 wyrazy, zaś dla dłuższych, można ograniczyć się do dwóch pierwszych wyrazów. 213 K. Mańk 3.2. Zbieżność składników rozwinięcia Powyżej nie zaprezentowaliśmy formuły określającej dystrybuantę, a jedynie podaliśmy wystarczające do tego momenty centralne. Nigdy też nie wyznaczyliśmy jej explicite, zawsze posługiwaliśmy się rozbiciem na poszczególne wyrazy, gdyż w całości byłaby ona zbyt chaotyczna i nie wnosiłaby nic do rozważań. Tu również rozważać będziemy każdy z wyrazów z osobna. Naszym pierwszym krokiem będzie spojrzenie na to w jaki sposób zależą współczynniki kolejnych wyrazów od n. W części przypadków posłużyliśmy się uproszczeniem polegającym na prezentowaniu jedynie dominującego składnika. Wybrane wyniki prezentujemy w tabeli 3. Część podawanych wartości liczbowych jest jedynie dziesiętnymi przybliżeniami. Tabela 3 Dominujący składnik opisujący wpływ parametru n na współczynniki kolejnych wyrazów t/d 1/1 − wyraz II 9(31n−82) (5m−2)2 wyraz III − wyraz IV wyraz VII 4(2n−1) (5n−2)5/2 8(n−1)2 (5n−2)3 wyraz V wyraz VI 4(n−1) (5n−2)3/2 − 1/32 n/4/1 √ −0,256/ n 2 − 92√n 0,058/n √ 0,0583/n n 0,0328/n (n−1)(31n−82) 3(5n−2)7/2 √ −0,0149/n n 32(n−1)3 3(5n−2)9/2 √ −0,0028/n n − √ 7 162n √ 28 √ 2 243n n 4 81n √ 7 √ 2 − 729n n √ 8 2√ − 2187n n n/4/32 √ −0,231/ n 0,0335/n √ 0,0643/n n 0,0266/n √ −0,00774/n n √ −0,00205/n n Dla każdego z wyrazów analizujemy cztery kombinacje wartości parametrów t i d, przyjmujących swoje skrajne wartości. W przypadku t są to 1 i n/4, dla d przyjęliśmy 1 i 32. Ostatnia jest wartością czysto arbitralną, ale też oczywistą. We wszystkich przypadkach współczynniki zbiegają do 0 wraz ze wzrostem n. Tempo zbiegania jest najsłabsze dla drugiego wyrazu, co doskonale zgadza się z wynikami zaprezentowanymi w tabeli 2. Wyniki zawarte w tabeli 3 były podstawą do wyboru wariantów, które rozpatrywaliśmy w poprzednim punkcie – decydował wykładnik potęgi n dominującego składnika. Przebiegi na rysunku 7 niemal √ idealnie odpowia√ dają funkcjom proporcjonalnym do 1/ n, 1/n oraz 1/n n, a więc dominującym składnikom odrzuconych wyrazów. 214 Test autokorelacyjny dla ciągu binarnego Powyższe potwierdza, że poszczególne składniki, wraz ze wzrostem długości ciągu, kolejno przestają istotnie wpływać na wyznaczaną wartość, zaś dla bardzo dużych n można ograniczyć się jedynie do pierwszego składnika. Dodatkowym zyskiem, w takim przypadku, jest możliwość rozszerzenia zakresu wartości przesunięcia t do n/2. 3.3. Zgodność W punkcie 2.2. zaznaczyliśmy, że stosowane przybliżenie rozkładem normalnym, nawet wykorzystujące dodatkowe składniki, będzie prawdziwe dla dużych n. Wynika to z faktu, że elementy sumy nie mają rozkładu normalnego, nawet w przybliżeniu. Konsekwencje tego pokazujemy na poniższym przykładzie. Załóżmy, że chcielibyśmy przeprowadzać test dla ciągów od długości 31 bitów. Możemy przyjąć następujące wartości parametrów n = 30, t = 1, d = 1, wówczas, według wyprowadzenia z punktu 2.2., dystrybuanta ma postać: √ ( ( )) ( 15 37 d P Sncykl < + x ≈ Φ(x) + 2613,9 − 855,8x − 2408,6x2 2 2 2 ) e x2 + 699,3x − 213,7x − 82,8x + 41,5x − 1,8x 105 3 4 5 6 8 przy czym wszystkie wartości zostały zaokrąglone do jednego miejsca po przecinku. W rzeczywistości statystka testowa przyjmuje zaledwie 31 wartości całkowitych z zakresu 0 . . . 30. Tabela 4 zawiera funkcję prawdopodobieństwa dla tej dyskretnej zmiennej losowej, w drugiej kolumnie umieściliśmy prawdopodobieństwa uzyskiwane przy użyciu powyższej formuły. Z kolei na rysunku 8 zamieszczamy wykres dystrybuanty rzeczywistej i dla porównania wykres pokazanej powyżej funkcji z zaznaczeniem wartości odpowiadających argumentom całkowitoliczbowym. Zarówno dane w tabeli, jak i wykresy na rysunku pokazują, że powyższa formuła jest złym przybliżeniem rzeczywistego rozkładu. Jest praktycznie niemożliwe, aby dobry generator przeszedł test wykorzystujący przedstawione „przybliżenie”, gdy testem drugiego poziomu będzie test Kołmogorowa-Smirnowa. Jeśli jednak w tej roli wykorzystamy test zgodności Pearsona, to dopiero dla kilkuset powtórzeń zaobserwujemy pogarszanie się wyników. Okazuje się, że na dokładność przybliżenia wpływa nie tylko liczba bloków n, ale też liczba bitów składających się na pojedynczy blok d. 215 K. Mańk Tabela 4 Funkcja prawdopodobieństwa dla przypadku n = 30, t = 1, d = 1 i prawdopodobieństwa uzyskane na podstawie przybliżenia rozkładem normalnym d |pi −P (i−1≤Sncykl <i)| d Sncykl =i pi d P (i − 1 ≤ Sncykl < i) 0 0,00164 0,00021 87,5 1 0,00857 0,00491 42,7 2 0,02432 0,01596 34,4 3 0,04928 0,03604 26,9 4 0,07927 0,06381 19,5 5 0,10706 0,09352 12,6 6 0,12557 0,11737 6,5 7 0,13080 0,12941 1,1 8 0,12292 0,12787 4,0 pi 9 0,10541 0,11482 8,9 10 0,08321 0,09452 13,6 11 0,06085 0,07179 18,0 12 0,04143 0,05067 22,3 13 0,02636 0,03349 27,0 14 0,01572 0,02082 32,4 15 0,00881 0,01214 37,8 16 0,00464 0,00658 41,9 17 0,00230 0,00331 43,6 18 0,00108 0,00155 44,0 19 0,00047 0,00070 47,4 ≥ 20 0,00031 0,00053 70,9 · 100% Rozważmy przypadek n = 2, t = 1, d = 10, a więc odpowiadający ciągowi niemal tej samej długości, jak powyżej. Jak widać na rysunku 9, w znacznej części wykres dystrybuanty pokrywa się niemal dokładnie z wykresem funkcji wynikającej z przybliżenia. Jedynie dla początkowego fragmentu, odpowiadającego około 20% przypadków, różnica jest znacząca, podczas gdy dla takiego n moglibyśmy spodziewać się wszystkiego poza zgodnością. Jeśli zwiększymy długość ciągu do, w dalszym ciągu bardzo małej wartości, 310 bitów i przyjmiemy n = 30, t = 1, d = 10, to okaże się, że dopiero dla ponad 180 powtórzeń testu, w teście Kołmogorowa-Smirnowa otrzymamy systematyczny błąd na poziomie 5%, dla 410 powtórzeń – 10%. Wyniki te otrzymaliśmy na podstawie przeprowadzenia 109 powtórzeń testu dla ciągów pochodzących z rejestru LFSR maksymalnego okresu o długo216 Test autokorelacyjny dla ciągu binarnego Rysunek 8. Dystrybuanta dla przypadku n = 30, t = 1, d = 1 oraz funkcja uzyskana na podstawie przybliżenia rozkładem normalnym Rysunek 9. Dystrybuanta dla przypadku n = 2, t = 1, d = 10 oraz funkcja uzyskana na podstawie przybliżenia rozkładem normalnym ści 128 bitów oraz algorytmu TRIVIUM. Zastosowaliśmy te dwa źródła ze względu na oferowaną przez nie szybkość generacji, jak również dobre własności statystyczne – udowodnione w przypadku LFSRa [4] i powszechnie przebadane w drugim przypadku. Źródła te wykorzystywane były również w dalszej części, we wszystkich przypadkach dawały one zgodne wyniki, innymi słowy przy użyciu omówionych tu testów atak odróżniający zakończył się niepowodzeniem, co potwierdza zasadność dokonanego doboru. 217 K. Mańk Ostatecznie postawiliśmy sobie pytanie, jaka powinna być długość badanego ciągu, aby otrzymywane wyniki uznać za wiarygodne. Wybraliśmy dwa warianty użycia testu, w pierwszym wykonywana jest niewielka liczba powtórzeń – u nas 10, w drugim bardzo duża – 10 000, następnie rozkład uzyskanych prawdopodobieństw przyrównywany jest do rozkładu równomiernego na przedziale [0, 1] przy użyciu statystyk K+ i K− Kołmogorowa – Smirnowa, pełniących rolę testu drugiego poziomu. Dla danej kombinacji d i n powyższa procedura powtarzana była, dla każdego ze źródeł, 10 000 razy, w celu oszacowania częstości, z jaką w teście drugiego poziomu otrzymywane są prawdopodobieństwa nie większe od: 1%, 5%, 10% i 50%. Na rysunkach 10 i 11 przedstawiliśmy wykresy częstości uzyskanych dla poszczególnych progów, dla jednobitowego bloku, w zależności od dłu- Rysunek 10. Częstości, z jakimi w teście drugiego poziomu otrzymywano prawdopodobieństwa nie większe od 1, 5, 10 i 50% dla t = 1 i d = 1, w zależności od długości ciągu, przy liczbie powtórzeń 10 gości badanego ciągu. Rysunek 10 przedstawia obraz dla liczby powtórzeń 10, zaś rysunek 11 dla 10 000. Linie przerywane ograniczają pasy odpowiadające 99% obszarowi centralnemu w schemacie Bernoulliego, dla każdego z przypadków. Obie osie mają skalę logarytmiczną. Jak widać, począwszy od n = 250 (pionowa czerwona linia), możemy już mówić o niewielkich odchyleniach, zaś od 1000 o dobrej zgodności, a tym samym jakości, uzyskiwanych wyników. 218 Test autokorelacyjny dla ciągu binarnego Po znormalizowaniu przebiegi dla wszystkich czterech przypadków wykazują bardzo dużą zgodność. Inny obraz uzyskujemy, gdy liczba powtórzeń testu wynosi 10 000. Otrzymane przez nas przebiegi prezentujemy na rysunku 11. Rysunek 11. Częstości, z jakimi w teście drugiego poziomu otrzymywano prawdopodobieństwa nie większe od 1, 5, 10 i 50% dla t = 1 i d = 1, w zależności od długości ciągu, przy liczbie powtórzeń 10000 Na podstawie powyższego wykresu przyznać należy, że dla jednobitowego bloku przedstawione przez nas przybliżenie dystrybuanty zaczyna być akceptowalne dopiero dla ciągów o długości miliona bitów. Dla krótkich ciągów, przy dużej liczbie powtórzeń, test drugiego poziomu wskaże na istotne odchylenie od losowości – np. dla ciągu o długości 1000 bitów mamy ok. 50% prawdopodobieństwo otrzymania wyniku poniżej 0,01, nawet, jeśli badany jest „dobry” generator. Dla większych wartości d otrzymywane przebiegi są bardzo podobne, przy czym zmienia się skala osi odciętych. W tabeli 5 przedstawiliśmy minimalne długości ciągu, dla których uznaliśmy, że test Kołmogorowa-Smirnowa nie wykrywa błędu wyznaczenia rozkładu statystyki testowej. W trakcie obliczeń przyjęliśmy, że minimalną wartością n jest 5, stąd też wynikają wartości otrzymane dla 10 powtórzeń. Dla d ≥ 5 wystarczające są długości ciągów pozwalające uzyskać kilka bloków. 219 K. Mańk Tabela 5 Minimalne długości ciągu wymagane do uzyskiwania poprawnych wyników w teście drugiego poziomu d 10 powtórzeń testu 10 000 powtórzeń testu 1 250 1 000 000 2 20 150 000 5 30 100 10 60 200 20 120 440 30 180 570 W przypadku 10 000 powtórzeń widać, że bloki 1 i 2 bitowe sprawiają poważne problemy, które wynikają z dyskretnego charakteru obliczanej statystyki – w przeciwieństwie do przyjętego przez nas ciągłego przybliżenia. Test Kołmogorowa-Smirnowa wykrywa dla małych n całkowicie prawidłowe „schodki”, takie jak te, które widać na rysunku 8. Dopiero na dużych n lub d stają się one na tyle drobne i gęste, by wystarczająco mogły być przybliżone linią ciągłą. Jak duże znaczenie ma w tym przypadku d można sobie uzmysłowić porównując liczbę wartości przyjmowanych przez statystykę testową dla różnych kombinacji d i n. Na przykład dla d = 5 i n = 19, co oznacza ciąg o długości 100 bitów, statystyka testowa przyjmuje wartości z zakresu od 0 do 18 259 (przy czym nie wszystkie wartości pośrednie są możliwe). Dla d = 1 uzyskanie takiej rozpiętości wymaga ciągu prawie 183 razy dłuższego. Z kolei dla d = 30 już dwa bloki dadzą zakres 6 · 1013 razy większy, w tym jednak przypadku n = 1 jest stanowczo zbyt małe, by zaczęło działać centralne twierdzenie graniczne. Podsumowując ośmielamy się stwierdzić, że zaproponowane przybliżenie jest satysfakcjonująco dobre nawet dla małych d i bardzo dobre dla większych. Co więcej, wymagana dla przypadku d = 1, przy bardzo dużej liczbie powtórzeń, długość ciąguwynosząca milion bitów nie jest przesadnie duża – jest ona używana chociażby w pakiecie Statistical Test Suite [8], zaś w pakiecie DIEHARD [7] jest wielokrotnie większa. 4. Czy potrzebujemy tego testu W rozdziale tym pokażemy dwa powody, które sprawiają, że proponowany test można traktować jako coś więcej aniżeli tylko kolejną wariację na temat autokorelacji ciągu. 220 Test autokorelacyjny dla ciągu binarnego 4.1. Jest test z niecyklicznym przesunięciem Zgodnie z tytułem tego punktu, nie ukrywamy, że test dla ciągu liczbowego, przedstawiony w punkcie 1.2., był punktem wyjścia do naszych rozważań, a bezpośrednim impulsem do ich przeprowadzenia było spostrzeżenie przedstawione poniżej. Rozważmy przykład, w którym przeprowadzamy test dla ciągu o długości 3000 bitów, który dzielony jest na bloki 30 bitowe, przesunięcie wynosi 1 blok. Statystyka testu z punktu 1.2. ma wówczas rozkład ( √ ) 1 13 N 0, − , 144 · 99 24 · 992 zaś w zaproponowanym przez nas teście dostajemy: ( d P (Sncykl < (E+σx)) ≈ Φ(x) + 10275 − 1275,9x − 10170x2 + 1081,5x3 2 ) e− x2 , − 123,1x − 131,23x + 25,495x − 1,122x 106 4 5 6 8 gdzie E= (230 − 1)2 · 99 4 i σ= (230 + 1)(230 − 1)2 (1281 · 230 − 1083) . 144 W obu przypadkach dostajemy niemal równoważne formuły, różniące się jedynie brakiem standaryzacji wartości przypisywanych blokom oraz niewielką poprawką wnoszoną przez kolejne składniki rozwinięcia. Poszukiwać będziemy takich minimalnych wartości pojedynczego bloku, które prowadzą do przyjęcia przez statystykę testową wartości równych kwantylom rzędów: 0,99, 0,5, 0,01 oraz 10−6 . Kwantyle te to: 1,9805 · 264 , 1,5469 · 264 , 1,1132 · 264 oraz 1,3216 · 263 . Zakładając, że wszystkie bloki mają tę samą wartość, to jest nią odpowiednio: 1,1315 · 229 , 229 , 1,6966 · 228 oraz 1,3072 · 228 . Wszystkie one są większe od 228 , co oznacza, że ich reprezentacja binarna jest liczbą co najmniej 29 bitową. Oznacza to też, że jeśli w każdym bloku dwa najbardziej znaczące bity będą równe 0, to wartość pozostałych nie będzie miała praktycznie żadnego znaczenia – nie uzyskamy prawdopodobieństwa większego do 10−6 . Te dwa bity, na każde 30 mają większe znaczenie, aniżeli pozostałych 28. 221 K. Mańk Aby uzyskać ścisłą miarę istotności poszczególnych bitów, wyznaczyliśmy wartość oczekiwaną wartości bezwzględnej zmiany prawdopodobieństwa uzyskiwanego w teście, na skutek zmiany wartości bitu znajdującego się na wybranej pozycji. Użycie wartości bezwzględnej wynika z faktu, że obserwowane zmiany mają, dla małych różnic, symetryczny charakter, a więc brane wprost kompensowałyby się do zera. Do wyznaczania interesującej nas miary posłużyliśmy się formułą: ∫1 ∇1 = 0 2 −12 −1 f (F −1 (p)) ∑ ∑ (F (F −1 (p)+(a+b)2i )−F (F −1 (p)−(a+b)2i ))dp, 22d+1 a=0 d d b=0 gdzie F (·) jest dystrybuantą rozkładu statystyki testowej, a f (·) jego gęstością, zaś i = 0, 1, . . . , d − 1 jest pozycją bitu, którego istotność rozpatrujemy. W przedstawionych tu rozważaniach ograniczamy się jedynie do bitów z „wewnętrznych” bloków, tzn. takich, które pojawiają się dwukrotnie w sumie będącej statystyką testową. W przypadku bitów z „zewnętrznych” bloków wystarczy wszystkie prezentowane wyniki podzielić przez 2. Powyższe całkowanie wykonaliśmy numerycznie, posiłkując się kwantylami rozkładu normalnego, a dla d > 15 wartości sumy (a + b) przeglądaliśmy z krokiem 256 (przeprowadziwszy uprzednio sprawdzenie, że nie powoduje to istotnej zmiany uzyskiwanych wyników). W tabeli 6 zebraliśmy wyniki uzyskane dla wybranych długości bloku, założyliśmy stałą długość ciągu, wynoszącą 600 bitów i przesunięcie równe 1 blok. Dane zawarte w tabeli 6 pokazują, jak ogromne są dysproporcje wpływu bitów znajdujących się na poszczególnych pozycjach w bloku. Dla ustalonej długości bloku d, wpływ każdego kolejnego, mniej znaczącego, bitu jest dwukrotnie mniejszy od poprzedniego. Iloraz ten jest stały i niezależny od d. Prowadzi to do prostej konkluzji, że najbardziej znaczące bity poszczególnych bloków wpływają na wartość otrzymywanego w teście prawdopodobieństwa w równym (a ściśle biorąc nieco większym) stopniu, co wszystkie pozostałe razem wzięte. Rozważania z początku tego punktu możemy uzupełnić o stwierdzenie, że nie tylko w skrajnych przypadkach dwa najbardziej znaczące bity, w 30 bitowych blokach, decydują o wartości uzyskanego prawdopodobieństwa, ale też średnio biorąc ich wpływ przewyższa trzykrotnie wpływ wszystkich pozostałych. Drugą obserwacją jest narastający wpływ najbardziej znaczącego bitu, towarzyszący wzrostowi długości bloku. Na rysunku 12 przedstawiliśmy wykresy zależności przeciętnego wpływu najbardziej znaczącego bitu bloku na wartość prawdopodobieństwa w funkcji długości bloku. 222 Test autokorelacyjny dla ciągu binarnego Tabela 6 Średni wpływ poszczególnych bitów w bloku na wartość prawdopodobieństwa w teście d=2 d = 20 d = 30 i n = 299 i n = 29 i n = 19 0 0,0188056 0 0,00000033 0 0,0000000004 1 0,0375535 1 0,00000067 1 0,0000000008 2 0,00000134 2 0,0000000016 3 0,00000268 3 0.0000000032 i d=5 n = 119 4 0,00000536 4 0,0000000065 0 0,0052052 5 0,00001072 5 0,0000000130 1 0,0104101 6 0,00002144 6 0,0000000260 2 0,0208171 7 0,00004288 7 0,0000000519 3 0,0416104 8 0,00008576 8 0,0000001039 4 0,0830301 9 0,00017151 9 0,0000002078 10 0,00034303 10 0,0000004155 d = 10 11 0,00068606 11 0,0000008311 i n = 59 12 0,00137212 12 0,0000016621 0 0,0002394 13 0,00274423 13 0,0000033243 1 0,0004787 14 0,00548841 14 0,0000066486 2 0,0009575 15 0,01097643 15 0,0000132971 3 0,0019149 16 0,02194976 16 0,0000265942 4 0,0038299 17 0,04387475 17 0,0000531885 5 0,0076596 18 0,08755192 18 0,0001063770 6 0,0153181 19 0,17354410 19 0,0002127539 7 0,0306278 20 0,0004255078 8 0,0611880 21 0,0008510154 9 0,1218381 22 0,0017020290 23 0,0034040470 24 0,0068080010 25 0,0136152700 26 0,0272246400 27 0,0544021700 28 0,1084294000 29 0,2139194000 Niebieski kolor odpowiada sytuacji przedstawionej w tabeli 6. Warto zauważyć, że począwszy od d = 8, obserwowany przyrost, można traktować jako liniowy – aproksymacja liniowa ma dla tego fragmentu współczynnik 223 K. Mańk dopasowania R2 = 0,9931, a więc bardzo wysoki. Z kolei dla przypadku, gdy stała jest liczba bloków, począwszy od d = 10, wartość wpływu pozostaje praktycznie stała – łączny przyrost nie przekracza 0,2%. Wynika z tego, że dla większych długości bloku, przy stałej długości ciągu, za wzrost znaczenia najbardziej znaczącego bitu, odpowiada malejąca liczba bloków, jakie z takiego ciągu można wyodrębnić. Rysunek 12. Zależności przeciętnego wpływu najbardziej znaczącego bitu bloku na wartość prawdopodobieństwa w funkcji długości bloku Na podstawie obserwacji poczynionych w tym punkcie rekomendujemy, by zaproponowany test stosować dla podziału na bloki nie dłuższe niż 8 do 10 bitów. Jednocześnie przestrzegamy przed wykorzystaniem testu omówionego w punkcie 1.2. z użyciem tak krótkich bloków. Dla obu tych testów, w przypadkach gdy konieczne byłoby przyjęcie dużych wartości d, obroną przed nieuwzględnianiem mniej znaczących bitów jest trik, znany z pakietu DIEHARD, polegający na serii podziałów przesuniętych względem siebie o pojedyncze pozycje bitowe. Trzeba jednak pamiętać, że prowadzi to do uzyskiwania serii skorelowanych statystyk, co może znacząco utrudnić interpretację otrzymywanych wyników. 4.2. Jest test dla ciągu bitów Drugim spostrzeżeniem jest bliskość testu dla ciągu bitów i proponowanego testu przy jednobitowym bloku. Różnica między nimi sprowadza się 224 Test autokorelacyjny dla ciągu binarnego do zmiany operacji bitowej alternatywy wykluczającej (popularnie XOR) na iloczyn. Okazuje się ona jednak ważna i prowadzi do uzyskania dwóch istotnie różnych testów. Przeprowadzone przez nas eksperymenty wskazują, że uzyskiwane dla obu testów, dla tego samego ciągu, prawdopodobieństwa wykazują dodatnią korelację na poziomie kilkunastu procent, a więc bardzo niskim. Co więcej punkty, których współrzędne odpowiadają obu testom, dość równomiernie pokrywają kwadrat jednostkowy. Powyższe sprawia, że wyniki testu omówionego w punkcie 2.1. można traktować jako praktycznie niezależne od uzyskiwanych w teście proponowanym, w związku z czym wskazane i całkowicie poprawne jest wykorzystanie ich obok siebie. Podsumowanie Zaprezentowany w niniejszej pracy wariant testu autokorelacyjnego może, w badaniu ciągów binarnych, z powodzeniem zastąpić obydwa testy zaprojektowane dla ciągu liczbowego. Jednocześnie, dzięki stosowaniu krótkich bloków, możliwe jest usunięcie marginalizacji wpływu znaczącej części bitów, pojawiającej się podczas stosowania długich bloków. Przeprowadzone eksperymenty pokazały, że dokładność zaproponowanego przybliżenia rozkładu statystyki testowej jest bardzo dobra już dla bloków 5 bitowych, przy wszystkich długościach badanego ciągu, zaś nawet dla podziału jednobitowego wymaga ciągów o niewygórowanej długości. Na koniec chcemy dodać, że wszystkie te zalety osiągamy kosztem niewielkiej komplikacji procedury obliczającej dystrybuantę rozkładu statystyki testowej – wyznaczenie kilku współczynników zależnych od parametrów testu, wartości wielomianu 8 stopnia w punkcie oraz funkcji eksponent. Literatura [1] T.W. Anderson, D.A. Darling, Asymptotic Theory of Certain Goodness of Fit Criteria Based on Stochastic Processes, Annals of Mathematical Statistics, 23, 2, 1952 [2] P. LEcuyer, R. Simard, TestU01: A Software Library in ANSI C for Empirical Testing of Random Number Generators, Universite de Montreal, 2007 [3] B. Gniedenko B., A.N. Kołmogorow, Rozkłady graniczne sum zmiennych losowych niezależnych, PWN, Warszawa, 1957 225 K. Mańk [4] S.W. Golomb, Shift Register Sequences, San Francisco, Holden-Day, 1967 [5] D.E. Knuth, Sztuka programowania, t.2. Algorytmy seminumeryczne, WNT, 2002 [6] K. Mańk, Dokładne dystrybuanty statystyk w testach momentów 1 i 2 rzędu, Biuletyn WAT, KryptologiaIV, Warszawa, 2004 [7] G. Marsaglia, DIEHARD Battery of Tests of Randomness, 1995 [8] A. Rukhin i inni, A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800–22, 2010 [9] R. Wieczorkowski, R. Zieliński, Komputerowe generatory liczb losowych, WNT, Warszawa, 1997 AUTOCORRELATION TEST FOR BINARY STREAM Abstract. In paper we present a variant of autocorrelation test designed for binary streams divided into blocks. An approximation of tests statistic distribution as well as analysis of its quality is also given. Finally consequences of usage of long blocks are shown. Keywords: statistical test, randomness test, autocorrelation test NIEKOWALNE EKSTRAKTORY LOSOWOŚCI Konrad Durnoga Instytut Matematyki; Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego Streszczenie. Ekstraktory losowości należą do jednego z głównych nurtów badań współczesnej kryptografii teoretycznej. Zadaniem tych deterministycznych funkcji jest przekształcenie źródeł słabej losowości w takie, których rozkład jest bliski rozkładowi jednostajnemu. W pracy przedstawiona jest teorioliczbowa konstrukcja ekstraktora o pewnych szczególnych własnościach – ekstraktora niekowalnego. Wynik ten stanowi udoskonalenie warunkowego rezultatu Y. Dodisa i in. opublikowanego na prestiżowej konferencji FOCS’11. Słowa kluczowe: ekstraktor losowości, ekstraktor niekowalny, logarytm dyskretny 1. Ekstraktory losowości We współczesnej informatyce ważne miejsce zajmują algorytmy randomizowane. W wymiarze praktycznym istotną kwestią staje się zapewnienie tym algorytmom źródła losowych bitów „wysokiej jakości”. Jest to kluczowy problem zwłaszcza w przypadku zastosowań kryptograficznych, gdzie na założeniu jednostajnej losowości różnych elementów kryptosystemu może opierać się jego bezpieczeństwo. Fizyczne źródła losowości, powszechnie dostępne w komputerach osobistych, mogą nie zapewniać wystarczających statystycznych własności generowanego strumienia bitów. Tu pojawia się potrzeba konstrukcji ekstraktorów losowości – deterministycznych funkcji przekształcających niedoskonałe źródła losowości na takie, które są w statystycznym sensie bliskie rozkładom jednostajnym. Rozwój dziedziny związanej z poprawianiem statystycznych własności rozkładów dyskretnych dokonał się w zasadzie w całości na przestrzeni ostatniego ćwierćwiecza, choć jej początki sięgają lat 50-tych ubiegłego stulecia i pionierskich prac von Neumanna o symulowaniu rzutów symetryczną monetą przy użyciu monety, na której orzeł wypada ze stałym prawdopodobieństwem ̸= 1/2. Od tego czasu problematyka ta była przedmiotem badań czołowych naukowców, czego owocem są liczne prace na temat ekstraktorów losowości. Sam termin ekstraktor został zaproponowany przez Nisana i Zuckermana [23]. Za fundamentalne uznaje się prace Chora i Goldreicha [7], Cohena i Widgersona [8] oraz Zuckermana [27]. Jedne z najwcześniejszych konstrukcji ekstraktorów pochodzą od Chora i Goldreicha [7] oraz Impagliazzo i in. [19]. Przełomowym osiągnięciem ostatniej dekady był wynik Bourgain [4], laureata medalu Fieldsa, wskazujący istnienie K. Durnoga ekstraktorów nawet dla źródeł losowości o niskim współczynniku entropii. Rozprawa w znaczącej części zajmuje się analizą aspektów obliczeniowych klasycznego już dziś przykładu ekstraktora Chora-Goldreicha. Ekstraktor losowości formalnie definiuje się w terminach entropii oraz statystycznej odległości rozkładów prawdopodobieństwa. Wielkością mierzącą stopień losowości dyskretnej zmiennej losowej X jest, znana z teorii informacji, tzw. min-entropia H∞ (X), którą określamy jako: H∞ (X) := min log2 x 1 , Pr(X = x) gdzie x przebiega przez wszystkie elementy zbioru nośnika zmiennej X. Spośród wszystkich rozkładów prawdopodobieństwa na n bitach min-entropia przyjmuje wartość maksymalną dla rozkładu jednostajnego – H∞ (U{0,1}n ) = n. Do określenia odległości dwóch zmiennych losowych X i X ′ o rozkładzie na zbiorze X używamy standardowej definicji dystansu statystycznego ∆(X, X ′ ): ∆(X, X ′ ) := maxS⊆X | Pr(X ∈ S) − Pr(X ′ ∈ S) | 1∑ = | Pr(X = x) − Pr(X ′ = x) | 2 x∈X . Zapis X ≈ϵ X ′ oznacza ∆(X, X ′ ) ≤ ϵ dla pewnego ϵ ≥ 0. Przy tym typowo wymaga się, by ϵ był zaniedbywalny jako funkcja pewnego parametru n, tzn. ϵ = ϵ(n) powinien dążyć do 0 szybciej niż odwrotność dowolnego wielomianu w punkcie n → ∞. Funkcję Ext: X × Y → Z nazywamy (k, ϵ)–niekowalnym ekstraktorem, jeśli dla każdej pary niezależnych zmiennych losowych X i Y nad zbiorami, odpowiednio, X oraz Y, i dowolnej funkcji A: Y → Y spełniającej A(y) ̸= y dla wszystkich y ∈ Y, zachodzi: ( ) ( ) Ext(X, Y ), Ext(X, A(Y )), Y ≈ϵ UZ , Ext(X, A(Y )), Y , (1) o ile H∞ (X) ≥ k oraz Y jest rozkładem jednostajnym nad Y. Intuicyjnie, powyższa definicja oznacza, że jeśli argument x wybrany został z dostatecznie losowego rozkładu to żaden, w tym nawet nieograniczony obliczeniowo, adwersarz nie potrafi odróżnić ( Ext(x, ) y) od wartości losowej przy znanym losowym ziarnie y oraz Ext x, A(y) , gdzie A jest dowolnie ustaloną (a priori) przez adwersarza funkcją nie posiadającą punktów stałych. Jest to również znaczące wzmocnienie klasycznej definicji ekstraktora, w której warunek (1) można zastąpić przez Ext(X, Y )) ≈ϵ (UZ , oraz ( ) silnego ekstraktora, gdzie przyjmuje on postać: Ext(X, Y ), Y ≈ϵ UZ , Y . 228 Niekowalne ekstraktory losowości Pojęcie ekstraktora niekowalnego wprowadzone zostało przez Dodisa i Wichsa [13], którzy wskazali, że hipotetyczna funkcja o takich własnościach może posłużyć do budowy protokołu tzw. wzmacniania prywatności (ang. privacy amplification). Ten drugi termin zaproponowany został wcześniej w pracy Bennetta, Brassarda i Roberta [3]. Postawili oni następujący problem: dwóch użytkowników posiada te same dane, które nie są idealnie losowe z punktu widzenia adwersarza; czy istnieje protokół komunikacji między tymi użytkownikami, który umożliwi wzmocnienie prywatności tych danych tak, by po jego wykonaniu nowe dane był nieodróżnialne od losowych? Przy tym przyjmuje się założenie, że kanał komunikacyjny pozostaje niezabezpieczony i adwersarz ma dostęp do przesyłanych informacji oraz, dodatkowom posiada nieograniczoną moc obliczeniową. Mając do dyspozycji silny ekstraktor losowości można skonstruować nieskomplikowany, jednorundowy (tzn. wymagający wysłania tylko jednej wiadomości) protokół realizujący to wymaganie, w sytuacji gdy adwersarz pozostaje pasywny, czyli może poznać treść przesyłanych komunikatów, ale nie może w nie ingerować. Zadanie zaprojektowania bezpiecznego protokołu w przypadku istnienia aktywnego adwersarza, który może dowolnie modyfikować wiadomości, staje się dużo trudniejsze. W literaturze znanych było kilka rozwiązań (np. Maurera i Wolfa [22] czy Dodisa i Wichsa [12]), które jednak wymagają dodatkowych założeń co do poziomu entropii wejściowych danych (czyli wiedzy a priori adwersarza o danych) lub są nieoptymalne z punktu widzenia liczby rund protokołu bądź współczynnika utraty entropii między wyjściowymi a wyjściowymi danymi. Wiadomo również, że dla danych o niskiej entropii jednorundowy protokół wzmacniania prywatności przy aktywnym adwersarzu nie może istnieć. Dodis i Wichs [13] jako pierwsi podali optymalny dwurundowy protokół dla tej wersji problemu. Jednocześnie przedstawili oni argument probabilistyczny dowodzący istnienia ekstraktorów niekowalnych dla szerokiego zakresu parametrów k oraz ϵ. Jednak problemem otwartym pozostawała kwestia podania jawnego przykładu konstrukcji tego typu. 2. Ekstraktor Chora-Goldreicha W literaturze poświęconej teorii ekstraktorów odnaleźć można bogactwo rozmaitych metod – technik analizy fourierowskiej, teorii kodów, kombinatoryki czy teorii liczb. Głębokie rezultaty z tej ostatniej pozwoliły m.in. na uzyskanie przez Bourgaina [4] wspomnianego wyżej ekstraktora dla źródeł o niskiej min-entropii. Teorioliczbowy charakter ma również konstrukcja Chora i Goldreicha [7], oparta na logarytmie dyskretnym, którą krótko przytoczymy poniżej. 229 K. Durnoga Niech p będzie nieparzystą liczbą pierwszą, a g generatorem cyklicznej grupy multiplikatywnej (Z/pZ)∗ ciała (Z/pZ). Ponadto, niech M > 1 oznacza dowolnie ustalony dzielnik rzędu tej grupy, czyli p − 1. Podstawą ekstraktora Chora-Goldreicha jest następująca funkcja fg (a) := logg a mod M, (2) wyznaczona przez logarytm dyskretny przy podstawie g w (Z/pZ)∗ , dodatkowo zredukowany modulo M . Dodis i in. [10] wykazali, używając oszacowań Weila dla sum charakterów multiplikatywnych nad ciałem skończonym (zob. np. monografię Schmidta [25]), że fg zadaje ekstraktor niekowalny. Twierdzenie 1. (Dodis i in. [10], twierdzenie 4.1) Niech Ext: Z/pZ × Z/pZ → Z/M Z będzie określona wzorem Ext(x, y) := fg (x + y) = logg (x + y) mod M . (3) Wtedy, dla dowolnego k, funkcja Ext jest (k, ϵ)–niekowalnym ekstraktorem przy ϵ = 2M p1/4 2−k/2 . Twierdzenie to stanowiło rozszerzenie rezultatu z oryginalnej pracy Chora i Goldreicha [7]. Zawarta tam analiza w istocie implikowała, że (3) jest ekstraktorem losowości, choć w momencie ukazania się tego artykułu pojęcie ekstraktora nie było jeszcze znane w literaturze. Dodis i Oliveira [11] wskazali, że ta funkcja spełnia warunki definicji silnego ekstraktora. Praca Durnogi i Źrałka [15] poświęcona jest zagadnieniu efektywnego obliczania wartości ekstraktora (3) lub, równoważnie, funkcji fg danej wzorem (2). Należy tu zwrócić uwagę, że, inaczej niż ma to miejsce w typowych zastosowaniach kryptograficznych opierających swoje bezpieczeństwo na założeniu wysokiej złożoności obliczeniowej problemu logarytmu dyskretnego, w tym przypadku wymagamy, by problem ten był „łatwo” rozwiązywalny. Użycie standardowej metody do wyznaczania logarytmu dyskretnego, czyli algorytmu Pohliga-Hellmana [24], z niewielką modyfikacją polegającą na obliczaniu logg z modulo każdy dzielnik pierwszy q | M , pozwala na znalezienie wartości funkcji fg (z) w czasie proporcjonalnym do P+ (M ) – największego dzielnika pierwszego M . Jest to czas wielomianowy wyłącznie pod warunkiem, że M jest liczbą gładką, tzn. ma jedynie małe dzielniki pierwsze. W tym kontekście kluczowego znaczenia nabiera kwestia wydajnego generowania liczb p oraz M | p − 1 z dodatkowym wymaganiem gładkości M . Dodis i in. [10] sugerują następującą procedurę znajdowania p oraz M . Najpierw ustalmy liczbę gładką M , np. wybierając odpowiednio dużą 230 Niekowalne ekstraktory losowości potęgę 2, dla której log2 M odpowiada w przybliżeniu oczekiwanej liczbie bitów wyjścia ekstraktora. Następnie przeglądamy kolejne wyrazy postępu arytmetycznego ≡ 1 (mod M ), tzn. M + 1, 2M + 1, 3M + 1, etc., w poszukiwaniu liczby pierwszej p. Sprawdzenie czy dana liczba jest pierwsza może być zrealizowane za pomocą wielomianowego deterministycznego testu pierwszości [20]. Cała procedura jest również efektywna o ile najmniejsze p w tym postępie nie jest zbyt duże. W przypadku ekstraktorów o tzw. krótkich wyjściach, czyli dla niewielkich, na przykład stałych, wartości M istnienie takiego p wynika z oszacowań dla stałej Linnika. Najlepsze znane obecnie ograniczenie bezwarunkowe otrzymane przez Xylourisa [26] zapewnia znalezienie p = O(M 5 ). Natomiast w przypadku ogólnym, dla dużych M , konieczne jest odwołanie się do następującej, powszechnie uważanej za prawdziwą (zob. artykuł Granville’a i Pomerance’a [17]), hipotezy. Hipoteza 2. Dla dowolnych a oraz M takich, że NWD(a, M ) = 1, najmniejsza liczba pierwsza p ≡ amod M spełnia p = O(φ(M ) ln2 M ), gdzie φ oznacza funkcję Eulera. Konstrukcja Dodisa i in. [10] jest tym samym wynikiem warunkowym. Przytoczona wyżej procedura zawiera jednak, jak zostało to zauważone przez Durnogę i Źrałka [15], pewną usterkę. Mianowicie nie gwarantuje ona zachowania odpowiednich proporcji między liczbami M i p. W szczególności dla wartości M bliskich p z twierdzenia 1 otrzymujemy błąd ϵ, który nie jest zaniedbywalny, przez co samo twierdzenie traci zupełnie siłę wyrazu. Prosta modyfikacja metody generowania M i p pozwala na uniknięcie tego problemu, jednak za cenę wprowadzenia zależności od hipotezy 2 również w przypadku ekstraktorów o krótkich wyjściach. Ostatnim parametrem ekstraktora (3), którego wybór wymaga osobnego komentarza jest podstawa logarytmu dyskretnego g. Autorzy oryginalnej pracy [10] nie specyfikują jednak żadnego sposobu konstrukcji takiego g. Istnienie tej luki (również zidentyfikowanej w pracy Durnogi i Źrałka [15]) zostało potwierdzone przez autorów (komunikacja prywatna). W istocie kwestia efektywnego znajdowania generatora grupy multiplikatywnej ciała (Z/pZ) w ogólnym przypadku pozostaje ważnym problemem otwartym. Naturalnie istnieje szybki, niedeterministyczny algorytm wyznaczający pewien generator, ale jedynie przy znanej pełnej faktoryzacji liczby p −1 niezbędnej do weryfikacji czy dany losowy element jest pełnego rzędu. W świetle wyniku Ankeny’ego [2] ten proces może być zderandomizowany przy założeniu uogólnionej Hipotezy Riemanna (ERH). Użycie hipotezy 2 implikuje, że dla znalezionej liczby p rząd grupy (Z/pZ)∗ , czyli p − 1, jest gładki. Deterministyczny algorytm wyznaczania g wymaga jednak dodatkowo zastosowania Hipotezy Riemanna. W rozprawie uzasadniamy, że 231 K. Durnoga zakładając jedynie prawdziwość ERH, ale bez odwoływania się do hipotezy 2, możliwe jest wydajne generowanie odpowiednich wartości p, M oraz g w sposób randomizowany. W chwili obecnej znanych jest kilka innych przykładów ekstraktora niekowalnego [9, 21]. Są to konstrukcje bezwarunkowe pozwalające na osiągnięcie lepszych parametrów (np. oszacowania na wyraz błędu ϵ czy słabszego warunku na poziom min-entropii źródła k) niż ekstraktor Chora-Goldreicha i używające metod spoza teorii liczb. Poniżej przedstawimy wyniki analizy problemu efektywnego wyboru parametrów p, M i g w ekstraktorze Chora-Goldreicha w formie przedstawionej przez Dodisa i in. [10]. Pochodzą one z pracy Durnogi i Źrałka [15] oraz rozprawy doktorskiej autora [14], a ich rezultat stanowi definicja alternatywnej wersji ekstraktora niekowalnego, która nie zakłada prawdziwości ERH ani hipotezy 2. 3. Generator pseudolosowy online Pierwszym krokiem do stworzenia bezwarunkowej konstrukcji ekstraktora jest próba budowy algorytmu wyznaczającego wartości funkcji fg bez danego generatora g. Z pozoru zadanie to wydaje się nie być poprawnie sformułowane ze względu na fakt, że nie jest możliwe obliczanie funkcji, która sama w sobie pozostaje nieznana. Proponowana tu metoda pozwala na obliczenie wartości pewnej funkcji częsciowej f (a1 ), . . . , f (aℓ ) dla wielu argumentów a1 , . . . , aℓ gwarantując istnienie takiego, nie danego jawnie, generatora g, że f (ai ) = fg (ai ) dla wszystkich i = 1, . . . , ℓ. Metoda ta jest algorytmem typu online, tzn. takim, w którym argumenty przetwarzane są sekwencyjnie i całość wejścia może nie być dostępna na początku działania algorytmu. Algorytmy online mają fundamentalne znaczenie w obliczeniach interaktywnych. Można wykazać następujące twierdzenie: Twierdzenie 3. (Durnoga i Źrałek [15], twierdzenie 8) Istnieje deterministyczny algorytm online, który dla danego ciągu argumentów a1 , . . . , aℓ ∈ (Z/pZ)∗ oblicza fg (a1 ), . . . , fg (aℓ ), gdzie fg jest epimorfizmem danym przez (2) dla pewnego, a priori nieznanego, generatora g grupy (Z/pZ)∗ zależnego od a1 , . . . , aℓ . Algorytm znajduje fg (ai ) dla i = 1, . . . , ℓ przed pobraniem kolejnego argumentu ai+1 z wejścia. Pojedyncza wartość ( ) ( fg (ai ) obliczana ) jest w czasie O P+ (M )·s−1 poly(log p) przy użyciu O s poly(log p) bitów √ pamięci, gdzie parametr 0 < s ≤ P+ (M ) może być wybrany dowolnie. 232 Niekowalne ekstraktory losowości Należy przy tym zaznaczyć, że algorytm z powyższego twierdzenia nie może być bezpośrednio użyty do obliczania wartości ekstraktora niekowalnego (3), który zdefiniowany jest w terminach statystycznej odległości rozkładów. Dla ciągów wartości pojawiających się na wyjściu ekstraktora możliwe jest jednak, analogicznie jak w przypadku ekstraktorów, udowodnienie pewnej własności nieodróżnialności od ciągu wartości losowych. 4. Bezwarunkowa konstrukcja ekstraktora niekowalnego Osiągnięcie celu bezwarunkowej konstrukcji ekstraktora niekowalnego możliwe jest po zaskakująco prostej modyfikacji oryginalnego rozwiązania pochodzącego od Chora i Goldreicha [7]. Pomysł polega na zastąpieniu logarytmu dyskretnego występującego w definicji (3), który stanowił źródło opisanych wyżej problemów, przez potęgowanie. Operacja ta przekształca otrzymane argumenty na elementy pewnej grupy G zdefiniowanej jako: G := {a(p−1)/M | a ∈ (Z/pZ)∗ }, (4) ∗ a sam ekstraktor jest naturalnym odwzorowaniem (Z/pZ) w G. Mówi o tym poniższe twierdzenie: Twierdzenie 4. (Durnoga i Źrałek [15], lemat 10) Niech p, M , k oraz ϵ będą takie jak w twierdzeniu 1. Wtedy funkcja ExtG : (Z/pZ)×(Z/pZ) → G dana wzorem ExtG (x, y) := (x + y)(p−1)/M jest efektywnie obliczalnym (k, ϵ)–niekowalnym ekstraktorem. W oczywisty sposób definicja ExtG nie wymaga znajomości generatora grupy (Z/pZ)∗ . Ponadto wartości tej funkcji, w odróżnieniu od ekstraktora (3), można szybko obliczać również w przypadku, gdy M ma duże dzielniki pierwsze. Ta obserwacja pozwala na efektywne wygenerowanie parametrów p oraz M bez dodatkowego warunku na gładkość liczby M . Opierając się na głębokim wyniku Alforda i in. [1] można dowieść następującego wniosku: Twierdzenie 5. Dla wszystkich dostatecznie dużych z, z ′ oraz dowolnego l > 0 spełniających (z + l)4 < 21 z ′ , istnieje co najmniej 31 z ′ /(φ(M ) log z ′ ) liczb pierwszych w przedziale ( 12 z ′ , z ′ ], które należą do postępu arytmetycznego ≡ 1 (mod modułu M z przedziału (z, z + l), poza ( M ) dla każdego ) co najwyżej O l/ log(z + l) wyjątkowymi wartościami M . To twierdzenie natychmiast prowadzi do randomizowanego algorytmu, o oczekiwanej wielomianowej złożoności, generacji parametrów ekstraktora ExtG . 233 K. Durnoga Z praktycznego punktu widzenia pewną wadą ekstraktora ExtG z twierdzenia 4 jest fakt, że wartości pojawiające się na jego wyjściu są elementami podgrupy G rzędu M określonej przez (4). Grupa ta, interpretowana jako zbiór ciągów bitów, ma nieregularną strukturę, przez co może nie być odpowiednia w zastosowaniach oczekujących właśnie losowych ciągów bitów. Ciekawym i nietrywialnym problemem staje się więc kwestia przekształcenia elementów G na takie ciągi bitów. To zagadnienie jest ściśle związane ze znanym problemem tzw. ekstrakcji klucza (ekstraktor deterministyczny, por. Fouque i in. [16]). W pracy Durnogi i Źrałka [15] zaproponowany jest algorytm do wyznaczania wartości pewnej bijekcji G → Z/M Z. Szczególne znaczenie miałoby skonstruowanie podobnej bijekcji dla grup stosowanych w protokole Diffie-Hellmana, w których problem obliczania logarytmu dyskretnego jest uznawany za trudny. Wspomniany algorytm działa w czasie proporcjonalnym do największego dzielnika pierwszego P+ (M ) liczby M , a więc jest efektywny jedynie dla tych M , które są gładkie. Tym samym zakładamy, że problem znajdowania logarytmów dyskretnych w G jest „łatwy”. Mimo, że w takim przypadku istnieje naturalny i prosty do obliczenia izomorfizm między G i Z/M Z, zadany właśnie przez logarytm dyskretny, to jednak jego konstrukcja wymaga znajomości generatora grupy G. Rozważana metoda obliczania bijekcji nie zakłada, że taki generator jest dany. Ten przypadek nie był, wg wiedzy autora, wcześniej badany w literaturze i może być interesujący również poza kontekstem ekstraktorów. Można wykazać następujące twierdzenie: Twierdzenie 6. (Durnoga i Źrałek [15], twierdzenie 14) Istnieje bijekcja σ: G → Z/M Z taka, że dla danego a ∈ G odpowiadającą wartość σ(a) ( ) można obliczyć w sposób deterministyczny w czasie O P+ (M )poly(log p) . Jednocześnie konstrukcja może być zmodyfikowana tak, by uzyskać algorym obliczający bijekcję dla wielu argumentów: Twierdzenie 7. (Durnoga i Źrałek [15], twierdzenie 16) Istnieje deterministyczny algorytm online obliczający wartości pewnej bijekcji G → Z/M Z. ) Algorytm wykorzystuje O(spoly(log p) bitów pamięci, a jego łączny czas działania dla ℓ argumentów to ( ) O P+ (M )(ℓs−1 + 1)poly(log p) , √ gdzie 0 < s ≤ P+ (M ) może być ustalone dowolnie. Wspomniana w twierdzeniu 6 bijekcja G → Z/M Z pozwala „bezstratne” przekształcenie wyjścia ekstraktora ExtG w element zbioru Z/M Z. 234 Niekowalne ekstraktory losowości ciślej: złożenie σ◦ExtG jest ekstraktorem niekowalnym z identycznym wyrazem błędu ϵ jak w przypadku ekstraktora ExtG . Ograniczeniem obliczeniowym jest jednak tutaj fakt, że wartości σ mogą być efektywnie znalezione dla M będących liczbami gładkimi. Jest to w istocie problem podobnej natury, co ten występujący w oryginalnej konstrukcji Dodisa i in. [10] – metoda generacji parametrów p i M | p − 1 z dodatkowym warunkiem na poziom gładkości M jest warunkowa, chyba że M jest niewielkie, tzn. wielomianowe jako funkcja log p. Praca Durnogi [14] proponuje stosowne rozwiązanie dla ekstraktorów o długich wyjściach, a więc takich, których zbiór wartości jest rozmiaru rzędu pΩ(1) . Podstawą tej konstrukcji jest obserwacja, że przekształcając elementy grupy G na ciągi losowych bitów można dopuścić pewną dodatkową stratę entropii. Innymi słowy, σ w złożeniu σ ◦ ExtG nie musi być funkcją różnowartościową. Naturalnym, a jednocześnie niezwykle prostym, pomysłem na takie przekształcenie zmniejszające dziedzinę jest obcięcie reprezentacji bitowej elementu grupy G do najmniej znaczących bitów. To podejście znane już było w literaturze i sprawdziło się w pokrewnych zastosowaniach – przykładem może być tutaj ekstraktor Holensteina [18]. Chevalier i in. [6] pokazali, korzystając z oszacowań dla sum wykładniczych, że wynikiem działania funkcji lsbn (a), obcinającej reprezentację bitową elementu a wybranego losowo (z rozkładu jednostajnego) z dowolnej, odpowiednio dużej podgrupy (Z/pZ)∗ do n jej najmniej znaczących bitów, jest niemal losowy ciąg zer i jedynek. Funkcja lsbn jest tym samym tzw. deterministycznym ekstraktorem o tej własności, że przekształca on losowe elementy grupy w (prawie) losowe ciągi bitów. Efektywne obliczeniowo ekstraktory tego typu są użyteczne w praktyce – umożliwiają przeniesienie klucza uzyskanego w realizacji protokołu Diffie-Hellmana (który to klucz, przy odpowiednich założeniach, jest nieodróżnialny od losowego elementu grupy) do świata kryptografii symetrycznej (w którym zwykle wymaga się, by klucze były losowymi ciągami bitów). Opierając się na wynikach Fouque i in. [16], Chevalier i in. oraz głębokim rezultacie Bourgain i Konyagina [5] można pokazać następujące twierdzenie: Twierdzenie 8. (Durnoga [14], twierdzenie 7.10) Dla dowolnej stałej α > 0 istnieje takie β = β(α) > 0, że dla każdej liczby pierwszej p i całkowitego M | p − 1, spełniających M ≥ pα , oraz dowolnego ograniczenia na min-entropię k i n > 0 funkcja Ext′ : (Z/pZ) × (Z/pZ) → Z/N Z dana wzorem ( ) ( ) Ext′ (x, y) := lsbn ExtG (x, y) = lsbn (x + y)(p−1)/M 235 K. Durnoga jest efektywnie obliczalnym (k, ϵ′ )–niekowalnym ekstraktorem z wyrazem błędu 1 1/2 ϵ′ = 2M p1/4 2−k/2 + 2n/2 p−β log2 p. 2 Literatura [1] William R. Alford, Andrew Granville, and Carl Pomerance, There are infinitely many Carmichael numbers, Annals of Mathematics, 139:703–722, 1994. [2] Nesmith C. Ankeny, The least quadratic non residue, Annals of Mathematics, 55:65–72, 1952. [3] Charles H. Bennett, Gilles Brassard, and Jean-Marc Robert, Privacy amplification by public discussion SIAM J. Comput., 17(2):210–229, April 1988. [4] Jean Bourgain, More on the sum-product phenomenon in prime fields and its applications International Journal of Number Theory, 1(1):1–32, 2005. [5] Jean Bourgain and Sergei Konyagin, Estimates for the number of sums and products and for exponential sums over subgroups in fields of prime order, Comptes Rendus Mathematique, 337(2):75–80, 2003. [6] Céline Chevalier, Pierre-Alain Fouque, David Pointcheval, and Sbastien Zimmer, Optimal randomness extraction from a Diffie-Hellman element, In Antoine Joux, editor, Advances in Cryptology – Proceedings of EUROCRYPT 09, volume 5479 of Lecture Notes in Computer Science, pages 572–589, Cologne, Germany, 2009. Springer. [7] Benny Chor and Oded Goldreich, Unbiased bits from sources of weak randomness and probabilistic communication complexity, SIAM J. Comput., 17(2):230–261, April 1988. [8] Aviad Cohen and Avi Wigderson, Dispersers, deterministic amplification, and weak random sources (extended abstract), In FOCS, pages 14–19, IEEE Computer Society, 1989. [9] Gil Cohen, Ran Raz, and Gil Segev, Non-malleable extractors with short seeds and applications to privacy amplification, In IEEE Conference on Computational Complexity, pages 298–308, IEEE, 2012. [10] Yevgeniy Dodis, Xin Li, Trevor D. Wooley, and David Zuckerman, Privacy amplification and non-malleable extractors via character sums, In Proceedings of the 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science, FOCS 11, pages 668–677, Washington, DC, USA, 2011, IEEE Computer Society. 236 Niekowalne ekstraktory losowości [11] Yevgeniy Dodis and Roberto Oliveira, On extracting private randomness over a public channel In Sanjeev Arora, Klaus Jansen, Jos D. P. Rolim, and Amit Sahai, editors, RANDOM-APPROX, volume 2764 of Lecture Notes in Computer Science, pages 252–263, Springer, 2003. [12] Yevgeniy Dodis and Daniel Wichs, Non-malleable extractors and symmetric key cryptography from weak secrets, IACR Cryptology ePrint Archive, 2008:503, 2008. [13] Yevgeniy Dodis and Daniel Wichs, Non-malleable extractors and symmetric key cryptography from weak secrets, In Proceedings of the 41st annual ACM symposium on Theory of computing, STOC 09, pages 601610, New York, NY, USA, 2009, ACM. [14] Konrad Durnoga, Non-malleable Randomness Extractors, PhD thesis, University of Warsaw, 2014. [15] Konrad Durnoga and Bartosz Zrałek, On randomness extractors and computing discrete logarithms in bulk, 2013, preprint. [16] Pierre-Alain Fouque, David Pointcheval, Jacques Stern, and Sbastien Zimmer, Hardness of distinguishing the MSB or LSB of secret keys in Diffie-Hellman schemes, In Michele Bugliesi, Bart Preneel, Vladimiro Sassone, and Ingo Wegener, editors, Automata, Languages and Programming, volume 4052 of Lecture Notes in Computer Science, pages 240–251. Springer Berlin Heidelberg, 2006. [17] Andrew Granville and Carl Pomerance, On the least prime in certain arithmetic progressions, Journal of the London Mathematical Society, 2(2):193–200, 1990. [18] Thomas Holenstein, Pseudorandom generators from one-way functions: A simple construction for any hardness, In Shai Halevi and Tal Rabin, editors, In 3rd Theory of Cryptography Conference – (TCC 06), Lecture Notes in Computer Science. Springer-Verlag, 2006. [19] Russell Impagliazzo, Leonid A. Levin, and Michael Luby, Pseudo-random generation from one-way functions, In Proceedings of the twenty-first annual ACM symposium on Theory of computing, STOC 89, pages 12–24, New York, NY, USA, 1989. ACM. [20] Hendrik W. Lenstra. Primality testing with Gaussian periods, In Manindra Agrawal and Anil Seth, editors, FST TCS 2002: Foundations of Software Technology and Theoretical Computer Science, 22nd Conference Kanpur, India, December 12–14, 2002, Proceedings, volume 2556 of Lecture Notes in Computer Science, page 1, Springer, 2002. 237 K. Durnoga [21] Xin Li, Non-malleable extractors, two-source extractors and privacy amplification, In FOCS, volume 0, pages 688697, Los Alamitos, CA, USA, 2012, IEEE Computer Society. [22] Ueli M. Maurer and Stefan Wolf, Privacy amplification secure against active adversaries In Burton S. Kaliski Jr., editor, CRYPTO, volume 1294 of Lecture Notes in Computer Science, pages 307–321, Springer, 1997. [23] Noam Nisan and David Zuckerman, More deterministic simulation in logspace, In Proceedings of the twenty-fifth annual ACM symposium on Theory of computing, STOC 93, pages 235–244, New York, NY, USA, 1993, ACM. [24] Stephen Pohlig and Martin Hellman, An improved algorithm for computing logarithms over GF (p) and its cryptographic significance, IEEE Transactions on Information Theory, 24(1):106–110, 1978. [25] Wolfgang M. Schmidt, Equations over finite fields: an elementary approach, Lecture Notes in Mathematics. Springer-Verlag, 1976. [26] Triantafyllos Xylouris, Über die Nullstellen der Dirichletschen L-Funktionen und die kleinste Primzahl in einer arithmetischen Progression, PhD thesis, Mathematisch-Naturwissenschaftliche Fakultät der Universität Bonn, 2011. [27] David Zuckerman, General weak random sources, In FOCS 90, pages 534–543, 1990. NON-MALLEABLE RANDOMNESS EXTRACTORS Abstract. We give an unconditional construction of a non-malleable extractor improving the solution from the recent paper Privacy Amplification and Non-Malleable Extractors via Character Sums by Dodis et al. (FOCS’11). There, the authors provide the first explicit example of a non-malleable extractor - a cryptographic primitive that significantly strengthens the notion of a classical randomness extractor. In order to make the extractor robust, so that it runs in polynomial time and outputs a linear number of bits, they rely on a certain conjecture on the least prime in a residue class. In this paper we present a modification of their construction that allows to remove that dependency and address an issue we identified in the original development. Keywords: randomness extractor, non-malleable extractor, discrete logarithm ELASTYCZNE EKSTRAKTORY DWUŹRÓDŁOWE I ICH ZASTOSOWANIA Maciej Obremski Wydział Matematyki, Informatyki i Mechaniki, Uniwersytet Warszawski Streszczenie. Prezentujemy nowe pojęcie elastycznego ekstraktora dwu-źródłowego. Prezentujemy cały wachlarz metod i twierdzeń uzupełniających wiedzę o przypadkach nierozpatrywanych przez lemat Lidsey’a i Leftover Hash Lemma. Pokazujemy analog twierdzenia Barak’a o silnych i słabych ekstraktorach dla przypadku elastycznego. Na przykładzie odpornych na wycieki schematów składowania danych prezentujemy przykład zastosowania elastycznych ekstraktorów dwu-źródłowych. Otrzymujemy w ten sposób lepsze parametry niż w przypadku standardowej ekstrakcji oraz możliwość prowadzenia adaptywnych wycieków. Słowa kluczowe: elastyczne ekstraktory dwu-źródłowe, ekstraktory dwu-źródłowe, wycieki, odporne na wycieki schematy składowania danych, twierdzenie Baraka. 1. Wstęp Prezentujemy nowe pojęcie elastycznego extraktora dwuźródłowego. Pojęcie to pojawiło się po raz pierwszy we wspólnej pracy ze Stefanem Dziembowskim i Tomaszem Kazaną „Non-Malleable Codes from Two-Source Extractors”, opublikowanej na konferencji CRYPTO 2013. W przeciwieństwie do standardowych dwuźródłowych ekstraktorów, które wymagają by każde ze źródeł osobno miało pewną entropię, elastyczny ekstraktor wymaga by sumaryczna entropia źródeł przekraczała daną wartość. Wyróżniamy słabe i silne elastyczne ekstraktory i podobnie jak w przypadku słabych i silnych ekstraktorów dwuźródłowych dowodzimy, że każdy słaby ekstraktor jest też silny kosztem nieznacznego pogorszenia jego parametrów. Ponadto dowodzimy, że dwa z powszechnie znanych i używanych ekstraktorów są elastyczne co znacząco wzmacnia tezę Leftover Hash Lemma dla tych ekstraktorów. Ekstraktory Losowości są kluczowym komponentem wielu schematów kryptograficznych na przykład kodów niekowalnych [1, 2, 3, 6] czy schematów składowania danych odpornych na wycieki [5]. Dotychczas stosowane metody tj. standardowa dwu-źródłowa ekstrakcja i Leftover Hash Lemma niestety miały istotną wadę, mianowicie gdy chcemy użyć ekstraktora do składowania danych zazwyczaj bierzemy dane m i losujemy dwa wektory L, R, takie że ext(L, R) = m, następnie składujemy L, R na różnych serwerach. Żeby w tej sytuacji stosować Leftover Hash Lemma musimy założyć, M. Obremski że L zostało wylosowane idealnie jednostajnie. Jeśli nie mogliśmy wylosować L jednostajnie musimy uciec się do standardowej ekstrakcji, która daje nam drastycznie gorsze parametry. Ten przeskok jakościowy parametrów LHL względem standardowej ekstrakcji zainspirował nas do poszukiwania rozwiązania pośredniego łączącego oba te przypadki. 2. Ekstraktory Zacznijmy od podstawowych definicji. Definicja (dystans statystyczny). Dystansem statystycznym (albo po prostu odległością) między dwiema zmiennymi losowymi A i B określonymi na zbiorze A będziemy nazywać ∆(A; B) = 1∑ |P (A = a) − P (B = a)|. 2 a∈A Dla zmiennej U o rozkładzie jednostajnym na zbiorze A będziemy mówili, że ∆(A, U ) jest odległością zmiennej losowej A od rozkładu jednostajnego bedziemy to oznaczać po prostu przez d(A). Definicja (min-entropia). Przez pojęcie min-entropii będziemy rozumieć: ( ) 1 H∞ (X) = log = − log(maxx∈X X(x)) maxx∈X X(x) gdzie X(x) = P (X = x). Definicja (ekstraktor). Mówimy, że ext : X × Y → Z jest (k, ϵ)-dwuźródłowym ekstraktorem jeśli dla niezależnych zmiennych losowych X na X i Y na Y, takich, że H∞ (X) ≥ k i H∞ (Y ) ≥ k, wynik ext(X, Y ) jest zmienną losową, której odległość od rozkładu jednostajnego na Z jest niewiększa niż ϵ. Formalnie ∆(ext(X, Y ); UZ ) ≤ ϵ, gdzie UZ jest rozłożona jednostajnie na Z. Definicja (silny ekstraktor). Mówimy, że ext : X × Y → Z jest silnym (k, ϵ)-dwuźródłowym ekstraktorem, jeśli dla niezależnych zmiennych losowych X na X i Y na Y takich, że H∞ (X) ≥ k i H∞ (Y ) ≥ k, zachodzi ∆(ext(X, Y ), X); (UZ , X) ≤ ϵ. Co nieformalnie oznacza, że nawet 240 Elastyczne ekstraktory dwuźródłowe i ich zastosowania jeśli przeciwnik zna jedno ze źródeł (X lub Y ) wciąż nie jest on w stanie odróżnić wyniku ekstraktora od uczciwie jednostajnej zmiennej losowej z prawdopodobieństwem istotnie wyższym niż 12 . W [8] (Twierdzenie 5.1) znajduje się twierdzenie przypisane Boaz Barakowi, że każdy 2-źródłowy ekstraktor jest też silnym 2-źródłowym ekstraktorem tylko z nieco gorszymi parametrami. Definicja (słaby elastyczny ekstraktor). Funkcję ext : L × R → C nazwiemy słabym elastycznym (k, ϵ)-2-źródłowym ekstraktorem jeśli dla każdego L ∈ L oraz R ∈ R takich, że H∞ (L) + H∞ (R) ≥ k zachodzi d(ext(L, R)) ≤ ϵ. Definicja (silny elastyczny ekstraktor). Funkcję ext : L × R → C nazwiemy silnym elastycznym (k, ϵ)-2-źródłowym ekstraktorem jeśli dla każdego L ∈ L oraz R ∈ R takich, że H∞ (L) + H∞ (R) ≥ k zachodzi d(ext(L, R)|L) ≤ ϵ i d(ext(L, R)|R) ≤ ϵ. Dwie ostatnie definicje są nowymi pojęciami wprowadzonymi przez nas. N M Twierdzenie 1. Niech ext : ({0, 1} )2 → {0, 1} będzie słabym elastycznym (K, ϵ)-ekstraktorem, dla K ≥ N . Wtedy dla każdego K ′ ≥ K mamy, że ext jest silnym elastycznym (K ′ , ϵ′ )-ekstraktorem, gdzie ϵ′ = ′ = 2M (ϵ + 2K−K ). To twierdzenie daje nam narzędzie do dowodzenia, że ekstraktor jest silny. Korzystamy z niego w dowodzie następującego twierdzenia. Twierdzenie 2. Dla każdego skończonego ciała F i dowolnego n mamy, że ext : Fn × Fn → F zdefiniowany jako extnF (L, R) = ⟨L, R⟩ jest elastycznym (k, ϵ)-ekstraktorem dla dowolnego k oraz ϵ takiego, że log(1/ϵ) = k − (n + 4) log |F| − 1. 3 Elastyczność iloczynu skalarnego jest kluczowa przy tworzeniu kodu niekowalnego [6] jak i w innych pracach o zbliżonej tematyce [1, 3]. Własność elastyczności w przypadku iloczynu skalarnego uogólnia wynik Leftover Hash Lemma [4]. Kolejne twierdzenie dotyczy innego znanego ekstraktora wprowadzonego przez Holensteina w [7]. W owej pracy dowodzi, że poniższy ekstraktor jest silnym ekstraktorem z ziarnem co jest słabszym wynikiem od uzyskanego przez nas. Niech GF (2n ) oznacza ciało Galois. 241 M. Obremski Twierdzenie 3. Ekstraktor ext : GF (2n ) × GF (2n ) → GF (2λ ), zdefinion−k+2λ−2 2 wany jako ext(X, Y ) = (X · Y )λ jest (k, 2 ) słabym elastycznym 2-źródłowym ekstraktorem. Gdzie (X)λ oznacza obcięcie ciagu bitów do λ najbardziej istotnych. Stosując tutaj Twierdzenie 1 możemy uzyskać, że powyższy ekstraktor jest silnym ekstraktorem elastycznym. 3. Wycieki i Leftover Hash Lemma 3.1. Leftover Hash Lemma dla iloczynu skalarnego Rodzinę H deterministycznych funkcji h : X → {0, 1}v nazywamy p-uniwersalną rodziną haszującą (na przestrzeni X ), jeśli dla każdej pary x1 ̸= x2 ∈ X zachodzi Ph←H [h(x1 ) = h(x2 )] ≤ p. Jeśli p = 21v , mówimy, że H jest uniwersalna. Przejdzmy do sformułowania Leftover Hash Lemma (LHL). Twierdzenie 4. (Leftover-Hash Lemma) Niech rodzina H funkcji deterministycznych h : X → {0, 1}v będzie 1+γ 2v -uniwersalną rodziną haszującą. Wtedy ekstraktor ext(x; h) = h(x), gdzie√h jest wybierane jednostajnie z H, jest (m, ϵ)-ekstraktorem, gdzie ϵ = 1 2 γ+ 1 2m−v . Dowód tego twierdzenia znajduje się w [4]. LHL zastosowany wprost do iloczynu skalarnego daje następujące twierdzenie: Twierdzenie 5. Dla X i Y niezależnych zmiennych losowych na Fn takich, że Y jest jednostajnia oraz H∞ (X) ≥ m zachodzi √ 1 1 ∆[(⟨XY ⟩, Y ); (UF , Y )] ≤ m−log |F| 2 2 Korzystając z faktu, że iloczyn skalarny jest silnym elastycznym [ ] − k−(n+4) log |F| −1 3 (k, 2 )-ekstraktorem możemy pominąć założenie o jednostajnym rozkładzie Y otrzymując twierdzenie w ogólnej wersji: Twierdzenie 6. Dla dowolnych niezależnych zmiennych losowych X i Y na Fn takich, że H∞ (Y ) ≥ k − m i dla dowolnej funkcji f : Fn → G takiej, że Px←f (UFn ) (H∞ (X|f (X) = x) ≥ m) ≥ 1 − ϵ. Otrzymujemy: [ k−(n+4) log |F| ] − −1 3 ∆[(⟨XY ⟩, f (X), Y ); (UF , f (X), Y )] ≤ 2 +ϵ Następujący lemat podaje klasę funkcji spełniających powyższe założenia 242 Elastyczne ekstraktory dwuźródłowe i ich zastosowania Lemat 1. Dla każdej zmiennej losowej X na X takiej, że H∞ (X) = k i dla dowolnej f : X → {0, 1}c zachodzi Py←f (UX ) (H∞ (X|f (X) = y) ≤ m) ≤ 2−k+c+m . 3.2. Wycieki adaptywne Twierdzenie 7. Niech ext : X × X → G będzie silnym elastycznym (k, ϵ)-ekstraktorem. Niech X i Y będą niezależnymi zmiennymi losowymi takimi, że H∞ (X) = kx i H∞ (Y ) = ky . Dla każdej adaptywnej sekwencji funkcji fi : X → {0, 1}ai i gi : X → {0, 1}bi (gdzie wybór i-tej funkcji może zależeć od wyników i − 1 wcześniejszych fi∑ oraz gi ), takiej, że λx + λy ≤ λ ∑ gdzie λ jest parametrem zaś i ai = λx i i bi = λy zachodzi: d(ext(X, Y )|viewf,g ) ≤ ϵ + 2−kx −ky +k+λ gdzie viewf,g = (f1 (X), g1 (Y ), f2 (X), g2 (Y ) . . .). 3.3. Odporne na wycieki schematy przechowywania danych w modelu split-state W [5] wprowadzono pojęcie odpornych na wycieki schematów przechowywania danych, na potrzeby tej rozprawy generalizujemy niektóre pojęcia z tej pracy. Niech ext : X × X → F będzie silnym (k, ϵ)- elastycznym ekstraktorem. Niech L i R będą niezależnymi zmiennymi losowymi takimi, że H∞ (X) + H∞ (Y ) > k. Zdefiniujmy ((k, ϵ) − ext, L, R)-schemat jako parę funkcji Enc : F → X × X i Dec : X × X → F zdefiniowanych następująco: Dec(l, r) = ext(l, r) Enc(m) = (l, r), takie że l ← L, r ← R i ext(l, r) = m. Zdefiniujmy (λ, t)-przeciwnika w model split-state (w skrócie (λ, t)-SSM przeciwnika) podobnie jak w pracy [5]. Niech pamięć urządzenia będzie rozdzielona na dwie części L, R, t-krotnie powtarzamy nasępującą procedurę: dla i = 1, 2, . . . , t przeciwnik wybiera fi : X → {0, 1}ai i gi : X → {0, 1}bi i poznaje fi (L) oraz gi (R). Przeciwnik może wybrać dowolne ai i bi , takie ∑ że i ai + bi < λ. Wektor (f1 (L), g1 (R), f2 (L), . . . , gt (R)) wyników poznanych przez przeciwnika A oznaczamy jako viewA (L, R). 243 M. Obremski Mówimy, że ((k, ϵ) − ext, L, R)-schemat jest (λ, t, δ)-słabo bezpieczny w modelu split-state jeśli dla każdego (λ, t)-SSM przeciwnika A zachodzi: d(ext(L, R)|viewA (L, R)) ≤ δ. Przywołajmy definicję z [5] i przepiszmy ją w języku modelu split-state. Mówimy, że schemat (Enc, Dec) jest (λ, t, δ)-bezpieczny jeśli dla każdych dwóch wiadomości m0 i m1 oraz dla każdego (λ, t)-SSM przeciwnika zachodzi: ∆ (viewA (Enc(m0 )); viewA (Enc(m1 ))) ≤ δ Twierdzenie 8. Jeśli ((k, ϵ) − ext, L, R)-schemat jest (λ, t, δ)-słabo bezpieczny wtedy jest też (λ, t, 4|F| · δ)-bezpieczny. W Twierdzeniu 7 udowodniliśmy, że ((k, ϵ) − ext, L, R)-schemat jest (λ, ∞, ϵ + 2−H∞ (L)−H∞ (R)+k+λ )-słabo bezpieczny stąd dzięki Twierdzeniu 8 otrzymujemy, że każdy schemat oparty na ekstraktorze elastycznym jest (λ, ∞, 4|F|(ϵ + 2−H∞ (L)−H∞ (R)+k+λ ))-bezpieczny. Literatura [1] D. Aggarwal, Y. Dodis, T. Kazan, and M. Obremski, Reductions and their applications, unpublished manuscript, 2014. [2] D. Aggarwal, Y. Dodis, and S. Lovett, Non-malleable codes from additive combinatorics, FOCS, 2014. [3] D. Aggarwal, S. Dziembowski, T. Kazan, and M. Obremski, Interactive non-malleable codes, unpublished manuscript, 2014. [4] B. Barak, Y. Dodis, H. Krawczyk, O. Pereira, K. Pietrzak, F.-X. Standaert, and Y. Yu, Leftover hash lemma, revisited, 2011, http://eprint.iacr.org/. [5] F. Daví, S. Dziembowski, and D. Venturi, Leakage-resilient storage, Security and Cryptography for Networks, 2010, p. 121–137. [6] S. Dziembowski, T. Kazana, and M. Obremski, Non-malleable codes from two-source extractors, CRYPTO, 2013. [7] T. Holenstein, Pseudorandom generators from one-way functions: A simple construction for any hardness, In TCC, 2006, pp. 443–461. [8] A. Rao, An exposition of bourgain 2-source extractor, In Electronic Colloquium on Computational Complexity (ECCC), vol. 14, 2007, page 034. 244 Elastyczne ekstraktory dwuźródłowe i ich zastosowania FLEXIBLE TWO-SOURCE EXTRACTORS AND APPLICATIONS Abstract. We introduce new notion – flexible two-source extractor. We show various methods and theorems that fill in cases not covered by Lidsey’s lemma and Leftover Hash Lemma. We present flexible version of Barak’s theorem for strong and weak flexible extractors. We also show possible application of flexible extractors to leakage resilient storage schemes. We are able to obtain better parameters then in standard extraction case, moreover we are able to obtain resilience to adaptive leakages. Keywords: flexible two-source extractors, two-source extractors, leakage, leakage resilient storage, Barak’s theorem. ŚREDNIA ZŁOŻONOŚĆ OBLICZENIOWA PROBABILISTYCZNEGO ALGORYTMU WYSZUKIWANIA PIERWIASTKÓW PIERWOTNYCH MODULO N Tomasz Adamski Instytut Systemów Elektronicznych; Wydział Elektroniki i Technik Informacyjnych Politechniki Warszawskiej, [email protected] Streszczenie. W pracy oszacowano średnią złożoność obliczeniową probabilistycznego algorytmu wyszukiwania pierwiastków pierwotnych modulo n. Uzyskany wynik może być w naturalny sposób uogólniony na przypadek algorytmu wyszukiwania generatorów dowolnej skończonej grupy cyklicznej jeśli znamy rozkład na czynniki pierwsze rzędu tej grupy. Słowa kluczowe: algorytmy kryptograficzne, algorytmy probabilistyczne, średnia złożoność obliczeniowa, pierwiastki pierwotne modulo n generatory skończonych grup cyklicznych. 1. Wprowadzenie Pierwiastek pierwotny z liczby n (lub modulo n) dla n ∈ N, n ≥ 2 to inaczej generator grupy multiplikatywnej Zn∗ . Zatem algorytm wyznaczania pierwiastków pierwotnych z liczby n to inaczej algorytm wyszukiwania generatorów grupy multiplikatywnej Zn∗ . Ponieważ grupa multiplikatywna Zn∗ nie dla każdego n ∈ N, n ≥ 2 jest cykliczna, pierwiastek pierwotny z liczby n istnieje lub nie istnieje. Sprawę istnienia generatora grupy Zn∗ , czyli sprawę istnienia pierwiastków pierwotnych z n wyjaśnia następujące znane twierdzenie. Twierdzenie 1. Grupa multiplikatywna Zn∗ dla n ∈ N, n ≥ 2 jest grupą cykliczną wtedy i tylko wtedy, gdy n = 2, 4, pk , 2pk , gdzie p jest nieparzystą liczbą pierwszą oraz k ∈ N . Dowód. por. np. W. Narkiewicz [4] Przykład. Liczba 3 jest generatorem grupy multiplikatywnej Z7∗ . Łatwo to sprawdzić podnosząc 3 do kolejnych potęg 2,3,...,6 modulo 7 tzn. obliczając: 31 (mod 7) = 3, 32 (mod 7) = 2, 33 (mod 7) = 6, 34 (mod 7) = 4, 35 (mod 7) = 5, 36 (mod 7) = 1. T. Adamski Znalezienie generatora grupy multiplikatywnej Zn∗ (gdzie n jest liczbą taką jak w twierdzeniu 1) jest szczególnie ważne dla algorytmów kryptograficznych, w których często wykorzystujemy generatory grupy Zn∗ jako dane wejściowe. Do takich algorytmów należą np. algorytm szyfrowania ElGamala, algorytmy podpisów cyfrowych ElGamala i Nyberga-Ruppela i bardzo popularny algorytm uzgadniania kluczy Diffiego-Hellmanna. W dalszym ciągu dla uproszczenia zapisu przyjmujemy, że n = p, gdzie p jest liczbą pierwszą. Jeśli n jest dowolną liczbą naturalną dla, której istnieje pierwiastek pierwotny modulo n to w opisie algorytmu zamiast rozkładu na czynniki pierwsze liczby p − 1 używamy rozkładu na czynniki pierwsze liczby φ(n), gdzie φ jest funkcją Eulera. 2. Algorytm wyszukiwania generatorów grupy multiplikatywnej Nie są znane efektywne algorytmy obliczania generatorów grupy multiplikatywnej Zp∗ jeśli dane wejściowe ograniczają się tylko do wartości liczby pierwszej p. Jeśli natomiast znamy rozkład liczby p−1 na czynniki pierwsze tzn. wiemy, że p − 1 = q1k1 q2k2 . . . qrkr gdzie q1 , q2 , . . . , qr są parami różnymi liczbami pierwszymi a k1 , k2 , . . . , kr liczbami naturalnymi, to istnieje prosty algorytm probabilistyczny opisany w języku publikacyjnym na rys.1 obliczający generator grupy Zp∗ . Ten algorytm będziemy analizować w dalszym ciągu. Algorytm ten ma jednak pewną wadę, wymaga bowiem znajomości rozkładu liczby p−1 na czynniki pierwsze. Z kolei uzyskanie rozkładu liczby całkowitej na czynniki pierwsze jest ogólnie rzecz biorąc problemem obliczeniowo trudnym. Konieczność znajomości rozkładu liczby p − 1 na czynniki pierwsze ogranicza użyteczność omawianego algorytmu ale jeśli konkretna wartość liczby pierwszej p nie jest specjalnie istotna to można postąpić tak: 1. Wygenerować parami różne liczby pierwsze q1 , q2 , . . . , qr przyjąć wykładniki k1 , k2 , . . . , kr ∈ N i obliczyć wartość n = q1k1 · q2k2 · . . . · qrkr 2. Przetestować pierwszość liczby n + 1 np. algorytmem Millera-Rabina. Jeśli liczba n + 1 jest pierwsza to można przyjąć p = n + 1 i znamy jednocześnie rozkład liczby p − 1 na czynniki pierwsze. Możemy więc zastosować omawiany algorytm. 248 Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania . . . 3. Jeśli liczba n + 1 nie jest pierwsza to szukamy nowego n jak w p. 1. Algorytm: Probabilistyczny algorytm wyszukiwania generatorów grupy multiplikatywnej Zp∗ Dane wejściowe: 1. liczba pierwsza p 2. rozkład na czynniki pierwsze liczby p − 1 tzn. takie parami różne liczby pierwsze q1 , q2 , . . . , qr i liczby naturalne k1 , k2 , . . . , kr ∈ N , że p − 1 = = q1k1 q2k2 . . . qrkr Dane wyjściowe: g ∈ Zp∗ generator grupy multiplikatywnej Zp∗ g := 1 ; for i := 1 to r do begin repeat wybierz losowo z rozkładem równomiernym liczbę a ∈ Zp∗ ; szukamy elementu rzędu qiki b := a p−1 qi ; c := a until (b ̸= 1); p−1 k q i i ; obliczamy element rzędu qiki g := (g ∗ c)(mod p); obliczamy iloczyn elementów rzędu q1k1 , q2k2 , . . . , qrkr end; write(”generator =”, g); Rysunek 1. Probabilistyczny algorytm obliczania generatorów grupy multiplikatywnej Zp∗ Podany sposób doboru liczby pierwszej p do znanego rozkładu na czynniki pierwsze liczby p − 1 uzupełniony naszym algorytmem okazuje się w praktyce skuteczny i prowadzi do znalezienia generatora „ jakiejś tam” grupy multiplikatywnej Zp∗ . Jednak w wielu praktycznych zastosowaniach o to nam właśnie chodzi. 249 T. Adamski Zauważmy, że naturalny algorytm obliczania generatora Zp∗ , polegający na losowym wyborze elementu a ∈ Zp∗ i sprawdzeniu czy kolejne potęgi a1 , a2 , . . . , ap−1 wyczerpują zbiór elementów grupy Zp∗ , ma wykładniczą złożoność obliczeniową. Nie jest to więc algorytm, który nadaje się dla dużych liczb pierwszych. 3. Uzasadnienie poprawności algorytmu Kluczowe dla uzasadnienia poprawności algorytmu są następujące twierdzenia z teorii grup. Twierdzenie 2. Grupa multiplikatywna ciała skończonego GF (pk ) jest grupą cykliczną rzędu pk − 1. Dowód. por. np. N. Koblitz [2], C. Bagiński [3]. Twierdzenie 3. Każda podgrupa grupy cyklicznej jest cykliczna Dowód. por. np. N. Koblitz [2], C. Bagiński [3]. Twierdzenie 4. Jeśli liczba naturalna d jest dzielnikiem rzędu skończonej grupy cyklicznej G to istnieje dokładnie jedna podgrupa rzędu d grupy G. Dowód. por. np. N. Koblitz [2], C. Bagiński [3]. Prostym wnioskiem z twierdzeń 3 i 4 jest następujące twierdzenie 5 Twierdzenie 5. Jeśli liczba naturalna d jest dzielnikiem rzędu skończonej grupy cyklicznej G to istnieje w grupie G element rzędu d. Zasadnicze dla poprawności algorytmu są następujące dwa twierdzenia: 6 i 7 o rzędzie elementu grupy G. Twierdzenie 6. Niech G będzie grupą i niech a będzie elementem grupy G. Niech ponadto dla pewnej liczby pierwszej p i pewnej liczby e ∈ N mamy e ap = 1 (1) (e−1) ap ̸= 1 (2) wówczas element a ma rząd pe . e Dowód. Jeśli m jest rzędem elementu a ∈ G to ponieważ, ap = 1, zatem f m|pe . Zatem m = pf dla pewnego f ∈< 0, e >. Jeśli f < e to ap = 1 e−1 e i również ap = 1 co jest sprzeczne z założeniem, że ap −1 ̸= 1. Zatem f = e i element a ma rząd pe . 250 Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania . . . Twierdzenie 7. Niech G będzie grupą abelową. Jeśli g1 , g2 , . . . gn ∈ G, oraz si jest rzędem elementu gi dla i = 1, 2, . . . n oraz N W D(si , sj ) = 1 dla każdego i, j ∈ N , i ̸= j, (mówimy, że liczby s1 , s2 , . . . sn są parami względnie pierwsze) to rząd iloczynu g1 · g2 · . . . · gn jest równy s1 · s2 · . . . · sn . Dowód. Wystarczy twierdzenie wykazać dla n = 2 i następnie zastosować indukcję względem n. Niech 1 będzie jednością grupy a k rzędem elementu g1 g2 . Jeśli (g1 g2 )k = 1 to (g1 g2 )( k ·s1 ) = 1 dla i = 1, 2 skąd mamy g1k·s2 = 1 oraz g2k·s1 = 1. Zatem k · s2 jest podzielne przez s1 oraz k · s1 jest podzielne przez s2 . Ponieważ N W D(s1 , s2 ) = 1, zatem k musi być podzielne przez s1 i s2 , a zatem również przez iloczyn s1 · s2 . Zatem rząd iloczynu g1 · g2 czyli k dzieli się przez s1 · s2 . Mamy jednak (g1 g2 )s1 ·s2 = 1 skąd wynika, że s1 · s2 dzieli się przez k, a więc rząd iloczynu g1 g2 jest równy s1 · s2 . Z twierdzenia 2 wynika, że grupa multiplikatywna Zp∗ jest grupą cykliczną rzędu p − 1. Z kolei z twierdzenia 5 będącego bezpośrednim wnioskiem z twierdzeń 3 i 4 wynika, że w grupie Zp∗ dla każdego dzielnika d liczby p − 1 = q1k1 · q2k2 . . . qrkr istnieje element rzędu d a w szczególności element rzędu qiki . W pętli repeat. . . until szukamy dla każdego i = 1, 2, . . . r elementu rzędu qiki (stosując kryterium oparte na twierdzeniu 6). Taki element ai ∈ Zp∗ w grupie multiplikatywnej Zp∗ dla każdego i = 1, 2, . . . r na pewno istnieje ponieważ qiki jest dzielnikiem rzędu grupy Zp∗ czyli liczby p − 1 = q1k1 · q2k2 · . . . qrkr . Każda pętla repeat. . . until wykrywająca element rzędu qiki ma więc szanse by się skończyć. (p−1)/q ki (p−1)/q ki i i Jeśli bi = ai (mod p) ̸= 1 to element bi = ai (mod p) ̸= 1 ki ma na mocy twierdzenia 6 rząd równy qi . Ponieważ liczby q1k1 , q2k2 , qrkr są parami względnie pierwsze, na mocy twierdzenia 7, dostajemy, że element (iloczyn) będący wynikiem obliczeń algorytmu czyli r k ∏ (p−1)/qi i ai (mod p) i=1 ma rząd równy q1k1 · q2k2 · . . . · qrkr co dowodzi poprawności algorytmu. Liczbę generatorów skończonej grupy cyklicznej łatwo obliczyć korzystając z następującego twierdzenia. Twierdzenie 8. Jeśli G jest skończoną grupą cykliczną rzędu n i g jest jej generatorem tej grupy to dla każdego k ∈< 1, #G − 1 >: g k jest generatorem grupy G wtedy i tylko wtedy N W D(k, n) = 1 251 T. Adamski Dowód. por. C. Bagiński [3]. Zatem liczba wszystkich generatorów skończonej grupy cyklicznej jest równa φ(#G), gdzie φ jest funkcją Eulera. W szczególności jeśli grupa multiplikatywna Zn jest cykliczna, to ma φ(φ(n)) generatorów. Grupa multiplikatywna Zp∗ jako grupa cykliczna o φ(p) = p − 1 elementach ma więc pozwala ocedokładnie φ(φ(p)) = φ(p − 1) generatorów. Iloraz φ(p−1) p−1 nić prawdopodobieństwo wylosowania generatora przy losowaniu elementu z Zp∗ z rozkładem równomiernym. 4. Ocena średniej złożoności obliczeniowej algorytmu Dla praktycznej użyteczności algorytmu ważna jest jego średnia złożoność obliczeniowa. Ocenimy średnią złożoność obliczeniową algorytmu z rys. 1 przy założeniu, że zmienna losowa dokonująca wyboru elementu z grupy multiplikatywnej ∗p (wewnątrz pętli repeat. . . until) ma rozkład równomierny na Zp∗ . Twierdzenie 9. (o homomorfizmie grup) Niech będą dane 2 grupy G1 i G2 , niech ponadto H będzie dzielnikiem normalnym grupy G1 a f : G1 −→ G2 homomorfizmem grupy G1 na grupę G2 przy czym H ⊆ ker f . Wówczas istnieje dokładnie jeden taki homomorfizm f0 : G1 /H −→ G2 , że f0 ◦ κ = f , gdzie κ jest homomorfizmem kanonicznym G1 na G1 /H. Innymi słowy istnieje dokładnie jeden homomorfizm f0 : G1 /H −→ G2 , taki że diagram jest przemienny. W przypadku, gdy h = ker f homomorfizm f0 jest izomorfizmem. Dowód. por. np. A. Białynicki [9], C. Bagiński [3]. Z powyższego twierdzenia wynika jako prosty wniosek twierdzenie następujące. 252 Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania . . . Twierdzenie 10. Niech grupa G1 będzie skończona i niech H ⊆ G1 będzie dzielnikiem normalnym grupy G1 . Jeśli zmienna losowa X określona na przestrzeni probabilistycznej (Ω, M, P ) i o wartościach w przestrzeni mierzalnej (G1 , 2G1 ) ma rozkład równomierny na G1 to 1. Zmienna losowa κ ◦ X o wartościach w przestrzeni mierzalnej (G1 /H, F), (gdzie F = 2G1 /H i κ : G1 → G1 /H jest homomorfizmem kanonicznym na grupę ilorazową G1 /H) ma rozkład równomierny na 1 grupie ilorazowej G1 /H oraz dla każdego k = 1, 2, . . . , #G #H mamy: P (κ ◦ X = Hk ) = #H , #G1 gdzie Hk jest k-tą warstwą grupy ilorazowej G1 /H. 2. Jeśli dodatkowo mamy grupę skończoną G2 i homomorfizm f : G1 → G2 grupy G1 na G2 oraz ker f = H to zmienna losowa f (X) ma rozkład równomierny na G2 . Dowód. Część 1 tezy twierdzenia wynika z twierdzenia Lagrange’a i z faktu, że wszystkie warstwy grupy ilorazowej G1 mają tyle samo #H elementów. Część 2-ga tezy jest bezpośrednią konsekwencją twierdzenia o homomorfizmie grup. Rozważmy teraz odwzorowanie fi : Zp∗ → Zp∗ zadane dla a ∈ Zp∗ i każdego i ∈< 1, r > wzorem fi (a) = a p−1 qi (mod p) Łatwo sprawdzić, że fi jest homomorfizmem grupy Zp∗ w grupę Zp∗ . Istotnie, ponieważ Zp∗ jest grupą abelową mamy dla każdego a, b ∈ Zp∗ fi (a · b) = (a · b)(p−1)/qi (mod p) = (a(p−1)/qi (mod p) · b(p−1)/qi (mod p))(mod p) = fi (a) · fi (b) Obraz homomorficzny grupy jest grupą zatem fi (Zp∗ ) ⊆ Zp∗ jest grupą a ściślej podgrupą grupy Zp∗ . Oczywiście fi (Zp∗ ) jest grupą cykliczna jako podgrupa grupy cyklicznej. Łatwo ustalić rząd tej grupy, bo jeśli g jest generatorem grupy Zp∗ to elementami grupy fi (Zp∗ ) będą elementy: fi (g 1 ), fi (g 2 ), . . . , fi (g p−1 ) 253 T. Adamski czyli mamy po kolei qi wartości g (p−1)·1/qi (mod p), g (p−1)·2/qi (mod p), . . . , g (p−1)·qi /qi (mod p) które są parami różne (bo g jest generatorem grupy Zp∗ a wykładniki potęg są różnymi liczbami naturalnymi należącymi do zbioru < 1, p − 1 >). Oczywiście ostatnia wartość: g (p−1)·qi /qi (mod p) = g p−1 (mod p) = 1 ponieważ p − 1 jest rzędem grupy Zp∗ . Rozważmy teraz wszystkie pozostałe interesujące nas wartości potęg elementu g (p−1)/qi (mod p) tzn. g (p−1)·s/qi (mod p) dla wykładników s ∈< qi , p − 1 >. Dla każdego s ∈< qi , p − 1 > istnieją takie k ∈ N , z ∈< 0, qi − 1 >, że s = z + k · qi . Z uwagi jednak na fakt, że g (p−1)·qi /qi (mod p) = g p−1 (mod p) = 1, wszystkie wartości potęg dla wykładników s ∈< qi + 1, p − 1 > muszą należeć do qi elementowego zbioru g (p−1)·1/qi (mod p), g (p−1)·2qi /qi (mod p), . . . , g (p−1)·qi /qi (mod p) Reasumując, fi (Zp∗ ) jest podgrupą rzędu qi grupy multiplikatywnej Jeśli przyjmiemy teraz G1 = Zp∗ i G2 = fi (Zp∗ ) a jako homomorfizm grupy G1 na G2 przyjmiemy fi a ponadto jeśli zmienna losowa X ma rozkład równomierny na Zp∗ to z twierdzenia 10 dostajemy, że zmienna losowa fi (X) = X (p−1)/qi (mod p) ma rozkład równomierny na podgrupie G2 ⊂ Zp∗ rzędu qi . Zatem prawdopodobieństwo Zp∗ . fi (X) ̸= 1) = P (X (p−1)/qi (mod p) ̸= 1) = qi − 1 qi Prawdopodobieństwo fi (X) ̸= 1) = qiq−1 jest prawdopodobieńi stwem opuszczenia wewnętrznej pętli repeat. . . until (prawdopodobieństwem sukcesu) dokładnie zaraz po pierwszym losowaniu a. Niech teraz (Xj )∞ j=1 będzie ciągiem niezależnych zmiennych losowych określonych na przestrzeni probabilistycznej (Ω, M, P ) i o wartościach w grupie multiplikatywnej Zp∗ . Zakładamy, że wszystkie zmienne losowe ciągu mają rozkład równomierny na Zp∗ (kolejne losowania wartości a ∈ Zp∗ są niezależne). Można powiedzieć używając języka cyfrowego przetwarzania sygnałów, że ciąg (Xj )∞ j=1 jest białym szumem dyskretnym z rozkładem równomiernym. Jest to proces stochastyczny opisujący losowanie kolejnych elementów wewnątrz pętli repeat. . . until. Warunki wyjścia z i-tej pętli repeat. . . until opisuje więc teraz proces stochastyczny: (sgn(fi (Xj ) − 1))∞ j=1 254 (3) Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania . . . Z poprzednich rozważań wynika, że: Jeśli sgn(fi (Xk ) − 1 = 0 to nie jest spełniony warunek wyjścia z pętli repeat. . . until (brak sukcesu) oraz P (sgn(fi (Xk ) − 1) = 0) = 1 qi Jeśli sgn(fi (Xk ) − 1 = 1 to jest spełniony warunek wyjścia z pętli repeat. . . until (sukces) oraz P (sgn(fi (Xk ) − 1) = 1) = qi − 1 qi W algorytmie z rys. 1 wychodzimy z pętli repeat. . . until natychmiast jak tylko warunek wyjścia zostanie spełniony (pierwszy sukces). Proces stochastyczny zadany wzorem (3) jest nieskończonym ciągiem prób Bernoulliego z prawdopodobieństwem sukcesu równym qiq−1 . i Oznaczmy przez Yi zmienną losową o wartościach w zbiorze N ∪ {+∞}, określoną na przestrzeni probabilistycznej (Ω, M, P ) zdefiniowaną następująco : dla każdego k ∈ N i każdego ω ∈ Ω Yi (ω) = k wtedy i tylko wtedy, gdy trajektoria (sgn(fi (Xj (ω)−1))∞ j=1 ) procesu (sgn(fi (Xj − 1))∞ j=1 ) jest taka, że: sgn(fi (X1 (ω) − 1)) = 0, sgn(fi (X2 (ω)−1)) = 0, . . . , sgn(fi (Xk−1 (ω)−1)) = 0, sgn(fi (Xk (ω)−1)) = 1, czyli pierwszy sukces (pierwsza jedynka) pojawia się dokładnie w chwili k-tej oraz Yi (ω) = +∞ wtedy i tylko wtedy, gdy trajektoria (sgn(fi (Xj (ω) − 1))∞ j=1 ), jest ciągiem samych zer. Łatwo można wykazać, że tak zdefiniowana na przestrzeni probabilistycznej (Ω, M, P ) funkcja Yi jest istotnie zmienną losową. Zmienna losowa Yi ma rozkład geometryczny z prawdopodobieństwem sukcesu qiq−1 tzn. dla i każdego k ∈ N mamy: P (Yi = k) = ( 1 k−1 qi − 1 ) · qi qi Zmienna losowa Yi przyjmuje wartość k wtedy i tylko wtedy, gdy z i-tego wykonania wewnętrznej pętli repeat. . . until wychodzimy dokładnie, bezpośrednio po k-tym losowaniu wewnątrz tej pętli. Wartość oczekiwana zmiennej losowej Yi (czyli średni czas wyjścia z pętli) jest równa qi E(Yi ) = ≤2 qi − 1 255 T. Adamski a wariancja D2 (Yi ) = qi ≤2 (qi − 1)2 Czas wykonania wszystkich r pętli repeat. . . until jest opisywany zmienną losową: Z = Y1 + Y2 + . . . + Yr Zatem średni czas wykonania wszystkich r pętli repeat. . . until jest równy r r ∑ ∑ qi E(Z) = E(Yi ) = ≤2·r q − 1 i i=1 i=1 Ponieważ r jest jednocześnie liczbą różnych liczb pierwszych w rozkładzie na czynniki pierwsze liczby p − 1 = q1k1 · q2k2 · . . . · qrkr , więc log2 p > k1 log2 q1 + k2 log2 q2 + . . . + kr log2 qr ≥ r Mamy zatem r < log2 p. Wynika stąd, że średnia liczba mnożeń modulo p wewnątrz wszystkich r pętli repeat. . . until przy wykorzystaniu algorytmu szybkiego podnoszenia do potęgi modulo p jest rzędu O((log2 p)2 )p. Podobnie liczba mnożeń na zewnątrz pętli repeat. . . until przy wykorzystaniu algorytmu szybkiego podnoszenia do potęgi modulo p jest rzędu O((log2 p)2 )p. Zatem średnia złożoność całego algorytmu z rys. 1 jest rzędu O((log2 p)2 )p jeśli za działanie dominujące uważamy mnożenie modulo p. Średnia bitowa złożoność jest natomiast rzędu O((log2 p)4 )p. Zmienne losowe Y1 , Y2 , . . . , Yr są niezależne, zatem wariancja zmiennej losowej Z = Y1 + Y2 + . . . + Yr jest równa: D2 (Z) = D2 (Y1 + Y2 + . . . + Yr ) = r ∑ i=1 D2 (Yi ) = r ∑ i=1 qi (qi − 1)2 Nierozstrzygnięty jest jak dotąd problem jak duży może być najmniejszy pierwiastek pierwotny dla liczby pierwszej p (chodzi o oszacowanie od dołu i od góry). Jeśli przez r(p) oznaczymy najmniejszy pierwiastek pierwotny dla liczby pierwszej p to znane jest np. oszacowanie od góry: 1 r(p) < p 4 +ε dla dowolnego ε > 0. Więcej informacji na ten temat i inne oszacowania dla najmniejszego pierwiastka pierwotnego z n można znaleźć w pracach A. Paszkiewicza [10] i W. Narkiewicza [4]. 256 Średnia złożoność obliczeniowa probabilistycznego algorytmu wyszukiwania . . . Jeśli zamiast liczby pierwszej p użyjemy w analizowanym algorytmie liczby n dla której istnieje pierwiastek pierwotny to algorytm pozostanie poprawny. Dane wejściowe oprócz n będzie wówczas stanowił rozkład na czynniki pierwsze liczby φ(n). Warto zauważyć, że często nie jest nam potrzebny generator grupy multiplikatywnej Zp∗ ale element tej grupy dostatecznie wysokiego rzędu. Z rozważań przeprowadzonych w tym podrozdziale wynika, że jeśli mamy tylko częściowy rozkład liczby p − 1 na czynniki pierwsze tzn. wiemy, że p−1 = q1k1 ·q2k2 ·. . .·qrkr ·a, gdzie q1 , q2 , . . . , qr są różnymi liczbami pierwszymi oraz k1 , k2 , . . . kr , a ∈ N to za pomocą opisanego algorytmu potrafimy znaleźć w grupie multiplikatywnej Zp∗ element rzędu q1k1 · q2k2 · . . . · qrkr . Dla a > 1 nie będzie to generator grupy Zp∗ ale może to być element dla naszych celów dostatecznie wysokiego rzędu. Wiele algorytmów kryptograficznych zaczyna się bowiem tak: ”weźmy element g dostatecznie wysokiego rzędu takiego by problem logarytmu dyskretnego przy podstawie g był praktycznie nierozwiązywalny”. 5. Wnioski Obliczona w rozdziale 4 średnia złożoność obliczeniowa analizowanego algorytmu jest zaskakująco mała. Z przedstawionego w rozdziale 3 uzasadnienia poprawności rozważanego algorytmu wyszukiwania pierwiastków pierwotnych modulo n wynika, że algorytm działa poprawnie dla dowolnej skończonej grupy cyklicznej G o ile znany jest rozkład na czynniki pierwsze rzędu grupy czyli liczby #G. Również średnia złożoność obliczeniowa tego algorytmu daje się w analogiczny sposób jak w rozdziale 4 oszacować przez O(log2 #G)2 . Spis oznaczeń N – zbiór liczb naturalnych Z – zbiór liczb całkowitych < a, b > – zbiór {k ∈ Z : a ≤ k ≤ b}, gdzie a, b ∈ Z Zn∗ – grupa multiplikatywna pierścienia Zn Cn – grupa cykliczna rzędu n G1 × G2 – suma prosta grup G1 i G2 2A – zbiór wszystkich podzbiorów zbioru A (Ω, M, P ) – przestrzeń probabilistyczna φ – funkcja Eulera E(X) – wartość oczekiwana zmiennej losowej X 257 T. Adamski D2 (X) – wariancja zmiennej losowej X N W D(n, m) – największy wspólny dzielnik n i m #G – rząd grupy G < A > – grupa generowana przez zbiór A d|n– d jest dzielnikiem n ker f – jądro homomorfizmu f Literatura [1] V. Shoup, A computational Introduction to Number Theory and Algebra, Cambridge University Press, 2008. [2] N. Koblitzc, A Course in Number Theory and Cryptography, Springer, New York 1994. [3] C. Bagiński, Introduction to Group Theory (in Polish), Script, Warszawa 2002. [4] W. Narkiewicz, Number Theory (in Polish), PWN. Warszawa, 1990. [5] A. Menezes, P. Oorschot, S. Vanstone, Handbook of Applled Cryptography, CRC Press Inc., 1997. (http://cacr.math.uwaterloo.ca/hac). [6] D. Hankerson, A. Menezes, S. Vanstone, Guide to Elliptic Curve Cryptography, Springer, 2004. [7] S. Yan; Number Theory for Computing, Springer, Berlin-Heidelberg, 2002. [8] J. Pieprzyk, T. Hardjono, J. Seberry, Fundamentals of Computer Security, Springer, Berlin, Heidelberg, 2003. [9] A. Białynicki, Algebra, Warszawa, PWN, 2010. [10] A. Paszkiewicz, Badania własności liczb pierwszych i wielomianów nieprzywiedlnych pod kątem zastosowania w telekomunikacji, Oficyna Wydawnicza P.W.; Warszawa 2012. THE AVERAGE COMPLEXITY OF THE PROBABILISTIC ALGORITHM FOR FINDING PRIMITIVE ROOTS MODULO n Abstract. Primitive roots from a natural number n (i.e. generators of the multipli∗ ) play an important role in many cryptographic algorithms like public cative group Zn key ciphers, digital signatures and key agreement algorithms. In the paper, proof of correctness of the probabilistic algorithm for finding primitive roots is given along with assessment of its average computational complexity. Results obtained for the multipli∗ can be in natural easy way generalized on the case of arbitrary finite cative group Zn cyclic groups. Keywords: cryptographic algorithms, probabilistic algorithms, average computational complexity, primitive roots modulo n, cyclic groups. ZASTOSOWANIE FUNKCJI L W KRYPTOLOGII Jerzy Kaczorowski Wydział Matematyki i Informatyki UAM, Poznań, Instytut Matematyczny PAN, Warszawa Streszczenie. Bezpieczeństwo asymetrycznych systemów kryptologicznych opiera się na założeniu, że istnieją funkcje jednokierunkowe. Fakt ten nie został do tej pory ściśle udowodniony. Nie mniej jednak pewne trudne obliczeniowo problemy teorii liczb, takie jak na przykład problem faktoryzacji, czy też problem obliczania logarytmu dyskretnego w skończonych grupach abelowych, mogą być podstawą konstrukcji funkcji uważanych za jednkierunkowe. Idea wykorzystania w tym konstekście funkcji typu L (elementów klasy Selberga) pojawiła się po raz pierwszy w pracy M. Anshela i D. Goldfelda z 1997 roku. Ich przydatność ilustrujemy na przykladzie protokołu uwierzytelnienia przy użyciu współczynników Dirichleta funkcji L oraz eliptycznego generatora pseudolosowego. Na zakończenie przedstawiamy propozycję innego typu, a mianowicie opis protokołu rzutu monetą przez telefon opartego na wykorzystaniu nietrywialnych zer funkcji L. Słowa kluczowe: funkcje jednokierunkowe, funkcje L, klasa Selberga. 1. Znaczenie teorii liczb dla kryptologii stało się ważne z chwilą pojawienia się systemów asymetrycznych. Ich bezpieczeństwo opiera się na założeniu, że istnieją funkcje jednokierunkowe, których wartości mogą być efektywnie obliczane, natomiast przeciwobrazy – nie. Istnienie takich funkcji nie zostało jeszcze ściśle udowodnione, nie mniej jednak znane są przykłady, które najprawdopodobniej prowadzą do funkcji jednokierunkowych. Jednym z nich jest zwyczajne mnożenie liczb naturalnych. Może być ono szybko i efektywnie (w czasie wielomianowym) wykonane, natomiast operacja odwrotna, to znaczy rozkład liczby naturalnej na czynniki, jest znacznie trudniejsza i w chwili obecnej nie wiadomo, czy istnieje działający wielomianowo algorytm rozwiązujący to zagadnienie. Innym standardowym przykładem trudnego obliczeniowo problemu, na którym oparte są niektóre asymetryczne systemy kryptologiczne jest zagadnienie logarytmu dyskretnego w grupach. Z tego punktu widzenia szczególnie ciekawa jest teoria krzywych eliptycznych nad ciałami skończonymi, głównie ze względu na Praca częściowo sfinansowana ze środków 2013/11/B/ST1/02799 Narodowego Centrum Nauki projektu badawczego nr J. Kaczorowski łatwość generowania grup abelowych o dobrych własnościach kryptologicznych. Zasadnicze ograniczenia w konstrukcji nowych asymetrycznych systemów szyfrowania wynikają z faktu, że znanych jest stosunkowo niewiele funkcji, które są prawdopodobnie jednokierunkowe. Najpopularniejsze to wspomiane wyżej operacje związane z problemem faktoryzacji oraz logarytmu dyskretnego. Niniejsza praca ma na celu zareklamowanie innej rodziny o potencjalnie dużym znaczeniu kryptologicznym związanej z wykorzystaniem dobrze znanych w teorii liczb funkcji typu L. Idea ta pojawiła się po raz pierwszy w pracy M. Anshela i D. Goldfelda z 1997 roku ([1]), do której będziemy się wielokrotnie odwoływać. Przykład 1. (Uwierzytelnianie przy pomocy charakterów Dirichleta, por. [1]). Zakładamy, że Alicja jest użytkownikiem pewnego systemu, a Bob jest osobą mającą stwierdzić, czy jest ona użytkownikiem uprawnionym. Zakładamy, że każdy uprawniony użytkownik zna (tajny) charakter Dirichleta χ( mod q). Schemat uwierzytelniania jest wtedy następujący: Bob do Alicji wysyła dwie losowo wybrane liczby całkowite m oraz b > 0, a w odpowiedzi Alicja do wysyła Boba wektor v = (χ(m), χ(m + 1), . . . , χ(m + b)). Bob weryfikuje otrzymaną listę i jeżeli jest poprawna, to potwierdza tożsamość Alicji. Procedurę moża iterować dla większego bezpieczeństwa. Nietrywialnym ( ) przykładem charakteru Dirichleta jest symbol Kroneckera χ = d· . Podstawowe wiadomości o charakterach Dirichleta, a w szczególności o symbolu Kroneckra czytelnik znajdzie na przykład w [4]. Wiara w to, że przedstawiony prosty schemat uwierzytelniania jest bezpieczny opiera się na następującej hipotezie, którą dla prostoty przedstawiamy w szczególnym przypadku, gdy rozważany charakter jest symbolem Kroneckera. Hipoteza. (Anshel-Goldfeld [1]) Dla dostatecznie dużej liczby rzeczywistej X oraz ustalonych A i B (niezależnych od X) projekcja (( [X, 2X] ∋ d 7→ d m ) ( , d m+1 ) ( ,..., d m+b )) , gdzie b ≥ (log X)A , m ≤ (log X)B jest funkcją jednokierunkową. Podobną hipotezę można wypowiedzieć w odniesieniu do dowolnego pierwotnego charakteru Dirichleta o dostatecznie dużym przewodniku. Istota sprawy w rozważanym przykładzie jest taka, że wartości symbolu 260 Zastosowanie funkcji L w kryptologii Kroneckera, lub ogólniej ustalonego charakteru Dirichleta, mogą być obliczane szybko, natomiast rozpoznanie, o który charakter chodzi znając tylko pewną liczbę jego wartości (dość dużą, ale znaczaco mniejszą od przewodnika) jest zagadnieniem trudnym obliczeniowo. W każdym razie nie znamy żadnego efektywnego algorytmy rozwiązującego to zagadnienie. Krótko mówiąc do naszej dotychczasowej listy problemów obliczeniowo trudnych (faktoryzacjia, logarytm dyskretny) dołączamy następny, a mianowicie identyfikację charakteru Dirichleta przy znajomości pewnej liczby jego wartości przyjmowanych na kolejnych liczbach całkowitych. Zauważmy, że charakter Dirichleta χ(modq) jednoznacznie wyznacza funkcję L Dirichleta, zdefiniowaną dla liczb zespolonych s = σ + it, σ > 1 wzorem ∞ ∑ χ(n) L(s, χ) = , ns n=1 a dla pozostałych s poprzez przedłużenie analityczne. Odwrotnie, każda funkcja L Dirichleta jednoznacznie wyznacza pewien charakter. W związku z tym poprzedni przykład można uogólnić następująco. Alicja i Bob ustalają (tajną) L-funkcję (Re (s) > 1): L(s) = ∞ ∑ aL (n) , s n n=1 a następnie postępują w sposób analogiczny do wcześniej omówionego. Bob przesyła Alicji losowo wybrane liczby naturalne m i b, a w odpowiedzi otrzymuje wektor współczynników v = (aL (m), aL (m + 1), . . . , aL (m + b)). Jeżeli lista Alicji jest poprawna, to jest ona uprawnionym użytkownikiem systemu. Jest jasne, że funkcja L użyta w tym uogólnieniu musi spełniać następujące dwa warunki. Po pierwsze, jej współczynniki Dirichleta powinny być łatwe do wyznaczania i po drugie, problem identyfikacji samej funkcji L powinien być obliczeniowo trudny. Niewątpliwą korzyścią z dopuszczenia do rozważań ogólnych funkcji L jest uzyskanie znacznej swobody w konstrukcjach kryptologicznych. Związane jest to z obszernością klasy znanych funkcji L. Należy zacząć od sprecyzowania tego pojęcia i odpowiedzieć na z pozoru proste pytanie: co to jest funkcja L? Paradoksalnie udzielenie zadawalającej odpowiedzi nie jest proste. W tym artykule przez funkcję L będzieny rozumieć nietrywialny elemant klasy Selberga. Definicja. (Selberg, 1989, (por. [22])). Funkcja F należy do klasy Selberga ∑∞ wtedy i tylko wtedy, gdy F (s) = n=1 a(n) ns , gdzie: 261 J. Kaczorowski 1. szereg Dirichleta jest bezwzględnie zbieżny dla σ := Re (s) > 1. 2. (Przedłużenie analityczne) Istnieje liczba całkowita m ≥ 0 taka, że (s − 1)m F (s) jest funkcją całkowitą skończonego rzędu. 3. (Równanie funkcyjne) Φ(s) = ωΦ(1 − s), gdzie s Φ(s) = Q r ∏ Γ (λj s + µj )F (s) = γ(s)F (s), j=1 dla pewnych r ≥ 0, Q > 0, λj > 0, Re µj ≥ 0, |ω| = 1. 4. (Postulat Ramanujana) Dla każdego ε > 0 mamy a(n) ≪ nε , to znaczy istnieje stała A(ε) taka, że dla n ≥ 1 mamy |a(n)| ≤ A(ε)nε . 5. (Iloczyn Eulera) Dla σ > 1 mamy log F (s) = ∑ b(n)n−s , n gdzie b(n) = 0 dla n ̸= pm oraz b(n) ≪ nθ dla pewnego θ < 1/2. Klasę Selberga oznaczamy symbolem S. Funkcja tożsamościowo równa 1 jest w sposób oczywisty elementem klasy Selberga. Jest to jednak przykład nieciekawy z punktu widzenia kryptologii. Przez nietrywialne elementy S rozumiemy funkcje F ̸≡ 1. Przegląd podstawowych własności klasy Selberga czytelnik znajdzie w [14]. Czasami wygodnie jest rozważać większy zbiór szeregów Dirichleta, a mianowicie tak zwaną rozszerzoną klasę Selberga S # . Jest to zbiór funkcji F ̸≡ 0 spełniających aksjomaty (1), (2) i (3). Przykład 2. (Elementy klasy Selberga). 1. Funkcja dzeta Riemanna ζ(s), por. [24], [11]; 2. przesunięta funkcja L Dirichleta L(s + iθ, χ), gdzie χ jest pierwotnym charakterem Dirichleta (modq), q > 1, a θ jest liczbą rzeczywistą, por. [4], [19]; 3. ζK (s), funkcja dzeta Dedekinda ciała liczb algebraicznych K, por. [18]; 4. LK (s, χ), funkcja L Hecke’go z pierwotnym charakterem Hecke’go χ(modf), f jest ideałem pierścienia liczb algebraicznych całkowitych ciała K, por. [18]; 5. funkcje L holomorficznych nowych form podgrup kongruencyjnych grupySL2 (Z) (po odpowiednim znormalizowaniu). Jest to wniosek 262 Zastosowanie funkcji L w kryptologii z klasycznej teorii Hecke’go (por. [12], [17]) oraz słynnego twierdzenia P. Deligne’a [5]; 6. funkcje L wymiernych krzywych eliptycznych. Jest to wniosek poprzedniego przykładu w połączeniu z twierdzeniem A. Wilesa ([26], [25], [2]); 7. sploty Rankina-Selberga znormalizowanych holomorficznych nowych form, por. [12], [17]; 8. F, G ∈ S ⇒ F G ∈ S (podobnie dla S # ) 9. Jeżeli F ∈ S jest całkowita to jej przesunięcie Fθ (s) = F (s + iθ) jest elementem S dla każdej liczby rzeczywistej θ. W pewnych przypadkach nie potrafimy stwierdzić, czy klasyczna funkcja L jest elementem klasy Selberga. Najczęściej prawdopodobnie tak jest, ale odpowiedź zależy od przyjęcia pewnych (klasycznych) hipotez. Przykład 3. (Warunkowe elementy klasy Selberga). 1. Funkcje L Artina nieprzywiedlnych reprezentacji grup Galois (modulo hipoteza Artina: brakuje dowodu istnienia przedłużenia do funkcji holomorficznej na C), por. [16]; 2. funkcje L nieholomorficznych nowych form modularnych (problemy z postulatem Ramanujana), por. [3]; 3. potęgi symetryczne, np. dla znormalizowanych holomorficznych nowych form: )−1 ( )−1 ∏( bp ap L(s) = 1− s 1− s p p p r-ta potęga symetryczna: Lr (s) = r ∏∏ −s −1 (1 − ajp br−j ) p p p j=0 (modulo hipoteza Langlandsa o funktorialności); 4. ogólniej: funkcje L reprezentacji automorficznych GLn (K) (problemy z postulatem Ramanujana), por. [3]. Standardowymi przykładami funkcji L z rozszerzonej klasy Selberga są kombinacje liniowe elementów klasy Selberga spełniające to samo równanie funkcyjne. Klasycznym przykładem jest funkcja Davenporta-Heilbronna L(s) = λL(s, χ1 ) + λL(s, χ1 ), 263 J. Kaczorowski gdzie χ1 charakterem Dirichleta mod 5 takim, że χ1 (2) = i, a stała λ dana jest wzorem ( ) √ √ 1 10 − 2 5 − 2 √ λ= 1+i . 2 5−1 Równanie funkcyjne tej funkcji jest postaci ( ) ( π ) 2s ( s + 1 ) ( π ) 1−s 2−s 2 Γ L(s) = Γ L(1 − s). 5 2 5 2 Nie wszystkie funkcje L z klasy Selberga jednakowo dobrze nadają się do zastosowań kryptologicznych. W niektórych przypadkach przeszkodą może być na przykład brak algorytmów szybkiego obliczania ich współczynników Dirichleta. Tak jest na przykład dla pewnych rozmaitości abelowych nad ciałami skończonymi (por. [8]). 2. Eliptyczne generatory pseudolosowe Niech E oznacza krzywą eliptyczną nad Q daną równaniem Weierstrassa E : y 2 = x3 + ax + b a, b ∈ Z , ∆E := 4a3 + 27b2 ̸= 0. Dla liczb pierwszych p ̸ |∆E równanie y 2 ≡ x3 + ax + b(modp) definiuje krzywą eliptyczną nad p-elementowym ciałem skończonym Fp . Dla p ̸ |∆E kładziemy aE (p) = p + 1 − #E(Fp ). Z cytowanego już wcześniej twierdzenia A. Wilesa otrzymujemy jako wniosek następujący wynik o podstawowym znaczeniu. Twierdzenie 1. Istnieją jednoznacznie wyznaczone liczby całkowite aE (p), p|∆E takie, że )−1 ∏ ( )−1 ∏ ( aE (p) aE (p) 1−2s 1− +p L(s, E) = 1− ps ps p|∆E p̸ |∆E (iloczyn zbieżny dla Re (s) > 3/2) ma przedłużenie do funkcji holomorficznej na całej płaszczyźnie zespolonej i spełnia następujące równanie funkcyjne: Qs Γ (s)L(s, E) = ωQ2−s Γ (2 − s)L(2 − s, E) gdzie, ω = ±1. 264 Zastosowanie funkcji L w kryptologii Twierdzenie 2. 1. Dla Re (s) > 3/2 funkcja L(s, E) jest określona przez bezwzględnie zbieżny szereg Dirichleta ∞ ∑ aE (n) L(s, E) = . ns n=1 2. Współczynniki aE (n) są liczbami całkowitymi. √ 3. Dla n ≥ 1 mamy |aE (n)| ≤ nd(n) (jest to znane twierdzenie Hasse’go, por. np. [10]). 4. Współczynniki aE (pk ) mogą być obliczone w czasie wielomianowym (por. Schoof [21]). 5. L(s + 12 , E) ∈ S. Twierdzenie 3. Niech a, b ∈ Z będą takie, że 4a3 + 27b2 ̸= 0, oraz ciało rozkładu wielomianu X 3 + aX + b ∈ Q[X] ma nad Q stopień równy 6. Wtedy gęstość liczb pierwszych p, dla których 2|aE (p) wynosi 2/3: ∑ 2 1 1= . lim x→∞ π(x) 3 p≤x 2|aE (p) Dowód tego twierdzenia można znaleźć w [1]. Z założenia o stopniu ciała rozkładu wynika łatwo, że grupa Galois wielomianu X 3 + aX + b jest grupą S3 symetryczną trzech elementów. Pierwszym fundamentalnym faktem użytym w dowodzie Twierdzenia jest twierdzenie Serre’a o obrazie reprezentacji tej grupy indukowanej przez jej działanie na zbiorze punktów krzywej eliptycznej ustalonego rzędu ([23]). Drugim faktem używanym w dowodzie jest słynne twierdzenie Czebotarewa o gęstości, por. [15]. Pokażemy teraz jak funkcje L krzywych eliptycznych mogą być wykorzystane do konstrukcji generatorów pseudolosowych. W pierwszym kroku procedury ustalamy liczby a, b ∈ Z takie, że 1. 4a3 + 27b2 ̸= 0, 2. ciało rozkładu wielomianu X 3 + aX + b ma stopień 6 nad Q. Para (a, b) jest zalążkiem ciągu pseudolosowego. Następnie rozważamy krzywą eliptyczną E daną równaniem Weierstrassa y 2 = x3 + ax + b 265 J. Kaczorowski oraz odpowiadającą jej funkcję L(s, E). Redukując modulo 2 współczynniki szeregu Dirichleta tej funkcji odpowiadające liczbom pierwszym otrzymujemy ciąg binarny (aE (p1 )(mod2), aE (p2 )(mod2), . . .). Z ostatniego twierdzenia wnioskujemy, że jest to ciąg pseudolosowy z rozkładem prawdopodobieństwa (1/3, 2/3), to znaczy ciąg, w którym prawdopodobieństwo wystąpienia cyfry 0 jest równe 2/3, a cyfry 1 równe 1/3. Problem: zastosować podobną procedurę do innych funkcji typu L. 3. Rzut monetą przez telefon Dotychczas opisane w literaturze zastosowania kryptologiczne funkcji L oparte są głównie na użyciu ich współczynników Dirichleta. Wydaje się jednak, że jest to jedynie fragment potencjalnych możliwości. Na zakończenie tej krótkiej notki przedstawimy propozycję innego typu, a mianowicie opis protokołu rzutu monetą przez telefon opartego na wykorzystaniu nietrywialnych zer funkcji L. Czynności przygotowawcze Krok I: Alicja wybiera: (a) funkcję L, (b) parametry T, x ∈ R, N ∈ N ( N ∼ T θ , θ > 1/2), (c) zbiór E ⊂ [0, 1) o mierze Jordana 1/2. Krok II: Alicja oblicza kolejne nietrywialne zera ρ1 , ρ2 , . . . , ρN funkcji L(s) na prostej σ = 1/2: 1 ρj = + iγj 2 T ≤ γ1 ≤ γ2 ≤ . . . ≤ γN . Algorytm Bob: wysyła do Alicji losowo wybraną liczbę całkowią 1 ≤ m ≤ N . Alicja: zwraca εm ∈ {0, 1} obliczone następująco: { 1 gdy ∥xγm ∥ ∈ E, εm = 0 w przeciwnym wypadku, gdzie dla liczby rzeczywistej α, symbol ||α|| oznacza jej część ułamkową. Jeżeli εm = 1, wynikiem rzutu monetą jest ORZEŁ, 266 Zastosowanie funkcji L w kryptologii Jeżeli εm = 0, wynikiem rzutu monetą jest RESZKA. Weryfikacja Bob może zweryfikować poprawność rzutów, gdy Alicja ujawni L, T , x oraz E. Zasadniczym faktem leżącym u podstaw powyższego protokołu jest ekwipartycja części urojonych nietrywialnych zer funkcji L. Pierwszy bezwarunkowy wynik w tym kierunku uzyskał E. Hlawka w przypadku funkcji dzeta Riemanna. Niech 0 < γ1 ≤ γ2 ≤ . . . będą dodatnimi częściami urojonymi nietrywialnych zer tej funkcji. Twierdzenie 4. ([9]) Dla każdej liczby rzeczywistej x ̸= 0 ciąg (xγk ) ma ekwipartycję (mod 1) w sensie H. Weyla: ∀0≤a<b<1 #{k ≤ N : a ≤ ||xγk || < b} ∼ (b − a)N przy N → ∞. Twierdzenie to było następnie wielokrotnie uogólniane i wzmacniane, por. np. P.D.T.A. Elliott [6], A. Fujii [7], H. Rademacher [20]. Dla potrzeb omawianego zastosowania kryptologicznego najodpowiedniejsze będzie posłużenie się tak zwaną A-ekwipartycją (mod 1), pojęcem wprowadzonym w [13]. Dla ustalenia uwagi ograniczymy się do przypadku funkcji L Dirichleta, chociaż nie ma zasadniczych trudności, aby potrzebne twierdzenia uzyskać dla znacznie ogólniejszej klasy funkcji L. Ustalmy charakter Dirichleta χ oraz uszeregujmy części urojone nietrywialnych zer L(s, χ) w porządku niemalejącym (z uwzględnieniem krotności): 0 < γ1 ≤ γ2 ≤ . . ., a następnie rozważmy następującą dodatnią macierz Toeplitza: A = [ank ]n,k≥1 ank = 1 −γk n e γk , Sn Sn = ∞ ∑ e−γk γkn . k=1 Twierdzenie 5. ([13]) Dla każdej liczby rzeczywistej x ̸= 0 ciąg (xγk ) jest A-jednostajnie rozłożony (mod 1), to znaczy ∑ ∀0≤a<b<1 ank → (b − a) k≥1 a≤∥xγk ∥<b przy N → ∞. 267 J. Kaczorowski Twierdzenie 6. ([13]) Ekwipartycja (mod 1) w sensie Weyla jest typu 1, natomiast A-ekwipartycja jest typu 1/2. Dokładne wyjaśnienie znaczenia tego twierdzenia, a w szczególności definicję typu ekwipartycji można znaleźć w [13]. Z grubsza rzecz ujmując fakt, iż A-ekwipartycja ma typ 1/2 oznacza, że jeżeli ciąg (tk ), jest A-jednostajnie rozłożony (mod 1), to każdy skończony ciąg +H (||tk ||)N k=N , H ≥ N 1/2+ε mniej więcej równomiernie wypełnia przedział [0, 1). W szczególności przy N → ∞, prawdopodobieństwo tego, że część ułamkowa losowo wybranego wyrazu tk , N ≤ k ≤ N + N 1/2+ε będzie należała do ustalonego zbioru E ⊂ [0, 1) dąży do miary Jordana zbioru E. To uzasadnia wybór parametrów w schemacie rzutu monetą przez telefon. Założenie N = T θ z θ > 1/2 wystarcza na mocy ostatniego Twierdzenia. Fakt, że miara Jordana zbioru E ⊂ [0, 1) wynosi 1/2 gwarantuje równość prawdopodobieństw wylosownia orła i reszki P rob(RESZKA) = P rob(ORZEŁ) = 1/2. Zmieniając miarę zbioru E otrzymujemy protokół rzutu monetą niesymetryczną. Literatura [1] M. Anshel, D. Goldfeld, Zeta functions, one-way functions, and pseudorandom number generators, Duke Math. J. 88(1997), 371–390. [2] C. Breuil, B. Conrad, F. Diamond, R. Taylor, On the modularity of elliptic curves over Q: wild 3-adic exercises, J. Amer. Math. Soc. 14 (2001), no. 4, 843–939. [3] D. Bump, Authomorphic forms and representations, Cambridge University Press, Cambridge 1997. [4] H. Davenport, Multiplicative number theory, 2nd ed. Springer, Berlin-Heidelberg 1980. [5] P. Deligne, Formes modulaires et reprsentations l-adiques, Séminaire Bourbaki vol. 1968/69 Exposés 347-363, Lecture Notes in Mathematics 179, Berlin, New York: Springer-Verlag, 1971. 268 Zastosowanie funkcji L w kryptologii [6] P. D. T. A. Elliott, The Riemann zeta function and coin tossing, J. Reine Angew. Math. 254 (1972), 100–109. [7] A. Fujii, On the zeros of Dirichlet L-functions, III, IV Trans. Amer. Math. Soc. 219 (1976), 347–349; J. Reine Angew. Math. 286(287) (1976), 139–143. [8] J. von zur Gathen, M. Karpinski, I, Shparlinski, Counting courves and their projections , in Proceedings of the 25th Annual Symposium on Theory of Computing, Association for Computing Machinery, New York, 1993, 805–812. [9] E. Hlawka, Über die Gleichverteilung gewisser Folgen, welche mit den Nullstellen der Zetafunktion zusammenhängen, Österreich. Akad. Wiss. Math.-Naturwiss. Kl. S.-B. II 184 (1975), no. 8-10, 459–471 [10] D. Husemoller, Elliptic Curves, Grad. Texts in Math. 111, Springer-Verlag, New York 1987. [11] A. Ivić, The Riemann Zeta-function, Wiley, New York, 1985. [12] H. Iwaniec, Topics in Classical Automorphic forms, Graduate Studies in Mathematics, 17, American Mathematical Sociaty, Providence, Rhode Island, 1997. [13] J. Kaczorowski, The k-functions in multiplicative number theory, II, III, Acta Arith. 56(1990), 213–224; ibidem 57(1990), 199–210. [14] J. Kaczorowski, Axiomatic theory of L-functions: the Selberg class, in Analytic Number Theory, C.I.M.E. Summer School,Cetraro (Italy) 2002, ed. by A. Perelli, C. Viola, 133–209, Springer L.N. 1891, 2006. [15] J. C. Lagarias, A. M. Odlyzko, Effective versions of the Chebotarev density theorem. Algebraic number fields: L-functions and Galois properties (Proc. Sympos., Univ. Durham, Durham, 1975), pp. 409–464. Academic Press, London, 1977. [16] J. Martinet, Character theory and Artin L-functions, in A. Fröhlich (ed.) Algebraic Number Theory, Academic Press London-New York-San Francisco 1977. [17] T. Miyake, Modular forms, Springer-Verlag 1989. [18] W. Narkiewicz, Elementary and analytic theory of algebraic numbers, PWN, Springer-Verlag, 1990. [19] K. Prachar, Primzahlverteilung, Springer-Verlag, 1978. [20] H. Rademacher, Collected papers of Hans Rademacher. Vol. II, Mathematicians of Our Time, 4. MIT Press, Cambridge, Mass.-London, 1974. xxi+638 pp. [21] R. Schoof, Elliptic curves over finite fields and the computation of square roots mod p, Math. Comp. 44 (1985), no. 170, 483–494. 269 J. Kaczorowski [22] A. Selberg, Old and new conjecture and results about a class of Dirichlet series, Proceedings of the Amalfi Conference on Analytic Number Theory (Maiori, 1989) (ed. by E. Bombieri et. al.), 367-385, Università di Salerno, Salerno 1992; Collected papers vol II, 47-63, Springer, Berlin 1991. [23] J.-P. Serre, Propriétés galoisiennes des points d’ordre fini des courbes elliptiques, Invent. Math. 15 (1972), no. 4, 259–331. [24] E.C. Titchmarsh, The theory of the Riemann zeta function, 2nd ed., Clarendon Press, Oxford, 1988. [25] R. Taylor, A. Wiles, Ring-theoretic properties of certain Hecke algebras, Ann. of Math. (2) 141 (1995), no. 3, 553–572. [26] A. Wiles, Modular elliptic curves and Fermat’s last theorem, Ann. of Math. (2) 141 (1995), no. 3, 443–551. APPLICATIONS OF L-FUNCTIONS IN CRYPTOLOGY Abstract. Security of asymmetric cryptological systems is based on the unproved hypothesis that one-way functions do exist. Some difficult computational problems in number theory, such as factorization or a discrete logarithm problem in finite Abelian groups may serve as a basis for constructing presumably one-way functions. The idea of using L-functions (elements of the Selberg class) in this context goes back to M. Anshel and D. Goldfeld (1997). Following them we describe an authentication protocol and an elliptic pseudo-random generator. The former uses Dirichlet L-functions, and the latter Hasse-Weil L-functions of elliptic curves over Q. We conclude by proposing a protocol of coin toss by phone based on the use of non-trivial zeros of L-functions. Keywords: one-way functions, L-functions, Selberg class. NIELINIOWE REJESTRY PRZESUWNE I ŁĄCZENIE SKRZYŻOWANYCH PAR STANÓW Johannes Mykkeltveit∗ , Janusz Szmidt∗∗ ∗ International Research Institute, Bergen, Norway Wojskowy Instytut Łączności, Zegrze, Poland [email protected] ∗∗ Streszczenie. Wyjaśniamy pochodzenie funkcji sprzężenia zwrotnego dla Nieliniowych Rejestrów Przesuwnych ze Sprzężeniem Zwrotnym (NFSR), które generują binarne ciągi de Bruijna. Funkcje te powstają przez zastosowanie operacji łączenia skrzyżowanych par stanów do wybranego rejestru przesuwnego generującego ciąg binarny o maksymalnym okresie; np. rejestru liniowego, który zawsze istnieje dla danego rzędu n. Otrzymany wynik pozwala konstruować wszystkie nieliniowe rejestry przesuwne generujące ciągi binarne o okresie 2n − 1. Słowa kluczowe: nieliniowe rejestry przesuwne ze sprzężeniem zwrotnym, ciągi de Bruijna, metoda łączenia skrzyżowanych par stanów. 1. Wprowadzenie Celem tej pracy jest przedstawienie konstrukcji funkcji Boolowskich sprzężenia zwrotnego dla nieliniowych rejestrów przesuwnych (NFSR - ang. Nonlinear Feedback Shift Registers), które generują ciągi binarne o maksymalnym okresie. W szczególności rozpatrywany jest problem czy dowolny binarny ciąg de Bruijna może być otrzymany z ustalonego ciągu de Bruijna tego samego rzędu przez zastosowanie operacji łączenia skrzyżowanych par stanów. Problem ten został postawiony na konferencji z Kodowania i Kryptologii (WCC 2013, Bergen, Norwegia) i pozytywnie rozwiązany wspólnie z Johannesem Mykkeltveitem. W terminach funkcji Boolowskich otrzymany wynik wskazuje jakie operacje algebraiczne mają być zastosowane do ustalonej funkcji Boolowskiej, aby otrzymać wszystkie funkcje sprzężenia zwrotnego nieliniowych rejestrów przesuwnych generujących ciągi de Bruijna tego samego rzędu. Rejestry przesuwne ze sprzężeniem zwrotnym są użyteczne do generowania binarnych ciągów okresowych i w tym celu są stosowane w telekomunikacji i kryptografii. Liniowe rejestry przesuwne (LFSR - ang. Linear Feedback Shift Registers) i NFSR są głównymi elementami, z których budowane są szyfry strumieniowe. Algorytmy Mickey [1], Trivium [4], Grain [15], Achterbahn [11] i modyfikacje naprzemiennego generatora krokowego [27] są przykładami szyfrów strumieniowych, w których zastosowano NFSR. J. Mykkeltvei, J. Szmidt Teoria rejestrów typu LFSR jest dobrze ugruntowana matematycznie. Badanie NFSR zostało rozpoczęte w pionierskiej monografii Golomba [12] i kontynuowane w następnych latach. W zastosowaniach kryptograficznych NFSR generujące tzw. zmodyfikowane ciągi de Bruijna są ważne, ponieważ w pewnych przypadkach algebraiczna postać normalna (ANF - ang. Algebraic Normal Form) odpowiadających funkcji sprzężenia zwrotnego jest dość prosta i dogodna do implementacji; patrz np. [11, 22]. Operacje łączenia i rozłączania cykli generowanych przez nieosobliwe rejestry przesuwne były rozpatrywane w książce Golomba [12]. Następnie istnienie tzw. skrzyżowanych par stanów (ang. cross-join pairs) było wykorzystane w serii prac [6, 9, 10, 23, 28] do konstrukcji nowych NFSR. Helleseth i Kløve [16] udowodnili ważny wynik, który podaje liczbę skrzyżowanych par stanów dla m-ciągów (ciągi o maksymalnym okresie generowane przez LFSR). Dubrowa w pracy [6] zastosowała operację łączenia skrzyżowanych par stanów do konstrukcji rejestrów typu Galois generujących ciągi o maksymalnym okresie. Metody znajdowania NFSR z funkcją sprzężenia o prostej ANF były badane w pracach [3, 5, 7, 11, 17, 26]. Gong i Mandal [21] stosując metody z pracy Mykkeltveit et al. [24] podali metodę rekurencyjną konstruowania NFSR o maksymalnym okresie. Chan, Games i Rushanan [3] postawili hipotezę o istnieniu tzw. kwadratowych m-ciągów dla każdego rzędu n. W pracy [5] hipoteza ta została zweryfikowana eksperymentalnie do rzędu n = 29 i zostały znalezione NFSR o prostej ANF generujące kwadratowe m-ciągi. W niniejszej pracy przedstawiamy związek między NFSR generującymi kwadratowe m-ciągi a operacją łączenia skrzyżowanych par. Podany jest przykład rejestru rzędu 7 generującego zmodyfikowany ciąg de Bruijna, który został skonstruowany w wyniku zastosowania operacji łączenia skrzyżowanych par. Dowód Twierdzenia 3 został opublikowany w pracy [25]. 2. Nieliniowe rejestry przesuwne Niech F = {0, 1} oznacza ciało binarne, zaś Fn2 niech będzie n-wymiarową przestrzenią nad ciałem F2 . Elementami przestrzeni Fn2 są ciągi binarne o długości n. Przykładowo taki ciąg (wektor) będziemy oznaczać x = (x0 , x1 , . . . , xn−1 ), gdzie xi ∈ F2 , i = 0, 1, . . . , n − 1. Przesuwy rejestr binarny ze sprzężeniem zwrotnym (FSR - ang. Feedback Shift Register) rzędu n (lub n-stanowy) jest odwzorowaniem F : Fn2 → Fn2 postaci F(x0 , . . . , xn−1 ) = (x1 , x2 , . . . , xn−1 , f (x0 , . . . , xn−1 )), 272 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . gdzie f jest funkcją Boolowską od n zmiennych. Rejestr przesuwny jest określony jako nieosobliwy jeśli przekształcenie F jest wzajemnie jednoznaczne, tzn. F jest bijekcją na zbiorze Fn2 . Wykazuje się (patrz [12]), że rejestr przesuwny F jest nieosobliwy wtedy i tylko wtedy, gdy funkcja Boolowska f jest postaci f (x0 , . . . , xn−1 ) = x0 + F (x1 , . . . , xn−1 ), (1) gdzie F jest funkcją Boolowską od n − 1 zmiennych. Rejestry nieosobliwe jako przekształcenia przestrzeni Fn2 generują zamknięte cykle elementów tej przestrzeni. Największą liczbę cykli generuje tzw. rejestr czysto cykliczny rzędu n oznaczany P CRn (ang. Pure Cyclic Register), gdzie funkcja F ≡ 0, tzn. funkcja sprzężenia zwrotnego f ma postać f (x0 , x1 , . . . , xn−1 ) = x0 . P CRn dokonuje rozkładu przestrzeni na liczbę cykli równą Z(n) = 1∑ φ(d)2n/d , n d|n gdzie φ(.) jest funkcją Eulera, zaś suma jest po wszystkich dodatnich dzielnikach liczby n. Dla innych rejestrów nieosobliwych liczba generowanych cykli jest mniejsza. F SR jest nazywany liniowym, (LFSR - ang. Linear Feedback Shift Register) jeśli funkcja Boolowska jest liniowa oraz nieliniowym, jeśli funkcja f jest nieliniowa, tzn. w algebraicznej postaci normalnej tej funkcji występują iloczyny argumentów. W dalszym ciągu będziemy zajmowali się generowaniem binarnych ciągów okresowych o pewnych specjalnych właściwościach przez nieliniowe i liniowe rejestry przesuwne. Definicja 1. Ciągiem de Bruijna rzędu n nazywamy ciąg binarny (si ) długości 2n (rozpatrywany jako zamknięty cykl), w którym wszystkie układy n kolejnych bitów występują dokładnie jeden raz. Zostało udowodnione przez Flue Sainte-Marie [8] w roku 1894 oraz niezależnie przez de Bruijna [2] w roku 1946, że liczba wszystkich cyklicznie nierównoważnych ciągów spełniających Definicję 1 jest równa Bn = 22 n−1 −n . W zastosowaniach kryptograficznych występują tzw. zmodyfikowane ciągi de Bruijna, które nie zawierają podciągu kolejnych n zer. 273 J. Mykkeltvei, J. Szmidt Definicja 2. Zmodyfikowanym ciągiem de Bruijna rzędu n nazywamy ciąg o długości 2n −1 (lub odpowiednio ciąg o okresie 2n −1) otrzymany z ciągu de Bruijna rzędu n przez usunięcie jednego zera z podciągu kolejnych n zer, patrz [22]. Na podstawie Definicji 1 i 2 istnieje wzajemnie jednoznaczna odpowiedniość między ciągami de Bruijna rzędu n a zmodyfikowanymi ciągami de Bruijna tego samego rzędu. W szczególności mając zmodyfikowany ciąg de Bruijna długości (o okresie) 2n − 1 i dodając jedno zero do podciągu kolejnych n − 1 zer otrzymujemy ciąg de Bruijna rzędu n. Liczba cyklicznie nierównoważnych zmodyfikowanych ciągów de Bruijna rzędu n wyraża się również wzorem (2). Ciągi de Bruijna generowane są przez pewne funkcje Boolowskie postaci (1). Liczba wszystkich funkcji postaci (1) jest równa liczbie wszystkich funkcji Boolowskich od n − 1 zmiennych i wyraża się n−1 wzorem 22 . Związek między ciągami de Bruijna a nieliniowymi rejestrami przesuwnymi wyraża następujące: Twierdzenie 1. Niech (st ) będzie ciągiem de Bruijna (lub zmodyfikowanym ciągiem de Bruijna). Wtedy istnieje funkcja Boolowska F (x1 , . . . , xn−1 ) taka, że st+n = st + F (st+1 , . . . , st+n−1 ), t = 0, 1, . . . , 2n − n − 1. (3) Dowód tego twierdzenia można znaleźć w książce Golomba [12]. Zatem ciągi de Bruijna generowane są przez pewne nieliniowe rekurencje. Na podstawie wzoru (2) prawdopodobieństwo tego, że losowo wybrana funkcja Boolowska postaci (1) będzie generować ciąg de Bruijna (lub odpowiednio ciąg zmodyfikowany) równe jest 2−(n−1) . Prawdopodobieństwo to można zwiększyć do 2−(n−3) korzystając z pewnych własności funkcji generujących ciągi de Bruijna. W przypadku ciągów zmodyfikowanych istnieją funkcje Boolowskie liniowe F (x0 , x1 , . . . , xn−1 ) = x0 + c1 c1 + . . . + cn−1 xn−1 , (4) gdzie ci ∈ F2 dla i = 1, . . . , n − 1, które generują ciągi binarne o maksymalnym okresie 2n − 1. Warunkiem dostatecznym jest aby wielomian jednej zmiennej φ(x) = xn + cn−1 xn−1 + . . . + c1 x + 1 (5) był wielomianem pierwotnym w pierścieniu F2 [x]. Wielomiany pierwotne określone są jako takie, których pierwiastki (miejsca zerowe: φ(x) = 0) 274 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . w ciele Galois GF (2n ) są elementami pierwotnymi (generatorami) grupy multiplikatywnej GF (2n )∗ . Liczba wszystkich wielomianów pierwotnych stopnia n równa jest φ(2n − 1) , (6) n gdzie φ(.) oznacza funkcję Eulera. Liczba ze wzoru (6) dla ustalonej wartości n jest znacznie mniejsza niż liczba (2) wszystkich zmodyfikowanych ciągów de Bruijna (generowanych przez funkcje Boolowskie liniowe i nieliniowe). Ciągi o maksymalnym okresie 2n − 1 generowane przez funkcje liniowe postaci (4) zwane są w literaturze m-ciągami, a odpowiadające rejestry nazywane są maksymalnymi liniowymi rejestrami ze sprzężeniem zwrotnym. Teoria m-ciągów jest dobrze ugruntowana matematycznie; w szczególności wiadomo jak konstruować wielomiany pierwotne (a zatem jak generować m-ciągi) dla dowolnego stopnia n. Powyższe fakty omawiane są szeroko w literaturze [13, 19]. Natomiast teoria nieliniowych rejestrów przesuwnych (NFSR) jest znacznie mniej rozbudowana. W zasadzie brak jest algorytmów, które pozwalałyby efektywnie konstruować, dla możliwie dużych wartości rzędu n, funkcje Boolowskie dogodne w implementacji generujące zmodyfikowane ciągi de Bruijna. 3. Skrzyżowane pary stanów Przedstawimy teraz pewną technikę konstruowania nowych NFSR o maksymalnym okresie 2n lub 2n − 1 z danego rejestru (liniowego lub nieliniowego) generującego ciąg o maksymalnym okresie. Technika ta wykorzystuje istnienie tzw. skrzyżowanych par stanów (ang. cross-join pairs). Wpierw przedstawimy sposób łączenia lub rozłączania cykli stanów generowanych przez nieosobliwe rejestry przesuwne. Niech Si , i = 0, . . . , 2n − 1, Si ∈ Fn2 , będzie ciągiem stanów generowanych przez rejestr opisany funkcją Boolowską f postaci (1). Niech Si = (x0 , x1 , . . . , xn−1 ) będzie wybranym stanem tego rejestru. Stan Ŝi = (c x0 , x1 , . . . , xn−1 ), gdzie x c0 = x0 + 1, nazywamy stanem sprzężonym do stanu Si . Jeśli para stanów Si , Ŝi leży na jednym cyklu generowanym przez rejestr opisany 275 J. Mykkeltvei, J. Szmidt funkcją f , to zamieniając między sobą stany następujące po Si i Ŝi otrzymamy dwa nowe cykle. Operacja ta związana jest z zanegowaniem funkcji F w punkcie (x1 , . . . , xn−1 ). Jeśli taka para stanów Si , Ŝi leży na dwóch cyklach generowanych przez rejestr przesuwny, to podobna operacja prowadzi do połączenia tych cykli. Definicja 3. Dwie pary stanów sprzężonych nieosobliwego rejestru przesuwnego określonego przez funkcję sprzężenia f : α = (a0 , a1 , . . . , an−1 ), α b = (a0 , a1 , . . . , an−1 ), β = (b0 , b1 , . . . , bn−1 ), βb = (b0 , b1 , . . . , bn−1 ), stanowią skrzyżowaną parę stanów dla ciągu generowanego przez ten rejestr, jeśli stany te pojawiają się w kolejności α, β, α b, βb w czasie generacji tego ciągu. Twierdzenie 2. Niech (st ) będzie ciągiem de Bruijna spełniającym rekurencję (3). Niech (u, U ), (v, V ), (b u, U ), (b v, V ) będzie skrzyżowaną parą stanów dla ciągu (st ) i niech G(x1 , . . . , xn−1 ) będzie otrzymana z F (x1 , . . . , xn−1 ) przez zanegowanie wartości F (U ) i F (V ). Wtedy G(x1 , . . . , xn−1 ) generuje ciąg de Bruijna (ut ). Mówimy, że ciąg (ut ) jest otrzymany z ciągu (st ) przez operację łączenia skrzyżowanych par. 4. Konstrukcja ciągów de Bruijna Twierdzenie 3. Niech (ut ), (υt ) będą różnymi ciągami de Bruijna rzędu n. Wtedy ciąg (υt ) może być otrzymany z ciągu (ut ) przez wielokrotne zastosowanie operacji łączenia skrzyżowanych par. Ponieważ istnieje wzajemnie jednoznaczna odpowiedniość między ciągami de Bruijna rzędu n, które mają okres 2n , a zmodyfikowanymi ciągami de Bruijna tego samego rzędu, które mają okres 2n − 1, to Twierdzenie 3 jest również prawdziwe dla ciągów zmodyfikowanych. Jako bezpośredni wniosek z Twierdzenia 3 otrzymujemy następujący: 276 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . Lemat 1. Dla każdego ciągu de Bruijna (zmodyfikowanego ciągu de Bruijna) istnieje para skrzyżowanych stanów. W pracy Hellesetha i Kløve [16] zostało wykazane, że liczba różnych skrzyżowanych par stanów dla m-ciągów rzędu n jest równa (2n−1 − 1)(2n−1 − 2)/6. (7) Dla zmodyfikowanych ciągów de Bruijna rzędu n generowanych przez NFSR nie mamy dokładnych wzorów na liczbę różnych skrzyżowanych par, ale przeprowadzone eksperymenty dla małych rzędów n = 4, 5, 6 wskazują, że liczby te są bliskie wartości (7) dla danego rzędu n. Algebraiczna postać normalna (ANF) funkcji sprzężenia zwrotnego danego ciągu de Bruijna rzędu n jest różna od takiej funkcji dla odpowiadającego zmodyfikowanego ciągu de Bruijna. Jeśli f (x0 , x1 , . . . , xn−1 ) jest funkcją generującą zmodyfikowany ciąg de Bruijna rzędu n, wtedy funkcja sprzężenia dla odpowiadającego ciągu de Bruijna jest równa f (x0 , x1 , . . . , xn−1 ) + x̄1 x̄2 · · · x̄n−1 . (8) x̄1 x̄2 · · · x̄n−1 = (x1 + 1)(x2 + 1) · · · (xn−1 + 1) (9) Po obliczeniu otrzymujemy, że ANF funkcji (8) zawiera składnik x1 x2 · · · xn−1 , który ma stopień algebraiczny n − 1. W ogólności funkcje Boolowskie reprezentujące ciągi de Bruijna rzędu n mają stopień n − 1; wtedy wyrażenie (9) dla stanu zerowego (0, . . . , 0) równe jest 1. Natomiast funkcje sprzężenia reprezentujące zmodyfikowane ciągi de Bruijna mają stopień algebraiczny co najwyżej n − 2, ale mogą mieć też mniejszy stopień algebraiczny. W praktycznych zastosowaniach w kryptografii interesuje nas znalezienie NFSR generujących zmodyfikowane ciągi de Bruijna, dla których funkcje sprzężenia mają niski stopień algebraiczny i możliwie małą liczbę składników. 5. Zastosowania Twierdzenia 3 W paragrafie tym będziemy rozpatrywali zmodyfikowane ciągi de Bruijna i odpowiadające im funkcje Boolowskie sprzężenia zwrotnego. Niech f (x0 , x1 , . . . , xn−1 ) będzie taką funkcją generującą zmodyfikowany ciąg de Bruijna rzędu n. Niech α, β, α̂, β̂ będzie skrzyżowaną parą stanów dla tego ciągu, gdzie α = (a0 , a1 , . . . , an−1 ), β = (b0 , b1 , . . . , bn−1 ). 277 J. Mykkeltvei, J. Szmidt Wtedy funkcja f (x0 , x1 , . . . , xn−1 )+(x1 + ā1 ) · · · (xn−1 + ān−1 )+(x1 + b̄1 ) · · · (xn−1 + b̄n−1 ) generuje nowy zmodyfikowany ciąg de Bruijna rzędu n powstały z ciągu wyjściowego przez zastosowanie operacji łączenia skrzyżowanych par stanów. 5.1. NFSR rzędu 4 Konstrukcja wszystkich funkcji Boolowskich, które generują zmodyfikowane ciągi de Bruijna rzędu 4 była punktem wyjścia do dalszych badań nad zastosowaniem metody łączenia skrzyżowanych par. Bierzemy funkcje sprzężeń dla LFSR rzędu 4: x0 + x1 , x0 + x3 , (10) które odpowiadają dwóm wielomianom pierwotnym stopnia 4. Każdy z ciągów o okresie 15 generowanych przez funkcje (10) ma zgodnie ze wzorem (7) po 7 różnych par skrzyżowanych stanów. Stosując konstrukcję łączenia par skrzyżowanych stanów otrzymujemy z każdego LFSR postaci (10) po 7 nowych NFSR wśród których dwie pary są identyczne, czyli otrzymaliśmy łącznie 12 różnych NFSR. Wybranie dwóch NFSR i znalezienie po jednej skrzyżowanej parze stanów dla każdego z nich pozwala skonstruować brakujące dwa NFSR do kompletnej listy 16 funkcji sprzężeń dla zmodyfikowanych ciągów de Bruijna. Poniżej podajemy tą listę z zastosowanymi operacjami algebraicznymi wynikającymi z metody łączenia skrzyżowanych par. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 278 x0 + x1 x0 + x3 x0 + x1 + x1 x2 x3 + x1 x2 x3 = x0 + x1 + x2 + x1 x2 x0 + x3 + x1 x2 x3 + x1 x2 x3 = x0 + x2 + x3 + x1 x2 x0 + x1 + (x1 x2 x3 + x1 x2 x3 ) + (x1 x2 x3 + x1 x2 x3 ) = x0 + x1 + x2 + x1 x3 x0 + x3 + (x1 x2 x3 + x1 x2 x3 ) + (x1 x2 x3 + x1 x2 x3 ) = x0 + x2 + x3 + x1 x3 x0 + x3 + x1 x2 x3 + x1 x2 x3 = x0 + x2 + x1 x2 + x1 x3 x0 + x1 + x1 x2 x3 + x1 x2 x3 = x0 + x1 + x2 + x3 + x1 x2 + x1 x3 x0 + x1 + x1 x2 x3 + x1 x2 x3 = x0 + x1 + x2 + x2 x3 x0 + x3 + x1 x2 x3 + x1 x2 x3 = x0 + x2 + x3 + x2 x3 x0 + x1 + x1 x2 x3 + x1 x2 x2 = x0 + x1 + x1 x2 + x2 x3 x0 + x1 + x1 x2 x3 + x1 x2 x3 = x0 + x3 + x1 x2 + x2 x3 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . 13. 14. 15. 16. x0 + x1 + x1 x2 x3 + x1 x2 x3 x0 + x3 + x1 x2 x3 + x1 x2 x3 x0 + x1 + x1 x2 x3 + x1 x2 x3 x0 + x3 + x1 x2 x3 + x1 x2 x3 = x0 + x2 + x1 x3 + x2 x3 = x0 + x1 + x2 + x3 + x1 x3 + x2 x3 = x0 + x1 + x2 + x1 x2 + x1 x3 + x2 x3 = x0 + x2 + x3 + x1 x2 + x1 x3 + x2 x3 Rysunek 1 ilustruje graficznie drogę konstruowania 14 NFSR rzędu 4 zaczynając od dwóch LFSR tego rzędu. Natomiast Rysunek 2 przedstawia drogę konstruowania 14 różnych NFSR i jednego LFSR startując z drugiego LFSR; w szczególności dwukrotne zastosowanie operacji łączenia skrzyżowanych par stanów prowadzi od jednego LFSR do drugiego. Podobnych sposobów otrzymania wszystkich rejestrów maksymalnego rzędu opisanych przez grafy z Rysunków 1 i 2 jest wiele; zależy to od losowego wyboru skrzyżowanych par stanów dla poszczególnych rejestrów. W celu otrzymania funkcji sprzężenia zwrotnego generujących ciągi de Bruijna (w tym przykładzie dla n = 4) należy do każdego ze wzorów 1-16 z powyższej listy dodać wyrażenie algebraiczne x̄1 x̄2 x̄3 = (x1 + 1)(x2 + 1)(x3 + 1), które odpowiada połączeniu cyklu o długości 15 z cyklem o długości 1 reprezentowanym przez stan (0,0,0,0). Otrzymamy wtedy listę wszystkich funkcji Boolowskich sprzężenia zwrotnego generujących ciągi de Bruijna rzędu 4 (odpowiednio o okresie 16). Na każdym z grafów z Rysunków 1 i 2 możemy znaleźć drogę z dowolnego wierzchołka do każdego innego wierzchołka. Na przykładzie ciągów de Bruijna rzędu 4 mamy potwierdzenie tezy Twierdzenia 3. Wykonano również podobne obliczenia dla zmodyfikowanych ciągów de Bruijna rzędu 5, gdzie mamy 211 = 2048 nierównoważnych cyklicznie ciągów. Wygenerowano programowo wszystkie funkcje Boolowskie od 5 zmiennych, które są funkcjami sprzężenia zwrotnego dla rejestrów generujących te ciągi. W tym celu wykorzystano pakiet SAGE [30] i programowanie w języku Python [29]. 5.2. NFSR rzędu 7 Podamy konstrukcję nieliniowego rejestru rzędu 7 o prostej algebraicznej postaci normalnej wychodząc od rejestru liniowego i stosując metodę łączenia skrzyżowanych par stanów. Weźmy wielomian pierwotny stopnia 7 równy p(x) = x7 + x + 1. 279 J. Mykkeltvei, J. Szmidt Rysunek 1. Konstrukcja NFSR z dwóch LFSR Rysunek 2. Konstrukcja NFSR i jednego LFSR z drugiego LFSR 280 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . Funkcja sprzężenia zwrotnego dla odpowiadającego LFSR równa jest x0 + x6 . Bierzemy stan początkowy rejestru s0 = (x0 , x1 , . . . , x6 ) = (1, 0, . . . , 0) i generujemy wszystkie niezerowe stany tego rejestru s1 , . . . , s126 . Rozpatrzmy stany dla których x2 = 1 oraz x4 = 0, których jest razem 32. Stany te zawierają 8 skrzyżowanych par stanów (po 4 stany w każdej parze), które łącznie pokrywają stany z warunkiem (x2 , x4 ) = (1, 0). Poniżej mamy listę tych skrzyżowanych par (α, α̂, β, β̂): (10, 29; 17, 101), (20, 58; 21, 91), (25, 47; 32, 62), (37, 118; 113, 125), (38, 107; 71, 119), (42, 55; 50, 94), (59, 82; 81, 90), (65, 97; 70, 106), gdzie zastosowaliśmy reprezentację dziesiętną dla każdego stanu. Zastosowanie operacji łączenia skrzyżowanych par oddzielnie do każdej z tych 8 par, co jest możliwe, ponieważ wszystkie stany są rozłączne, prowadzi do konstrukcji NFSR rzędu 7: f = x0 + x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 + x1 x2 x3 x4 x5 x6 = x0 + x6 + x2 + x2 x4 . Otrzymaliśmy funkcję sprzężenia zwrotnego, która określa rejestr generujący zmodyfikowany ciąg de Bruijna o okresie 27 − 1 = 127. 5.3. Pewne warunki konieczne Wzorując się na podanym wyżej przykładzie sformułujemy pewne warunki na funkcję Boolowską od n − 1 zmiennych, które mogą prowadzić do konstrukcji funkcji sprzężenia nieliniowego rejestru rzędu n, który generuje zmodyfikowany ciąg de Bruijna. Rozpatrzmy przyszłą funkcję sprzężenia dla NFSR o maksymalnym okresie 2n − 1, która ma postać f (x0 , x1 , . . . , xn−1 ) = g(x0 , x1 , . . . , xn−1 ) + h(x1 , . . . , xn−1 ), (11) 281 J. Mykkeltvei, J. Szmidt gdzie g jest funkcją postaci (4) określoną przez wielomian pierwotny stopnia n, zaś h jest funkcją Boolowską możliwie niskiego stopnia algebraicznego z możliwie małą liczbą składników. Liczba wszystkich składników funkcji f musi być parzysta. W naszej konstrukcji musimy znać zbiór S stanów (x0 , x1 , . . . , xn−1 ) dla których h(x1 , . . . , xn−1 ) = 1 oraz liczba stanów w S musi być podzielna przez 4. Następnie znajdujemy zbiór J skrzyżowanych par (każda para składa się z czterech stanów) spełniających następujące warunki: 1. Wszystkie elementy zbioru J są rozłączne; żadne dwie pary nie zawierają wspólnych stanów. 2. Wszystkie stany należące do par ze zbioru J pokrywają zbiór S. Warunki 1 i 2 są warunkami koniecznymi, żeby funkcja (11) generowała ciąg o maksymalnym okresie 2n − 1. Przykład zbioru skrzyżowanych par stanów spełniających powyższe warunki był podany w paragrafie 5.2. Warunki 1 i 2 nie są warunkami dostatecznymi na generowanie pełnego okresu przez funkcję f postaci (11). Kiedy te warunki są spełnione musimy dodatkowo sprawdzić, czy funkcja ta generuje ciąg o okresie 2n − 1. W serii prac [12, 7, 9, 10, 14, 17, 18, 20] zastosowano metodę łączenia cykli dla nieosobliwych rejestrów LFSR w celu otrzymania ciągów binarnych o maksymalnym okresie generowanych przez NFSR. Metoda ta jest obiecująca o ile będziemy mieli kontrolę nad stopniem algebraicznym i ilością składników w algebraicznej postaci normalnej konstruowanych w ten sposób nieliniowych rejestrów przesuwnych. Aktualnie prowadzimy prace w tym zakresie dla wspomnianych wyżej rejestrów P CRn . Literatura [1] S. Babbage, M. Dodd, ”The MICKEY stream ciphers”, in New Stream Cipher Designs: The eSTREAM Finalists. LNCS vol. 4986, pp. 191–209. Springer-Verlag, 2008. [2] N. G. de Bruijn, A combinatorial problem, Indag. Math., 8(1946), pp. 461–467. [3] A. H. Chan, R. A. Games, J. J. Rushanan, On the quadratic m-sequences, Proceedings of Fast Software Encryption, LNCS vol. 809, pp. 166–173. Springer-Verlag, 1994. 282 Nieliniowe rejestry przesuwne i łączenie skrzyżowanych par stanów . . . [4] C. Canniere, B. Preneel, ”Trivium”, in New Stream Cipher Designs: The eSTREAM Finalists, LNCS vol. 4986, pp. 244–266. Springer-Verlag, 2008. [5] P. Dąbrowski, G. Labuzek, T. Rachwalik, J. Szmidt, Searching for nonlinear feedback shift registers with parallel computing, Inform. Proc. Letters, 114(2014), pp. 268–272. [6] E. Dubrova, A scalable method for constructing Galois NLFSRs with period 2n − 1 using cross-join pairs, IEEE Trans. on Inform. Theory, 59(1), 2013, pp. 703–709. [7] J. C. Fletcher, M. Perlman, Nonlinear nonsingular feedback shift registers, United States Patent 3911330, 1975. [8] C. Flye Sainte-Marie, Solution to question nr. 48. L’Intermédiaire des Mathématiciens, 1(1894). pp. 107–110. [9] H. Fredricksen, A class of nonlinear de Bruijn cycles, J. of Combinatorial Theory (A), 19(1975), pp. 192–199. [10] H. Fredricksen, A survey of full length nonlinear shift register cycle algorithms, SIAM Review, 24(2), 1982, pp. 195–221. [11] B. M. Gammel, R. Goetffert, O. Kniffler, Achterbahn 128/80, The eSTREAM project, www.ecrypt.eu.org/stream/, www.matpack.de/achterbahn/ [12] S. W. Golomb, Shift register sequences. San Francisco, Holden-Day, 1967, revised edition, Laguna Hills, CA, Aegean Park Press, 1982. [13] S. W. Golomb, G. Gong, Signal Design for Good Correlation. For Wireless Communication, Cryptography, and Radar, Cambridge University Press, 2005. [14] E. R. Hauge, T. Helleseth, De Bruijn sequences, irreducible codes and cyclotomy, Discrete Math., 159(1996), pp. 143–154. [15] M. Hell, T. Johansson, A. Maximov, W. Meier, ”The Grain Family of Stream Ciphers”, in New Stream Cipher Designs: The eSTREAM Finalists. LNCS vol. 4986, pp. 179–190. Springer-Verlag, 2008. [16] T. Helleseth, T. Kløve, The number of cross-join pairs in maximum length linear sequences, IEEE Trans. on Inform. Theory, 31(1991), pp. 1731–1733. [17] F. Hemmati, A large class of nonlinear shift register sequences, IEEE Trans. on Inform. Theory, vol. 28, pp. 355-359, 1982. [18] C. J. A. Jansen, Investigations on nonlinear streamcipher systems: Construction and evaluation methods, Ph.D. Thesis, Technical University of Delft, 1989. 283 J. Mykkeltvei, J. Szmidt [19] R. Lidl, H. Niederreiter, Introduction to Finite Fields and their Applications (Revised Edition), Cambridge University Press, Cambridge, 1994. [20] K. B. Magleby, The synthesis of nonlinear feedback shift registers, Technical Report no. 6207-1. Stanford Electronics Laboratories, 1963. [21] K. Mandal, G. Gong, Cryptographically strong de Bruijn sequences with large periods. Selected Areas in Cryptography. L. R. Knudsen, K. Wu (Eds.). LNCS, vol. 7707, pp. 104–118. Springer-Verlag, 2012. [22] G. L. Mayhew, S. W. Golomb, Linear spans of modified de Bruijn sequences, IEEE Trans. Inform. Theory, 36(5), 1990, pp. 1166–1167. [23] J. Mykkeltveit Generating and counting the double adjacencies in a pure cyclic shift register, Trans. on Computers, C-24, 1975, pp. 299–304. [24] J. Mykkeltveit, M-K. Siu, P. Tong, On the cyclic structure of some nonlinear shift register sequences, Inform. and Control, 43(1979), pp. 202–215. [25] J. Mykkeltveit, J. Szmidt On cross joining de Bruijn sequences, Contemporary Mathematics, vol. 632, pp. 333–344, American Mathematical Society, 2015. [26] T. Rachwalik, J. Szmidt, R. Wicik, J. Zablocki, Generation of nonlinear feedback shift registers with special purpose hardware, Military Communications and Information Systems Conference, MCC 2012, IEEE Xplore Digital Library, 2012, pp. 151–154. [27] R. Wicik, T. Rachwalik, Modified alternating step generators, Military Communications and Information Systems Conference, MCC 2013. IEEE Xplore Digital Library, 2013, pp. 203-215. [28] M. S. Turan, On the nonlinearity of maximum-length NFSR feedbacks, Cryptography and Communications, 4(3-4), 2012, pp. 233-243. [29] Python Programming Language, http://www.python.org [30] SAGE Mathematical Software, Version 5.8. http://www.sagemath.org NONLINEAR FEEDBACK SHIFT REGISTERS AND JOINING OF CROSS-PAIRS STATES Abstract. We explain the origins of Boolean feedback functions of Nonlinear Feedback Shift Registers (NFSR) of fixed order n generating de Bruijn binary sequences. They all come into existence by cross joining operations starting from one maximum period feedback shift register, e.g., a linear one which always exists for any order n. The result obtained yields some constructions of NFSR generating maximum period 2n − 1 binary sequences. Keywords: nonlinear feedback shift registers, de Bruijn sequencec, method of joining of cross-pairs states. IV. SCHEMATY PODZIAŁU SEKRETU STRUKTURY WPROWADZEŃ REMARKS ON MULTIVARIATE EXTENSIONS OF POLYNOMIAL BASED SECRET SHARING SCHEMES Jakub Derbisz Institute of Computer Science Polish Academy of Sciences’ fellowship for postdoctoral researchers; [email protected] Abstract. We introduce methods that use Gröbner bases for secure secret sharing schemes. The description is based on polynomials in the ring R = K[X1 , . . . , Xl ] where identities of the participants and shares of the secret are or are related to ideals in R. Main theoretical results are related to algorithmical reconstruction of a multivariate polynomial from such shares with respect to given access structure, as a generalisation of classical threshold schemes. We apply constructive Chinese remainder theorem in R of Becker and Weispfenning. Introduced ideas find their detailed exposition in our related works. Keywords: Gröbner bases, Chinese remainder theorem, Secret Sharing Scheme, access structure, multivariate interpolation. 1. Introduction We present ideas for conditional generalisation of Shamir’s (t, n) threshold secret sharing scheme and Blakley’s threshold SSS, and show how to create secure secret sharing schemes on multivariate polynomials, assuming fast calculation of minimal CRT-solution in a variant of CRT-algorithm for multivariate polynomial ring [2]. However, as we will show there are certain possibilities to satisfy this assumption in practice. In Shamir’s scheme one considers randomly chosen polynomial f of one variable and degree t − 1, and distributes to each of n participants an element ci of some finite field, publicly assigning it to i − th participant as his identity, and, appropriately the secret value f (ci ). Now, t participants from received elements can reconstruct the polynomial, since t values in t different field elements determine uniquely a polynomial of degree t − 1. The study is cofounded by the European Union from resources of the European Social Fund. Project PO KL „Information technologies: Research and their interdisciplinary applications, Agreement UDA-POKL.04.01.01-00-051/10-00. J. Derbisz A question motivating this work is how to construct a secret sharing scheme if instead of choosing a polynomial of one variable one would take multivariate polynomial g ∈ K[X1 , . . . , Xl ], and keep unchanged the ideas of Shamir’s scheme. Hence, now participants publicly receive vectors ci ∈ K l , there are secretly distributed values g(ci ), and we ask about reconstruction of g. It leads then to a general case where any privileged group of a general access structure would be able to reconstruct a multivariate polynomial from shares of the participants. First, we propose to define a class of polynomials P and a set of vectors {ci ∈ K l | i = 1, . . . , n} that would allow, applying Chinese remainder theorem, reconstruction of such g by t or more participants, while less than t participants would know that there are at least |K| polynomials from P possible to be the polynomial g that was chosen. In our extended works related to this topic we show that there exist and can be found examples for such classes P and appropriate sets of vectors. Likewise, later we give an idea for a construction which allows to distribute a multivariate polynomial among the participants forming any monotonic access structure, such that a privileged set would be able to reconstruct it, and unprivileged set wouldn’t, meaning that there will be at least |K| possible choices for the polynomial, or, as it is also possible, if a value in some point of the multivariate polynomial is treated as the secret, privileged sets can find this value, and unprivileged sets have no information, i.e., any element from K will be equally probable to be that value. In latter construction we won’t need a class P with certain properties or appropriately chosen set of vectors, hence the construction will be more explicit. Instead of relying on vectors, we associate with each participant an ideal, giving an algorithm for its construction, and for the secret polynomial, we take any polynomial from K[X1 , . . . , Xl ] of a type ∑ f = f0 + ci1 ...ik−1 gi1 . . . gik−1 1≤i1 <...<ik−1 ≤k where deg(f0 ) < deg(g1 . . . gk ) and constants ci1 ...ik−1 are chosen at random with respect to uniform distribution on K (also, the secret can be taken as value in its certain point). However, as we have mentioned, the constructions are conditional since we assume fast calculations of Gröbner bases needed in reconstructing the secret polynomial by privileged groups when applying CRT-algorithm [2]. The main motivation then is a theoretical and direct generalisation implied by Shamir’s scheme. Although, it is possible that in practice these 286 Remarks on multivariate extensions of polynomial based . . . particular Gröbner bases can efficiently be computed, it is not the subject of this research and we leave this practical question for further consideration. Thus, we haven’t been considering whether our constructions allow new applications or, from practical point of view, are in any sense better from constructions already proposed. They, however, show how to transform ideas known in secret sharing schemes into language based on ideals, abstract algebra, which also allowed achieving certain theoretical results, as, for instance, classical Shamir’s secret sharing scheme where reconstruction of secret polynomial is based on Chinese remainder theorem, and its generalisations. Our considerations may as well be interesting for those interested in theory of interpolation. To sum up: In the first part, our ideas concern a possible framework for general constructions of threshold polynomial based secret sharing schemes which are generalisations of the classical constructions. For instance, we show how to reconstruct a polynomial in Shamir’s scheme using CRT, and propose a generalisation. Our primary goal is to introduce an approach for constructing secret sharing schemes based on Gröbner bases and Becker’s, Weispfenning’s algorithm for finding minimal CRT-solution in R = K[X1 , . . . , Xl ]. In the second part, we propose methods to deal with a general case and the construction of a secret sharing scheme for any general access structure with a use of multivariate polynomial; general means that we have an arbitrary, not necessarily threshold monotonic access structure. Users’ identities are ideals of R, secret is a multivariate polynomial, and shares are certain polynomials that come from reducing the secret modulo certain Gröbner bases. In our constructions, we assume efficiency of finding the solution by CRT-algorithm [2]. 2. Basic definitions We will briefly define basic concepts. Monotonic family Γ on X is a family of subsets of X such that if A ∈ Γ and A ⊆ B ⊆ X then B ∈ Γ . Privileged or qualified sets of participants forming a monotonic family Γ are those sets of participants that are able to reconstruct a secret from received shares of the secret, i.e., there is a fast algorithm allowing to do so. Anti-monotonic family of sets Λ on X is a collection of subsets of X such that if A ∈ Λ and B ⊆ A then B ∈ Λ. Unprivileged sets in anti-monotonic family Λ are those sets that are not able to reconstruct the secret in ”reasonable time”, due to probabilistic or computational bounds. 287 J. Derbisz Secret sharing scheme Σ, called also simply a sharing scheme, is a method of distributing the secret to the participants. For a set of participants X an access structure is a tripple (Σ, Γ, Λ) where Γ ∪ Λ = 2X , and 2X is the power set of X. 3. Related results Our approach is related to the constructions of secret sharing schemes in [20], [5], [1], [16], [9]. It is based on methods from the theory of Gröbner bases, in particular, it is based on new application of the CRT-algorithm [2]. Given a field K, there exist propositions for public key cryptosystems that use the multivariate polynomial ring R = K[X1 , . . . , Xl ], see, for instance, [13], [15], and Buchberger’s algorithm for Gröbner bases computation [3], [7], [12]. However, as it was pointed out in [15] by Koblitz, and which is often the case while working with Gröbner bases in cryptography, the proofs on which one could rely the security of such cryptosystems are very often not known. We present provably secure constructions of secret sharing schemes based on Gröbner bases methods, however, we assume fast calculations of certain Gröbner bases to be able to efficiently find the CRT-solution in the algorithm from [2]. We can assume instead that appropriate bases were publicly announced in precomputations so the CRT-algorithm used for reconstructing the secret polynomial is fast. In [2], the authors give a generalisation of CRT-algorithm known for principal ideal domain as K[X], to CRT-algorithm in the ring K[X1 , . . . , Xl ]. Propositions for secret sharing schemes based on Chinese remainder theorem can also be found in [1], [16]. 4. Computational aspects of the ring K[X1 , . . . , Xl ] We will give the preliminaries, needed facts from the theory of Gröbner bases. When writing about monomials we would think about monic monomials. Considering computations in the ring of multivariate polynomials R = K[X1 , . . . , Xl ] firstly let us state the division theorem, [7], [3], for a total order on a set of monomials such that when X α ≤ X β then X α+γ ≤ X β+γ , and it is always X α ≥ 1. Here, X δ = X1δ1 . . . Xlδl , that is δ is a multi-index. In the literature this order is called admissible order, however, we refer to it simply as monomial order, since we consider only this type of order on 288 Remarks on multivariate extensions of polynomial based . . . monomials. Degree lexicographic order or lexicographic order are examples of monomial orders. Assuming axiom of choice, we can have a well order on a field K such that 0 is the minimal element. Of course, we are usually working with finite fields. Thus, we can naturally extend a monomial order and consider a term order (a term understood as a monomial multiplied by a coefficient). For a given polynomial g leading term in g is a leading monomial in g multiplied by its coefficient. Theorem 1. For a given term ordering and a set of polynomials {f1 , . . . , fk }, every f ∈ R can be written as f = a1 f1 + . . . + ak fk + r where ai , r ∈ R and either r = 0 or r is a K−linear combination of monomials, none of which is divisible by lt(f1 ), . . . , lt(fk ) where lt(fi ) is the leading term of fi . This result is known in the theory of Gröbner bases. Its proof implies an algorithm for dividing a polynomial modulo certain set of polynomials with a given term ordering, which would be referred to as reducing the polynomial modulo given set. Gröbner bases are those sets of polynomials, divided modulo which, for any given polynomial there is exactly one remainder r related to that polynomial. From now on let us fix a certain term ordering. Definition 1. Gröbner basis for an ideal I of R is a finite collection G of generators of I such that every nonzero f ∈ I has leading term that is divisible by the leading term of some polynomial from G. We call a finite set of polynomials a Gröbner basis if it is a Gröbner basis of an ideal generated by this set. For a Gröbner basis G = {g1 , . . . , gk } for I there is then an equality of ideals (lt(I)) = (lt(g1 ), . . . , lt(gk )) where (lt(I)) is the ideal generated by leading terms of polynomials from I. It is easy to see the uniqueness of remainders modulo fixed Gröbner basis, since a monomial lies in a monomial ideal if and only if it is divided by one of monomial generators of the ideal. Thus, for ∑ a Gröbner basis G =∑ {g1 , . . . , gk }, writing from division theorem f = ai gi + r1 and ′ f = ai gi + r2 , if r1 ̸= r2 we have r1 − r2 ∈ I so lt(r1 − r2 ) ∈ (lt(I)), hence one of the terms in r1 or in r2 is divisible by lt(gi ) for some i, so there has to be uniqueness. 289 J. Derbisz Calculation of Gröbner basis depends on the ordering of monomials that one chooses and in general could be computationally expensive. However, both standard and reduced Gröbner bases are often computable in practice [12]. In our setting when the Trusted Authority is choosing in precomputation phase the ideals for which the calculations would be executed, for instance, when there is given a general access structure, as we will have in our proposal for a generalised sharing scheme, abovementioned methods could find their practical use. In our presentation, however, we think of a black box providing for the participants necessary calculations of Gröbner bases so that generalised CRT-algorithm from [2] is fast. We can, however, think that relevant Gröbner bases were calculated during the precomputations (and it will be possible). This assumption need to be dealt with while thinking about applications, as we have described in the introduction. In this presentation, however, we will be always thinking that we have efficient CRT-algorithm and concentrate on developing ”general” theory related to sharing a polynomial. 5. Secure secret sharing schemes using CRT in K[X1 , . . . , Xl ] Firstly, we will present an idea related to threshold multivariate polynomial reconstruction. It is convenient to start with univariate example, which would be a Shamir’s (t, n) threshold scheme where reconstruction of a polynomial is based on Chinese remainder theorem. Let K = Fq be appropriately large finite field. We randomly choose a polynomial f (X) = a0 + a1 X + . . . + at−1 X t−1 (randomly choosing coefficients ai ∈ K). Participants’ identities would be different, nonzero field elements ci ∈ K, i = 1, . . . , n. f (ci ) = ri for i = 1, . . . , n are secret shares of the participants, i.e., ri is i-th participant’s share. We can write f (ci ) − ri = 0. So (X − ci )|(f (X) − ri ), hence f ∈ ri + (X − ci ). Assume, without loss of generality, that t participants with identities c1 , . . . , ct have gathered to reconstruct the polynomial. They would make the calculations using the algorithm from [2]. We state the appropriate theorem related to the CRT-algorithm that will be used. 290 Remarks on multivariate extensions of polynomial based . . . Theorem 2. Fix any (admissible) monomial order on R. For ideals I1 , . . . , Im of R and polynomials f1 , . . . , f∩ m ∈ R, sets intersection ∩ m m ′ (f + I ), if non-empty, is equal to f + j j=1 j j=1 Ij where algorithmi∩ m ′ cally constructible f ∈ R is minimal in j=1 (fj + Ij ) with respect to quasi-order on polynomials in R induced from term ordering in R. Hence, those t participants using quasi-order induced from degree-lexicographic order algorithmically find f ′ of minimal degree such that: t ∩ (ri + (X − ci )) = f ′ + i=1 t ∩ (X − ci ) = f ′ + ( t ∏ (X − ci )) i=1 i=1 Since f ′ is minimal deg(f ′ ) ≤ deg(f ) ≤ t − 1. ∏t Hence, writing f = f ′ + h i=1 (X − ci ) gives h = 0 and f = f ′ , they have found the chosen polynomial. Generalisation of threshold construction for R = K[X1 , . . . , Xl ]. First, we will assume the following. Assumption. Assume that for (t, n) there is a set of points S ∈ K l of cardinality n and a class of polynomials P ⊆ R, such that for any t points from S, any t values from K, there is a unique polynomial from P that on the chosen points takes the chosen values respectively. Having such P and S: Choose randomly g ∈ P which would be treated as the secret. g(ci1 , . . . , cil ) = ri is the share of i-th participant where (ci1 , . . . , cil ) is his identity. From the division theorem we have g = ai1 (X1 − ci1 ) + . . . + ail (Xl − cil ) + r and thus r is constant and r = ri . It means g ∈ ri + (X1 − ci1 , . . . , Xl − cil ). If t participants gathers to reconstruct the secret, they can calculate the following using CRT-algorithm: t ∩ (ri + (X1 − ci1 , . . . , Xl − cil )) = f ′ + i=1 t ∩ (X1 − ci1 , . . . , Xl − cil ) i=1 There is (f ′ + t ∩ (X1 − ci1 , . . . , Xl − cil )) ∩ P = {g} i=1 Thus we have certain form of the solution which with the properties of the class P may allow to extract it. One could give examples of such classes P 291 J. Derbisz when f ′ that is meant to be found by t participants is exactly g, as, when P = class of polynomials of the degree not greater than m, and appropriate S and (n, t) so that the assumption is fulfilled (it is possible). Then: deg(f ′ ) ≤ deg(g) ≤ m ⇒ f ′ ∈ P ′ f (ci1 , . . . , cil ) = ri and for i = 1, . . . , t ⇒ f ′ = g On the other hand, t − 1 participants can’t reconstruct g since for any t-th value there is in P one possibility for g. Using similar ideas, one can also give an algorithm to securely share a multivariate polynomial in (t, t) threshold scheme, i.e., when all participants have to gather to reconstruct the polynomial, where, before the reconstruction the participants do not know what is the degree of the polynomial that would be reconstructed. Only briefly sketching the construction, first we have a method to find ”general” identities for participants, so that fulfilled is somewhat weaker assumption, that: for any t values there is at least one polynomial in K[X1 , . . . , Xl ] which takes those values in the identities respectively. Shares of the participants are randomly chosen ri ∈ K and t participants from ri + (X1 − ci1 , . . . , Xl − cil ) for i = 1, . . . , t, reconstruct the secret polynomial f ′ , which was chosen while constructing the scheme using CRT-algorithm. Further generalisation, to share a polynomial from K[X1 , . . . , Xl ], so it could be reconstructed only by arbitrarily chosen privileged sets. For any monotonic family Γ , i.e, family of privileged sets, and anti-monotonic family Λ, i.e., family of unprivileged sets, if N = {N1 , . . . , Nk } is the family of all maximal unprivileged sets, firstly we distribute non-associated irreducible polynomials g1 , . . . , gk such that we give gi to all participants that do not belong to the set Ni , and we perform this procedure for all i = 1, . . . , k. One can see that participants forming a privileged set have received together all g1 , . . . , gk and participants forming an unprivileged set lack of certain gj , j ∈ {1, . . . , k} Public identity of m-th participant is an ideal Im = (gσ1 . . . gσs ) = (gσ1 ) ∩ . . . ∩ (gσs ) where polynomials used to construct it come from the set he received. The secret polynomial would be defined as ∑ f = f0 + ci1 ...ik−1 gi1 . . . gik−1 1≤i1 <...<ik−1 ≤k 292 Remarks on multivariate extensions of polynomial based . . . where deg(f0 ) < deg(g1 . . . gk ) (or just f0 = 0) and constants ci1 ...ik−1 are chosen at random with respect to uniform distribution on K. We may keep as the secret only the value f (a) in a ∈ K l such that gi (a) ̸= 0 for all i = 1, . . . , k. The share of m-th participant is a polynomial fm that comes from reducing f modulo Gröbner basis of Im which here is its generator. Thus, for Im = (hm ) there is f = am h∩m + fm . It gives f ∈ fm + Im . For I = (g1 . . . gk ) = m∈B Im the participants of a privileged set B take degree-lexicographic monomial order and find f ′ such that ∩ f′ + I = (fm + Im ). m∈B Since f is an element of this set deg(f ′ ) ≤ deg(f ). We can write f = f ′ + hg1 . . . gk , f − f ′ = hg1 . . . gk which gives h = 0 and f = f ′ , so by CRT-algorithm they have found the polynomial f . If none of the participants forming an unprivileged set A received, say gk , for any of its participants, if his ideal Im = (hm ), we can write g1 . . . gk = bm hm , and fc = f + cg1 . . . gk gives the same reduced polynomial as was the share that he had received. That means participants from A cannot deduce f (distinguish between f and fc ), or similarly find f (a), if it is the secret, when a is taken as described. Example Let the set of entities X = {P1 , P2 , P3 , P4 } and the family of basis sets (minimal privileged sets) B = {{P1 , P2 }, {P1 , P3 }, {P2 , P3 }, {P1 , P4 }}. The related anti-basis (family of maximal unprivileged sets) is N = {{P1 }, {P2 , P4 }, {P3 , P4 }}. Let N1 = {P1 }, N2 = {P2 , P4 }, N3 = {P3 , P4 }. We will share a multivariate polynomial from Fq [X1 , . . . , Xl ]. Firstly, we construct public ideals for participants using method based on anti-basis: We choose g1 , g2 , g3 , non-associated irreducible polynomials (3 since |N| = 3). Accordingly to the method of distribution, we give g1 to every participant except those in N1 , then g2 to everyone except the participants in N2 , then g3 to everyone except those who are in N3 . After all: P1 receives the set {g2 , g3 } and his related ideal is I1 = (g2 g3 ) = (g2 )∩(g3 ), P2 receives the set {g1 , g3 } and his related ideal is I2 = (g1 g3 ) = (g1 )∩(g3 ), P3 receives the set {g1 , g2 } and his related ideal is I3 = (g1 g2 ) = (g1 )∩(g2 ), 293 J. Derbisz P4 receives the set {g1 } and his related ideal is I4 = (g1 ). Let I = (g1 g2 g3 ). We now choose a polynomial that will be the secret, it’s of the form f = f0 + c1 g1 g2 + c2 g1 g3 + c3 g2 g3 where ci , i = 1, 2, 3 are chosen randomly from Fq , and f0 is any polynomial that has degree lower than deg(g1 g2 g3 ). We choose a ∈ Fq such that gi (a) ̸= 0, i = 1, 2, 3 and make it public. Shares: We find fj which is a reduced form of f modulo Gröbner basis of Ij and give fj to participant Pj as a share, for j = 1, 2, 3, 4. That means fj is a remainder in Theorem 1 for f modulo Gröbner basis of Ij . Our situation is simple since Ij is principal and its generator is a Gröbner basis for Ij (it is easy to show, since if J = (h) there is (lt((h))) = (lt(h)) as was required, so h forms a Gröbner basis). Take h1 = g2 g3 , h2 = g1 g3 , h3 = g1 g2 , h4 = g1 . We have Ij = (hj ), j = 1, . . . , 4. Writing from the Theorem 1 f = aj hj + fj . The polynomial fj is the share of the participant Pj . We show that participants from sets of B, from their shares, can reconstruct f. For instance, for the participants P1 and P2 . There is I1 ∩ I2 = (g2 ) ∩ (g3 ) ∩ (g1 ) ∩ (g3 ) = (g1 ) ∩ (g2 ) ∩ (g3 ) = (g1 g2 g3 ) = I. In Theorem 2, we fix monomial order: degree-lexicographic, since we want CRT-algorithm to find a polynomial of minimal degree. We have quasi-order on polynomials that is induced from it. Next for the ideals I1 and I2 and set of polynomials f1 , f2 , the set (f1 +I1 )∩(f2 +I2 ) is non-empty because the intersection contains f , which can be noted when we wrote f from Theorem 1. CRT-algorithm is used to find f ′ . There is f ′ + I1 ∩ I2 = (f1 + I1 ) ∩ (f2 + I2 ). 294 Remarks on multivariate extensions of polynomial based . . . So f ′ + I = (f1 + I1 ) ∩ (f2 + I2 ). Our f ′ is minimal in (f1 + I1 ) ∩ (f2 + I2 ). Since f is also an element of that set, it means that f ′ is smaller than f with respect to quasi-order induced by degree-lexicographic order on monomials. Hence, deg(f ′ ) ≤ deg(f ). The polynomial f was chosen such that deg(f ) < deg(g1 g2 g3 ). Thus, we also have, deg(f − f ′ ) < deg(g1 g2 g3 ). Since f ∈ f ′ + I we can write f = f ′ + hg1 g2 g3 . Then f − f ′ = hg1 g2 g3 . So h = 0 and f ′ = f . The participants reconstructed f ′ which turned out to be f . They can also read f (a). We note that for other sets in B it is similar. We will show that participants of an unprivileged set cannot reconstruct f . For instance, take N3 = {P2 , P4 }. Both P2 and P4 haven’t received g2 and their ideals are respectively I2 = (g1 g3 ) and I4 = (g1 ). From shares f2 and f4 they know nothing about the part c2 g1 g3 that is in f = f0 + c1 g1 g2 + c2 g1 g3 + c3 g2 g3 . It is because fc = f + cg1 g3 would give them the same shares, if chosen (that is if in f was chosen different coefficient by g1 g3 ). That is the case since g1 g3 is an element of both in I2 and I4 , and, for example, for the participant P4 : Since f4 is reduced form of f modulo I4 , that is f = a4 g1 + f4 . Then, fc = f + cg1 g3 = a4 g1 + f4 + cg1 g3 = g1 (a4 + cg3 ) + f4 . From uniqueness of remainder in Theorem 1 for Gröbner basis, we get that f4 is also reduced form of fc modulo I4 (since it was before). Similarly for participant P2 we get that f2 is reduced form of fc . That means participants P2 and P4 cannot determine randomly chosen part c2 g1 g3 in f , and from that reason, since g1 (a)g3 (a) ̸= 0, they cannot deduce the value of f (a) as well. 6. Conclusions We introduced theoretical ideas that allow, basing on methods with Gröbner bases, to describe secure secret sharing schemes. Since we assume fast calculations of certain Gröbner bases that are necessary for finding 295 J. Derbisz efficiently the CRT-solution in a version of CRT-algorithm for multivariate polynomials [2], the results may be noted as theoretical. However, if one searches for applications of proposed constructions of sharing a multivariate polynomial, conducting further research can be the subject: to investigate polynomials such that needed Gröbner bases could really be calculated quickly or to perform precomputations efficiently. For applications, naturally, it is also interesting to examine and compare efficiency. References [1] C. Asmuth, J. Bloom, A modular approach to key safeguarding, IEEE Trans. on Information Theory, IT-29(2):208-211, 1983. [2] T. Becker, V. Weispfenning, The Chinese remainder problem, multivariate interpolation, and Gröbner bases, Proc. ISSAC’91, Bonn, ACM Press, 6469, New York 1991. [3] T. Becker, V. Weispfenning, Gröbner Bases: A Computational Approach to Commutative Algebra, Springer-Verlag, 1993. [4] M. Ben-Or, S. Goldwasser, A. Wigderson, Completeness theorems for non-cryptographic fault-tolerant distributed computation, 1-10, Proc. ACM STOC ’88. [5] G. Blakley, Safeguarding cryptographic keys, Proceedings of the National Computer Conference 48: 313–317, 1979 [6] E.F. Brickell, Some ideal secret sharing schemes, J. Combin. Math. Combin. Comput. 9, 105-113, 1989. [7] B. Buchberger, Gröbner Bases: An Algorithmic Method in Polynomial Ideal Theory, N. K. Bose ed. Recent trends in Multidimensional System theory. Dordrecht: Reidel, 184-232, 1985. [8] B. Buchberger, F. Winkler, Gröbner Bases and Applications, Cambridge University Press 1998. [9] H. Chen, R. Cramer, Algebraic geometric secret sharing schemes and secure multi-party computations over small fields, Advances in Cryptology-CRYPTO 2006, Springer Berlin Heidelberg, 521-536, 2006. [10] J. Derbisz, Methods of encrypting monotonic access structures, Annales UMCS Informatica AI XI, 2, 49-60, 2011. [11] J.-C. Faugére, A New Efficient Algorithm for Computing Gröbner Basis (F4), Journal of Pure and Applied Algebra 139(1-3), 6188, 1999. [12] J.-C. Faugère, A new efficient algorithm for computing Gröbner bases without reduction to zero (F5), in: ISSAC 02: Proceedings from the International Symposium on Symbolic and Algebraic Computation, pp. 7583, 2002. 296 Remarks on multivariate extensions of polynomial based . . . [13] M. Fellows, N. Koblitz, Combinatorial cryptosystems galore!, Contemporary Mathematics, 51-61, 1994. [14] M. Gasca, T. Sauer, Polynomial interpolation in several variables, Adv. Comput. Math., 12 (4), 377–410, 2000. [15] N. Koblitz, Algebraiczne aspekty kryptografii, WNT, Warszawa 2000. [16] M. Mignotte, How to share a secret Cryptography. Springer Berlin Heidelberg, 371-375, 1983. [17] P.J. Olver, On multivariate interpolation, Stud. Appl. Math. 116, 201-240, 2006. [18] O. Ore, The general Chinese remainder theorem, American Mathematical Monthly, 59:365-370, 1952. [19] T. Sauer, Polynomial interpolation of minimal degree and Gröbner bases, Groebner Bases and Applications (Proc. of the Conf. 33 Years of Groebner Bases), eds. B. Buchberger and F. Winkler, London Math. Soc. Lecture Notes, Vol. 251, 483–494 Cambridge University Press, 1998. [20] A. Shamir, How to share a secret, Communications of the ACM 22 (11): 612613, 1979. [21] T. Tassa, N. Dyn, Multipartite Secret Sharing by Bivariate Interpolation, ICALP (2), 288-299, 2006. UWAGI NA TEMAT WIELOWYMIAROWYCH ROZSZERZEŃ SCHEMATÓW PODZIAŁU SEKRETU OPARTYCH NA WIELOMIANACH Streszczenie. Wprowadzamy metody wykorzystujące bazy Gröbnera do schematów podziału sekretu. Opis bazuje na wielomianach z pierścienia R = K[X1 , ..., Xl ], gdzie tożsamości użytkowników oraz ich udziały są lub są związane z ideałami w R. Główne teoretyczne rezultaty dotyczą algorytmicznej rekonstrukcji wielomianu wielu zmiennych z takich udziałów zgodnie z zadaną (dowolną) strukturą dostępu, co stanowi uogólnienie klasycznych schematów progowych. W pracy wykorzystujemy konstruktywną wersję Chińskiego twierdzenia o resztach w pierścieniu R pochodzącą od Beckera i Weispfenninga. Wprowadzone idee znajdują swój szczegółowy opis w naszych związanych z tym tematem pracach. Słowa kluczowe: bazy Gröbnera, twierdzenie chińskie o resztach, schemat podziału sekretu, struktura dostępu, wielowymiarowa interpolacja. UOGÓLNIONE STRUKTURY UPRAWNIEŃ Z HIERARCHIĄ Andrzej Pragacz Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego (MIM UW) Streszczenie. Struktury dostępu są używane przy zagadnieniach bezpieczeństwa związanych z sytuacjami gdzie jeden lub więcej podmiotów próbuje uzyskać pewien zasób. Przedstawimy uogólnienie struktur dostępu na przypadek wielu zasobów, co pozwala na zgrabne ujęcie schematów progowych i hierarchicznych. Zaprezentujemy też użycie tzw. iloczynu dwuliniowego, definiowanego w grupie punktów n-torsyjnych krzywej eliptycznej nad ciałem skończonym na dwóch przykładowych hierarchicznych schematach przydzielania kluczy. Słowa kluczowe: struktury dostępu, uprawnienia, dzielenie sekretu, schemat progowy, hierarchia, iloczyn Weila, grupy, krzywe eliptyczne, struktury monotoniczne. 1. Wprowadzenie Kryptografia to nauka zajmująca się m.in. kontrolą dostępu do informacji. Szczególnym przykładem jest tu np. dzielenie sekretu, czyli podzielenie pewnej informacji (sekretu) między pewne podmioty w ten sposób, że tylko niektóre grupy podmiotów mogą w pewien sposób „poznać” sekret. Innym przykładem może być przydzielanie pewnej informacji (tzw. klucza) każdemu podmiotowi, i umożliwienie określonym grupom podmiotów „poznanie” tego klucza. Przedstawiana praca dotyczy właśnie tego typu zagadnień, ze szczególnym naciskiem na aspekt hierarchiczny. 2. Ogólne strukury dostępu 2.1. Struktury monotoniczne Definicja 2.1. Niech dany będzie porządek ≼ zdefiniowany na elementach zbioru X. Wówczas struktura monotoniczna A względem porządku ≼ to podzbiór X o własności: ∀x, y ∈ X x ∈ A ∧ x ≼ y ⇒ y ∈ A W szczególności będziemy rozważać struktury monotoniczne będące rodzinami zbiorów, a porządek ≼ będzie definiowany przez zawieranie się zbiorów (tj. x ≼ y ⇔ x ⊆ y). A. Pragacz Definicja 2.2. Niech X będzie pewnym zbiorem, a A ⊆ X jego podzbiorem. Wówczas cl(A) zwane domknięciem monotonicznym A będzie najmniejszym takim zbiorem, że A ⊆ cl(A) i cl(A) będzie strukturą monotoniczną. Definicja 2.3. Jeśli A ⊆ X jest strukturą monotoniczną, to zbiór B ⊆ A o własności cl(B) = A będzie zwany dalej zbiorem baz lub rodziną zbiorów bazowych A. 2.2. Ogólna struktura dostępu Zdefiniujmy podstawowe pojęcie, które będzie szeroko wykorzystywane w niniejszej pracy: Definicja 2.4. Ogólna struktura dostępu to trójka postaci (U, G, (Bs )s∈G ), gdzie U to zbiór podmiotów, G to zbiór sekretów, a Bs ⊆ P(U) to rodziną takich zbiorów podmiotów, które mogą odtworzyć sekret s. Ponadto, dla każdego s ∈ G rodzina Bs zwana dalej rodziną zbiorów dostępu jest strukturą monotoniczną względem relacji ⊆ (relacji zawierania). Będziemy dodatkowo oznaczać przez B′s najmniejszą rodzinę zbiorów bazowych Bs , tj. cl(B′s ) = Bs . 2.3. Zbiór sekretów Zdefiniujmy przydatne pojęcie: Definicja 2.5. Zbiór sekretów, które może uzyskać zbiór podmiotów U ⊆ U, to funkcja S : P(U) → P(G) zdefiniowana jako S(U ) = {s ∈ G : U ∈ Bs } (2) Zauważmy, że możemy równoważnie zapisać powyższą definicję jako: S(U ) = {s ∈ G : ∃B ∈ B′s B ⊆ U} (3) Inaczej mówiąc, S(U ) to zbiór takich sekretów, gdzie dla każdego sekretu można znaleźć w rodzinie zbiorów dostępu Bs taki zbiór, który będzie podzbiorem U Dla pojedynczego podmiotu u ∈ U będziemy stosować skrót notacyjny S(u) := S({u}) 300 Uogólnione struktury uprawnień z hierarchią Fakt 2.6. Funkcja S(U ) ma następujące własności: 1. Jeśli dla każdego s ∈ G zachodzi ∅ ̸∈ Bs to wówczas S(∅) = ∅ 2. Jeśli U, V ∈ P(U) i U ⊆ V to S(U ) ⊆ S(V ) 3. Dla każdego X ⊆ P(U) zachodzi: ∪ U ∈X S(U ) ⊆ S( ∪ U) (4) U ∈X Dowód. 1. Wynika wprost z definicji (∅ nie należy do Bs ). 2. Wynika z monotoniczności Bs . Jeśli zachodzi U ∈ Bs to V ∈ Bs . 3. Prawdziwość wynika ∪ z poprzedniego punktu (dla każdego U ∈ X zachodzi S(U ) ⊆ S( U ∈X U )). Definicja 2.7. S(u) definiuje nam w sposób naturalny relację częściowego porządku ≤S , <S oraz relację równoważności ∼S na podmiotach u, u′ ∈ U: u≤S u′ ⇔ S(u) ⊆ S(u′ ) (5) u<S u′ ⇔ S(u) ( S(u′ ) (6) u∼S u′ ⇔ S(u) = S(u′ ) (7) Definicja 2.8. Relację częściowego porządku ≤S , <S można rozszerzyć na podzbiory U w sposób następujący: U ≤S U ′ ⇔ S(U ) ⊆ S(U ′ ) (8) U <S U ′ ⇔ S(U ) ( S(U ′ ) (9) 2.4. Przykłady 2.4.1. Schemat progowy Schemat progowy (k, n) dzielenia sekretu opiera się na dzieleniu pojedynczego sekretu s między n podmiotów w taki sposób, że tylko k lub więcej podmiotów może uzyskać sekret s. Znanym przykładem implementacji jest klasyczny już schemat dzielenia sekretu Shamira opisany w pracy [6] 301 A. Pragacz Struktura uprawnień dla takiego schematu opisuje się następująco: • U = {u1 , u2 , . . . , un } • G = {s} • Bs = {U ∈ P(U) : #U ≥ k} Łatwo zauważyć, że S(U ) = {s} wtedy i tylko wtedy, gdy #U ≥ k 2.4.2. Schemat hierarchiczny Rozważmy teraz przypadek, który omówimy dokładniej ze względu na to, że będziemy się nim później szczegółowo zajmować. Każdy podmiot ui dysponuje swoim własnym sekretem si . Ponadto podmioty spełniają pewną częściową relację porządku ≼, która ustala na nich hierarchię. Zachodzi ui ≼ uj wtw. gdy uj jest przodkiem ui w DAGu (lub w drzewie). • U = {u1 , u2 , . . . , un } • G = {s1 , s1 , . . . , sn } • Przyjmujemy że: Bsi = {U ∈ P(U) : ∃u ∈ U ui ≼ u} (10) Relacja ≼ (definiująca) jest równoważna relacji ≤S (indukowanej przez wcześniej zdefiniowaną funkcję S). Dowód można znaleźć w dodatku A. 2.4.3. Schemat mieszany Na koniec możemy omówić bardziej skomplikowany przypadek. Sekret s1 jest dzielony na udziały między podmioty u1 , u2 , zaś s2 jest dzielony na udziały między podmioty u2 , u3 . Ponadto podmiot u4 ma dostęp do obu sekretów, a podmiot u5 , który jest przodkiem u4 , ma także dostęp do sekretu s3 . Struktura uprawnień dla takiego przypadku wygląda następująco: • U = {u1 , u2 , u3 , u4 , u5 } • G = {s1 , s2 , s3 } • B s1 = {{u5 }, {u4 }, {u1 , u2 }, {u4 , u1 , u2 }, {u5 , u4 }, {u5 , u1 , u2 }, {u5 , u4 , u1 , u2 }} • Bs2 = {{u5 }, {u4 }, {u2 , u3 }, {u4 , u2 , u3 }, {u5 , u4 }, {u5 , u2 , u3 }, {u5 , u4 , u2 , u3 }} • Bs3 = {{u5 }} 302 Uogólnione struktury uprawnień z hierarchią 2.5. Bezpieczeństwo systemu hierarchicznego Nasuwa się pytanie, w jaki sposób można badać bezpieczeństwo hierarchicznych schematów przydzielania kluczy. Najczęściej używanym sposobem są gry między tzw. wyzywającym i tzw. atakującym. Poniżej zdefiniowano taką właśnie grę: Definicja 2.9. Schemat przydzielania kluczy jest bezpieczny względem odzyskiwania klucza (ang. Key Recovery, za [1]), jeśli nie istnieje działający w czasie wielomianowym atakujący (ang. Adversary) A, który ma niezaniedbywalną przewagę (ang. Advantage) w grze o następujących fazach: 1. Setup: Wyzywający (ang. Challenger) wykonuje Setup(1k , G), gdzie G = ⟨V, E⟩ jest skierowanym grafem acyklicznym i przekazuje całą informację publiczną P ub atakującemu. 2. Attack: Atakujący dokonuje zapytania Corrupt(vi ) do wyzywającego, na które tenże odpowiada atakującemu, zwracając sekretną informację wierzchołka vi czyli Sec(vi ). 3. Break: Atakujący zwraca wierzchołek v ∗ wraz z odgadniętym kluczem prywatnym P r(v ∗ )′ . Wierzchołek v ∗ musi spełniać warunek: dla każdego vi zachodzi v ∗ ̸∈ Desc(vi ) (nie należy do zbioru potomków) Przewagę w tej grze, dalej zwaną grą KR, definiujemy jako: ∗ ′ ∗ Adv KR A = P(P r(v ) = P r(v )) Definicja 2.10. Schemat przydzielania kluczy jest bezpieczny względem odzyskiwania klucza ustalonego wierzchołka v, jeśli nie istnieje działający w czasie wielomianowym atakujący A, który ma niezaniedbywalną przewagę w grze opisanej wyżej z następującą modyfikacją, że atakujący zwraca w fazie Break wierzchołek v ∗ = v. Grę tę będziemy nazywać dalej grą SKRv . Innymi słowy, wierzchołek v ∗ zwrócony w fazie Break jest już znany w fazie Setup i wyzywający może wykorzystać tę informację. 3. Zastosowania iloczynu dwuliniowego 3.1. Definicja iloczynu dwuliniowego Poniższą definicję przytaczamy za [2], [8]. 303 A. Pragacz Definicja 3.1. Niech będą dane grupy cykliczne G1 i G2 , obie tego samego rzędu q. W przypadku grupy G1 będziemy stosować notację addytywną, a w przypadku G2 notację multiplikatywną. Iloczyn dwuliniowy na grupie G1 o wartościach w grupie G2 definiujemy jako funkcję G1 × G1 → G2 o następujących własnościach: 1. ∀a, b ∈ Z ∀P, Q ∈ G1 ê(aP, bQ) = ê(P, Q)ab (dwuliniowość) 2. dla każdego P będącego generatorem ê(P, P ) ̸= 1 (niezdegenerowalność) 3. ê jest efektywnie obliczalna Konstrukcję takiego iloczynu z użyciem tzw. iloczynu Weila, definiowanym w grupie punktów n-torsyjnych krzywej eliptycznej nad ciałem skończonym można znaleźć w [2], [8]. Jednym z najbardziej znanych przykładów użycia jest schemat Boneha-Franklina ([2]), będący schematem asymetrycznego szyfrowania. 3.2. Dwuliniowy Problem Diffiego-Hellmana i jego warianty Definicja 3.2. Generator parametrów BDH: Niech k będzie parametrem bezpieczeństwa. Wówczas niech G będzie taką funkcją, że: G(1k ) = ⟨q, G1 , G2 , ê⟩ gdzie G1 jest grupą cykliczną, G2 jest grupą cykliczną, obie są rzędu q, natomiast ê : G1 × G1 → G2 jest iloczynem dwuliniowym zdefiniowanym na tych grupach. Należy rozumieć tutaj, że G(1k ) generuje nam „opis” grup G1 , G2 oraz iloczynu dwuliniowego ê, który ma rozmiar wielomianowy względem k (czyli nie są np. generowane wszystkie elementy grupy G1 ). „Opis” grup pozwala na wyznaczenie w czasie wielomianowym przykładowych generatorów, zaś „opis” iloczynu ê pozwala na obliczenie ê w czasie wielomianowym. k jest przekazywane do G jako ciąg k jedynek. dzięki tej sztuczce notacyjnej można powiedzieć, że G jest wielomianowy względem k, gdyż rozmiar danych wejściowych to właśnie k. Definicja 3.3. Obliczeniowy dwuliniowy problem Diffiego-Hellmana (BCDH): Niech będą dane cykliczne grupy G1 i G2 , obie rzędu q. Ponadto niech będzie zdefiniowany iloczyn dwuliniowy ê na G1 i G2 . Dla zadanego generatora P ∈ G1 i losowych a, b, c ∈ Z∗q oblicz ê(P, P )abc na podstawie 304 Uogólnione struktury uprawnień z hierarchią wyłącznie P , aP , bP i cP . Innymi słowami: BCDH G1 ,G2 ,ê (P, aP, bP, cP ) = ê(P, P )abc Definicja 3.4. Obliczeniowy dwuliniowy kwadratowy problem Diffiego-Hellmana (BSCDH): Niech będą dane cykliczne grupy G1 i G2 , obie rzędu q. Ponadto niech będzie zdefiniowany iloczyn dwuliniowy ê na G1 i G2 . Dla zadanego genera2 tora P ∈ G1 i losowych a, b ∈ Z∗q oblicz ê(P, P )a b na podstawie wyłącznie P , aP i bP . Innymi słowami: 2 BCDH G1 ,G2 ,ê (P, aP, bP ) = ê(P, P )a b Definicja 3.5. Obliczeniowy dwuliniowy odwrócony problem Diffiego-Hellmana (BICDH): Niech będą dane cykliczne grupy G1 i G2 , obie rzędu q. Ponadto niech będzie zdefiniowany iloczyn dwuliniowy ê na G1 i G2 . Dla zadanego ge−1 neratora P ∈ G1 i losowych a, b ∈ Z∗q oblicz ê(P, P )a b na podstawie wyłącznie P , aP i bP Innymi słowami: −1 BCDH G1 ,G2 ,ê (P, aP, bP ) = ê(P, P )a b Twierdzenie 3.6. Problemy BCDH, BSCDH, BICDH są obliczeniowo równoważne. Dowód tego faktu można znaleźć w dodatku B. Definicja 3.7. Decyzyjny dwuliniowy problem Diffiego-Hellmana (BDDH): Niech będą dane cykliczne grupy G1 i G2 , obie rzędu q. Ponadto niech będzie zdefiniowany iloczyn dwuliniowy ê na G1 i G2 . Dla zadanego generatora P ∈ G1 i losowych a, b, c, d ∈ Z∗q zadecyduj, czy ê(P, P )d = ê(P, P )abc , na podstawie wyłącznie P , aP , bP , cP i ê(P, P )d . Innymi słowami: { 1 gdy ê(P, P )abc = ê(P, P )d d BDDH G1 ,G2 ,ê (P, aP, bP, cP, ê(P, P ) ) = 0 w p.p. Definicja 3.8. Dwuliniowe założenie Diffiego-Hellmana (ang. Bilinear Diffie-Hellman, BDH): 305 A. Pragacz Dwuliniowy problem Diffiego-Hellmana (obliczenie ê(P, P )abc na podstawie wyłącznie P , aP , bP i cP ) jest trudny. Formalnie mówiąc, zdefiniujmy przewagę (ang. advantage) dla algorytmu A rozwiązującego problem BCDH. ( ⟨q, G , G , ê⟩ ← G(1k ) 1 2 Adv BCDH (k) = P A (P, aP, bP, cP ) G ,G ,ê A 1 2 a, b, c ← Z∗q , P ← G1 ) Wówczas przewaga (k) ϵBCDH = Adv BCDH (k) = maxA Adv BCDH A jest zaniedbywalna. Definicja 3.9. Decyzyjne dwuliniowe założenie Diffiego-Hellmana (ang. Decisional Bilinear Diffie-Hellman, DBDH): Decyzyjny dwuliniowy problem Diffiego-Hellmana (rozstrzygnięcie ê(P, P )d = ê(P, P )abc na podstawie wyłącznie P , aP , bP , cP i ê(P, P )d ) jest trudny. Formalnie mówiąc, zdefiniujmy przewagę (ang. advantage) dla algorytmu A rozwiązującego problem BDDH. ( ρ1 = P AG1 ,G2 ,ê (P, aP, bP, cP, ê(P, P )d ) ) ⟨q, G1 , G2 , ê⟩ ← G(1k ) = 1 a, b, c ←R Z∗ , d = abc, P ← G1 q ) ⟨q, G , G , ê⟩ ← G(1k ) 1 2 ρ0 = P AG1 ,G2 ,ê (P, aP, bP, cP, ê(P, P )d ) = 1 a, b, c, d ←R Z∗q , P ← G1 ( Adv BDDH (k) = |ρ0 − ρ1 | A Wówczas przewaga ϵBDDH = Adv BDDH (k) = maxA Adv BDDH (k) A jest zaniedbywalna. 306 Uogólnione struktury uprawnień z hierarchią 3.3. Schemat pierwszy: Liu et al. W tym systemie [4] zakładamy, że każdy podmiot jest wierzchołkiem DAGu. Ten system opiera się na użyciu iloczynu dwuliniowego ê : G1 × G1 → G2 , ale wykorzystuje go w inny sposób (można odnaleźć pewne podobieństwo do schematu Boneha-Franklina [2]). Każdy „zasób” t (w naszej terminologii sekret) ma swój klucz prywatny DKt ∈ N. Dostęp do niego mogą uzyskać podmioty Si . Każdy podmiot jest identyfikowany przez publiczne QSi = H1 (IDSi ) Niech będą dane funkcje haszujące H1 : {0, 1}∗ → G1 , H2 : G2 → {0, 1}∗ . Podczas tworzenia kluczy wybierane jest α ∈ Z∗q , r ∈R Zq∗ , gdzie q = |G1 |. Następnie upubliczniane jest P0 ∈ G1 , U = rP0 , Ppub = αP0 . Dla każdego podmiotu obliczany jest jego prywatny klucz DSi = αQSi . Dla każdego zasobu jest generowana publiczna funkcja: FDKt = DKt ⊕ ∏ (x ⊕ H2 (gSr j )) gSj = ê(QSj , Ppub ) Sj madostępdot Obliczenie klucza DKt odbywa się następująco: DKt = FDKt (H2 (ê(DSi , U ))) Wystarczy bowiem, że tylko jedno z wyrażeń x⊕H2 (gSr j ) się wyzeruje, co spowoduje wyzerowanie całego iloczynu a w konsekwencji: FDKt (H2 (ê(DSi , U ))) = DKt ⊕ 0 = DKt Dowód bezpieczeństwa można znaleźć w [4]. 3.4. Schemat drugi W tym przypadku ograniczamy się do hierarchii drzewiastej (każdy podmiot z wyjątkiem jednego ma swój podmiot nadrzędny, czyli rodzica). Niech 1k będzie parametrem bezpieczeństwa. Dane jest drzewo T = ⟨V, E⟩ reprezentujące hierarchię podmiotów (każdemu podmiotowi odpowiada wierzchołek). Procedura Setup(1k , T ): 1. oblicza G(1k ) = ⟨q, G1 , G2 , ê⟩ 307 A. Pragacz 2. wyznacza dwa losowe generatory Q, P ∈R G1 o tej własności, że ê(Q, P ) nie jest elementem neutralnym G2 . 3. upublicznia informację: q, G1 , G2 , ê, Q, P 4. Dla każdego wierzchołka v w porządku preorder: (a) wybiera losowo sv ∈R Z∗q (b) wylicza ukrytą informację { sv Q dla korzenia Sec(v) = sv Sec(u) gdy rodzicem v jest u (c) Ukryta informacja Sec(v) jest przekazywana do wierzchołka v przez zaufany kanał. 5. Dla każdej pary v, u dla której v ≺ u, w porządku od najkrótszej odległości między v i u do najdłuższej: (a) oblicza kluczy publiczny (z użyciem wcześniej wylosowanego sv ): { sv P gdy u jest rodzicem v P ub(v, u) = sv P ub(w, v) gdy pewne w ≺ u jest rodzicem v (b) upublicznia P ub(v, u) W powyższym schemacie klucz prywatny efektywnie może obliczyć jedynie wierzchołek v bądź wierzchołek u będący przodkiem v. Klucz prywatny dla v to P r(v) = DeriveKey(v, v) = ê(Sec(v), P ) W przypadku, jeśli u będący przodkiem v chce obliczyć klucz prywatny v: P r(v) = DeriveKey(v, u) = ê(Sec(u), P ub(v, u)) 3.4.1. Przykład Aby uczynić powyższą definicję schematu przydzielania kluczy czytelniejszą, zaprezentujmy ją na przykładowym drzewie. Na tym drzewie wykonujemy opisaną wcześniej procedurę Setup(1k , T ), gdzie 1k będzie parametrem bezpieczeństwa. W wyniku jej każdy z wierzchołków otrzymuje swoją informację ukrytą, co zostało zaprezentowane na rysunku 1. Ponadto w repozytorium kluczy publicznych zostają umieszczone klucze publiczne, ukazane na rysunku 2. Każdy z tych kluczy jest dostępny dla każdego podmiotu. 308 Uogólnione struktury uprawnień z hierarchią Rysunek 1. Drzewo T z przypisaną do każdego wierzchołka jego informacją ukrytą. Dla uproszczenia przyjęto, że si = svi . Należy zwrócić uwagę, że dana informacja ukryta jest znana tylko danemu wierzchołkowi Zobrazujmy obliczanie kluczy na przykładzie. Przyjmijmy, że wierzchołek v1 chce obliczyć klucz prywatny wierzchołka v9 . Wówczas bierze swoją informacje ukrytą Sec(v1 ) = s1 s0 Q oraz klucz publiczny P ub(v9 , v1 ) = s9 s3 P i oblicza: ê(Sec(v1 ), P ub(v9 , v1 )) = ê(s1 s0 Q, s9 s3 P ) = ê(Q, P )s9 s3 s1 s0 = P r(v9 ) 3.4.2. Bezpieczeństwo Twierdzenie 3.10. Schemat zaproponowany w niniejsze pracy jest bezpieczny względem odzyskiwania klucza (KR), jeśli decyzyjne dwuliniowe założenie Diffiego-Hellmana jest prawdziwe. Przedstawimy tu jedynie schemat dowodu, wzorowany na pracy [1]. Posłużymy się najpierw grą SKRv∗ w celu udowodnienia bezpieczeństwa wyżej opisanego schematu. 309 A. Pragacz Rysunek 2. Drzewo T z kluczami publicznymi wierzchołków. Klucze publiczne, które są używane do obliczania klucza prywatnego danego wierzchołka zostały umieszczone obok tego wierzchołka. Przykładowo, P ub(v9 , v1 ) = s9 s3 P . Dla uproszczenia przyjęto że si = svi Dla uproszczenia przyjmujemy że q, G1 , G2 , ê, Q, P są już ustalone i że Q = P. Niech v ′ będzie pewnym wierzchołkiem z T . Niech sv,u ∈R Z∗q będzie losowo wybrany dla każdego v ≺ u. Zdefiniujmy RandomSetup(1k , T, v ′ ) analogicznie do Setup(1k , T ) z tą różnicą że Sec(v ′ ) = ⊥ (jest nie zdefiniowany) oraz: s P v,u sv,w P ub(w, v) P ub(v, u) = s vP sv P ub(w, v) gdy gdy gdy gdy rodzicem v jest u = v ′ pewne v ′ = w ≺ u jest rodzicem v rodzicem v jest u ̸= v ′ pewne v ′ ̸= w ≺ u jest rodzicem v Zdefiniujmy BDHSetup(1k , T, v ′ , aP, bP ) analogicznie do Setup(1k , T ) z tą 310 Uogólnione struktury uprawnień z hierarchią różnicą że: ⊥ sv Q Sec(v) = sv bP sv Sec(u) dla v = v ′ dla korzenia gdy rodzicem v jest v ′ gdy rodzicem v jest u = ̸ v′ s aP gdy v sv,w P ub(w, v) gdy P ub(v, u) = gdy sv P sv P ub(w, v) gdy rodzicem v jest u = v ′ pewne v ′ = w ≺ u jest rodzicem v rodzicem v jest u ̸= v ′ pewne v ′ ̸= w ≺ u jest rodzicem v Łatwo zauważyć, że jeśli użyjemy BDHSetup zamiast Setup do inicja−1 lizacji systemu, to Sec(v ′ ) = a−1 bP i w konsekwencji P r(v ′ ) = ê(P, P )a b . Zdefiniujemy dwie gry, Ĝ oraz Ĝ′ w następujący sposób: • Gra Ĝ0 : Gra SKRv∗ , gdzie w fazie Setup jest wykonywana procedura Setup(1k , T ) • Gra Ĝ1 : Gra SKRv∗ , gdzie w fazie Setup jest wykonywana procedura RandomSetup(1k , T, r) gdzie r to korzeń T . Będziemy oznaczać przez Tj zdarzenie takie że P r(v ∗ ) = P r(v ∗ )′ w grze Ĝj . Lemat 3.11. Niech ϵBDDH będzie zdefiniowany tak jak w (12). Wówczas: |P(T0 ) − P(T1 )| ≤ ϵBDDH Dowód. Niech będzie dany algorytm A, który jest w stanie rozróżnić między grą Ĝ0 i Ĝ1 . Wówczas skonstruujemy algorytm B taki, że jest w stanie rozróżnić, czy dla zadanych parametrów P , aP , bP, ê(P, P )c będzie −1 potrafił zadecydować czy ê(P, P )c = ê(P, P )a b . W konsekwencji, korzystając z faktu 3.6, możemy zbudować algorytm B′ taki że dla zadanych ′ parametrów P , a′ P , b′ P, c′ P, ê(P, P )d będzie potrafił zadecydować, czy ′ ′ ′ ′ ê(P, P )d = ê(P, P )a b c . Przeprowadźmy zatem konstrukcję B. Algorytm otrzymuje na wejściu parametry „środowiskowe” G1 , G2 , ê oraz właściwe parametry x, y, z ∈ G1 , w ∈ G2 (w domyśle x = P , y = aP , z = bP , w = ê(P, P )c ). Algorytm ten będzie „interpolować” zachowanie między grą Ĝ0 i grą Ĝ1 w następujący sposób: 1. Setup: Wyzywający: 311 A. Pragacz (a) wykonuje procedurę BDHSetup(1k , T, r, y, z) (b) ustala P r(r) = w (c) przekazuje atakującemu informację publiczną: ⟨q, G1 , G2 , ê, x, x, P ub⟩ 2. Attack: Algorytm A jako atakujący wykonuje zapytania Corrupt(vi ). Wyzywający odpowiada, zwracając mu informacją ukrytą Sec(vi ). Zauważmy, że A nie może pytać o v ∈ Anc(v ∗ ), w szczególności o r. 3. Break: Algorytm A zwraca ⟨v ∗ , P r(v ∗ )′ ⟩ Po zakończeniu fazy Break algorytm B oblicza P r(v ∗ ) (np. na podstawie wcześniej wyznaczonego Sec(v ∗ ), lub jeśli v ∗ = r, to P r(v ∗ ) = w). Następnie B zwraca 1 jeśli P r(v ∗ )′ = P r(v ∗ ) a 0 w przeciwnym przypadku. Stąd: ϵBDDH ≥ Adv BDDH B′ = |P(B′ zwrócił 1|d′ jest losowe ) − P(B ′ zwrócił 1|d′ = a′ b′ c′ )| = |P(B zwrócił 1|c jest losowe ) − P(B zwrócił 1|c = a−1 b)| = |P(T1 ) − P(T0 )| Dalej dowód przebiega analogicznie jak w [1]. 4. Podsumowanie W niniejszej pracy zdefiniowaliśmy ogólną strukturę uprawnień oraz opisaliśmy przykładowe rodzaje takich struktur: progowe, hierarchiczne i mieszane. Opisaliśmy również dwa przykładowe systemy przydzielania kluczy (jeden oparty na pracy Liu et al., drugi autorski) oparte na iloczynie dwuliniowym definiowanym w grupie punktów n-torsyjnych krzywej eliptycznej nad ciałem skończonym. 312 Uogólnione struktury uprawnień z hierarchią A. Dowód równoważności relacji ≼ i ≤S Pokażemy teraz, że relacja ≼ (definiująca) jest równoważna relacji ≤S (indukowanej przez wcześniej zdefiniowaną funkcję S). Niech G = ⟨V, E⟩ będzie DAGiem odpowiadającym relacji ≼. Oznaczymy dalej Zbiór przodków: A≼ u = Anc(u) = {v ∈ U : u ≼ v} Będziemy dalej pomijać ≼ w zapisie (tj. Au = A≼ u) Lemat A.1. Zachodzi równoważność: Ay ⊆ Ax ⇔ y ∈ Ax Dowód. (⇒) wynika natychmiast z definicji. (⇐) Dowód przez sprzeczność. Niech Ay ̸⊆ Ax . Wówczas zachodzi jeden z wymienionych przypadków: • Ax ( Ay . Jest to równoważne y ≺ x, skąd mamy że y ̸∈ Ax , co daje pożądaną sprzeczność. • x i y są względem siebie nieporównywalne (x ̸≼ y i y ̸≼ x). Wówczas mamy dwa przypadki: – Istnieje takie w będące najmniejszym wspólnym przodkiem (x ≺ w oraz y ≺ w) i zachodzi Aw = Ax ∩ Ay . Z poprzedniego podpunktu wiemy, że y ̸∈ Aw , co w konsekwencji daje nam że y ̸∈ Ax . – Nie istnieje żaden wspólny przodek x i y, stąd Ax i Ay są rozłączne, co dowodzi y ̸∈ Ax . Lemat A.2. Niech Bsi będzie zdefiniowana jak w równaniu (10). Wówczas dla każdego ui , uj ∈ U: ui ≼ uj ⇔ Bsj ⊆ Bsi Dowód. Możemy zdefiniować Bsi jako: Bsi = {U ⊆ U : U ∩ A≼ ui ̸= ∅} Wówczas łatwo zauważyć, że: ui ≼ uj ⇔ Auj ⊆ Aui ⇔ Bsj ⊆ Bsi Lemat A.3. Niech Bsi będzie zdefiniowana jak w równaniu (10). Wówczas dla każdegoui , uj ∈ U: Bsj ⊆ Bsi ⇔ ∀uk ∈ U {ui } ∈ Bsk ⇒ {uj } ∈ Bsk 313 A. Pragacz Dowód. (⇒) niech {ui } ∈ Bsk . Wówczas Bsi ⊆ Bsk , czyli Bsj ⊆ Bsi ⊆ Bsk , co daje nam ostatecznie {uj } ∈ Bsk (⇐) Dowód przez sprzeczność. Załóżmy, że Bsj ̸⊆ Bsi . Jest to równoważne Auj ̸⊆ Aui i w konsekwencji również uj ̸∈ Aui (korzystamy tutaj z lematu A.1). W konsekwencji {uj } ̸∈ Bsi . Jednak ponieważ {ui } ∈ Bsi , stąd z prawej strony równoważności (tezy) mamy, że {uj } ∈ Bsi , co prowadzi nas do pożądanej sprzeczności. Fakt A.4. Relacja ≼ (definiująca) jest równoważna relacji ≤S (indukowanej przez wcześniej zdefiniowaną funkcję S), tj. ui ≼ uj ⇔ ui ≤S uj Dowód. ui ≼ uj ⇔ (korzystamy z lematu A.2) ⇔ Buj ⊆ Bui ⇔ (korzystamy z lematu A.3) ⇔ ∀uk ∈ U {ui } ∈ Bsk ⇒ {uj } ∈ Bsk ⇔ {s ∈ G : {ui } ∈ Bs } ⊆ {s ∈ G : {uj } ∈ Bs } ⇔ S({ui }) ⊆ S({uj }) ⇔ ui ≤S uj B. Dowód równoważności problemów BCDH i BICDH Przystąpimy teraz do pokazania zależności między wyżej opisanymi problemami: Twierdzenie B.1. BSCDH G1 ,G2 ,ê =P BCDH G1 ,G2 ,ê Dowód. Pokażemy, że powyższe problemy są równoważne poprzez wielomianowe redukcje. • BSCDH G1 ,G2 ,ê ≤P BCDH G1 ,G2 ,ê 2 BCDH G1 ,G2 ,ê (P, aP, aP, bP ) = ê(P, P )a b = BSCDH G1 ,G2 ,ê (P, aP, bP ) 314 Uogólnione struktury uprawnień z hierarchią • BCDH G1 ,G2 ,ê ≤P BSCDH G1 ,G2 ,ê Niech: x = BSCDH G1 ,G2 ,ê (2P, aP, cP ) a c = BSCDH G1 ,G2 ,ê (2P, (2P ), (2P )) 2 2 a2 4 = ê(2P, 2P ) 1 2 = ê(P, P ) 2 a · 2c c y = BSCDH G1 ,G2 ,ê (2P, bP, cP ) 1 2 = ê(P, P ) 2 b c z = BSCDH G1 ,G2 ,ê (2P, aP + bP, cP ) 2 1 = ê(P, P ) 2 (a+b) 1 2 = ê(P, P ) 2 a wówczas: c c+abc+ 12 b2 c BCDH G1 ,G2 ,ê = z(xy)−1 Twierdzenie B.2. BICDH G1 ,G2 ,ê =P BSCDH G1 ,G2 ,ê Dowód. Pokażemy, że powyższe problemy są równoważne poprzez wielomianowe redukcje. • BICDH G1 ,G2 ,ê ≤P BSCDH G1 ,G2 ,ê 1 b BSCDH G1 ,G2 ,ê (aP, P, bP ) = BSCDH G1 ,G2 ,ê (aP, (aP ), (aP )) a a 1 b = ê(aP, aP ) a2 a 1 = ê(P, P ) a b = BICDH G1 ,G2 ,ê (P, aP, bP ) • BSCDH G1 ,G2 ,ê ≤P BICDH G1 ,G2 ,ê 1 b BICDH G1 ,G2 ,ê (aP, P, bP ) = BICDH G1 ,G2 ,ê (aP, (aP ), (aP )) a a b = ê(aP, aP )a a = ê(aP, aP )b 2 = ê(P, P )a b = BSCDH G1 ,G2 ,ê (P, aP, bP ) 315 A. Pragacz Wniosek B.3. BCDH G1 ,G2 ,ê =P BICDH G1 ,G2 ,ê Dowód. Wynika natychmiastowo z B.2, B.1 i przechodniości relacji =P Literatura [1] M. J. Atallah, M. Blanton, N. Fazio, K. B. Frikken, Dynamic and Efficient Key Management for Access Hierarchies, ACM Transactions on Information and System Security, Vol. 12, No. 3, Article 18, January 2009. [2] D. Boneh, M. Franklin, Identity-Based Encryption from the Weil Pairing, SIAM J. of Computing, Vol. 32, No. 3, pp. 586–615, 2003 [3] Announcing the Advanced Encryption Standard (AES) Federal Information Processing Standards Publication 197, United States National Institute of Standards and Technology (NIST). November 26, 2001. [4] C-H Liu, Y-F Chung, T-S Chen, S-D Wang, An Id-based Access Control In A Hierarchical Key management For Mobile Agent, International Journal of Innovative Computing, Information and Control Volume 7, Number 3, March 2011 [5] S. J. MacKinnon, P. D. Taylor, H. Meijer, S. G. Akl, An Optimal Algorithm for assigning cryptographic keys to control access in a Hierarchy, IEEE Transactions on Computers, vol C-34, no. 9 (1985) [6] A. Shamir, How to share a secret, Communications of the ACM, Volume 22 Issue 11, Nov. 1979, 612–613 [7] J. H Silverman, it The Arithmetic of Elliptic Curves, 2nd Edition, Springer (2009) [8] L. C. Washington, Elliptic curves. Number theory and Cryptography, Chapman & Hall/CRC(2003) GENERALIZED ACCESS STRUCTURES WITH HIERARCHY Abstract. Access structures are used in cases associated with situations when one or more entities are trying to get a resource. We will present a generalization to the case of access structures many resources, which allows for a nice description of thresholds and hierarchical schemes. We will also present the use of the so-called bilinear product, defined in the group of n-torsion points of an elliptic curve over a finite field on two exemplary hierarchical allocation key schemes. Keywords: access structures, privileges, secret sharing, threshold scheme, hierarchy, Weil pairing, bilinear pairing, groups, elliptic curves, monotonic structures. V. PRAKTYCZNE ZASTOSOWANIA KRYPTOLOGII PROGRAMY JEDNORAZOWE: KRÓTKIE WPROWADZENIE Tomasz Kazana Instytut Informatyki, Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski Streszczenie. Niniejszy dokument stanowi skróconą wersję pracy „One-time Programs with Limited Memory” autorstwa Konrada Durnogi, Stefana Dziembowskiego, Tomasza Kazany oraz Michała Zająca, prezentowanej na konferencji INSCRYPT 2013 [11]. Praca bada pojęcie programów jednorazowych wprowadzonych na konferencji CRYPTO’08 przez Shafi Goldwasser et al. Program jednorazowy to urządzenie zawierające program C oraz posiadające własność, iż może być on wykonany tylko raz, na wybranym wejściu. Goldwasser et al. pokazali jak zaimplementować programy jednorazowe, używając specyficznych rozwiązań sprzętowych, tzw. OTM-ów. (ang. One-Time Memory). Ta praca podaje inną implementację programów jednorazowych, działającą w tzw. modelu obliczeń SBA. Charakterystyczne cechy tego modelu to ograniczona pamięć, wycieki oraz użycie losowej wyroczni. Słowa kluczowe: funkcje pseudolosowe; urządzenia jednorazowe; programy jednorazowe; zaciemnianie obwodów. 1. Wprowadzenie Pojęcie jednorazowych programów zostało wprowadzone przez Goldwasser et al [20]. Nieformalnie mówiąc, program jednorazowy to urządzenie D zawierające program w C, który posiada następujące własność: program C może być wykonany na co najwyżej jednym wejściu. Innymi słowy, każdy użytkownik, nawet złośliwy, który uzyskuje dostęp do D, powinien być w stanie nauczyć się wartości C(x) dla dokładnie jednego wybranego przez siebie x. Jak twierdzi Goldwasser et al, programy jednorazowe mają ogromny potencjał zastosowań w ochronie oprogramowania, tokenów elektronicznych i elektronicznych środków pieniężnych. Zwróćmy uwagę na następującą obserwację: bezpieczeństwo programów jednorazowych nie może być oparte tylko na oprogramowaniu. Innymi słowy, musi zawsze zawierać pewne założenia o właściwościach fizycznych urządzenia D. Istotnie, jeśli zakłada się, że cała zawartość C w D może być swobodnie czytana, to przeciwnik może tworzyć swoje własne kopie T. Kazana D i obliczyć C tyle razy, ile chce. Stąd naturalne pytanie jakie „własności fizyczne” są potrzebne do stworzenia programów jednorazowych. Oczywiście, trywialny sposób to po prostu założyć, że D jest w pełni zaufany, czyli przeciwnik nie może odczytać lub zmodyfikować jego zawartość. Oczywiście wówczas, można po prostu umieścić dowolny program C na D, dodając dodatkowe instrukcje, aby umożliwić tylko jedno wykonanie C. Niestety, okazuje się, że takie założenie jest często nierealne. Liczne prace nad tzw. wyciekami (ang. leakage) i wirusami pokazują, że w praktyce stworzenie urządzenia odpornego na wycieki i wirusy jest trudne, jeśli nie niemożliwe. Dlatego pożądane jest, aby oprzeć programy jednorazowe na słabszych założeniach fizycznych. Konstrukcja Goldwasser et al. opiera się na następującym założeniu fizycznym: D jest wyposażony w specjalne gadżety, tzw. OTM (ang. One-Time Memory). Przed umieszczeniem OTM w D, gadżet OTM może zostać zainicjalizowany z parą wartości (K0 , K1 ).Program C, który jest przechowywany na D może później poprosić OTM o dokładnie jedną z wartości Ki . Główną cechą bezpieczeństwa OTM jest to, że w żadnym wypadku nie jest możliwe jednoczesne poznanie zarówno K0 jak i K1 . Technicznie, może to być zrealizowane przez (a) przechowywanie na każdym OTM flagi u początkowo ustawionej na 0, która zmienia swą wartość na 1 po pierwszym zapytaniu do tego OTM, oraz (b) dodanie wymogu, że jeśli u = 1, to OTM nie odpowiada na żadne zapytania. Okazuje się, że przy założeniu o posiadaniu OTM w D, można skonstruować ogólny kompilator, który przekształca dowolny program C (w postaci układu logicznego) do jednorazowego programu. To jest właśnie główny wynik pracy Goldwasser et al [20]: zamiast nierealistycznych założeń o całym D, zakłada ona tylko istnienie bezpiecznych gadżetów OTM. Bezpiecznych, tzn. odpornych na wycieki i manipulacje. W naszej pracy staramy podejść do problemu inaczej. Nie zakładamy istnienia żadnych dodatkowych bezpiecznych gadżetów. W zamian za to, przyjmujemy, że urządzenie ma ograniczoną pamieć wewnętrzną oraz (aktywny) przeciwnik ma pewne ograniczenie na rozmiar wycieku. Te założenia formalnie opisuje model SBA. W pełnej wersji pracy [11] pokazujemy dokładną konstrukcję i dowód na istnienie programów jednorazowych w modelu SBA. 318 Programy jednorazowe: krótkie wprowadzenie 2. SBA model 2.1. Wstęp SBA model – wprowadzony w pracy [15] – dotyczy problemów kryptograficznych w środowisku z wyciekami informacji oraz aktywnym przeciwnikiem. Zaczniemy od wyjaśnień intuicyjnych. Rozważamy ogólny schemat: istnieje długi ciąg bitów R (w zamiarze tajny), z którego potrafimy coś obliczyć (powiedzmy f (R)), a chcemy aby pozostało to sekretem. W trakcie eksperymentu pojawi się przeciwnik, który czegoś o R się dowie, ale prawie zawsze okaże się ta wiedza zbyt mała, aby wnioskować coś na temat f (R). We współczesnej kryptografii istnieje trend konstruowania protokołów odpornych na podobnych przeciwników. Zwykle albo zakładamy iż przeciwnik jest pasywny, co oznacza, że nie wpływa na R w trakcie wykonania obliczeń przez uczciwego użytkownika, a jedynie wybiera funkcję g i poznaje g(R)1 . Oczywiście g nie może być dowolne, bo wówczas gdy g = f , to przeciwnik poznaje cały sekret od razu. Ta uwaga sugeruje, że rozsądne jest przyjęcie założenia, że g musi być wybrane z jakiejś (możliwie szerokiej) klasy, do której nie należy f . Przykładem jest założenie, że zbiór wartości g jest istotnie mniejszy niż f , tzn. |g(R)| ≪ |f (R)|. Przykłady prac o atakach pasywnych: [1, 4, 5, 8–10, 17–19, 21–26]. Inne założenie to tak zwany przeciwnik aktywny2 , który może złośliwie podmieniać R na wybrane R′ czy wręcz zmieniać algorytm liczenia funkcji z f na wybrane f ′ . Przykłady prac z tej dziedziny: [2, 3, 6, 7, 12, 13, 16]. W SBA3 modelu podjęta jest próba połączenia tych dwóch paradygmatów. To znaczy opisany niżej model zakłada, że istnieje aktywny wirus (Asmall ), który dodatkowo może spowodować wybrany wyciek. Przy pewnych ograniczeniach pokazujemy, że skonstruowane schematy wciąż pozostają bezpieczne. 2.2. Motywacja dla SBA-modelu Model SBA próbuje wypełnić lukę między światem praktyków i teoretyków. Z jednej strony bezpieczeństwo jest w pełni udowodnione, ale jak zwykle w kryptografii, przyjmuje się przy tym pewne założenia postulowane przez praktyków, którzy wierzą, że pewne konstrukcje są bezpieczne. 1 Popularnie mówiąc: przeciwnik powoduje wyciek g. 2 Popularnie mówiąc: przeciwnik jest wirusem. 3 Skrót SBA pochodzi od Small and Big Adversary. 319 T. Kazana Konkretnie, korzystamy z założenia o istnieniu losowej wyroczni, próbującym uchwycić ideę funkcji haszujących. 2.3. Losowa wyrocznia Losowa wyrocznia (ang. random oracle) to program, który na dowolne zapytanie odpowiada losowo (a więc prawdopodobieństwo wyniku obliczeń jest jednostajnie rozłożone na przeciwdziedzinie), chyba że dane zapytanie pojawiło się już wcześniej. Wówczas losowa wyrocznia odpowiada tak samo, jak wcześniej. 2.4. Formalna definicja SBA–modelu Przez przeciwnika będziemy rozumieć parę algorytmów A = (Asmall , Abig ), które uruchamiane są jednocześnie oraz mogą się komunikować. Oba algorytmy mają dostęp do wspólnej losowej wyroczni H. Zakładamy, iż tylko Asmall ma bezpośredni dostęp do tajnego ciągu bitów R. Wynikiem obliczeń przeciwnika jest wynik obliczeń Abig . A więc celem przeciwnika jest, aby algorytm Abig obliczył jakiś sekret zależny od R.4 ( ) H(·) H(·) Bedziemy oznaczać AH(·) (R) = Abig Asmall (R) jednoczesne wykonanie Abig oraz Asmall , gdzie Asmall na wejściu dostaje R i oba algorytmy mają dostęp do losowej wyroczni H(·). Jak wspomniano wyżej, wyjście tak opisanego A jest definiowane jako wyjście samego Abig . W większości twierdzeń będziemy twierdzić, że A nie jest w stanie czegoś policzyć, o ile spełnione są następujące założenia (dla konkretnych s, c oraz q podawanych w twierdzeniach): • Asmall ma ograniczoną pamięć przez s. • Komunikacja od Asmall do Abig jest ograniczona przez c. 5 W drugą stronę jest nieograniczona. • Liczba pytań jakie Asmall i Abig mogą łącznie zadać losowej wyroczni jest ograniczona przez q. 4 Zwykle Asmall może łatwo obliczyć sekret ponieważ ma dostęp do R. Wracając do intuicji: należy myśleć, że Asmall to mały wirus zainstalowany na urządzeniu zawierającym R, a dopiero Abig to prawdziwy przeciwnik, który chce poznać sekret. 5 Intuicyjnie założenia dotyczące Asmall wydają się rozsądne, gdyż Asmall to wirus, a ten jest ograniczony przez zewnętrzne urządzenie na którym jest zainstalowany. Innymi słowy, aby je spełnić, wystarczy odpowiednio przygotować urządzenie, na którym przechowywany jest R. 320 Programy jednorazowe: krótkie wprowadzenie W wyżej wymionym przypadku będziemy pisać, że A jest (s, c, q) ograniczony. Czasem, poza R, przeciwnik A może mieć dodatkowe wejście x. Wówczas zakładamy, że dane x początkowo znajduje się na wejściu Abig . 3. Programy jednorazowe (OTP) Idea Tajny ciąg R zawiera opis pewnego programu C, który może zostać wykonany tylko raz, dla wybranego wejścia. Innymi słowy, dowolny użytkownik (również złośliwy) dostaje urządzenie z programem, ale nie wie, co to za program. Pokazujemy, że jedyne czego się dowie to wartość C(x) dla dokładnie jednego x. n m Definicja Niech C : {0, 1} → {0, 1} będzie programem (rozumianym jako obwód logiczny). Ciąg bitów RC to pewien ciąg bitów, generowany z C przez efektywny niedeterministyczny algorytm używający H. Algorytm D n jest (c, s, ϵ)–one-time programem dla klasy wszystkich funkcji {0, 1} → m {0, 1} , gdy: n • Algorytm D dla danego RC oraz x ∈ {0, 1} oblicza C(x), nawet gdy jest (s, c, q) ograniczony. • Istnieje symulator S z dostępem do wyroczni jednokrotnego dostępu obliczającej C (ale bez dostępu do RC ) taki, że dla dowolnego przeciwnika A mającego dostęp do RC i (s, c, q)–ograniczonego nie da się odróżnić wyniku obliczeń S od wyniku obliczeń A z prawdopodobieństem większym niż ϵ.6 Wynik Dla dowolnych (n, m) istnieje (c, s, ϵ)–program jednorazowy dla n m klasy wszystkich funkcji {0, 1} → {0, 1} w SBA–modelu z paramterami c, s, ϵ opisanymi w pełnej wersji pracy [11]. Wynik na tle dziedziny Pojęcie One-time program zostało wprowadzone przez Goldwasser et al. w [20]. Autorzy dowodzą tam istnienia OTP w modelu z założeniami o tzw. OTM (one-time memory), szczegóły w [20]. Konstrukcja Szczegóły konstrukcji można znaleźć w pełnej wersji pracy [11]. Tutaj przedstawimy tylko pewne intuicje i „smak” idei. Głównym pomysłem technicznym jest próba symulowania rozwiązania zaproponowanego przez Goldwasser et al., ale bez OTM-ów używanych 6 Bardziej precyzyjnie: nie istnieje żaden algorytm (odróżniacz), który odróżnia wyżej opisane wyniki obliczeń z prawdopodobieństwem większym niż 21 +ϵ, jeśli liczba jego pytań do wyroczni jest ograniczona przez q. 321 T. Kazana w oryginalnej konstrukcji. Zamiast OTM-ów używamy – w dość zaskakujący i nietrywialny sposób – idei losowych funkcji jednorazowych, wziętych z [15]. Dzięki ograniczeniom pamięci wewnętrznej urządzenia, pokazujemy, że nie jest możliwe obliczenie losowej funkcji jednorazowej f na więcej niż jednym wejściu. To już pozwala nam na symulowanie OTM-ów, gdyż jako zawartość pamięci OTMa, przyjmujemy f (0) oraz f (1). Wartości te są losowe i nie mamy nad nimi kontroli. Nie jest to jednak problem, gdyż w konstrukcji Goldwasser et al. klucze trzymane w OTM-ach też są losowe. Literatura [1] A. Akavia, S. Goldwasser, and V. Vaikuntanathan, Simultaneous hardcore bits and cryptography against memory attacks, In TCC, 2009. [2] J. Alwen, Y. Dodis, M. Naor, G. Segev, S. Walfish, and D. Wichs, Public-key encryption in the bounded-retrieval model, In EUROCRYPT, 2010. [3] J. Alwen, Y. Dodis, and D. Wichs, Leakage-resilient public-key cryptography in the boundedretrieval model, In CRYPTO, 2009. [4] Z. Brakerski and S. Goldwasser, Circular and leakage resilient public-key encryption under subgroup indistinguishability (or: Quadratic residuosity strikes back), CRYPTO, 2010. [5] Z. Brakerski, Y. T. Kalai, J. Katz, and V. Vaikuntanathan, Cryptography resilient to continual memory leakage, FOCS, 2010. [6] D. Cash, Y. Z. Ding, Y. Dodis, W. Lee, R. J. Lipton, and S. Walfish, Intrusion-resilient key exchange in the bounded retrieval model, In TCC, 2007. [7] G. D. Crescenzo, R. J. Lipton, and S. Walfish, Perfectly secure password protocols in the bounded retrieval model, In TCC, 2006. [8] F. Davi, S. Dziembowski, and D. Venturi, Leakage-resilient storage, SCN, 2010. [9] Y. Dodis, S. Goldwasser, Y. T. Kalai, C. Peikert, and V. Vaikuntanathan, Public-key encryption schemes with auxiliary inputs, In TCC, 2010. [10] Y. Dodis, K. Haralambiev, A. Lopez-Alt, and D. Wichs, Cryptography against continuous memory attacks, FOCS, 2010. [11] K. Durnoga, S. Dziembowski, T. Kazana, and M. Zajac, One-time programs with limited memory, In INSCRYPT, 2013. 322 Programy jednorazowe: krótkie wprowadzenie [12] S. Dziembowski, Intrusion-resilience via the bounded-storage model, In TCC, 2006. [13] S. Dziembowski, On forward-secure storage, In CRYPTO, 2006. [14] S. Dziembowski, T. Kazana, and D. Wichs, Key-evolution schemes resilient to space-bounded leakage, In CRYPTO, pages 335.353, 2011. [15] S. Dziembowski, T. Kazana, and D. Wichs, One-time computable self-erasing functions, In TCC, pages 125.143, 2011. [16] S. Dziembowski and K. Pietrzak, Intrusion-resilient secret sharing, In FOCS, pages 227.237, 2007. [17] S. Dziembowski and K. Pietrzak, Leakage-resilient cryptography, In FOCS, 2008. [18] ECRYPT. The Side Channel Cryptanalysis Lounge http://www.crypto.rub.de/en sclounge.html. [19] S. Faust, E. Kiltz, K. Pietrzak, and G. N. Rothblum, Leakage-resilient signatures, In TCC, 2010. [20] S. Goldwasser, Y. T. Kalai, and G. N. Rothblum, One-time programs In D. Wagner, editor, CRYPTO, volume 5157 of LNCS, pages 39.56, 2008. [21] Y. Ishai, A. Sahai, and D.Wagner, Private Circuits: Securing Hardware against Probing Attacks, In CRYPTO, 2003. [22] J. Katz and V. Vaikuntanathan, Signature schemes with bounded leakage resilience, In ASIACRYPT, pages 703.720, 2009. [23] S. Micali and L. Reyzin, Physically observable cryptography (extended abstract), In TCC, 2004. [24] M. Naor and G. Segev, Public-key cryptosystems resilient to key leakage, In Advances in Cryptology - CRYPTO, August 2009. [25] K. Pietrzak, A leakage-resilient mode of operation,In EUROCRYPT, 2009. [26] F.-X. Standaert, T. Malkin, and M. Yung, A unified framework for the analysis of side-channel key recovery attacks, In EUROCRYPT, 2009. ONE-TIME PROGRAMS WITH LIMITED MEMORY Abstract. We reinvestigate a notion of one-time programs introduced in the CRYPTO 2008 paper by Goldwasser et al. A one-time program is a device containing a program C, with the property that the program C can be executed on at most one input. Goldwasser et al. show how to implement one-time programs on devices equipped with special hardware gadgets called one-time memory tokens. 323 T. Kazana We provide an alternative construction that does not rely on the hardware gadgets. Instead, it is based on the following assumptions: (1) the total amount of data that can leak from the device is bounded, and (2) the total memory on the device (available both to the honest user and to the attacker) is also restricted, which is essentially the model used recently by Dziembowski et al. (TCC 2011, CRYPTO 2011) to construct one-time computable pseudorandom functions and key-evolution schemes. Keywords: pseudorandom functions; one-time device; one-time program; circuit garbling. METODY EKSPLORACJI DANYCH W ANALIZIE RUCHU OBSERWOWANEGO PRZEZ SYSTEMY HONEYPOT Krzysztof Cabaj, Michał Buda Instytut Informatyki Politechniki Warszawskiej Streszczenie. Od kilku lat systemy HoneyPot są coraz szerzej wykorzystywane w celu szybkiego zdobywania informacji dotyczących nowych ataków pojawiających się w Internecie. Mimo dużej liczby badań dotyczących nowych systemów HoneyPot, brakuje oprogramowania umożliwiającego analiza danych przez nie uzyskanych. W artykule znajduje się opis systemu WebHP/HPMS (ang. HoneyPot Management System) umożliwiającego analizę z wykorzystaniem metod eksploracji danych, zastosowanych technik oraz rezultaty pierwszych eksperymentów. Uzyskane wyniki są obiecujące, ponieważ w natłoku uzyskanych danych wykryte wzorce umożliwiły szybką identyfikację nowych zagrożeń. Słowa kluczowe: systemy HoneyPot, analiza danych, eksploracja danych Potrzeba wdrażania i utrzymywania systemów ochrony informacji, między innymi systemów: zapór ogniowych, wykrywania włamań czy antywirusowych, jest dzisiaj bezdyskusyjna. Aktualnie większość systemów tego typu wykorzystuje wiedzę uzyskaną z analizy różnego typu zagrożeń, rozpowszechnianą w postaci reguł, sygnatur czy szczepionek. Dane do analizy pochodzą z zaatakowanych maszyn użytkowników, jak również coraz częściej z systemów będących pułapkami na atakujących, nazywanych systemami HoneyPot. Na rynku komercyjnym i w środowisku oprogramowania opartego na otwartym kodzie dostępne są różnego typu systemy HoneyPot, poczynając od prostych symulatorów pojedynczych wybranych usług, poprzez symulatory całych sieci a kończąc na systemach monitorujących zintegrowanych na rzeczywistym sprzęcie z popularnym oprogramowaniem systemowym i użytkowym. Wdrożenie systemu HoneyPot jest relatywnie proste, jednak w związku z ilością danych uzyskiwanych z tego typu systemów coraz większym problemem staje się ich szybka analiza. Motywacją do prezentowanych prac badawczych była obserwacja braku na rynku narzędzi pozwalających wyciągać wnioski z zarejestrowanych danych, które ułatwiłyby stworzenie nowych sygnatur i reguł dla używanych systemów bezpieczeństwa. W artykule znajduje się opis zaproponowanej i zaimplementowanej w eksperymentalnym systemie HPMS (ang. HoneyPot Management System) metody analizy danych. Danymi wejściowymi w tym systemie są żądania skierowane do K. Cabaj, M. Buda serwera WWW. Ich analiza wykonywana jest za pomocą metod eksploracji danych. Wykorzystano tu autorskie algorytmy podziału danych i dalszej analizy wyników częściowych. Zaletą użytego w HPMS wykrywania wzorców z wykorzystaniem metody zbiorów częstych jest czytelność, łatwość i intuicyjność zrozumienia uzyskanych wzorców. W pracy zostanie dokładnie omówiona zaproponowana metoda oraz wnioski z wdrożenia prototypu systemu w sieci Instytutu Informatyki Politechniki Warszawskiej. Dodatkowo zostaną przedstawione wyniki uzyskane z eksperymentów na rzeczywistych danych uzyskanych z prawie rocznego okresu działania systemu HPMS, które potwierdzają przydatność metody. W tym czasie, między innymi, wykryto maszyny dokonujące masowych ataków na serwer, pojawienie się w ruchu sieciowym aktywności związanej z nowym skanerem podatności jak również ataki niedawno wykrytego robaka „The Moon”. Praca posiada następujący układ. Rozdział pierwszy poświęcony jest wprowadzeniu do idei systemów HoneyPot. Drugi rozdział zawiera opis metod eksploracji danych, z naciskiem na metodę zbiorów częstych wykorzystywaną w opisywanym systemie HMPS. Następny rozdział poświęcony jest opisowi prototypowej instalacji systemu WebHP wraz z systemem zarządzania i analizy danych HPMS. Kolejny, czwarty rozdział zawiera opis eksperymentów oraz uzyskanych wyników przeprowadzonych na danych zebranych przez system WebHP. Ostatni piąty rozdział zawiera, krótkie podsumowanie wykonanych prac wraz z zarysowaniem kierunków dalszych prac. 1. Systemy HoneyPot Systemy HoneyPot są narzędziem umożliwiającym poznanie sposobów działania oraz motywacji atakujących. System HoneyPot nie jest określonym rozwiązaniem sprzętowo programowym i w zależności od potrzeby może być zbudowany na różne sposoby. Jedyną wspólną cechą jest to, że system HoneyPot nie posiada żadnej produkcyjnej roli w organizacji, która go uruchamia [8]. Jego jedynym zadaniem jest oczekiwanie na atak z zewnątrz. W razie wystąpienia ataku wszelkie informacje, które mogą być przydatne do analizy ataku są zbierane. W zależności od potrzeb, systemem HoneyPot może być program symulujący pewną usługę, specjalnie skonfigurowana maszyna zawierająca rzeczywiste oprogramowanie lub fikcyjnie stworzony cały fragment sieci z maszyn, łączy i urządzeń sieciowych. Wyczerpujący opis najpopularniejszych systemów HoneyPot wraz z propozycją ich taksonomii można znaleźć w pracy [10]. Systemy HoneyPot można podzielić na wysokiej i niskiej interakcji. Pierwsze z nich są 326 Metody eksploracji danych w analizie ruchu . . . skierowane głównie na atakujących samodzielnie wyszukujących podatności w określonym systemie. W takim przypadku dany zasób musi wydawać się interesujący dla atakującego aby zachęcił go do zbadania podatności i próby ich wykorzystania. Drugi rodzaj systemów, który jest wykorzystywany w związku z niniejszą pracą, skierowany jest głównie do rejestrowania automatycznych prób zbierania informacji i ataków. W tym przypadku nie trzeba się dokładać specjalnych starań aby system HoneyPot wydawał się interesujący. W wielu przypadkach nawet nie trzeba próbować ogłaszać jego istnienia z wykorzystaniem systemu DNS czy z pomocą linków z innych stron. Wystarczy samo podłączenie do sieci Internet. Jak pokazują badania po bardzo krótkim czasie zostaną nawiązane pierwsze połączenia. System taki bardzo szybko zostanie rozpoznany jako system HoneyPot przez człowieka, jednak doskonale nadaje się do zbierania informacji dotyczących automatycznych i masowych aktywności pojawiających się w Internecie. Od początku 21 wieku systemy HoneyPot cieszą się niesłabnącym zainteresowaniem co skutkuje dużą liczbą prac badawczych. Jak pokazuję prace przeglądowe [4, 9] większość aktualnie prowadzonych badań związanych jest z rozwijaniem nowych rodzajów systemów HoneyPot, sposobów ich ukrywania oraz detekcji [6]. Niestety niewiele uwagi poświęcanej jest analizie oraz wizualizacji danych uzyskanych za pomocą tych systemów. Więcej szczegółów dotyczących zaimplementowanego i wdrożonego systemu HoneyPot, który był źródłem rzeczywistych danych do analizy znajduje się w rozdziale trzecim. Rozdział czwarty poświęcony jest omówieniu wyników uzyskanych z analizy danych, które reprezentują różnego typu aktywności zaobserwowane przez wdrożony system. 2. Metody eksploracji danych Posiadanie ogromnych zbiorów danych przez różne organizacje spowodowało rozwój technik umożliwiających ich analizę. Jedną z możliwych do zastosowania metod jest wykorzystanie odkrywania wiedzy (ang. Knowledge Discovery in Databases) zakładające, że w danych kryje się jakaś istotna, w związku z ich wielkością niezauważalna na pierwszy rzut oka, interesująca dla ich posiadacza wiedza. Eksploracja danych jest jednym z najważniejszych etapów całego procesu odkrywania wiedzy polegającym na wykorzystaniu określonych algorytmów do właściwej analizy danych, często utożsamiana z całym procesem odkrywania wiedzy. Pozostałe, często pomijane a nie mniej ważne etapy związane są z przygotowaniem wstępnym danych, przygotowaniem uzyskanych wyników do prezentacji człowiekowi oraz weryfikacją i zastosowaniem wykrytej wiedzy. Wśród stosowanych algorytmów eksploracji danych najczęściej wymieniane podejścia 327 K. Cabaj, M. Buda związane są z grupowaniem (ang. clustering) oraz klasyfikacją (ang. classification). Niniejsza praca opisuje praktyczne wykorzystanie mniej popularnego, a w wielu przypadkach bardzo przydatnego podejścia wykrywania wzorców częstych (ang. frequent patterns discovery). W zależności od przyjętej reprezentacji danych wzorcem częstym może być podzbiór [1], sekwencja elementów [2] czy nawet podgraf [11]. Na potrzeby opisywanych w niniejszym artykule eksperymentów skorzystano z używanego podczas analizy koszykowej wzorca jakim jest zbiór częsty. Pierwsze opisane zastosowania tej metody miały określić jakie produkty klienci kupują łącznie, np. w celu zaproponowania odpowiedniej ceny lub rozmieszczenia w sklepie. Na potrzeby tych analiz każde pojedyncze klienckie zakupy, nazywane transakcją, reprezentowane są jako zbiór, w którym elementy odpowiadają poszczególnym zakupionym produktom. Zgodnie z definicją zaproponowaną w pracy [1], zbiorem częstym nazywany jest podzbiór występujący co najmniej w określonej przez analizującego minimalnej liczbie transakcji. Zwyczajowo parametr ten nazywany jest minimalnym wsparciem (ang. minimal support). Na uwagę zasługuje jeszcze jeden, często powodująca pewne nieporozumienia, fakt związany z istnieniem różnych algorytmów do wykrywania tego samego rodzaju wzorca. Przykładowo, wykorzystany w niniejszej pracy wzorzec - zbiór częsty - może być wykrywany za pomocą algorytmu Apriori [1], lub z wykorzystaniem różnego typu drzew FP-Tree [7], CATS [5]. Rozpatrzmy przykładowy zbiór transakcji przedstawiony w tablicy Tabela 1. W każdym wierszu tabeli znajduje się jeden zbiór odpowiadający kolejnym transakcjom. Dla ułatwienia omawiania przykładu elementy transakcji są identyfikowane za pomocą pojedynczych liter. W implementowanych rozwiązaniach w celu zapewnienia możliwie szybkiego i efektywnego porównywania elementów zbiorów są one reprezentowane w postaci liczb całkowitych. W ramach etapu przygotowania wstępnego danych, właściwe dane podlegające analizie zostają przetransformowane od postaci dogodnej do dalszej analizy przez algorytmy eksploracji danych. Więcej szczegółów dotyczących tego typu procesu znajduje się w sekcji trzeciej niniejszego artykułu. Przy założonym parametrze minimalnego wsparcia o wartości 3, w przedstawionym przykładowym zbiorze danych zbiorami częstymi będą między innymi podzbiory ”ab”, ”efg” oraz ”g”. Zbiór ”ab” występuje w transakcjach 1, 2 i 3 a ”efg” i ”g” w transakcjach 3, 4 i 5. Podzbiór ”abc” nie jest zbiorem częstym ponieważ występuje jedynie w transakcjach 1 i 3, czyli jego wsparcie o wartości dwa jest mniejsze niż założony próg minimalnego wsparcia o wartości trzy. 328 Metody eksploracji danych w analizie ruchu . . . Tabela 1 Przykładowy zbiór danych wykorzystywanych przez algorytmy wykrywania zbiorów częstych. Dla parametru minSup = 3 maksymalnymi zbiorami częstymi są ”ab” oraz ”efg” Identyfikator transakcji Zawartość 1 (a, b, c) 2 (a, b) 3 (a, b, c, d, e, f, g) 4 (e, f, g, h) 5 (e, f, g, h, i) Jak łatwo można zauważyć, jeśli zbiorem częstym jest podzbiór ”efg” to zbiorami częstymi także będą jego wszelkie podzbiory - ”ef”, ”fg”, ”eg”, ”e”, ”f” i ”g”. Jeśli skorzystamy z algorytmu wykrywającego wszystkie możliwe zbiory częste w wyniku uzyskamy zbiór częsty jak i jego wszystkie podzbiory. Z tego powodu często podczas wykrywania uzyskujemy jedynie maksymalne zbioru częste, czyli takie zbiory częste, których wszystkie nadzbiory nie są zbiorami częstymi. W omawianym wcześniej przykładzie, maksymalnymi zbiorami częstymi są zbiory ”ab” oraz ”efg”. Największą zaletą zastosowania tego typu wzorców jest zmniejszenie liczby informacji, które musi przeanalizować analityk. Nawet w prostym przykładzie zaprezentowanym powyżej z sześciu transakcji otrzymujemy dwa wzorce. Przy rzeczywistych danych z tysięcy zarejestrowanych transakcji uzyskamy kilkadziesiąt wzorców. Dodatkowo pewne nieistotne zmienne elementy analizowanych danych zostaną usunięte, prezentując jedynie najistotniejsze, najczęściej pojawiające się elementy. W kolejnym rozdziale zostanie omówiony zaimplementowany system, umożliwiający wykrywanie omówionych powyżej wzorców w danych zebranych przez systemy HoneyPot. 3. System WebHP/HPMS Rozdział ten zawiera dokładny opis zaimplementowanego i wdrożonego systemu HoneyPot dedykowanego atakom na aplikacje Webowe wraz z systemem analizy danych, wykorzystującym mechanizmy eksploracji danych. System posiada dwa podstawowe podsystemy - WebHP oraz HPMS (ang. HoneyPot Management System). Podsystem WebHP jest odpowiedzialny za zbieranie danych dotyczących całego ruchu dochodzącego do sensorów. Jest zaimplementowany w języku php i uruchomiony pod kontrolą specjalnie skonfigurowanego serwera 329 K. Cabaj, M. Buda Rysunek 1. Schemat wdrożonej w Instytucie Informatyki Politechniki Warszawskiej instalacji HoneyPot, składającego się z sensorów WebHP wraz z systemem HPMS Apache. Wszelka aktywność skierowana do tak przygotowanego serwera WWW zostaje zarejestrowana i po wstępnej analizie zapisana w bazie danych. Aktualnie wdrożony system uruchomiony jest na dwóch niezależnych maszynach i kilku najaktywniejszych portach, między innymi 80, 8080 oraz 5000. System HPMS jest odpowiedzialny za cykliczne wykonywanie analiz oraz prezentację uzyskanych wyników analitykowi. Jest on zaimplementowany w języku Python, a Webowy interfejs użytkownika zaimplementowano z użyciem środowiska Django. Rysunek 1 prezentuje schemat aktualnie wdrożonej w Instytucie Informatyki konfiguracji sensorów WebHP i systemu HPMS wraz z najważniejszymi przepływami danych. Najistotniejszą częścią wdrożonego systemu jest mechanizm analizy zaobserwowanego przez sensory ruchu z wykorzystaniem metod eksploracji danych. Do tego celu wykorzystany został mechanizm wykrywania zbiorów częstych. Zgodnie z opisem w poprzednim rozdziale wykrywanie tego wzorca wymaga reprezentacji danych w postaci zbiorów. Z tego powodu pierwszym etapem analizy jest proces przygotowania wstępnego danych. Transakcją w tym przypadku jest każde pojedyncze połączenie zarejestrowane przez sensor i reprezentowane jako zbiór. Elementami wchodzącymi 330 Metody eksploracji danych w analizie ruchu . . . w skład tego zbioru są identyfikatory odpowiadające występującym w żądaniu protokołu HTTP kolejnym atrybutom, rozszerzonym o pewne metadane związane z połączeniem, przykładowo adresem klienta. Dodatkowo, zawarty w żądaniu URL został potraktowany nie jako jeden ciąg a zbiór kilku elementów, każdy odpowiadający części oddzielonej znakiem ’/’. Takie podejście pozwoliło wykrywać przykładowo skanowania w których wielokrotnie występowały żądania dotyczące tego samego pliku umieszczonego w różnych lokalizacjach. W wyniku tych operacji każde połączenie reprezentowane jest jako zbiór liczb naturalnych. Dodatkowo, w bazie danych przechowywana jest informacja pozwalająca w późniejszym czasie (po wykryciu wzorców) dokonać mapowania odwrotnego, tj. zamienić identyfikatory poszczególnych atrybutów na postać tekstową zrozumiałą dla człowieka. Tabela 2 prezentuje przykładowy zbiór danych w postaci uzyskanej z systemu WebHP oraz po wykonaniu procesu przekształcenia wstępnego danych. Dla celów omówienia systemu, tabela prezentuje jedynie fragment analizowanych danych: adresy nawiązujących połączenia oraz żądane URI. W zaimplementowanym systemie z każdą transakcja może być związanych nawet do kilkudziesięciu różnych parametrów. W dalszej części pracy (na Rysunku 2) zaprezentowany jest przykładowy zrzut ekranu z systemu HPMS pokazujący przykładowe atrybuty wchodzące w skład wykrytych zbiorów częstych dla rzeczywistych danych. W tak przygotowanych danych zostają wykryte maksymalne zbiory częste z wykorzystaniem algorytmu Max Miner [3]. Dla danych przedstawionych w tabeli 2 i parametrowi minimal support ustalonemu na wartość 3 zostaną wykryte dwa zbiory częste. Pierwszy (REMOTE ADDR= 217.11.XX.YY, URI TOKEN=scripts, URI TOKEN=setup.php) reprezentuje aktywność z adresu 217.11.XX.YY skierowaną na aplikację posiadającą plik setup.php w katalogu scripts. Drugi zbiór częsty (URI TOKEN=webman, URI TOKEN=info.cgi?host=) reprezentuje skanowanie przeprowadzane z różnych adresów, o czym świadczy brak elementu zbioru związanego z adresem IP. Skanujące maszyny próbują wykryć czy w danej domenie jest pliki info.cgi znajdujący się w katalogu webman. Biorąc pod uwagę stały napływ nowych danych do systemu HoneyPot oraz mając na uwadze zmiany aktywności różnych działań w czasie chcieliśmy stworzyć system pozwalający je wykrywać. Algorytmy wykrywania zbiorów częstych dokonują wykrywania wzorców w całym dostępnym zbiorze danych. W związku z tym, wszystkie nadchodzące dane dzielimy ze względu na czas ich zarejestrowania i na takich fragmentach danych dokonujemy wykrywania wzorców częstych. W aktualnej wersji systemu HPMS cyklicznie, co godzinę, sześć godzin, raz na dobę oraz tygodniowo wykonywane jest wykrywanie zbiorów częstych. Zastosowanie różnych interwałów 331 K. Cabaj, M. Buda Tabela 2 Przykładowy zbiór danych uzyskany przez sensor WebHP w formie zbliżonej do surowych danych oraz w formie dogodnej do analizy wykorzystującej wyszukiwanie zbiorów częstych Identyfikator Transakcji Dane w formie zbliżonej do surowych danych Dane w postaci dogodnej do analizy – jako zbiory REMOTE ADDR=217.11.XX.YY 1 URI TOKEN=phpmyadmin URI TOKEN=scripts (1, 2, 3, 4) URI TOKEN=setup.php REMOTE ADDR=217.11.XX.YY 2 3 URI TOKEN=phpMyAdmin URI TOKEN=scripts URI TOKEN=setup.php REMOTE ADDR=219.129.AA.BB URI TOKEN=webman (1, 5, 3, 4) (6, 7, 8) URI TOKEN=info.cgi?host= REMOTE ADDR=217.11.XX.YY 4 5 URI TOKEN=pma URI TOKEN=scripts URI TOKEN=setup.php REMOTE ADDR=58.20.CC.DD URI TOKEN=webman (1, 9, 3, 4) (10, 7, 8) URI TOKEN=info.cgi?host= REMOTE ADDR=211.27.EE.FF 6 URI TOKEN=webman URI TOKEN=info.cgi?host= (11, 7, 8) czasowych pozwala wykrywać aktywności o różnej częstotliwości. Przykładowo, wzorce wykryte w czasie jednej godziny reprezentują dość agresywne zachowania, natomiast zastosowanie analizy okresu tygodnia pozwala wykryć np. utajone wolne skanowania. Wykrycie pewnego wzorca w okresie o krótszym interwale implikuje, że zostanie on wykryty także w dłuższym interwale. Aby nie dopuścić do sytuacji, że liczne, wcześniej wykryte wzorce w krótszym interwale przysłonią nam nowe, mniej liczne wykryte w dłuższym interwale, przy prezentacji uzyskanych wyników, najpierw pokazywane są nowe wzorce, a później znajduje się lista już wcześniej wykrytych. Dodatkowo, wprowadzenie statystyki dotyczącej ile razy dany wzorzec został wykryty w interwałach o określonej długości ułatwia analitykowi ocenę z jakim rodzajem aktywności związany jest dany wzorzec. Przykładowo, wzorce dotyczące dość intensywnej aktywności w najkrótszym interwale powtarzające się przez kilka sąsiadujących ze sobą interwałów mogą świad332 Metody eksploracji danych w analizie ruchu . . . czyć o próbie przeprowadzenia ataku odmowy usługi. Rysunek 2 prezentuje przykładowy zrzut ekranu z wykrytymi dwoma zbiorami częstymi. Rysunek 2. Zrzut ekranu z systemu HPMS prezentujący dwa przykładowe zbiory 4. Przeprowadzone eksperymenty Wykorzystując oprogramowanie opisane w poprzednim punkcie w ramach przeprowadzonych eksperymentów cały ruch zarejestrowany przez system HoneyPot pomiędzy pierwszym marca 2014 a końcem kwietnia 2014 został przeanalizowany w celu wykrycia wzorców. W tym czasie zostało zarejestrowanych ponad 25 tysięcy połączeń do trzech sensorów WebHP. Na potrzeby tych eksperymentów parametr minimalnego wsparcia przyjmował wartość pięć - w wykorzystanej implementacji oznacza to, że pięciokrotne wystąpienie jakiegoś podzbioru oznacza uznanie go za zbiór częsty. 333 K. Cabaj, M. Buda W uzyskanych danych zostały wykryte maksymalne zbiory częste. W wyniku uzyskano niecałe 1050 wzorców, z czego ponad 320 wystąpiło jedynie jednokrotnie, co może sugerować, że te zbiory częste powstały z przypadkowego połączenia zebranych danych. W aktualnej implementacji nie zastosowano żadnego filtrowania uzyskanych zbiorów, przykładowo ze względu na wystąpienie lub brak wystąpienia określonych atrybutów w wykrytym zbiorze. Z tego powodu wykryto szereg niezbyt istotnych wzorców, przykładowo zbiór, który zawiera jedynie atrybuty powiązane z odpowiedzią serwera związaną z brakiem danej strony. Interpretacją takiego zachowania jest złączenie w jeden zbiór częsty pięciu niezależnych połączeń z różnych maszyn, których jedyną cechą wspólną jest to, że nie powiodło się otrzymanie żądanej strony z powodu jej braku na serwerze. Jednak wiele z wykrytych wzorców odpowiadało istotnym i powtarzalnym aktywnościom obserwowanym przez wdrożoną instalację systemu HoneyPot. Przykładowo około 10 marca zaobserwowana została wzmożona aktywność na jednym z sensorów symulującym udostępnienie w Internecie dostępu do aplikacji „PHP My Admin”. Rysunek 3 przedstawia zrzut ekranu z systemu HPMS zawierający całą aktywność zaobserwowaną w marcu 2014. Rysunek 3. Zrzut ekranu z systemu HPMS prezentujący wykres aktywności obserwowanej przez system w marcu 2014 Równocześnie 10 marca o godzinie 3:00, podsystem wykrywania zbiorów częstych, wykrył 7 zbiorów, zawierających ten sam zdalny adres. Analiza wszystkich uzyskanych zbiorów częstych w czasie omawianego eksperymentu pokazała, że sześć zbiorów częstych zostało wykrytych 87 razy 334 Metody eksploracji danych w analizie ruchu . . . w okresach o długości 1 godziny i ich sumaryczne wsparcie jest zawsze równe 1332. Dodatkowo wszystkie zostały pierwszy raz wykryte między 2:00 a 3:00 10 marca a ostatni raz między 4:00 a 5:00 14 marca. Zrzut ekranu pokazujący dwa przykładowo wykryte zbiory częste z tej aktywności zaprezentowany jest na rysunku 4. Rysunek 4. Zrzut ekranu z systemu HPMS prezentujący dwa zbiory częste wykryte po raz pierwszy 10 marca między godziną 2:00 a 3:00 Manualna analiza wszystkich zarejestrowanych danych wykazała, że adres atakującego 172.212.XX.YY został zarejestrowany 8076 razy, pierwszy raz o 2:06 10 marca a ostatni o 5:17 14 marca 2014. Dane te potwierdzają bardzo dużą dokładność wykrytych automatycznie wzorców, można zauważyć, że 6 * 1332 = 7992, a czas początku i końca wykrycia aktywności jest prawie identyczny. Podczas analizy danych z tych dwóch miesięcy wykryto jeszcze kilka adresów, które masowo próbowały dokonywać ataków na wybrane sensory systemu HoneyPot. Wykrycie faktu masowego ataku z jednego adresu IP jest możliwe za pomocą dostępnych już od lat syste335 K. Cabaj, M. Buda mów analizujących logi serwerów lub zapór ogniowych. Jednak zastosowanie zaproponowanej metody wykorzystującej zbiory częste pozwala wykrywać bardziej finezyjne zmiany w postępowaniu atakujących. Przykładowo, w okresie dokonywania analizy wykryto ponad 25 zbiorów częstych zawierających atrybut związany z jednym adresem IP - 217.11.XX.YY. Analiza uzyskanych wyników pokazała, że w czasie dwutygodniowej aktywności, podczas ataków wielokrotnie były zmieniane adresy serwerów i nazwy plików zawierających ściąganego po infekcji oprogramowania bota. Tak niewielkich z punktu widzenia ruchu sieciowego a bardzo istotnych z punktu widzenia zmian postępowania atakującego nie byłyby w stanie wykryć metody bazujące na prostym zliczaniu ruchu pochodzącego od wybranego adresu IP. Omawiane do tej pory wzorce dotyczyły pojedynczych adresów dodatkowo wykazujących dość intensywną działalność. Dopiero przy analizie danych występujących rzadziej można zaobserwować zalety zaproponowanej metody. Przykładem ciekawej aktywności wykrytej przez zaimplementowany system, jest skanowanie w poszukiwaniu podatnych na atak urządzeń typu NAS (ang. Network Attached Storage) firmy Synology. Rysunek 5 przedstawia wykryty przez system analizy zbiór częsty reprezentujący daną aktywność. Rysunek 5. Zrzut ekranu z systemu HPMS prezentujący zbiór częsty związany z poszukiwaniem podatnych urządzeń firmy Synology W przeciwieństwie do poprzednio prezentowanych zbiorów częstych, które występowały tylko w okresach o jednakowej długości, można zaobserwować, że zbiór ten został wykryty odpowiednio 5 razy w okresach 1-godzinnych, 12 w okresach 6h a nawet dwa razy w okresach dobowych. Ta informacja, wraz z brakiem w wykrytym zbiorze częstym atrybutów związanych z adresem źródłowym, może potwierdzać, że zaprezentowany wzorzec dotyczy aktywności spowodowanej przez wiele niezależnych maszyn. Jeśli weźmiemy pod uwagę, że w okresie analizy zaobserwowano ponad 25 tysięcy zdarzeń, najprawdopodobniej te 119 powiązanych z poszukiwaniem danego adresu URL, związanego jednoznacznie z podatnym urządzeniem 336 Metody eksploracji danych w analizie ruchu . . . firmy Synology, zostałoby pominiętych. Na uwagę zasługuje jeszcze jeden zestaw meta-informacji związany z wykrytym wzorcem - zapisanie czasu kiedy pierwszy i ostatni raz został zaobserwowany. Na zaprezentowanym przykładzie, pierwszy wzorzec dotyczący urządzeń firmy Synology został wykryty 6 kwietnia w okresie 6 godzinnym między 12 a 18. Pokrywa się to z czasem uruchomienia sensora dla tego zagrożenia (port nr 5000), które nastąpiło w sobotę 5 kwietnia. Analiza uzyskanych danych pokazała jeszcze rzadsze zdarzenia, które zostały wykryte przez zaproponowany system oraz potem zweryfikowane jednoznacznie przez analityka jako powiązane z działalnością atakujących. Na rysunku 6 zaprezentowany jest wykryty wzorzec reprezentujący skanowania związane z robakiem „The Moon” atakującym urządzenia sieciowe firmy Linksys. Odpytania dotyczące adresu URL „HNAP1” związane są z próbą pobrania informacji dotyczących dokładnej konfiguracji urządzenia i pozwalających zweryfikować, czy jest ono podatne na atak przepełnienia bufora w jednym ze skryptów interfejsu graficznego. Rysunek 6. Zrzut ekranu z systemu HPMS prezentujący zbiór częsty związany z aktywnością robaka „The Moon” W przypadku tego wzorca w czasie eksperymentu zaobserwowano 47 zdarzeń i wszystkie były obserwowane w oknach siedmiodniowych. Dodatkowo z informacji powiązanych z tym wzorcem można zaobserwować, że około połowy kwietnia aktywność tego zagrożenia przestała być praktycznie obserwowalna. Potwierdza to manualna analiza wszystkich dostępnych danych, w której w okresie od 15 do 29 kwietnia wykryto jedynie cztery zarejestrowane zdarzenia tego typu - po dwa 20 i 23 kwietnia. 5. Podsumowanie W artykule został omówiony zaproponowany i wdrożony w Instytucie Informatyki Politechniki Warszawskiej prototyp systemu HoneyPot dedykowany aplikacjom Webowym wraz z systemem analizy wyników wykorzystującym metody eksploracji danych. Wykorzystując zaimplementowane 337 K. Cabaj, M. Buda oprogramowanie, wstępnej analizie zostały poddane wszystkie zarejestrowane dane od początku marca do ostatnich dni kwietnia - razem ponad 25 tysięcy rekordów. System automatycznie wykrył około 1050 wzorców. Wśród wykrytych wzorców znajdowały się takie, które dotyczyły masowych aktywności, przykładowo zawierających ponad 8000 transakcji. Jednak system także wykrył wzorce, w porównaniu z poprzednimi występujące nie tak często, a związane z kilkudziesięcioma połączeniami, jednak powtarzającymi się przez okres kilku tygodni. Wśród uzyskanych wyników w związku ze specyfiką działania wykorzystanej metody znalazły się nieistotne wzorce, przykładowo takie, które związane są z kodem błędu w przypadku braku na serwerze żądanego zasobu od różnych, niepowiązanych ze sobą klientów. Jednak po ich manualnym odsianiu pozostałe wzorce okazały się bardzo ciekawe. Wśród nich wykryte zostały masowe próby ataków na różne aplikacje, skanowania w poszukiwaniu podatnych maszyn a nawet aktywność robaków internetowych. Pierwsze eksperymenty potwierdzają wstępne założenia i motywacje do zastosowania tego rodzaju algorytmów. Wykorzystanie wykrywania wzorców w danych wydatnie zmniejszyło liczbę danych, które musi przeanalizować manualnie analityk. Dodatkowo, możliwości wykrycia powtarzalnych, ale relatywnie rzadkich zdarzeń, jak omawiane skanowania w celu wykrycia urządzeń firmy Synology lub Linksys, zmniejsza szansę ich pominięcia przez analityka. Autorzy zdecydowali się nie porównywać wyników uzyskanych z omówionego systemu z dokładnością i wykrywalnością oferowaną przez dostępne systemy antywirusowe i wykrywania włamań. Na decyzję miał fakt iż większość wykrytych zdarzeń dotyczyła zagrożeń klasy „zero-day-exploit” – wcześniej nie znanych producentom oprogramowania bezpieczeństwa. W związku z tym na pewno nie byłyby one wykryte przez systemu bazujące na manualnie przygotowywanych szczepionkach systemów antywirusowych czy regułach systemów IDS/IPS. Na podstawie doświadczeń z przeprowadzonych eksperymentów rozpoczęte zostały prace pozwalające dokonać filtracji nieistotnych wzorców, jak również połączyć różne wzorce, przykładowo związane z jednym adresem IP lub zasobem URL. Dodatkowo rozważane jest zastosowanie bardziej skomplikowanych wzorców, przykładowo sekwencji częstych oraz epizodów. Literatura [1] R. Agrawal, T. Imielinski, A Swami, Mining Association Rules Between Sets of Items in Large Databases, Proceedings of ACM SIGMOD Int. Conf. Management of Data, (1993). 338 Metody eksploracji danych w analizie ruchu . . . [2] R. Agrawal, R. Srikant, Mining Sequential Patterns: Generalizations and Performance Improvements, In Proceedings of the Fifth International Conference on Extending Database Technology (EDBT), (1996). [3] R. J. Bayardo, Efficiently mining long patterns from databases, In Proc. 1998 ACM-SIGMOD Int. Conf. Management of Data (SIGMOD’98), Seattle, WA, pp. 85–93, (1998). [4] M. L. Bringer, C. A. Chelmecki, H. Fujinoki, A Survey: Recent Advances and Future Trends in Honeypot Research, I. J. Computer Network and Information Security, 10, 63–75, (2012). [5] W. Cheung, O. Zaïane, Incremental Mining of Frequent Patterns Without Candidate Generation or Support Constraint, 7th International Database Engineering and Applications Symposium (IDEAS 2003), Hong Kong, China. IEEE Computer Society, (2003). [6] X. Fu, W. Yu, D. Cheng, X. Tan, K. Streff, and S. Graham, On Recognizing Virtual Honeypots and Countermeasures, Proceedings of the IEEE International Symposium on Dependable, Autonomic and Secure Computing, pp. 211-218, (2006). [7] J. Han, J. Pei, Y. Yin, Mining Frequent Patterns without Candidate Generation, Proceedings of the 2000 ACM SIGMOD international conference on Management of data, Dallas, Texas, United States, (2000). [8] The Honeynet Project, Know Your Enemy, learning about security threats, Addison-Wesley, ISBN 0-321-16646-9, (2004). [9] N. Provos, T. Holz, Praise for virtual HoneyPots, Pearson Education, ISBN 978-0-321-33632-3, (2007). [10] C. Seifert, I. Welch, P. Komisarczuk, Taxonomy of Honeypots, CS Technical Report TR-06-12, School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New Zealand., (2006). [11] Ł. Skonieczny, Mining for Unconnected Frequent Graphs with Direct Subgraph Isomorphism Tests, w: Man-Machine Interactions / K. A. Cyran i in. (red.), Advances in Intelligent and Soft Computing, vol. 59, 2009, Springer, ISBN 978-3-642-00562-6, ss. 523–531, DOI:10.1007/978-3-642-00563-3-55 339 K. Cabaj, M. Buda ANALYSIS OF THE HONEYPOT SYSTEM DATA USING DATA MINING TECHNIQUES Abstract. The HoneyPot systems are used From several years to gather data concerning novel attacks appearing in the Internet. Despite the fact that new types of HoneyPots are developed, there is a lack of analytical software, which can be used for analysis of data provided by this kind of systems. The article contains a description of the WebHP/HPMS (HoneyPot Management System) which allows analysis of HoneyPot gathered data. Additionally, the article presents used data mining techniques and conducted experiments. Preliminary results appeared to be very promising. In the vast amounts of data, discovered patterns rapidly reveal signs of new types of attacks. Keywords: HoneyPot systems, data analysis, data mining AKCELERACJA OBLICZEŃ KRYPTOGRAFICZNYCH Z WYKORZYSTANIEM PROCESORÓW GPU Patryk Bęza, Jakub Gocławski, Paweł Mral, Piotr Sapiecha∗ Politechnika Warszawska, Wydział Matematyki i Nauk Informacyjnych ∗ Wydział Elektroniki i Technik Informacyjnych Streszczenie. Problem spełnialności formuł rachunku zdań SAT jest jednym z fundamentalnych oraz otwartych zadań we współczesnej informatyce. Jest on problemem N P-zupełnym. To znaczy, że wszystkie problemy z klasy N P możemy sprowadzić do problemu SAT w czasie wielomianowym. Co ciekawe, wśród problemów z klasy N P istnieje wiele takich, które są ściśle związanych z kryptologią, na przykład: faktoryzacja liczb – ważna dla RSA, łamanie kluczy szyfrów symetrycznych, znajdowanie kolizji funkcji skrótu i wiele innych. Odkrycie wielomianowego algorytmu dla SAT skutkowałoby rozwiązaniem problemu milenijnego: P vs. N P. Cel ten wydaje się bardzo trudny do osiągnięcia – nie wiadomo nawet czy jest możliwy. Mając nieco mniejsze aspiracje możemy projektować algorytmy heurystyczne lub losowe dla SAT. W związku z tym, głównym celem autorów pracy jest przedstawienie projektu równoległego SAT Solvera bazującego na algorytmie WalkSAT, w tym procesu jego implementacji z wykorzystaniem środowiska programistycznego OpenCL oraz komputera wyposażonego w karty graficzne NVIDIA Tesla. Wraz z dynamicznym rozwojem technologii procesorów typu GPU oraz układów FPGA, jak również przenośnością rozwiązań stworzonych w OpenCL, kierunek takich prac staje się interesujący ze względu na uzyskiwaną efektywność obliczeniową, jak również szybkość prototypowania rozwiązań. Słowa kluczowe: spełnialność formuł logicznych, SAT Solver, WalkSAT, karty graficzne, kryptoanaliza, OpenCL, obliczenia równoległe. Problem spełnialności formuł rachunku zdań (problem SAT) od zawsze wzbudzał zainteresowanie nie tylko matematyków, ale również programistów, którzy szukali (i dalej szukają) szybkich algorytmów, opartych na różnych heurystykach, rozwiązujących ten problem. Pojawienie się nowych technologii i ulepszanie starych, pozwala na mierzenie się z coraz większymi zadaniami problemu SAT. Zwiększenie taktowania procesorów jest jednym ze sposobów na wzrost liczby wykonywanych rozkazów maszynowych w jednostce czasu. Niestety, zwiększanie częstotliwości taktowania procesora wiąże się między innymi z koniecznością jeszcze większej miniaturyzacji układów scalonych, co powodowałoby problemy natury mechaniki kwantowej (efekt tunelowy) [2, 3]. Z tego powodu, zamiast zwiększać moc obliczeniową jednego procesora, dokładane są kolejne procesory, tak aby P. Bęza, J. Gocławski, P. Mral, P. Sapiecha obliczenia były prowadzone równolegle na wielu procesorach. Jednym ze sposobów na osiągnięcie masowej równoległości są multiprocesory używane w kartach graficznych. 1. Wstęp Istnieje wiele zastosowań rozwiązań problemu spełnialności formuł rachunku zdań (Satisfiability, SAT). Jest to problem N P-zupełny, a to znaczy że każdy z problemów z klasy N P (np. problem: kliki, komiwojażera, plecakowy) można zredukować do problemu SAT w czasie wielomianowym. W zastosowaniach kryptograficznych wiele problemów można sprowadzić do problemu SAT (np. faktoryzację liczb, łamanie klucza szyfru symetrycznego, kolizje funkcji skrótu). Znane są metody transformowania układów szyfrujących do postaci formuł logicznych zapisanej w szczególnej postaci, nazywanej postacią CNF (Conjuctive Normal Form) [13]. Dla problemów kryptograficznych, jeśli dla zadanej formuły istnieje co najmniej jedno wartościowanie, będzie interesować nas znalezienie co najmniej jednego z nich (a nie tylko odpowiedź, że takie istnieje). W praktyce takie wartościowanie może odpowiadać na przykład wartości klucza użytego w szyfrowaniu symetrycznym [1]. Znalezienie odpowiedniego wartościowania może być więc równoważne złamaniu szyfru, to znaczy uczynienia go niezdolnym do zapewnienia poufności szyfrowanych wiadomości. Co roku odbywa się konkurs na najlepszy SAT Solver w kilku kategoriach [5]: • SAT + UNSAT, • SAT, • Certified UNSAT, w ramach których wydzielono podkategorie, w zależności od rodzaju danych wejściowych zapisanych w postaci CNF, czyli koniunkcyjnej postaci normalnej (koniunkcja alternatyw literałów formuły logicznej). Wyróżnia się następujące rodzaje danych wejściowych: • Application – praktyczne problemy „z życia wzięte”, • Hard combinatorial – trudne problemy kombinatoryczne, • Random – problemy losowe. Programowanie równoległe polega na wykonywaniu obliczeń w taki sposób, aby wiele instrukcji było wykonywanych jednocześnie. Taka forma programowania coraz bardziej zyskuje na znaczeniu, ze względu na zbliżanie się do granicy uniemożliwiającej dalsze zwiększanie częstotliwości taktowania 342 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . procesorów (która wiąże się z większą miniaturyzacją, która z kolei może powodować efekt tunelowy [2, 3]). Z tego względu, do przeprowadzenia obliczeń wykorzystuje się wiele procesorów równocześnie. Jednym ze sposobów uruchomienia tysięcy wątków jednocześnie jest użycie kart graficznych zgodnych z jedną z dwóch (lub obiema) technologiami przetwarzania równoległego na GPU – OpenCL [27] oraz CUDA [4]. Programowanie równoległe jest oczywiście trudniejsze w implementacji na poziomie algorytmów od programowania sekwencyjnego, gdyż współbieżność może nie tylko zwiększyć wydajność programu, ale także wprowadzić nowe miejsca, w których można popełnić błąd. Pojawiają się problemy typu: zagłodzenie, zakleszczenie, wyścig i tym podobne. W pracy tej, zostanie przedstawiona aplikacja GPUWalksat realizująca równoległy SAT Solver (bazujący na algorytmie WalkSAT), zaimplementowana z wykorzystaniem środowiska programistycznego OpenCL oraz procesorów GPU (kart typu NVIDIA Tesla). 2. Problem spełnialności SAT Problem spełnialności formuł rachunku zdań (SAT) jest problemem N P-zupełnym. Dowód N P-zupełności problemu SAT został opublikowany w roku 1971, przez Amerykanina, profesora Stephena Arthura Cooka, za co między innymi, 11 lat później, został nagrodzony Nagrodą Turinga [14]. Sformułowanie problemu: Wejście: Poprawnie zapisana formuła rachunku zdań F o n zmiennych. ⃗ ∈ {0, 1}n taki, że F (X) ⃗ = 1? Wyjście: Czy istnieje X Przykład: Dla formuły rachunku zdań: F (A, B, C) = (A ∨ B) ∧ (B ∨ C) ∧ ¬B, którą można w następujący sposób przedstawić za pomocą bramek logicznych: odpowiedzią na tak postawione pytanie jest TAK. Jedynym rozwiązaniem jest wektor: ⃗ = (A, B, C) = (1, 0, 1) X taki, że: F (1, 0, 1) = (1 ∨ 0) ∧ (0 ∨ 1) ∧ ¬0 = 1 343 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha 3. Zastowania w kryptografii Jednym z głównych zastosowań problemu SAT w kryptografii są ataki algebraiczne na szyfry strumieniowe – Keeloq oraz blokowe – DES. Ideą ataków algebraicznych jest przekształcenie ataku na system kryptograficzny w rozwiązanie układu równań wielomianowych. Głównym problemem tego podejścia jest fakt, że rozwiązanie układu równań wielomianowych nad skończonym ciałem jest problemem N P-zupełnym [26]. Jednak redukcja tego problemu do problemu SAT daje możliwość uzyskania skutecznych ataków. 4. Algorytmy stosowane w SAT Solverach W związku z dużą złożonością algorytmu brutalnego rozwiązującego problem SAT, który wymagałby sprawdzenia wszystkich możliwych 2n wartościowań, trwają poszukiwania algorytmów o lepszych złożonościach. Opracowanie algorytmu o złożoności wielomianowej byłoby równoważne z udowodnieniem, że P = N P, a zatem rozwiązaniem jednego z siedmiu problemów milenijnych ogłoszonych w 2000 roku przez Instytut Matematyczny Claya [19]. Powstało wiele algorytmów skracających czas potrzebny do otrzymania wyniku. Najpopularniejszym z nich jest algorytm DPLL (DavisPutnamLogemannLoveland algorithm) używany w odnoszących sukcesy SAT Solverach takich jak MiniSat [6], Chaff [7] czy Glucose [8]. Algorytm ten, jest algorytmem z powrotami (backtracking) działającym poprzez wybór literału, przypisanie mu wartości logicznej, uproszczenie formuły, a następnie rekursywne sprawdzenie czy uproszczona formuła jest spełnialna. Jeśli kolejne wywołania zwrócą odpowiedź twierdzącą oznacza to, że początkowa formuła jest spełnialna, w przeciwnym przypadku podobne rekursywne sprawdzenie jest wykonywane przy założeniu przeciwnej wartości logicznej. Krok uproszczenia przede wszystkim polega na usunięciu klauzul, które stają się prawdziwe przy obecnym wartościowaniu formuły oraz tych literałów znajdujących się w pozostałych klauzulach, 344 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . które stały się fałszywe. Mimo to, pesymistyczna złożoność tego algorytmu jest jednak nadal wykładnicza Obecnie opracowywane są struktury danych oraz heurystyki pozwalające usprawnić działanie tego typu SAT Solverów. Znaczny wpływ na poprawę skuteczności ma też zastosowanie strategii pozwalających na uczenie się algorytmu oraz nawracanie o więcej niż jeden węzeł w przypadku wykrycia konfliktu backjumping [13]. Kolejnym podejściem do rozwiązania problemu SAT są algorytmy przeszukiwania lokalnego, wśród których szczególną wydajnością wyróżniają się algorytm Walksat [9] oraz rodzina algorytmów Novelty [10]. Opierają się one danym początkowym wartościowaniu zmiennych formuły logicznej, dla którego przy pomocy różnych heurystyk wybierane są zmieniane, których wartości są następnie zmieniane na przeciwne. W ten sposób algorytm minimalizują liczbę niespełnionych klauzul zbliżając się tym samym do rozwiązania. Dodatkowo wprowadzana jest pewna losowość celem uniknięcia utknięcia w lokalnym minimum. 5. SAT Solvery równoległe Podjęto także próby zrównoleglenia SAT Solverów. W tej dziedzinie warty wspomnienia jest GrADSAT [15] stworzony na Uniwersytecie Kalifornijskim w Santa Barbara, który wykorzystuje solver zChaff oraz architekturę typu mater-slave zrealizowaną na siatce (grid). Problem dzielony jest w nim na podprzestrzenie i rozwiązywany przez niezależnych klientów dzielących między sobą zbiór nauczonych klauzul. Podobnie zrealizowano także gNovelty+ (v.2) z tą różnicą, że tu każdy klient używa algorytmu gNovelty+ do rozwiązania problemu [16]. Inne podejście zastosowano w SAT Solverze ManySAT [17], stworzonym przez Microsoft Research przy współpracy z Universite dArtois, w którym to uruchamianych jest równolegle wiele instancji algorytmu DPLL. Jednak każda z instancji używa innych heurystyk, strategii restartów oraz sposobów uczenia. Strategia ta dała bardzo dobre efekty i w 2009r. ManySAT został zwycięzcą konkursu SAT. W GPU4SAT powstałym na Universite de Reims Champagne-Ardenne autorzy proponują sprowadzenie problemu SAT do mnożenia macierzy i wykorzystanie procesorów graficznych do zrównoleglenia tej operacji [11]. Wykorzystywane jest tu podejście niezupełne, a kolejne wartościowania wybierane są za pomocą heurystyk. Z kolei PGSAT zaprojektowany na Uniwersytecie w Bolonii jest zrównolegloną wersją algorytmu GSAT (algorytm zachłanny) [18]. Każdy wątek otrzymuje własne wartościowanie zmiennych, a następnie przy pomocy 345 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha funkcji oceny wybierana jest najlepsza zmienna do zamiany. Proces powtarzany jest aż do otrzymania wartościowania spełniającego zadaną formułę. 6. Procesory GPU Początek historii procesorów graficznych, w skrócie GPU, sięga historii pierwszych komputerów, których wynik działania pojawiał się na ekranie. Pierwsze karty graficzne miały za zadanie jedynie wyświetlać znaki alfanumeryczne. Z czasem możliwe stało się użycie ekranów, na których można było wyświetlać i zmieniać kolory pojedynczych pikseli. Wyświetlanie wyników działania komputera przestało ograniczać się do wyświetlania symboli alfanumerycznych i poszerzyło się o możliwość wyświetlania obrazów, wykresów, diagramów i innych, graficznych, sposobów reprezentacji danych. Dziś karty graficzne weszły na kolejny etap rozwoju, w którym zaczęto wykorzystywać ich możliwości obliczeniowe do wsparcia obliczeń dotychczas wykonywanych jedynie na procesorze głównym (CPU). Producenci niektórych kart graficznych rozszerzyli możliwości wykorzystania GPU do równoległego przetwarzania danych, udostępniając własny język programowania oraz interfejs programistyczny (API), umożliwiający programowanie równoległego przetwarzania danych, niekoniecznie związanych z grafiką komputerową. Karty graficzne zostały docenione przez twórców jednego z najszybszych komputerów znajdujących się na Ziemi. Amerykański superkomputer Titan o mocy obliczeniowej 17,59 PFLOPS, znajdujący się w Oak Ridge National Laboratory, który od listopada 2012 do czerwca 2013, był najszybszym superkomputerem na świecie1 , wykorzystuje do obliczeń, poza 18688 procesorami AMD Opteron 6274 CPU, taką samą liczbę kart graficznych NVIDIA Tesla K20X 2 [20, 21]. Pracownicy instytutu w Oak Ridge, przed otrzymaniem dostępu do potężnej mocy obliczeniowej superkomputera, przechodzą szkolenie z programowania kart graficznych, tak aby jak najwydajniej wykorzystywać każdy cykl zegara multiprocesora karty graficznej. [23] 1 w czasie pisania tego artykułu jest plasowany na drugiej pozycji w rankingu najszybszych superkomputerów, za chińskim Tianhe-2 2 w czasie pisania tego artykułu cena za sztukę to około 3000$ [22] 346 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . 7. OpenCL vs CUDA Dwie, obecnie najpopularniejsze, technologie wspierające równoległe programowanie przy użyciu procesorów graficznych to OpenCL i CUDA [4, 27]. Pierwsza z nich jest wieloplatformowym, otwartym standardem, to znaczy zastosowanie OpenCL nie ogranicza się do jednej platformy sprzętowej, jak w przypadku CUDA, dedykowanej jedynie dla sprzętu amerykańskiej firmy NVIDIA (która również angażuje się w projekt OpenCL). Używając technologii CUDA jesteśmy ograniczeni do programowania sprzętu firmy NVIDIA, natomiast OpenCL działa na wielu innych środowiskach (takich jak FPGA, CPU, DSP), obsługując również część urządzeń NVIDII. Pisząc kod zarówno w CUDA, jak i OpenCL, programista pisze z perspektywy wykonania pojedynczego wątku. Pojęcie wątku może być mylnie rozumiane przez programistów, którzy programowali wątki jedynie na CPU (na przykład korzystając z popularnej implementacji POSIX wątków o nazwie pthreads), ponieważ wątki na GPU charakteryzują się tym, że wykonują się jednocześnie, pod warunkiem, że realizują dokładnie ten sam kod programu dla (potencjalnie) różnych danych. Dla przykładu: jeśli użyjemy instrukcji if-else, tak, że w i-tym wątku wykonuje się warunkowo instrukcja Ai , a w wątku j ̸= i instrukcja Aj ̸= Ai , to taki program nie będzie wykonywał się równolegle na GPU. Jest to ograniczenie względem wątków znanych z CPU, jednak dzięki niemu jest możliwe uruchomienie znacznie większej liczby wątków3 niż na zwykłym procesorze komputera. Przedstawiony sposób działania programu jest nazwany działaniem SIMD, tzn. Single Instruction, Multiple Data i jest jedną z kategorii wyróżnionych w Taksonomii Flynna. CUDA Aby najlepiej oddać czym jest CUDA warto odwołać się do twórców tej technologii, czyli do firmy NVIDIA, która na swojej stronie internetowej opisuje technologię CUDA następująco: “CUDA to opracowana przez firmę NVIDIA równoległa architektura obliczeniowa, która zapewnia radykalny wzrost wydajności obliczeń, dzięki wykorzystaniu mocy układów GPU (Graphics Processing Unit - jednostka przetwarzania graficznego) [4]. Określenie wzrostu wydajności radykalnym wydaje się uzasadnione w świetle przykładowych aplikacji udostępnianych przez firmę NVIDIA, napisanych zarówno w wersji na CPU, jak i GPU w celu porównania wydajności 3 rzędu tysięcy 347 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha [28]. Przyspieszeni a niektórych wersji aplikacji na GPU jest rzędu kilkudziesięciu razy względem tych na CPU. Firma NVIDIA, w ramach wsparcia technologii CUDA, dostarcza środowisko programistyczne, składające się m.in. z: kompilatora nvcc, debuggera cuda-gdb oraz profilera, to znaczy aplikacji umożliwiającej pomiar wydajności (na przykład poprzez śledzenie czasu zajętości multiprocesora karty graficznej). Istnieje szeroki wybór kart graficznych firmy NVIDIA opartych o różne mikroarchitektury. Ich nazwy, w kolejności ich powstania to: Tesla, Fermi, Kepler, Maxwell i Pascal. Chcąc programować w technologii CUDA warto mieć sprzęt z możliwie najwyższym numerem compute capability, ponieważ karty graficzne z wyższym compute capability są wzbogacone o nowe funkcje i mechanizmy CUDA4 . Jedną z najnowszych i najdroższych kart graficznych NVIDII jest NVIDIA Tesla K40 i kosztuje około 5000$ za sztukę [24]. Istnieją projekty, które mają wykorzystywać moc obliczeniową tej karty. W Texas Advanced Computing Center w Austin, w stanie Teksas, ma powstać centrum o nazwie Maverick, służące do zdalnej wizualizacji i analizy danych (Remote Visualization and Data Analysis) z wykorzystaniem między innymi 132 kart Tesla K40 [25]. OpenCL Idea działania OpenCL jest bardzo zbliżona do architektury CUDA. Dynamiczny sposób kompilacji kodu wykonywanego na maszynie (to jest po uruchomieniu programu), idea działania wątków podzielonych na bloki i wiele innych mechanizmów jest takich jak w CUDA. Różnice między tymi technologiami polegają na innych interfejsach programistycznych (API), to znaczy w funkcjach obsługujących sprzęt. OpenCL wydaje się być nieco bardziej niskopoziomowym podejściem w kodowaniu niż CUDA. Ponadto istotną różnicą względem CUDA jest otwartość OpenCL. Zarówno pod względem otwartości kodu całego projektu, jak i otwartości na inne urządzenia, nie tylko karty graficzne. OpenCL potrafi obsługiwać wiele urządzeń jednocześnie (tak jak CUDA), jednak urządzenia mogą być urządzeniami różnych typów (nie tylko GPU). Co więcej, dzięki aplikacji VirtualCL możemy łatwo zrównoleglić wykonanie programów napisanych w OpenCL, na wiele komputerów połączonych w sieć [29]. 4 348 na przykład przed powstaniem architektury o nazwie Fermi nie było możliwe korzystanie z rekurencji Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . Aby zrozumieć szczegółowy, niskopoziomowy sposób działania architektury OpenCL warto przeanalizować jak OpenCL korzysta ze sprzętu, na którym są wykonywane programy napisane w języku OpenCL C. Niestety, w ogólności, szczegółowa analiza wykonania kodu napisanego na platformy wspierające OpenCL jest utrudniona z powodu szerokiej gamy urządzeń wspierających OpenCL. Każda architektura sprzętowa wspierana przez OpenCL ma inną budowę i specyfikę działania, dlatego do opisu działania OpenCL wygodnie jest użyć pojęć będących abstrakcyjnym ujęciem faktycznej realizacji sprzętowej (można to nazwać enkapsulacją/hermetyzacją sprzętowego wykonania aplikacji). Szczegółowa realizacja wykonania programu (to jest na przykład obsługa przydziału wątków do poszczególnych procesorów sprzętowych, kolejność alokowania pamięci i tak dalej) jest zależna od konkretnego sprzętu i implementacji standardu OpenCL przez producenta sprzętu na którym wykonywany jest program. W celu przeprowadzenia dokładnej analizy sprzętowej wykonania programu, należy zapoznać się ze specyfikacją producenta sprzętu, na którym jest on uruchamiany (o ile jest udostępniona) [30]. Prosty schemat bloków złożonych z wątków programu w architekturze OpenCL przedstawia poniższy Jeśli program wykonuje się na karcie graficznej, to wątki wykonują się w blokach na jednostkach obliczeniowych (compute units), będących częścią multiprocesora karty graficznej. OpenCL ma do dyspozycji kilka rodzajów pamięci (w kolejności rosnącej szybkości dostępu): • pamięć globalną – rzędu gigabajtów, • pamięć stałych – to jest wydzieloną częścią globalną z optymalizacjami, z racji niezmienności danych, • pamięć lokalna – współdzielona między wątkami w jednym wątku, rzędu kilkudziesięciu kilobajtów, • pamięć prywatna – niewspółdzielona pamięć dla jednego wątku. 349 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha 8. Implementacja Proponowane przez nas rozwiązanie, czyli implementacja SAT Solvera na karcie graficznej (GPU), korzysta z algorytmu WalkSAT, a uruchamiane jest na 3 kartach NVIDIA Tesla M2070 dostępnych w laboratorium Wydziału MiNI PW. Ogólne założenia implementacji sprowadzają się do tego, by uruchomić jak najwięcej instancji algorytmu WalkSAT na jak największej liczbie wątków na karcie graficznej (dokładniej: na każdej z trzech dostępnych kart graficznych). Każda instancja algorytmu otrzymuje inne wartościowanie początkowe, które jest dla niej punktem startowym obliczeń. Jeśli którakolwiek instancja algorytmu znajdzie wartościowanie spełniające zadaną formułę logiczną, obliczenia są przerywane, a wyniki są zapisywane do pliku. Im mniejszy problem, tym więcej instancji algorytmu można uruchomić i tym szybciej zostanie rozwiązany. 9. Architektura rozwiązania Program dzieli są na dwa główne moduły: moduł uruchamiany na procesorze głównym komputera (CPU) oraz na moduł uruchamiany na karcie graficznej (GPU). 350 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . Moduł CPU Program GPUWalksat rozpoczyna wykonanie od przygotowania danych dla karty graficznej, które odbywa się na CPU. W tym module wyczytywana jest formuła logiczna CNF zapisana w formacie DIMACS. Na jej postawie, przygotowywane są struktury danych dla GPU oraz konfigurowane jest środowisko OpenCL. W celu wykorzystania wszystkich 3 dostępnych kart NVIDIA Tesla, uruchamiane są 3 niezależne wątki POSIX-owe na CPU, tak aby każdy miał przypisaną do siebie jedną z kart graficznych. Każdy z wątków przeprowadza wspominaną konfigurację dla przypisanej do siebie karty graficznej. Struktury danych W ramach przygotowania środowiska, tworzone są struktury danych, które następnie przekazywane są do środowiska OpenCL (moduł GPU). W ich skład wchodzą: • klauzule tworzące formułę logiczną (potrzebne do sprawdzania spełnialności), • mapowanie zmienna-¿klauzula (potrzebne do szybkiego znajdowania klauzul zawierających daną zmienną logiczną), • wartościowania dla każdego wątku na karcie graficznej, • inne struktury pomocnicze potrzebne do realizacji powyższych struktur. Warto zaznaczyć, że wszystkie struktury oprócz wartościowań, są wspólne z perspektywy wątków na GPU. Jedynie wartościowania są przydzielane dla każdego wątku osobno - dla każdego wątku losowane jest inne wartościowanie początkowe, które przekazywane jest w osobnej strukturze danych. W czasie konfigurowania środowiska OpenCL dobierana jest także optymalna liczba wątków do uruchomienia na jednej karcie graficznej. „Wąskim gardłem” obliczeń na GPU jest dostępna pamięć operacyjna, której przy większych problemach zaczyna szybko brakować. W tym celu należy optymalizować struktury danych oraz liczbę wątków do uruchomienia na GPU. Ich liczba zależy od wielkości problemu według zasady: im większy problem, tym więcej pamięci operacyjnej na niego potrzeba, a w konsekwencji – tym mniej wątków na GPU można uruchomić. Po wykonaniu wszystkich powyższych czynności, mając już skonfigurowane środowisko OpenCL pod kątem danego problemu do rozwiązania, 351 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha kompilowany i uruchamiany jest kernel, czyli kod wykonywany na karcie graficznej. Po zakończeniu obliczeń przez moduł GPU, wykonywanie programu wraca na CPU, gdzie odczytywane są znalezione na GPU wartościowania oraz weryfikowana jest ich poprawność. Moduł GPU W środowisku OpenCL kod wykonywany na urządzeniu nazywany jest kernelem. Implementuje się go w języku zbliżonym do klasycznego C z kilkoma rozszerzeniami specyficznymi dla OpenCL. Każdą instrukcję rozważa się z perspektywy pojedynczego wątku (w sensie GPU, a nie CPU). Wątek na karcie graficznej otrzymuje dane przygotowane dla niego wcześniej przez moduł CPU, opisane w sekcji Struktury danych. Następnie, korzystając z wylosowanego dla niego wartościowania początkowego, uruchamia pętlę algorytmu WalkSAT. Wartościowanie jest modyfikowane zgodnie z heurystyką algorytmu aż do momentu znalezienia rozwiązania przez dany wątek lub którykolwiek inny. Synchronizacja Wątki na GPU są od siebie w znacznej części całkowicie niezależne. Korzystają z niektórych współdzielonych struktury danych, przechowywanych w pamięci globalnej karty graficznej, jednak dostęp do niej jest automatycznie synchronizowany i kontrolowany przez kartę graficzną. Ponadto, jeśli jakiś wątek znajdzie wartościowanie spełniające zadaną formułę logiczną, ustawia flagę w pamięci globalnej, aby poinformować inne wątki, że powinny skończyć obliczenia. Flaga ta jest sprawdzana co ustaloną liczbę obrotów pętli algorytmu, tak aby niepotrzebnie nie spowalniać obliczeń. 10. Testy Aplikacja GPUWalksat została poddana trzem rodzajom testów: • testom funkcjonalnym, których zadaniem było sprawdzenie, czy zostanie znalezione rozwiązanie problemu, który wiadomo, że jest spełnialny, • testom wydajnościowym, których celem było zmierzenie czasu rozwiązywania problemów, • testom porównawczym, których celem było porównanie aplikacji z innymi SAT Solverami. 352 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . Środowisko testowe Aplikacja GPUWalksat była uruchamiana na klastrze obliczeniowym dostępnym na Wydziale MiNI PW, złożonym z 3 kart NVIDIA Tesla M2070. W trakcie testów porównawczych, SAT Solvery działające na CPU uruchamiane były na komputerze osobistym z procesorem Intel Core i7-3770 o taktowaniu 3.40 Ghz. Wyniki testów Testy funkcjonalne polegały na rozwiązaniu formuły złożonej z praw de Morgana o różnych stopniu złożoności. Rozwiązania zostały znalezione poprawnie. Ponadto przetestowano działanie programu na formule, o której wiadomo, że nie posiada rozwiązania. Zgodnie z oczekiwaniami, program nie znalazł rozwiązania w określonym z góry czasie. Testy wydajnościowe i porównawcze polegały na znalezieniu rozwiązania problemów różnych typów. Zmierzony czas porównany został z czasem znajdowania rozwiązania dla tych samych problemów przez dwa inne SAT Solvery: • WalkSAT CPU – implementacja algorytmu WalkSAT, jednowątkowa, na CPU, • miniSAT – jeden z najlepszych i najbardziej znanych SAT Solverów, oparty na algorytmie DPLL, działający na CPU. 11. Wnioski Testy funkcjonalne, wydajnościowe i porównawcze przeprowadzone na wielu przykładach pochodzących z SAT Competition [5] wykazały, że aplikacja GPUWalksat łącząca algorytm przeszukiwania lokalnego z wykorzystaniem kart graficznych pozwala znacznie przyspieszyć obliczenia dla pewnej grupy problemów. Na szczególną uwagę zasługują problemy losowe, a wśród nich 5-SAT o rozkładzie jednostajnym o 120 zmiennych i 2556 klauzulach, dla którego po uruchomieniu na klastrze obliczeniowym składającym się z trzech kart NVIDIA Tesla M2070, rozwiązanie zostało znalezione w 68,195 s, podczas gdy obliczenia CPUWalksata oraz Minisata musiały zostać przerwane ze względu na maksymalny zakładany czas obliczeń, tj. 15 minut. Większość problemów nadal efektywniej rozwiązywana jest przez SAT Solvery oparte na algorytmie DPLL. W grupie tej znajduje się między innymi problem znajdywania rozwiązania dla quasi-grupy 353 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha Tabela 1 Wyniki zbiorcze testów wydajnościowych i porównawczych n — liczba zmiennych, m — liczba klauzul Nazwa pliku z CNF n m WalkSAT GPUWalksat miniSAT CPU f100 100 400 0,02 s f300 300 1200 0,03 s 1,313 s 0,028 s f500 2000 500 2000 2150 8000 0,57 s 11,48 s 11,104 s 99,567s > 5 min > 5 min f10k 10000 40000 7,45 s > 5 min > 5 min 0,099 s 0,004 s fact 25 52 hard 100 52 100 187 800 0,008 s 0,008 s 0,046 s 0,534 s 0,004 s 0,004 s 3colorflat 200 600 f16b 56893 658v 2563c 600 658 2237 2563 0,090 s 342,59 s 7,877 s 33,512 s 0,012 s 0,008 s 5colormorph 100 500 500 3100 > 5 min 25,951 s 0,004 s quasigroup 343 sgen1-sat-140-100 343 140 68083 336 > 5 min > 15 min 32,689 s 0,635 s 0,024 s 10,368 s unif-k5-r21.3 120 2556 > 15 min 68,195 s > 15 min mający 343 zmienne i 68083 klauzul, dla którego to GPUWalksat znalazł rozwiązanie po 32,689 s, podczas gdy Minisat zakończył obliczenia w zaledwie 0,024 s. Przedstawiona aplikacja może być zoptymalizowana na wiele sposobów w celu osiągnięcia lepszych efektów. Po pierwsze poprzez użycie modelu SIMD w bardziej dokładny sposób oraz poprzez optymalne wykorzystanie różnych typów pamięci dostępnych w architekturze GPU w celu zmniejszenia kosztów dostępu do pamięci. Poprawę wydajności można także uzyskać skupiając się na wybranym problemie, poprzez stworzenie struktur danych oraz preprocesora odpowiadających specyfice danego zagadnienia. W tym przypadku parametry algorytmu Walksat również powinny zostać przeanalizowane i odpowiednio dobrane. Użycie środowiska OpenCL pozwala także na przeniesienie zaprezentowanego rozwiązania na układy FPGA, które zapewniają wysoką efektywność. 354 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . Literatura [1] T. Eibach, E. Pilz, and G. Völkel, Attacking Bivium Using SAT Solvers, University of Ulm, Institute of Theoretical Computer Science http://www.uni-ulm.de/fileadmin/website uni ulm/iui.inst.190 /Mitarbeiter/eibach/Attacking-Bivium-Using-SAT-Solvers.pdf, 01.02.2014. [2] M. Luisier, A. Schenk, IEEE TRANSACTIONS ON ELECTRON DEVICES, http://www.iis.ee.ethz.ch/ schenk/04495122.pdf, 24.04.2014. [3] S. Anthony, 7nm, 5nm, 3nm: The new materials and transistors that will take us to the limits of Moores law, http://www.extremetech.com/computing/162376-7nm-5nm-3nm-the-new-materials-and-transistors-that-will-take-us-to-the-limits-of-moores-law, 24.04.2014. [4] NVIDIA Website, http://www.nvidia.pl/object/cuda-parallel-computing-pl.html, 24.04.2014. [5] SAT Competition, Strona internetowa konkursu SAT Competition, http://www.satcompetition.org/, 01.05.2014. [6] N. Een, N. Sörensson, An Extensible SAT-solver, [W:] SAT, pod red. Enrico Giunchiglia, Armando Tacchella, Springer, 2003, s. 502–518. [7] C. F. Madigan, S. Malik, M. W. Moskewicz, L. Zhang, Y. Zhao, Chaff: Engineering an Efficient SAT Solver, 39th Design Automation Conference (DAC 2001), ACM, 2001. [8] Glucose, The Glucose SAT Solver. http://www.labri.fr/perso/lsimon/glucose/, 17.04.2014. [9] WalkSAT, WalkSAT Home Page, http://www.cs.rochester.edu/u/kautz/walksat/, 17.04.2014. [10] H. H. Hoos, D. A. D. Tompkins, Novelty+ and Adaptive Novelty+, https://cs.uwaterloo.ca/ dtompkin/papers/satcomp04-novp.pdf, University of British Columbia, 2004. [11] H. Deleau, Ch. Jaillet, M. Krajecki, GPU4SAT: solving the SAT problem on GPU, CReSTIC SysCom, Universitae de Reims Champagne-Ardenne, 2008. [12] V. W. Marek, Introduction to Mathematics of Satisfiability, CRC Press, 2008. [13] G. V. Bard, Algorithms for Solving Linear and Polynomial Systems of Equations over Finite Fields with Applications to Cryptanalysis, Rozprawa doktorska, 2007. 355 P. Bęza, J. Gocławski, P. Mral, P. Sapiecha [14] S. Cook, The complexity of theorem proving procedures, Proceedings of the Third Annual ACM Symposium on Theory of Computing, 1971, s. 151–158. [15] W. Chrabakh, R. Wolski, GrADSAT: A Parallel SAT Solver for the Grid, University of California Santa Barbara, 2003. [16] D.N. Pham, C. Gretton, gNovelty+ (v.2) [W:] Solver description, SAT competition, 2009. [17] Y. Hamadi, S. Jabbour, L. Sais, ManySAT: A Parallel SAT Solver, Journal on Satisfiability, Boolean Modeling and Computation, JSAT 6, 2009, s. 245–262 [18] A. Roli, Criticality and Parallelism in Structured SAT Instances, [W:] CP’02. Volume 2470 of LNCS., pod red. P. V. Hentenryck, 2002, s.714–719. [19] Instytut Matematyczny Claya http://www.claymath.org/millennium, 07.05.2014. [20] top500.org, Titan – Cray XK7 , Opteron 6274 16C 2.200GHz, Cray Gemini interconnect, NVIDIA K20x, http://www.top500.org/system/177975, 05.02.2014. [21] top500.org, Oak Ridge Claims No. 1 Position on Latest TOP500 List with Titan, http://www.top500.org/blog/lists/2012/11/press-release/, 05.02.2014. [22] amazon.com, http://www.amazon.com/nVidia-K20X-NVIDIA-Tesla/ dp/B00CX35KU2, 28.04.2014. [23] Oak Ridge Computing Facility, https://www.olcf.ornl.gov/support/, 24.04.2014. [24] computer store – newegg.com, http://www.newegg.com/Product/Product.aspx?Item= N82E16814132015, 24.04.2014. [25] Texas Advanced Computing Center, https://www.tacc.utexas.edu/ news/press-releases/2013/tacc-to-deploy-maverick, 28.04.2014. [26] M. Vörös, Algebraic attack on stream ciphers, praca magisterska, Bratislava, 2007. [27] Khronos Group – OpenCL, http://www.khronos.org/opencl/, 28.04.2014. [28] CUDA Examples, http://www.nvidia.pl/object/gpu-computing-applications-pl.html, 28.04.2014. [29] VirtualCL, http://www.mosix.org/txt vcl.html/, 28.04.2014. 356 Akceleracja obliczeń kryptograficznych z wykorzystaniem procesorów GPU . . . [30] Timo Stich, OpenCL on NVIDIA GPUs, http://sa09.idav.ucdavis.edu/docs/SA09 NVIDIA IHV talk.pdf, 09.02.2014. ACCELERATION OF CRYPTOGRAPHIC CALCULATIONS USING GPUS Abstract. The boolean satisfiability problem SAT is one of the fundamental and open tasks in present-day information science. This problem is N P-complete. It means that all N P problems can be reduced to SAT in polynomial time. Interestingly, among N P problems, there are many closely related to cryptology, for example: factorization of numbers – important for RSA, breaking keys of symmetric ciphers, finding collisions of hash functions and many others. The discovery of the polynomial algorithm for SAT would result in resolving one of Millennium Prize Problems: P vs. N P. This objective seems to be hard to achieve – it’s unknown if it is even possible. With slightly lower aspirations, we can design heuristic or random algorithms for SAT. Therefore, the main goal of our study is to present a project of parallel SAT Solver based on WalkSAT algorithm, including its implementation using the OpenCL programming environment and a computer equipped with NVIDIA Tesla graphics cards. With the rapid development of GPU technology and FPGAs, as well as portability of solutions created in OpenCL, the direction of such works becomes interesting because of computational efficiency gained, as well as solution prototyping rate. Keywords: satisfiability, SAT Solver, WalkSAT, graphics processing unit, cryptoanalysis, OpenCL, parallel computing. MODELLING THE SOFTWARE TESTING PROCESS Kazimierz Worwa Faculty of Cybernetics, Military University of Technology, 00-908 Warszawa, Kaliskiego 2, Poland [email protected] Abstract. An approach to formal modelling the program testing process is proposed in the paper. Considerations are based on some program reliability-growth model that is constructed for assumed scheme of the program testing process. In this model the program under the testing is characterized by means of so-called characteristic matrix and the program testing process is determined by means of so-called testing strategy. The formula for determining the mean value of the predicted number of errors encountered during the program testing is obtained. This formula can be used if the characteristic matrix and the testing strategy are known. Formulae for evaluating this value when the program characteristic matrix is not known are also proposed in the paper. Keywords: software testing, software reliability, software reliability models. 1. Introduction The testing of a newly developed program, prior to its practical use, is a commonly followed practice. The program testing process involves the execution of the program with many sets of input data with the intention of finding errors. Testing is done to lower the chances of in-service failures which are defined as an unacceptable departure from a program operation. A long period of testing results in increasing the chances of detecting program errors and decreasing the chances of in-service failures, but it also results in increasing the cost of the program testing process. It is known that testing is the most significant money consuming stage of the program development. A cost of the program testing process can make even more than 50% of the total cost of the program development, especially for complex program systems [12, 17]. Considering the essential impact of the testing cost on the whole program development cost, the testing process ought to be prudently planned and organized. Decisions relative to the testing process organization should be made on the basis of results of testing efficiency analysis. In order to make such analysis easier it may be convenient to evaluate the number of program errors that could be encountered during the program testing process. The knowledge of this evaluation results makes it possible to evaluate the duration and the cost of the program testing process, e.g. by means of formal, mathematical expressions. Such estimations can be very useful in practice, e.g. for comparing K. Worwa the effectiveness of different ways of program testing process organizations (i.e. in order to find an optimal organization). For the purpose of the rational prediction of the program testing process duration software reliability-growth models are recommended in this paper. These models can provide a first program reliability-estimate and support project management in planning further development processes. Therefore many software reliability-growth models have been proposed in the literature [1–5, 7–9, 11, 13–14, 18, 20, 24–26]. The number of models that have actually been employed to assist with software development projects is, however, much smaller. The reason for this is that none of these models give sufficiently accurate estimates of reliability. This seems to be chiefly due to the fact that the authors of the various models have paid little or no attention to the manner in which a software is tested. Software reliability modelling has become one of the most important aspects in software reliability engineering since Jelinski-Moranda [10] and Schooman [16] models appeared. Various methodologies have been adopted to model software reliability behaviour. The most of existing work on software reliability modelling is focused on continuous-time base, which assumes that software reliability behaviour can be measured in terms of time. It may be a calendar time, a clock time or a CPU execution time [1, 3, 7–9, 11, 13–14, 17, 20, 24, 26]. Although this assumption is appropriate for a wide scope of software systems, there are many systems, which are essentially different from this assumption. For example, reliability behaviour of a reservation software system should be measured in terms of how many reservations are successful, rather than how long the software operates without any failure. Similarly, reliability behaviour of a bank transaction processing software system should be assessed in terms of how many transactions are successful, etc. Obviously, for these systems, the time base of reliability measurement is essentially discrete rather than continuous. Models that are based on a discrete-time approach are called input-domain or run-domain models [2, 4–5, 22–23, 25]. They usually express reliability as the probability that an execution of the software is successful. The paper [2] has been proposed the terms a run and run reliability and a conceptual framework of software run reliability modelling. A run is a minimum execution unit of software and run reliability means the probability that software successfully perform a run. The concrete sense of a run is subject to application context. For example, a run can correspond to execution of a test case, of a program path, etc. This paper attempts to describe a new discrete-time software reliability-growth model for some scheme of the program testing and to 360 Modelling the software testing process determine a formula to evaluate the predicted number of program errors encountered during the testing process. 2. The program testing scheme An organization of a program testing process depends on the program testing strategy which was selected for the testing. In particular, this strategy defines the way of the testing process realization and the set of program input data which is used for the testing. It is assumed that the program testing process consists of a number of organizational units of the program testing phase that are called the testing stages. Every stage of the program testing process consists of the two following steps of testing: — testing of the program under consideration with a prepared set of program input data (tests), — comparison of the results with the expected outputs for the data used and removing all errors encountered during testing. It is noteworthy that all program faults discovered during the first step of some testing stage are only registered and removed only this step is finished. Such organization of the testing stage means that testing and debugging are performed in different steps (not simultaneously) and consequently some program fault can be observed more than once in the testing stage. The paper [25] has been underlined that above definition of the testing scheme is used in the most mathematical models of software testing. Let S mean the program testing strategy which is defined as follows S = (K, (L1 , L2 , . . . , Lk , . . . , LK )) (1) where: K – the number of stages of the program testing process, Lk – the number of program input data used in the k-th program testing stage, Lk > 0, k = 1, K Execution of the program under the testing process with one input data set (test case) will be called a run in this paper. The run can be successful, if program execution did not lead to encounter any program errors or not successful, if program execution was incorrect, i.e. some errors were encountered. Let S denote the set of all strategies that have the form (1). The strategy (1) defines a program testing scheme. In accordance with this scheme, the process of removing program errors which were encountered during the k-th program testing stage can be started after the execution of the program on all Lk tests is finished. 361 K. Worwa According to assumed testing scheme a situation that a number of different tests of all Lk tests executed during the k-th stage encounter the same error in the program under the testing is possible. So, according to the note mentioned above, a situation that several runs will lead to encounter the same program error is possible. Let pnm define the probability of an event that n errors will be encountered during a single stage of the program testing if there are m tests that have incorrect execution in that stage. If we assume that every execution of the program with a single test can lead to encounter at most one program error, we will have 0 ≤ pnm ≤ 1 if n ≤ m, n ≥ 0 (2) where in particular p00 = p11 = 1 pnm = 0 and ∞ ∑ pnm = 1, (3) if n > m m ∈ {0, 1, 2, . . .}. (4) n=0 Probabilities pnm , n ∈ {0, 1, 2, . . . , m}, m matrix P = [pnm ] as follows 1 0 0 0 0 1 p12 p13 0 0 p22 p23 P = 0 0 0 p33 0 0 0 0 .. .. .. .. . . . . ∈ {0, 1, 2, . . .}, form an infinite 0 p14 p24 p34 p44 .. . ... ... ... ..., ... .. . (5) where values pnm are defined by (2)–(4). The matrix P contains the values 0 below the main diagonal because – in accordance with earlier assumption that every execution of the program with a single test can lead to encounter at most one program error – it is not possible to encounter more different errors than the number of incorrect runs. The values of probabilities pnm for every program testing stage only depend on the number of tests which are used during that stage. The values of probabilities pnm that form the matrix P depend on a logical structure of the program. In particular, an important impact on these probabilities has: 362 Modelling the software testing process — number of paths that have been identified in the program, — degree of covering individual paths, that can be measured by number of program instructions that belong to two or more paths, — length of individual paths, measured by number of program instructions that are executed in case of path activation. The matrix P will be called the characteristic matrix of the program under testing. 3. Program reliability coefficient Let Mk (S, P ) denote the number of runs which lead to incorrect execution of the program under the testing, i.e. to encounter program errors, during the k-th stage of program testing process according to the testing strategy S and the characteristic matrix P . Let Nk (S, P ) mean the total number of errors encountered during the k-th stage of program testing process in accordance with the testing strategy S and the characteristic matrix P . While planning the program testing process it is reasonable to treat the values Mk (S, P ) and Nk (S, P ), k = 1, K, as random variables, Nk (S, P ) ≤ Mk (S, P ), k = 1, K. Joint distribution of the random variables Nk (S, P ), Mk (S, P ) can be determined as follows: P r{Nk (S, P ) = nk , Mk (S, P ) = mk } = P r{Nk (S, P ) = nk /Mk (S, P ) = mk }P r{Mk (S, P ) = mk } (6) Probability distribution of the random variable Nk (S, P ) can be determined as a marginal distribution in a distribution of two-dimensional random variable (Nk (S, P ), Mk (S, P )): P r{Nk (S, P ) = nk } = Lk ∑ P r{Nk (S, P ) = nk /Mk (S, P ) = mk }P r{Mk (S, P ) = mk } (7) mk =0 Let N (S, P ) mean the total number of errors encountered during the process of the program testing in accordance with the testing strategy S and the characteristic matrix P . The value N (S, P ) is a random variable and can be determined as follows: N (S, P ) = K ∑ Nk (S, P ). (8) k=1 363 K. Worwa Taking into account assumed testing scheme probability distribution of the random variable N(S,P) has the form: P r{N (S, P ) = nk } ∑ = P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 , . . . , NK (S, P ) = nK }, n1 +n2 +...+nk =n n = 0, 1, 2, . . . (9) where probabilities P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 , . . . , NK (S, P ) = nK } determine joint distribution of K-dimentional random variable (N1 (S, P ), N2 (S, P ), . . . , NK (S, P )). Probability distribution P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 , . . . , NK (S, P ) = nK } can be determined as follows [21] P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 , . . . , NK (S, P ) = nK } = Lk K ∑ ∏ P r{Nk (S, P ) = nk /Mk (S, P ) = mk } (10) k=1 mk =0 · P r{Mk (S, P ) = nk /Ni (S, P ) = ni , i = 1, k − 1} where P r{Mk (S, P ) = mk /Ni (S, P ) = ni , i = 1, k − 1} = P r{Mk (S, P ) = mk /N1 (S, P ) = n1 , N2 (S, P ) = n2 , (11) . . . , Nk−1 (S, P ) = nk−1 and N0 (S, P ) = 0. According to earlier denotations we have pnm = P r{Nk (S) = n|Mk (S)=m }, k = 1, K − 1, (12) so formula (10) takes a form: P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 , . . . , NK (S, P ) = nK } = Lk K ∑ ∏ k=1 mk =0 364 pnk mk P r{Mk (S, P ) = mk /Ni (S, P ) = ni , i = 1, k − 1} (13) Modelling the software testing process By the substitution of this equation into (9), we get: ∑ P r{N (S, P ) = n} = P r{N1 (S, P ) = n1 , N2 (S, P ) = n2 n1 +n2 +...+nK =n , . . . , NK (S, P ) = nK } = Lk K ∑ ∏ ∑ pnk mk P r{Mk (S, P ) = mk /Ni (S, P ) = ni , n1 +n2 +...+nK =n k=1 mk =0 i = 1, k − 1} (14) As a result of program testing process execution, in accordance with the assumed testing strategy S, N (S, P ) program errors will be encountered. Successful removing these errors will increase the level of program reliability. The number of encountered errors N (S, P ) depends on both assumed testing strategy and initial level of program reliability, i.e. reliability of the program at the beginning of the program testing process. It is very well known that in spite of successful testing phase realization the program can still contain some errors. Bearing this fact in mind it is rationally to describe a result X(S, P ) of one program execution, after finishing the testing process according to strategy S, as follows: 1 X(S, P ) = 0 if an execution of the program with characteristic matrix P ,that was tested in accordance with the strategy S, is correct; otherwise. Planning the phase of program testing process it is rationally to treat amounts N (S, P ) and X(S, P ) as dependent random variables, because the result X(S, P ) of program execution for some input data set, after finishing the testing according to strategy S, depends on a number of errors N (S, P ) encountered during this process. Let r(S, P ) mean a probability of a correct execution of the program with the characteristic matrix P , after finishing the testing process according to the strategy S, i.e. r(S, P ) = P r{X(S, P ) = 1}. (15) The probability r(S, P ) will be treated as a program reliability measure in the paper. 365 K. Worwa We can write: ∑ L(S) r(S, P ) = r(S, P )|N (S,P )=n · P r{N (S, P ) = n}, (16) n=0 where: r(S, P )|N (S,P )=n – conditional probability of a correct execution of the program with the characteristic matrix P if the testing process, according to the strategy S, leaded to encounter N (S, P ) = n program errors; L(S) – a total number of runs that are performed during testing the program according to the strategy S, i.e. L(S) = K ∑ Lk . (17) k=1 By substitution of expression (14) into (16), we get ∑ L(S) r(S, P ) = r(S, P )|N (S,P )=n n=0 = ∑ Lk K ∑ ∏ pnk mk P r{Mk (S, P ) = mk /Ni (S, P ) = ni n1 +n2 +...+nK =n k=1 mk =0 i = 1, k − 1}. (18) If a number of errors is encountered in the program and they are successfully corrected, the program reliability level will increase. We will describe it as follows: r(S, P )|N (S,P )=n = r + ∆r(P, n), (19) where: r – an initial value of the program reliability coefficient, i.e. value of the program reliability coefficient at the beginning of the program testing process, ∆r(P, n) – an increase of the reliability coefficient value of the program with the characteristic matrix P , as a result of encountering and removing n errors. On the basis of facts described in literature (see e.g. [13, 17, 19]) it is assumed that the increase ∆r(P, n) is of the form: ∆r(P, n) = (1 − r)(1 − eαn ), 366 (20) Modelling the software testing process where α is a parameter that characterizes both the internal structure of the program under testing and the impact of one error removal on the increase of the program reliability. It should be stated that evaluating values of both parameters r and α relies on the testing history of the software in practice. Thus, by substituting the last equation into (19), we get: r(S, P )|N (S,P )=n = 1 − (1 − r)e−αm . (21) It is easy to notice that assumed testing scheme, such that probability of successful performance of one run remains constant during testing stage, leads to the so-called Bernoulli scheme. Consequently, conditional probabilities from (18) can be determined by means the binominal distribution as follows: P r{Mk (S, P ) = mk /Ni (S, P ) = ni , i = 1, k − 1} ( ) ∑k=1 ∑k=1 Lk = [e−α i=1 ni (1 − r)]mk [1 − e−α i=1 ni (1 − r)]Lk −mk , mk (22) mk ∈ {0, 1, 2, · · · , Lk }, k = 1, K. Substituting (21) and (22) into (18), we get the following expression for the program reliability coefficient r(S, P ), after finishing the testing process according to the strategy S: r(S, P ) = 1 − (1 − r)A(S, P ), (23) where L1 ∑ L2 ∑ A(S, P ) = LK ∑ ... n1 =0 n2 =0 −α ∑K e nK =0 k=1 nk Lk K ∑ ∏ pnk mk Amk k=1 mk =0 ( k−1 ∑ ) n i , Lk i=1 (24) and Amk ( k−1 ∑ ( = ) ni , Lk i=1 Lk mk ) [e−α ∑k−1 i=1 ni (1 − r)]mk [1 − e−α ∑k−1 i=1 ni (1 − r)]Lk −mk , (25) mk ∈ {0, 1, 2, · · · Lk }, k = 1, K. 367 K. Worwa ( ∑k−1 ) The quantity Amk ∈ {0, 1, 2, · · · , Lk }, ni ∈ i=1 ni , Lk , mk {0, 1, 2, · · · , Lk }, k ∈ {1, 2, · · · , K}, means probability that mk runs of all Lk runs performed during the k-th testing stage will be incorrect, i.e. will lead to encounter errors on condition that in the previous k − 1 testing ∑k−1 stages i=1 ni errors were encountered and removed. It is easy to check that Lk ∑ Amk ( k−1 ∑ mk =0 ) ni , Lk −α ∑k−1 = [1−e i=1 ni −α ∑k−1 (1−r)+e i=1 ni (1−r)]Lk = 1 i=1 and Lk Lk ∑ ∑ pnk mk Amk nk =0 mk =0 = Lk ∑ mk =0 Amk ( k−1 ∑ ( k−1 ∑ ) ni Lk Amk mk =0 i=1 ) ni , Lk = Lk ∑ ( k−1 ∑ i=1 ni , Lk ) ∑ Lk pnk mk nk =0 = 1. i=1 The increase of the program reliability coefficient ∆r(S, P ) = r(S, P ) − r, as a result of testing phase realization according to the strategy S, is of the form: ∆r(S, P ) = (1 − r)(1 − A(S, P )), (26) where the quantity A(S, P ) is determined by (24). Let S ′ , S ′′ ∈ S denote the following program testing strategies: S ′ = (L, (l, l, · · · , l)), (27) L times S ′′ = (1, L). (28) It could be said that the above strategies S ′ and S ′′ are extreme forms of the testing strategy (1). In particular, if the testing strategy has the form S ′ than it means that in every testing stage the program under testing process is executed only once. Therefore, if the program execution encounters any fault it will be removed immediately, i.e. before next testing stage will be started. For the strategy S ′ becomes impossible to observe repeated appearances of faults in any testing stage. Thus this strategy is very profitable from point of view of potential increase the program reliability, but rather inefficient from economical aspect of the program testing process. 368 Modelling the software testing process If the testing strategy has the form S ′′ than it means that program testing phase consists of only one testing stage containing all tests. Obviously, this strategy is very attractive because of low cost of program testing process, but probably it would not guarantee the sufficient increase of the program reliability. If the strategies S ′ or S ′′ are used the formulae for program reliability coefficient r(S, P ) will take the simplified forms: ′ 1 ∑ ′ r(S , P )r(S ) = 1 − (1−) e−αn1 (1 − r)n1 r1−n1 n1 =0 1 ∑ e−αn2 [e−αn1 (1 − r)]n2 [1 − e−αn1 (1 − r)]1−n2 n2 =0 ... 1 ∑ e−αnK [e−α ∑K−1 m=1 nm (1 − r)]nK [1 − e−α ∑K−1 m=1 nm (1 − r)]1−nk nK =0 (29) and ′′ r(S , P ) = L ∑ n=0 −αn e L ∑ m=0 ( pnm L m ) (1 − r)m rL−m . (30) The main advantage of using the strategy S ′ consists in avoiding the possibility of encountering the same program error by different tests during individual testing stages. From one hand, it makes possible to increase in the effectiveness of the testing process that could me measured, for example, by a total number of encountered fault with relation to total number of tests, which were used in the testing process. From the other hand, the main disadvantage of this strategy is connected with its economic ineffectiveness because of both high cost and long duration of the testing process. Practical application of the strategy S ′′ can be connected with the effect of recapturing the same program errors by different tests during individual testing stages. Obviously, this effect can meaningfully decrease in the effectiveness of the testing process. In particular, if the program under the testing process has an incorrect instruction at the beginning of its source code then it is possible that all tests used in some testing stage will encounter the same program error, related to this incorrect instruction. Because of mentioned reasons, every practical testing strategy has character of some compromise between the strategies S ′ and S ′′ . Let P mean the set of all matrices that have form P , i.e: P = {P = [pnm ], n, m ∈ {0, 1, 2, . . .} : probabilities pnm meet constraints defined by (2) − (4)}, 369 K. Worwa where every individual program is characterized only by one characteristic matrix P ∈ P . Let P ∗ , P ∗∗ denote characteristic matrices of the program under the testing that have form: 1 0 0 ∗ P = 0 0 .. . 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 .. .. .. . . . ... ... ... , ... ... .. . P ∗∗ 1 0 0 = 0 0 .. . 0 1 0 0 0 .. . 0 1 0 0 0 .. . 0 1 0 0 1 .. . ... ... ... . ... ... .. . (31) It can be proved [23] that if P ∗ , P ∗∗ ∈ P are the matrices of the form (31) then ∆r(S, P ∗ ) = max ∆r(S, P ) (32) P ∈P and ∆r(S, P ∗∗ ) = min ∆r(S, P ). P ∈P (33) The dependencies (32) and (33) make possible to obtain the following evaluation of the program reliability coefficient value for any program testing strategy S ∈ S: r(S, P ∗∗ ) ≤ r(S, P ) ≤ r(S, P ∗ ). (34) Double inequality (34) is a direct conclusion from (32) and (33). This inequality enables to two-side rough estimate of the program reliability coefficient value after the finishing the program testing process, according to the testing strategy S. This estimate is better, i.e. more precise, than 0 ≤ r(S, P ) ≤ 1 and may be useful in situation when the probabilities pnm , that define the program characteristic matrix P , can not be determined in practice. 4. Evaluating the mean value of the number of errors encountered during the program testing process Substituting (22) into (14), we get the following expression for probability distribution of the total number of errors encountered during the program testing process, in accordance with the testing strategy S and the 370 Modelling the software testing process characteristic matrix P : P r{N (S, P ) = n} ∑ = P r{N1 (S) = n1 , N2 (S) = n2 , · · · , Nk (S) = nK } n1 +n2 +···+nK =n = K ∏ ∑ Ll ∑ pn1 m1 Am1 (∑ l−1 n1 +n2 +···+nK =n l=1 ml =0 (35) ) ni , L1 , n = 0, L(S) i=1 ) ( ∑l−1 where the quantities Am1 i=1 ni , L1 and L(S) are determined by (25) and (17), respectively. The knowledge of the probability distribution function (35) makes possible to obtain a formula for the mean value of the number of errors encountered during the program testing process according to the strategy S. We have ∑ L(S) E[N (S, P )] = nP r{N (S, P ) = n}, (36) n=0 and then, according to (35): ∑ ∑ L(S) E[N (S, P )] = n=0 = n L1 K ∑ ∏ pn1 m1 Am1 (∑ l−1 n1 +n2 +···+nK =n l=1 m1 =0 L1 ∑ L2 K ∑ ∑ ... k=1 n1 =0 n2 =0 LK ∑ nk nK =0 ) n i , L1 i=1 n1 K ∑ ∏ pn1 m1 Am1 l=1 m1 =0 (∑ l−1 ) n i , L1 . i=1 (37) The formula (37) will be simplified if the program characteristic matrix P is of the form (31), i.e.: E[N (S, P ∗ )] = (1 − r) K ∑ k=1 Lk L1 ∑ L2 ∑ ∑ Lk−1 ... n1 =0 n2 =0 −α ∑k−1 e nk−1 =0 i=1 ni k−1 ∏ l=1 A∗n1 (∑ l−1 ) ni , L1 , i=1 (38) and E[N (S, P ∗∗ )] = K ∑ 1 ∑ k=1 n1 =0 A∗∗ n1 (0, L1 ) . . . 1 ∑ nk−1 =0 A∗∗ nk−1 ( k−2 ∑ i=1 ) ( k−1 ) ∑ ∗∗ ni , Lk−1 A1 ni , Lk , i=1 (39) 371 K. Worwa where A∗n1 (∑ l−1 ) n i , L1 = [e−α ∑l−1 i=1 ni (1 − r)]n1 [1 − e−α ∑l−1 i=1 ni (1 − r)]L1 −n1 i=1 (40) and A∗∗ nk ( k−1 ∑ ) ni , Lk i=1 −α = {1 − [1 − e ∑k−1 ni (1 − r)] −α } {1 − e ∑k−1 ni (1 − r)}Lk (1−nk ) , (41) For example, if P = P ∗ and S = (2, (1, 1)), we will have i=1 Lk nk i−1 E[N (S, P ∗ )] = (1 − r)[1 + r + e−α (1 − r)]. In practice, the formula (37) for evaluating the mean value of the number of errors encountered during the program testing process can be used if the program characteristic matrix P is known. If the probabilities pnk mk , nk mk ∈ {0, 1, 2, . . . , Lk }, k = 1, K, are unknown, it is possible to determine the boundary values of this evaluation. Let P ∗ , P ∗∗ denote characteristic matrices of the program under the testing of forms (31). Then, as proved in [23], for both any program testing strategy S and any characteristic matrix P is: E[N (S, P ∗∗ )] ≤ E[N (S, P )] ≤ E[N (S, P ∗ )], (42) where the quantities E[N (S, P ∗ )] and E[N (S, P ∗∗ )] are determined by (38) and (39), respectively. 5. Conclusions In order to apply the methodology proposed in this paper, software run reliability data must be available. Compared to the amount of software reliability data reported in the literature, the amount of discrete-time software reliability data is rather limited in relation to continuous-time software reliability data, although some authors have published their own data. It is noteworthy that the parameters (including r, α and probabilities that form the characteristic matrix P ) of the presented in the paper program 372 Modelling the software testing process reliability-growth model can be evaluated by using a process known as life testing or statistical-usage testing, in which long-term behaviour of the software is observed and values of these parameters are estimated on the basis of the observations (see e.g. [6, 17]). Sensible estimation of the values such parameters as r, α and pnm requires a suitable data base of facts that contains information about similar former programs under testing. As far as the data base of facts is concerned, it is an important component of the software engineering. data base of facts maintenance is especially useful if a software development process is stable in a domain sense. The fundamental information that creates this data base of facts concerns the backgrounds, the circumstances, the reasons and the time of the program errors encounter. Detailed analysis of data included in the data base of facts enables better understanding mutual relations between the types of software and the amount of program errors encountered during development process. Such mathematical and statistical methods as regression analysis, variation analysis, least square method, maximum likelihood method etc. are the most popular for estimating the values of parameters that are commonly used in software reliability models. The practical usefulness of the parameter estimation methods mentioned above can be confirmed by the results of researches described in several papers (see e.g. [6, 13, 17]). References [1] S. Basu, N. Ebrahimi, Bayesian software reliability models based on martingale processes, Technometrics, Vol. 45, pp. 150–158, 2003. [2] K.Y. Cai, Towards a conceptual framework of software run reliability modeling, Information Science, Vol. 126, No. 6, pp. 137–163, 2000. [3] M. Chen, A.P. Mathur, V. Rego, Effect of testing techniques on software reliability estimates obtained using a time-domain model, IEEE Transactions on Reliability, Vol. 44, No. 1, pp. 97–103, 1995. [4] T.Y. Chen, Y.T. Yu, On the relationship between partition and random testing, IEEE Transactions on Software Engineering, Vol. 20, No. 12, pp. 977–980, 1994. [5] T.Y. Chen, Y.T. Yu, On the expected number of failures detected by subdomain testing and random testing, IEEE Transactions on Software Engineering, Vol. 22, No. 2, pp. 109–119, 1996. [6] R.H. Cobb, H.D. Mills, Engineering software under statistical quality control, IEEE Software, Vol. 16, pp. 44–54, 1990. 373 K. Worwa [7] A. Csenki, Bayes predictive analysis of a fundamental software reliability model, IEEE Transactions on Software Engineering, Vol. 39, No. 2, pp. 177–183, 1990. [8] O. Gaudoin, Software reliability models with two debugging rates, International Journal of Reliability, Vol. 6, No. 1, pp. 31–42, 1999. [9] Y. Hayakawa, G. Telfar, Mixed poisson-type processes with application in software reliability, Mathematical and Computer Modelling, Vol. 31, pp. 151–156, 2000. [10] Z. Jelinski, P.B. Moranda, Software Reliability Research, Statistical Computer Performance Evaluation, Academic Press, New York, 1972. [11] D.R. Jeske, H. Pham, On the maximum likelihood estimates for the Goel-Okumoto software reliability model, The American Statistician, Vol. 3, pp. 219–222, 2001. [12] E. Kit, Software testing in the real world, ACM Press Books, 1995. [13] J.D. Musa, A. Iannino, K. Okumoto, Software reliability. Measurement, prediction, application, McGraw-Hill, Inc., 1987. [14] K. Sawada, H. Sandoh, Continuous model for software reliability demonstration testing considering damage size of software failures, Mathematical and Computer Modelling, Vol. 31, pp. 321–326, 2000. [15] G.J. Schick, R.W. Wolverton, An Analysis of Competing Software Reliability Models, IEEE Transactions on Software Engineering, SE-4, No. 2, pp. 104–120, 1978. [16] M.L. Shooman, Probabilistic Models for Software Reliability Prediction, Statistical Computer Performance Evaluation. Academic Press, New York, 1972. [17] T.A. Thayer, M. Lipov, E.C. Nelson, Software reliability, North-Holland Publishing Company, Amsterdam, 1978. [18] K. Tokuno, S. Yamada, An imperfect debugging model with two types of hazard rates for software reliability measurement and assessment, Mathematical and Computer Modelling, Vol. 31, pp. 343–352, 2000. [19] M. Trachtenberg, A general theory of software reliability modeling, IEEE Transactions on Software Engineering, Vol. 39, No. 1, pp. 92–96, 1990. [20] J.A. Whittaker, K. Rekab, M.G. Thomason, A Markov chain model for predicting the reliability of multi-build software, Information and Software Technology, Vol. 42, pp. 889–894, 2000. [21] K. Worwa, Estimation of the program testing strategy. Part 1 – The same errors can be encountered, Cybernetics Research and Development, No. 3-4, pp. 155–173, 1995. 374 Modelling the software testing process [22] K. Worwa, Estimation of the program testing strategy. Part 2 – The same errors can not be encountered, Cybernetics Research and Development, No. 3-4, pp. 175–188, 1995. [23] K. Worwa, Modelling and estimation of software reliability growth during the testing process, Publishers of Warsaw Technical University, Warsaw (in Polish), 2000. [24] S. Yamada, T. Fujiwara, Testing-domain dependent software reliability growth models and their comparisons of goodness-of-fit, International Journal of Reliability, No. 3, pp. 205–218, 2001. [25] M.C. Yang, A. Chao, Reliability-estimation & stopping-rules for software testing, based on repeated appearances of bugs. IEEE Transactions on Reliability, Vol. 44, No. 2, pp. 315–321, 1995. [26] X. Zhang, H. Pham, Comparisons of nonhomogeneous Poisson process software reliability models and its applications, International Journal of Systems Science, No. 9, 2000, pp. 1115–1123. MODELOWANIE PROCESU TESTOWANIA OPROGRAMOWANIA Streszczenie. Przedmiotem zawartych w artykule rozważań jest modelowanie procesu testowania programu, ze szczególnym uwzględnieniem modelowania wzrostu niezawodności programu w procesie jego testowania. W rozpatrywanym modelu testowany program charakteryzowany jest za pomocą tzw. macierzy charakterystycznej programu. Na bazie skonstruowanego modelu wyprowadzona została zależność na wartość oczekiwaną liczby błędów, wykrycie których spodziewane jest w wyniku realizacji procesu testowania, realizowanego w oparciu o przyjętą strategię testowania. Otrzymana zależność może być wykorzystana w praktyce, jeżeli macierz charakterystyczna programu jest znana. Dla przypadku, gdy macierz ta nie jest znana skonstruowane zostało w artykule obustronne oszacowanie tej wartości oczekiwanej. Słowa kluczowe: testowanie oprogramowania, niezawodność oprogramowania, modele niezawodności oprogramowania. MODEL LABORATORYJNY DO BADAŃ FEDERACYJNYCH SYSTEMÓW CYBERBEZPIECZEŃSTWA Adam E. Patkowski Instytut Teleinformatyki i Automatyki Wydział Cybernetyki WAT [email protected] Streszczenie. W opracowaniu naszkicowano możliwości budowy najprostszego systemu obrony federacyjnej przed atakami DDoS. Przedstawiono również wybrane rozwiązania techniczne dla takiego systemu i zaprezentowano tani model laboratoryjny do badań jego właściwości oraz zachowania się. Adekwatność modelu osiągana jest dzięki wykorzystywaniu w badaniach, jako tła, ruchu sieciowego zarejestrowanego w reprezentatywnych lub docelowych sieciach. Wskazano możliwości badań z wykorzystaniem tego modelu i uzyskania odpowiedzi na pytania potencjalnych uczestników federacji. Słowa kluczowe: bezpieczeństwo, cyberatak, DoS, DDoS, domena, federacja, adaptacja, FoS, IDS, model. 1. Wstęp W WAT od dawna prowadzone są prace nad sposobami obrony przed cyberatakami wymierzonymi w systemy teleinformatyczne wojskowe1 , pewne systemy przemysłowe2 , czy ogólnie3 państwowe systemy tzw. infrastruktury krytycznej. Poszukiwano między innymi możliwości odpierania ataków prowadzących do odmowy usługi (Denial od Service – DoS lub rozproszonych ataków Distribted DoS – DDoS). W polu szczególnej uwagi znalazły się między innymi sposoby tworzenia dużych mechanizmów obronnych powstających z połączenia i współpracy systemów należących do różnych podmiotów. Intencją takiego połączenia – federacji systemów FoS (Federation of Systems) było osiągnięcie efektu synergii w cyberobronie. Istotną cechą łączącą członków FoS jest to, że są oni zwykle na siebie skazani – współpraca wynika z realizowanego zadania (w przypadku woj1 Program Badawczy Zamawiany Nr PBZ–MNiSW–DBO–02/I/2007 Zaawansowane metody i techniki tworzenia świadomości sytuacyjnej w działaniach sieciocentrycznych. 2 Projekt Rozwojowy DOBR/0074/R/ID 1/2012/03. System zapewnienia bezpiecznej komunikacji IP w obszarze zarządzania siecią elektroenergetyczną. BIPSE. 3 Projekt Rozwojowy Nr 0 R00 0125 11. System ochrony sieci teleinformatycznych przed działaniami nieuprawnionymi. SOPAS. A. E. Patkowski skowych systemów sprzęganych na potrzeby misji) lub po prostu z bezpośredniego sąsiedztwa systemów w topologii sieci. W przypadku systemów zabezpieczeń wejście do federacji wymaga zwykle rezygnacji w pewnym stopniu z własnej suwerenności w dziedzinie bezpieczeństwa na rzecz ogólnego bezpieczeństwa federacji. Wśród problemów związanych z implementacją obrony federacyjnej w polskiej cyberprzestrzeni, za główne trzeba uznać brak środków na podjęcie centralnie zarządzanego przedsięwzięcia budowania takiego systemu i brak regulacji prawnych, wymuszających włączenie się do niego niezależnych podmiotów gospodarczych. Nie ma zatem warunków, które pozwoliłyby utworzyć dużą federację obronną np. dla infrastruktury krytycznej. Potrzebne były rozwiązania prowadzące do osiągnięcia skutecznej wspólnej obrony, które z jednej strony byłyby tanie, a z drugiej nie wymagałyby znacznych zmian istniejących poszczególnych systemów obrony i zapewniałyby, że ich wprowadzenie nie obniży jakości usług sieciowych świadczonych przez każdy ze sfederowanych systemów. Inaczej mówiąc „przede wszystkim nie szkodzić”. Jedno z możliwych rozwiązań, sformułowanych w trakcie prowadzonych prac zdaje się być atrakcyjną pod względem biznesowym ofertą dla partnerów gospodarczych. O ile idea federacji systemów jest dość prosta, to odpowiedzi na pytania o skuteczność obrony oraz o zagrożenia negatywnym oddziaływaniem na procesy biznesowe właścicieli systemów nie są łatwe. W szczególności nie poddają się metodom analitycznym. Podjęto więc próby znalezienia metody badania skuteczności i wpływu wprowadzenia sfederalizowanej obrony na konkretne systemy. Główne problemy organizacyjne tworzenia federacji to uzgodnienia między uczestnikami dotyczące wzajemnych zobowiązań i ochrony interesów oraz czas zobowiązań. W [7] wskazano, że możliwe jest zabudowanie federacji do której łatwo przystąpić i ją opuścić, co więcej – możliwy jest stopniowy rozwój takiej organizacji. W niniejszym opracowaniu przedstawiono niektóre rozwiązania prostego systemu obrony federacyjnej pozbawionego centralnego zarządzania. W najprostszym przypadku taka federacja może powstać tylko dzięki dwustronnym umowom pomiędzy jej niektórymi członkami. Istotą jest sprowadzenie wzajemnych świadczeń federacyjnych do obsługi prostych „zleceń blokowania”. Taki system może stać się podstawą obrony przed atakami DDoS w skali kraju. Przedstawiono również możliwości i narzędzie – model laboratoryjny – do badania zachowania się takich systemów ochrony w warunkach zdalnych ataków. Badania za pomocą nagranego ruchu sieciowego w wybranych systemach można prowadzić bez ingerencji w systemy „produkcyjne” z zachowaniem należytej adekwatności. 378 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa 2. Domeny i odpieranie ataku DDoS Obecnie sieci telekomunikacyjne stanowiące infrastrukturę Internetu, stanowią połączenie wielu podsieci, których dysponentami (właścicielami i zarządcami) są różne podmioty. Ogólnie za zarządcę podsieci uznaje się podmiot, który legalnie ma prawo podejmować suwerenne decyzje wpływające na ruch sieciowy. Obszary podlegające administracji pojedynczego zarządcy/dysponenta dla których stosuje się wspólną politykę bezpieczeństwa nazwano domenami. Zarządca domeny zwykle realizuje własną koncepcję utrzymania bezpieczeństwa, dając lub zabraniając dostępu do zasobów informacyjnych oraz zezwalając lub blokując przepływ różnych informacji. Spisany zbiór ogólnych zasad służących z intencji podniesieniu bezpieczeństwa nazywa się polityką bezpieczeństwa. Szczegółowe zbiory zasad sformułowane w sformalizowanej postaci dla poszczególnych urządzeń nazywane są „policy”. W przypadku zapór sieciowych mówi się o „konfiguracjach” zawierających „reguły”. Zbiory zasad (czy reguł) tworzone są lokalnie w celu zapewnienia bezpieczeństwa interesom podmiotu właścicielskiego. Podmioty administrujące domenami zwykle niechętnie akceptują zasady lub reguły, których celem jest bezpieczeństwo obcych zasobów, obawiając się skutków ubocznych – niekorzystnego wpływu na własne bezpieczeństwo. Wiele podmiotów gospodarczych jest konkurentami na rynku i ma raczej motywację do walki niż współpracy. Zasoby informacyjne instytucji państwowych oraz ważnych dla życia publicznego organizacji często stają się celem ataków podejmowanych z różnych pobudek: politycznych, terrorystycznych, a także czysto komercyjnych. Szczególnie trudny do ochrony jest atrybut dostępności zasobów informacyjnych. Przyczyną są szerokie możliwości i łatwość wykonywania ataków przeciążeniowych, należących do klasy tak zwanych ataków prowadzących do odmowy usługi (tzw. DoS: Denial of Service). Najbardziej rozpowszechnionymi sposobami realizacji ataków DoS są ataki rozproszone Distributed Denial of Service (DDoS: [8], [4], [3], [10], liczne opisy można znaleźć w [12]). Przez atak informatyczny rozumie się celowe oddziaływanie napastnika na zasoby informacyjne ofiary prowadzące do negatywnych skutków dla interesów ofiary. Atakiem zdalnym, albo cyberatakiem nazywa się atak informatyczny, w którym medium takiego oddziaływania jest ruch sieciowy: dane przekazywane między urządzeniami teleinformatycznymi. Na Rys. 1 przedstawiono ilustrację przepływu ruchu sieciowego w trakcie ataków (np. rozproszonych ataków przeciążeniowych DDoS) prowadzonych ze stacji roboczych rozlokowanych w różnych domenach w Internecie (tzw. botnet) 379 A. E. Patkowski na komputer oznaczony Serwer C. W sieci występują również klienci usług świadczonych przez Serwer C. Można też wskazać domeny o różnych specjalnościach, np. domeny szkieletowe (Tier-1) lub hurtowych/regionalnych i detalicznych/lokalnych dostawców Internetu (Tier-2 i 3). Rysunek 1. Polskie i zagraniczne źródła wrogiego ruchu w ataku DDoS (na Serwer C) w domenach w Internecie Tradycyjnie te hierarchiczne połączenia wyobrażane są (jak na Rys. 1) jako rodzaj lasu, jednak w rzeczywistości są dużo bardziej skomplikowane, co wynika z tzw. połączeń tranzytowych między operatorami, połączeń peeringowych, oraz grupowania możliwości połączeń peeringowych w tzw. międzyoperatorskich punktach wymiany ruchu (IX). W przypadku ataków zdalnych interesująca jest znajomość tras, którymi wrogi ruch dociera od napastnika do celu ataku. Na szczęście efektywny, aktualny stan połączeń, czyli trasy między poszczególnymi lokalizacjami, można rozpoznać przeprowadzając badanie, np. za pomocą komendy traceroute. Traceroute odnotowuje jednak tylko urządzenia zmniejszające wartość pola „hops” w pakietach. Spośród przedstawionych na Rys. 2, w Polsce umiejscowione są routery leżące na „polskiej” trasie oraz tylko pierwszych sześć (od źródła „localhost” licząc) routerów na każdej z pozostałych tras. Niestety ten sposób (traceroute) identyfikowania połączeń i tras nie pozwala na rozpoznanie najbardziej interesującej cechy – rozmieszczenia filtrów sieciowych należących do poszczególnych domen. Przez filtry sieciowe 380 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa rozumie się wszelkie urządzenia przekazujące ruch sieciowy zdolne do selekcji tego ruchu. Interesujące są urządzenia filtrujące w warstwie trzeciej (L3 modelu ISO/OSI), w tym także listy ACL routerów i routery realizujące tzw. „blackholing”. Rysunek 2. Trasy z localhost” do wybranych lokalizacji wyznaczone za pomocą traceroute: Hongkong, New world telecom (http://www.nwtgigalink.com/lg.html) 203.98.129.6; USA, Level 3 Communications (http://vger.kernel.org/traceroute.html) 209.132.180.67; Anglia, Cerberus Networks Ltd. (http://www.erik.co.uk/lg/) 46.37.33.143; Rosja, TeliaSonera (http://lg.telia.ru/) 81.228.10.74; RPA, TruTeq Wireless (http://services.truteq.com/) 160.124.109.65; Polska, Home.pl (https://home.pl/test) 212.85.96.1 Na Rys. 3 przedstawiono model połączeń międzydomenowych w sieci Internet, zredukowany do elementów interesujących z punktu widzenia obrony federacyjnej pewnego serwera w sieci. Zgodnie z ideą opisaną w [6] wynikającą z założeń obrony przed atakami DDoS, wykrywać ataki trzeba jak najbliżej celu, zaś odpierać je – filtrując ruch – należy jak najdalej od celu. Ten efekt odległego filtrowania, o nazwie „pushback”4 jest szczególnie ważny w przypadku ataków przeciążeniowych na łącza (nastawionych na tzw. wysycanie pasma). Podkreślić należy, że w dobie powszechnego wykorzystania połączeń SSL (czy TLS) symptomy większości ataków można rozpoznać dopiero w pobliżu celu, gdy pakiety opuszczą już tunel kryptograficzny. Idea odpierania ataków DDoS dla federacji narodowych zmierza ponadto do tego, by blokowanie ruchu sieciowego adresowanego do atakowanego serwera odbywało się na granicach obszaru wewnątrz którego znaj4 W [10] zaproponowano tę nazwę w 2011 r. prezentując koncepcję podobną do rozwijanej w pracach WAT od 2009 r. ([2], potem [5] itp.). 381 A. E. Patkowski duje się większość jego klientów. Większość napastników powinna znajdować poza zaporami. Zakłada się wówczas, że federacja jest podobszarem sieci, w którym znajduje się większość klientów chronionych usług. W razie ataku DDoS na cyberprzestrzeń kraju zapewne większość atakujących komputerów będzie poza granicami geograficznymi i poza tą cyberprzestrzenią rozumianą jako domeny zarządzane przez podmioty prowadzące działalność gospodarczą w Polsce. Dla skutecznego odpierania ataku DDoS nie trzeba blokować całego wrogiego ruchu – wystarczy wyciąć go tylko na tyle, aby zniknęło zjawisko przeciążania, tzn. by miara dostępności atakowanych usług osiągnęła minimalną akceptowalną wartość. W systemie obrony rozpoznawanie ataku odbywa się w pobliżu celu ataku, z wykorzystaniem mechanizmów wykrywania ataków (IDS) pracujących m.in. w warstwie aplikacji serwera. W niniejszym opracowaniu pomija się rozwiązania tych mechanizmów, przyjmując tylko, że na ich wyjściu generowane są reguły dynamiczne z warunkami określanymi dla protokołów w warstwie L3. Te dynamiczne reguły wysyłane są do odległych zapór, na których zachodzić będzie blokowanie ruchu. Np. wykrycie ataku z jakiegoś adresu IP może spowodować wygenerowanie reguły nakazującej blokować pakiety nadchodzące z tego adresu. Przez regułę rozumie się tu pojedynczą implikację „warunek → reakcja” stanowiącą element tzw. zbioru konfiguracji zapory sieciowej. Konfiguracja jest uporządkowanym zbiorem zadanych reguł. Filtrowanie jednostek ruchu sieciowego (w warstwie L3 – pakietów) polega na sprawdzaniu dla każdej nadchodzącej jednostki kolejnych reguł z konfiguracji. Jeśli któryś z nich jest spełniony, to zostaje zastosowana „reakcja” i sprawdzanie kończy się. Reakcja w dynamicznych regułach generowanych przez IDS to zawsze „drop”, czyli zaniechanie przekazania pakietu na interfejs wyjściowy zapory (zablokowanie). Zaznaczyć należy, że to krótkie przypomnienie jest znacznym uproszczeniem i pomija np. oddzielne konfiguracje stosowane dla każdego z interfejsów (zob. [15]). Pomimo, że środki i sposoby realizacji zaznaczonych na Rys. 3 urządzeń realizujących funkcje generowania reguł nie są tu rozważane, można zasygnalizować, że w ostatecznym przypadku, gdy nie udaje się zidentyfikować ruchu stanowiącego medium ataku a stwierdzono nagłe załamanie się zdolności świadczenia usługi przez serwer można: — wygenerować reguły blokujące ruch z adresów IP wszystkich nadawców pakietów, które dotarły do serwera w ostatnim czasie przed załamaniem; zabieg ten nie będzie skuteczny w przypadku ataków z fałszowaniem adresu nadawcy (spoofing, np. w ataku SYNflood) lub ataków ruchem odbitym (reflected attacks); 382 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa Rysunek 3. Model poglądowy tras wrogiego ruchu do celu ataku przez zapory poszczególnych domen — albo wysłać regułę blokującą cały ruch do atakowanej usługi na serwerze niezależnie od adresu nadawcy. W tym ostatnim przypadku sukces zostanie osiągnięty, jeżeli napastnicy są zlokalizowani głównie poza granicą federacji – blokada nie będzie przeszkadzać klientom wewnątrz FoS. Ceną odparcia ataku będzie odcięcie od usług klientów zlokalizowanych w topologii sieci poza federacją. Reguły służące do odpierania ataku DDoS przestają być potrzebne po zakończeniu tego ataku. Ogólnie: reguły dynamiczne powinny być szybko aplikowalne i szybko usuwalne. Pewne komplikacje pojawiają się w przypadku ataków o zmiennym natężeniu wrogiego ruchu. 3. Samoadaptująca się konfiguracja zapory Dla osiągnięcia efektu odsuwania (pushback) filtrowania w domenach skuteczne może okazać się zastosowanie mechanizmu samoadaptującego. Może on polegać na wyłączaniu z konfiguracji zapory tych reguł dynamicz383 A. E. Patkowski nych, których częstość stosowania spadnie poniżej pewnej zadanej wartości progowej. W najprostszej realizacji – gdy w pewnym ustalonym czasie reguła nie zostanie zastosowana ani razu. Przez „zastosowanie reguły” rozumie się wykrycie w ruchu sieciowym informacji spełniającej warunek reguły. To „zastosowanie” każdej reguły może być zliczane a wartość licznika może stanowić podstawę do automatycznego usuwania reguły z zapory. W efekcie reguła znajduje się w konfiguracji zapory tylko tak długo, jak długo na jej podstawie odrzucane są pakiety. Inaczej mówiąc – reguła sama znika z konfiguracji, gdy przestaje być używana. Ten sposób działania ma kilka istotnych zalet: 1. Nie wymaga centralnego sterowania. 2. Zapewnia samoistne zniknięcie reguł, które nie są już potrzebne, bez potrzeby ich odwoływania. 3. Pozwala wykorzystać już istniejące zapory. 4. Pozwala na zachowanie wszystkich dotychczasowych lokalnych reguł (zasad bezpieczeństwa) w tych zaporach i autonomii w decyzjach o zakresie reguł akceptowanych z zewnątrz. Lokalne reguły zapór nie kolidują z regułami dynamicznymi. 5. Daje możliwość stopniowego dołączania (i odłączania) kolejnych podsieci do systemu. 6. Nie wymaga dodatkowych, poza licznikami, mechanizmów oceny efektywności poszczególnych reguł. Dla sprawdzenia rozwiązania zapory z samoistnym wyłączaniem nieużywanych reguł wybrano system Vyatta ([18]) w wersjach 6.2 i 6.5 (por. [13]). Do tego badania okazał się on całkowicie wystarczający, pomimo zatrzymania jego rozwoju i zamknięciu kodu po przejęciu projektu Vyatta przez firmę Brocade w listopadzie 2012 roku ([20], [11]). W dalszych pracach zapewne bazowym systemem będzie VyOS ([19]) – bezpłatne otwartoźródłowe oprogramowanie z funkcją routera, zbudowane na podstawie Debian Linux. Na Rys. 4 zaprezentowano ogólne algorytmy działań realizowanych przez system zapory po nadejściu nowej reguły (A: zmiana konfiguracji), po nadejściu kolejnego pakietu (B: sprawdzanie reguł) oraz wykonywanego co pewien czas sprawdzania, czy reguły dynamiczne są używane (C: usuwanie nieużywanych reguł). W przypadku testowanego systemu Vyatta naszkicowany na Rys. 4 algorytm B realizowany jest przez standardowe mechanizmy zliczania spełnień warunku każdej z reguł. Nie wymaga dodatkowego oprogramowania. 384 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa Rysunek 4. Przykład związanych z dynamicznymi regułami algorytmów zapory: A – akceptacja nowych reguł; B – sprawdzanie pakietu; C – okresowe badanie aktualności reguł Wartości takich dopasowań można poznać, wpisując komendę z konsoli Vyatta: show firewall name FW0 statistics (gdzie FW0 jest identyfikatorem konfiguracji). Odpowiedź składa się z kolejnych wierszy, każdy dla jednej reguły, gdzie pierwsza liczba w wierszu jest numerem reguły, zaś druga stanowi wartość licznika zastosowań tej reguły. Podobne mechanizmy nie są jakąś szczególną właściwością Vyatta – są udostępniane przez większość urządzeń z listami ACL, ponieważ są wbudowane w iptables. Wywołanie iptables z opcją „-nvL” udostępnia liczniki trafień dla każdej z reguł. Algorytm A wymaga oprogramowania lokalnego w tych implementacjach, w których wymagane jest badanie akceptowalności, w przeciwnym (także i w testowanym) przypadku za jego realizację wystarczą komendy dopisania nowej reguły wydana w połączeniu SSH. Przez „dołączenie do konfiguracji” należy w takim wypadku rozumieć wprowadzenie reguły do zbioru konfiguracyjnego oraz reorganizację porządku reguł w razie potrzeby. W przypadku Vyatta algorytm A powinien zarządzać również nadawaniem numerów regułom; dla reguł dynamicznych zastosowano numery od 385 A. E. Patkowski 1 do 999, ostatnią regułą jest automatyczna reguła 10000 (z reakcją „drop all); na czas testów wprowadzono regułę o numerze 9999 („accept all”). Algorytm C w testowanych systemach Vyatta wymaga na wstępie włączenia nieskończonej pętli sprawdzania liczników. Ponieważ nie ma specjalnych wymagań czasowych tę operację, nie ma potrzeby budowania specjalnego oprogramowania – wystarczą proste rozwiązania skryptowe. Do testów użyto trzech skryptów: kwant.sh #!/bin/vbash # twhile [ 1 ]; do cat kwant.cmd | ssh -t -t vyatta@localhost sleep 15 #sleep 360s done kwant.cmd show firewall name FW0 statistics | ./sc.sh clear firewall name FW0 counters exit sc.sh #!/bin/vbash #wywolanie: show firewall name FW0 statistics | ./ten skrypt.sh read x y z /opt/vyatta/sbin/vyatta-cfg-cmd-wrapper begin while [ "$x" != "9999" -a "$x" != "10000" ] do # echo "regula $x pakietow $y" if [ $x -eq $x 2>/dev/null ] then if [ ! -z $x ] then if [ $y == "0" ] then 386 #czy liczba (ign. komunikat err) #czy nie pusty ciag #czy zerowy licznik Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa echo "regula $x pakietow $y" #log: usuniecie \ reguly /opt/vyatta/sbin/vyatta-cfg-cmd-wrapper delete firewall name FW0 rule $x fi fi fi read x y z done /opt/vyatta/sbin/vyatta-cfg-cmd-wrapper commit /opt/vyatta/sbin/vyatta-cfg-cmd-wrapper end \ Należy podkreślić, że przedstawiony sposób realizacji algorytmu C, w postaci skryptów symulujących ręczne wydawanie komend przez połączenie SSH, jest co najmniej mało elegancki, ale za to łatwy w realizacji i dobrze ilustrujący ideę działania. Najmniej rozrzutnym funkcjonalnie rozwiązaniem, nie angażującym warstw pośrednich oprogramowania, wydaje się wykonanie oprogramowania bezpośrednio współpracującego z aplikacją iptables lub wręcz z frameworkiem netfilter ([15]). W przedstawionym modelu nie uwzględniono środków zapewniających ochronę interesów właściciela zapory przed negatywnymi skutkami przyjęcia „złych” reguł (w algorytmie A). Nie jest to skomplikowany problem – reguły są proste i poddające się sprawdzaniu. Każda nadesłana reguła może być poddana weryfikacji. Zapewne wystarczy sprawdzenie, czy z pewnością oddziaływanie reguły jest ograniczone do wpływania tylko na ruch, którego jedną ze stron (identyfikowaną przez adres źródłowy lub docelowy) jest zleceniodawca reguły. Nie należy oczywiście zapominać o sprawdzeniach syntaktycznych reguł, sprawdzeniach, czy identyczna reguła już nie istnieje lub czy liczba reguł dynamicznych nie osiągnęła dopuszczalnej ze względu na wydajność wartości. Zmiany wartości interwału czasowego (w kwant.sh; w przykładzie ustawiony na 15 sekund) dają możliwość zmian minimalnej częstości zastosowań, przy której reguły są usuwane, a pośrednio ograniczania liczby obecnych w konfiguracji reguł dynamicznych. Sprawdzanie funkcjonalne opisanych tu mechanizmów zrealizowano w przygotowanym modelu laboratoryjnym prostych systemów zapór FoS. 4. Model laboratoryjny systemu zapór FoS Na potrzeby badania rozwiązań rozwojowych systemów FoS dla konkretnych środowisk zbudowano zestaw testowy wykorzystując maszyny wirtualne w systemie VMWare Workstation. Na Rys. 5 przedstawiono model 387 A. E. Patkowski laboratoryjny systemu FoS, w którym można sprawdzać zachowanie od jednej do trzech zapór takiego systemu, a także budowanych urządzeń IDS i IIdS. Na Rys. 5 badane zapory to systemy Vyatta ([18]) – jeden pracujący w trybie „bridge”, drugi w trybie „firewall” z dodatkowymi usługami. Po odłączeniu Vyatta firewall i przełącznika Net3 można, wykorzystując połączenia zaznaczone linią przerywaną, badać pojedynczą zaporę (Vyatta bridge). Wszystkie trzy zapory wykorzystano dotąd tylko przy sprawdzaniu, czy zachodzi efekt pushback, przy wprowadzeniu do wszystkich zapór reguł blokowania ruchu wysyłanego z komputerów oznaczonych na Rys. 5 jako „Windows klient” do „Windows serwer”. Nie badano jeszcze żadnych rozwiązań IIdS (Intruder Identification System – systemu identyfikującego ataki we współpracy z serwerem). Jako IDS (Intrusion Detection System) rozważano zaadaptowany system Snort [16]. Rysunek 5. Schemat modelu laboratoryjnego do testów połączeń szeregowych domen Bardzo ważną rolę w docelowych badaniach efektywności FoS pełni generator ruchu pokazany na Rys. 5. O ile ruch testowy, symulujący ataki generowany będzie z któregoś z komputerów oznaczonych jako „Windows klient” (można na nich w razie potrzeby używać zarówno Windows, jak i Linuxa), o tyle ruch sieciowy stanowiący tło ataku powinien odpowiadać naturalnemu, reprezentatywnemu ruchowi w docelowym środowisku. Ma to szczególne znaczenie dla badań nad mechanizmami wykrywania ataków i generowania reguł (IDS i IIdS na rysunku). Ta możliwość jest również ważna w przypadku zapór działających z analizą stanu (stateful). 388 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa Dla zapewnienia adekwatności ruchu generowanego do ruchu oczekiwanego w warunkach rzeczywistych, zaproponowano wykorzystanie zapisu rzeczywistego ruchu zarejestrowanego w odpowiednich punktach obserwacji w docelowym (lub reprezentatywnym wzorcowym) systemie. Sposób pozyskiwania i odtwarzania zapisu ruchu jest technicznie nieskomplikowany i został przedstawiony na Rys. 6 i Rys. 7 odpowiednio. Rysunek 6. Nagrywanie ruchu sieciowego z wykorzystaniem A – huba, B – TAPa, C – routera Urządzenie rejestrujące powinno być przyłączone do „zewnętrznego”, a zatem bardziej odległego od obiektów chronionych, interfejsu zapory sieciowej. Preferowane jest użycie TAPa – neutralnego urządzenia zdejmującego cały ruch sieciowy do rejestracji. Możliwe jest także wykorzystanie właściwości niektórych przełączników (switchów) pozwalających na przekierowanie kopii całego obsługiwanego ruchu sieciowego na tzw. port monitorujący. Na Rys. 6 nie uwzględniono metody zapisu ruchu z portu monitorującego – ten sposób może prowadzić utraty pakietów w momentach szczytowych natężeń ruchu. Dla ilustracji na Rys. 8 przedstawiono pulpit komputera (z systemem BackTrack5 ) pełniącego rolę generatora ruchu. Jego dwa interfejsy przekazują odtwarzany ruch sieciowy do interfejsów badanego obiektu. Wykorzystano uniwersalne narzędzia uniksowej biblioteki Pcap [17]. Odtwarzany za 5 Od 2014 r. Kali Linux. 389 A. E. Patkowski Rysunek 7. Badania z użyciem zapisu ruchu sieciowego: A – jako ruchu testowego; B – jako tła dla ruchu testowego pomocą programu TCPreplay ruch został wcześniej zapisany za pomocą TCPdump w sieci dydaktycznej jednej z wyższych uczelni warszawskich6 . Zapis rozdzielono na zapisy poszczególnych interfejsów za pomocą programu TCPprep zapewniając, że pakiety zarejestrowane z linii Tx i Rx zostaną podane na właściwe interfejsy badanego obiektu przybywając doń z odpowiednich kierunków (zob. [17] i [21]). Na pulpicie pokazanym na Rys. 8 widoczne są dwa okna – dwóch pracujących instancji programu Etherape ([14]). Każda z nich zobrazowuje pakiety widoczne na jednym z interfejsów, zarówno wchodzące, jak i wychodzące. Program Etherape zobrazowuje każdy docierający do interfejsu pakiet w postaci odcinka łączącego dwa punkty na okręgu, przy każdym z punktów zapisywany jest adres (celu albo źródła); barwa odcinka i napisów zależy od protokołu (legenda znajduje się na lewej krawędzi okna) zaś grubość odcinka zależy od objętości przesyłanych danych. Włączenie rejestracji za pomocą TCPdump w badanym obiekcie (Rys. 7) pozwala na sprawdzenie poprawności odtwarzania – np. za pomocą liczby nadchodzących pakietów. Badanie wykazuje oczywiście zupełną zgodność z liczbą pakietów w odtwarzanym pliku zapisu ruchu. 6 390 Wyższa Szkoła Informatyki Stosowanej i Zarządzania. Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa Rysunek 8. Zobrazowanie odtwarzanego zapisu ruchu sieciowego 5. Użyteczność modelu Przedstawiony model laboratoryjny pozwolił zweryfikować wnioski o skuteczności uzyskiwania efektu „pushback” i możliwości automatycznego, stopniowego, adaptującego się do siły i przenikalności ataku, odcinania stref sieci. Model używany w badaniach jest adekwatny do środowisk sieciowych i panujących w nich warunków w miejscu i czasie rejestracji ruchu do badań. Po zebraniu zapisów ruchu sieciowego na „ścieżkach podejścia” od najdalszych osiągalnych w praktyce zapór do chronionego obiektu, można dokonać rzetelnej oceny skutków budowania rozproszonego systemu cyberobrony federacyjnej. Ocena ta pozwoli uzyskać odpowiedzi na pytania interesujące właściciela chronionych obiektów – czy wzięcie udziału w federacji będzie opłacalne i w jakich sytuacjach (głównie dla jakich ataków) obrona FoS może zawieść. W niniejszym opracowaniu tylko zaznaczono bardzo ważny element zwalczania ataków, jakim jest IDS i/lub IIdS. To te mechanizmy służą do rozpoznawania ataków i generowania niskopoziomowych (w rozumieniu modelu ISO/OSI) dynamicznych reguł dla odległych zapór FoS. W modelu przedstawionym na Rys. 5 można prowadzić badania zachowania się takich 391 A. E. Patkowski urządzeń. Model pozwala na badania rozpoznawania różnych zdalnych ataków na tle rzeczywistego ruchu zarejestrowanego w różnych środowiskach. Odpowiedzi na pytania interesujące właściciela ochranianych zasobów mogą być mało użyteczne na potrzeby rozwiania wątpliwości właścicieli domen i zapór pośrednich. Ponieważ będą to zwykle dostawcy Internetu (detaliczni lub hurtowi), dla nich najważniejsze będzie utrzymanie poziomu zapewnianych usług i jak najmniejsze odchylenia od rutyny. Inżynierowie zwykle jak ognia unikają zmiany w działających środowiskach, szczególnie, gdy ich wymagana dostępność musi przekraczać 99,5%. Zasadniczym pytaniem właściciela odległej domeny jest pytanie, czy wprowadzenie „obcych” reguł w jego zaporach lub wręcz cudzych zapór nie spowoduje dostrzegalnych zmian w działaniu okolicznych systemów. W szczególności dysponenta zapory sieciowej interesuje, czy przyjęcie dynamicznych reguł do realizacji nie wpłynie negatywnie na inne rodzaje przekazywanego ruchu. Lub czy taka możliwość w ogóle występuje. W opisywanym modelu badanie neutralności wprowadzanych zmian jest możliwe – wymaga tylko posiadania zapisu reprezentatywnego ruchu w punkcie instalacji zapory. Idea badania jest stosunkowo prosta i polega na rejestrowaniu na wyjściu systemu zapór (np. w komputerze oznaczonym na Rys. 5 jako IDS) charakterystyk ilościowych ruchu: zliczeniu pakietów poszczególnych typów docierających do miejsca pomiaru podczas odtwarzania zapisu. Porównywanie wartości takiego wektora wyznaczonej dla przebiegu bez użycia dynamicznych reguł (wzorcowego) z wartością otrzymaną podczas przebiegu z badanymi regułami pozwala formułować wnioski dotyczące neutralności wprowadzania tych reguł. Można wyobrazić sobie również badanie neutralności zbliżone do idei „fuzzingu mutacyjnego” znanej z testów bezpieczeństwa oprogramowania czy testów penetracyjnych – polegające na powtarzaniu badania z licznymi, różnymi kombinacjami reguł dynamicznych, nawet pozbawionymi sensownego celu. Jeśli podczas któregoś z takich badań wystąpi nietypowe zachowanie, następuje analiza jego przyczyn. Z punktu widzenia właściciela zapory groźbę stanowi także zwiększenie liczby reguł, co może prowadzić do przeciążenia zapory i co najmniej zwiększyć opóźnienia w ruchu sieciowym i ich fluktuację (tzw. jitter). Co prawda wykorzystywany w przedstawianym modelu laboratoryjnym program TCPreplay pozwala na odtwarzanie ruchu sieciowego z zachowaniem chronologii pakietów z dużą dokładnością, to jednak nieznany jest wpływ i zakłócenia czasowe wynikające z pracy w środowisku maszyn wirtualnych. Ocena tego wpływu nie została dotąd wykonana. 392 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa 6. Uwagi końcowe Zbudowanie modelu zgodnie z Rys. 5 i wykonanie prób z generowaniem ruchu testowego pozwoliło na praktyczne potwierdzenie efektu „pushback” w zaporach sieciowych współpracujących w ramach federacji domen. Potwierdzono również inne przesłanki stanowiące podstawy rozwiązania proponowanego w [6]. Powstały z wykorzystaniem środowiska maszyn wirtualnych model laboratoryjny stanowi tanie i łatwe w obsłudze narzędzie do różnych badań, może zostać wykorzystany do: — sprawdzenia skutków przyłączenia się do federacji dla kolejnych podmiotów-dysponentów domen; — badania zdalnych ataków i obrony przed nimi w warunkach rzeczywistego ruchu sieciowego; — badania skuteczności rozwiązań służących do wykrywania ataków (IDS). Problemem w prowadzeniu badań jest możliwość pozyskiwania i wykorzystania zapisów ruchu sieciowego. Właściciele sieci komputerowych bardzo niechętnie godzą się na rejestrację ruchu i udostępnianie zapisów obcym podmiotom nawet na potrzeby badań przez nich zleconych. A już w żadnym wypadku nie pozwalają na zachowywanie tych zapisów, ani na użycie ich w innych badaniach. Jest to wynikiem obawy o wrażliwe informacje, które być może znajdują się w zapisach i mogłyby być z nich wydobyte. Formalnie odmowy motywowane są obowiązującą „polityką bezpieczeństwa informacji”. Wnioski z budowy modelu potwierdzają leżące w obszarze rozwiązań technicznych cechy federacji przedstawionej w [6], która: 1. Nie wymaga centralnego sterowania. 2. Pozwala wykorzystać już istniejące urządzenia lub łatwo dodać proste konstrukcje. 3. Zapewnia automatyczne odsuwanie filtrowania tak daleko od celu ataku, jak to możliwe. Prostota tych rozwiązań pozwala spodziewać się cech tej propozycji istotnych ze względów organizacyjnych: 4. Pozwala zarządcy każdej domeny i zapory na zachowanie lokalnych reguł (zasad bezpieczeństwa) w podsieciach i autonomii w decyzjach o zakresie reguł akceptowanych z zewnątrz. 5. Nie wymaga wielostronnych uzgodnień – między dysponentem domeny zawierającej potencjalny cel ataku, a dysponentem każdej z zapór sieciowych, która ma być używana w FoS powinna zostać nawiązana 393 A. E. Patkowski umowa dotycząca zlecania reguł. Dysponent zapory udostępnia mechanizm przyjmujący żądania przyjęcia reguł od dysponenta serwera (a właściwie z jego IDS lub IIdS) i wprowadza je do konfiguracji zapory. 6. Daje możliwość stopniowego dołączania (i odłączania) kolejnych domen i podsieci. Dołączenie kolejnej zapory lub jej wycofanie z użytku federacji nie wpływa na innych uczestników federacji poza stronami związanych z tą zaporą umów, nie wprowadza więc dodatkowych biurokratycznych lub prawnych komplikacji. Podkreślić należy, że zbiór dwustronnych umów już prowadzi do powstania federacji systemów należących do stron tych umów. Nie zamyka to drogi do wprowadzania innych mechanizmów ochronnych, wspólnego sterowania, centralnej dystrybucji najnowszych sygnatur ataków itd. Minimalnym środkiem do uniknięcia sporów między stronami jest przestrzeganie „zasady własnego ruchu” polegającej na tym, że reguły pochodzące od podmiotu X mogą powodować blokowanie wyłącznie takiego ruchu, który jest generowany z pul adresów należących do X albo jest adresowany do adresów należących do pul adresów, których właścicielem jest X. To, przy odpornym na podszywanie i niezaprzeczalnym protokole przekazywania reguł, wyłącza odpowiedzialność pośrednika - dysponenta zapory, gdyż blokowanie ruchu następuje przez realizację prawa jednej ze stron, której to realizacji pośrednik jest tylko wykonawcą. Możliwe są inne, bardziej rozbudowane modele współpracy federacyjnej, w których dopuszczalne jest generowanie reguł w imieniu i na potrzeby innych podmiotów – bez przestrzegania zasady własnego ruchu. W niniejszym opracowaniu rozważano jednak tylko najprostszy model. Konkluzją ogólniejszej natury jest spostrzeżenie, że popularne stwierdzenie „W Internecie nie ma granic” jest fałszywe. Po prostu jeszcze nie ma jeszcze wspólnej „CyberStraży” Granicznej. Literatura [1] AC/322 – D(2007)0050 – AS1 Report of the Examination of the lessons learned from the recent Cyber Attacks, 02 październik 2007. [2] M. Amanowicz, A.E. Patkowski, Zaawansowane metody i techniki tworzenia świadomości sytuacyjnej w systemach sieciocentrycznych. Metody i techniki ochrony systemu przed działaniami nieuprawnionymi (Cyber Defence), Opis zadania badawczego nr 12203. WIŁ 2009. 394 Model laboratoryjny do badań federacyjnych systemów cyberbezpieczeństwa [3] CISCO, Defeating DDOS Attacks, CISCO White Papers, CISCO 2004. [4] Four Steps to Defeat a DDoS Attack, Imperva White Paper, Imperva 2011. [5] A.E. Patkowski, Specyfikacja mechanizmów wykrywania działań nieuprawnionych typu DDoS oraz sposobów reagowania na nie w środowisku federacyjnym, Sprawozdanie z realizacji zadania projektu rozwojowego Nr 0 R00 0125 11: System ochrony sieci teleinformatycznych przed działaniami nieuprawnionymi, WIŁ 2011. [6] A.E Patkowski, Cyber Defence – rozproszona obrona przed atakami DDoS, Biuletyn Instytutu Automatyki i Robotyki nr 31, str. 3–15, Warszawa 2011. [7] A.E. Patkowski, Obrona federacyjna cyberprzestrzeni przed atakami terrorystycznymi, W: ”Terroryzm a bezpieczeństwo państwa w erze globalizmu”, red.: Jakubczak R., Radziejowski R. WAT, Warszawa 2011. [8] C. Patrikakis, M. Masikos, O. Zouraraki, Distributed Denial of Service Attacks, The Internet Protocol Journal”, Vol. 7, No. 4, CISCO, December 2004. [9] R. Mahajan, S.M. Bellovin, S. Floyd, J. Ioannidis, V. Paxson, and S. Shenker, Controlling High Bandwidth Aggregates in the Network, ACM SIGCOMM Computer Communication Review. Volume 32 Issue 3, July 2002. [10] T.H. Nguyen, C.T. Doan, V.Q. Nguyen, T.H.T. Nguyen, and M.P. Doan, Distributed defense of distributed DoS using pushback and communicate mechanism, In Advanced Technologies for Communications (ATC), 2011 4th International Conference on, pages 178–182, 2011. [11] Brocade – Network Provider for Data Centers Everywhere, http://www.brocade.com/ [12] Common Attack Pattern Enumeration and Classification, CAPEC List, http://capec.mitre.org/data/index.html The MITRE Corporation. [13] DistroWatch.com: Vyatta, http://distrowatch.com/table.php?distribution=vyatta [14] Etherape. A graphical network monitor, http://etherape.sourceforge.net/ [15] netfilter. firewalling, NAT, and packet manglingfor linux, http://www.netfilter.org/ c Users Manual 2.9.7, The Snort Project, October 13, 2014, [16] SNORT⃝ http://www.snort.org 395 A. E. Patkowski [17] Tcpreplay tcpprep, tcpreplay, tcprewrite, tcpbridge, flowreplay. Pcap editing & replay tools for *NIX, http://tcpreplay.synfin.net [18] VYATTA. The easy tutorial, WWW.OPENMANIAK.COM, http://openmaniak.com/vyatta.php [19] Vyos, http://vyos.net/wiki/Main Page [20] Washi: VyOS – otwartoźródłowy fork Vyatta Core, http://www.virtual-it.pl/5209-vyos-otwartozrodlowy-fork-vyattacore.html. Virtual-IT.pl. 13.09.2014. [21] XModulo. Linux FAQs, tips and tutorials, http://xmodulo.com/how-to-capture-and-replay-network-traffic-onlinux.html A LABORATORY MODEL FOR STUDYING FEDERATIONS OF CYBER DEFENSE SYSTEMS Abstract. The paper outlines the possibility of building the simplest federal defense system against DDoS attacks. It also presents some technical solutions of such a system and presents a not expensive laboratory model for testing its properties and behavior. The adequacy of the model is achieved by using in research a network traffic which has been registered in representative (or target) networks. Some possibilities of tests and to get answers to questions of potential federation participants were indicated. Keywords: security, cyber attack, DoS, DDoS, domain, federation, adaptation, FoS, IDS, model. NATO IN THE NEW STRATEGIC ENVIRONMENT: CYBER ATTACKS NOW COVERED BY ARTICLE 5 OF THE NORTH ATLANTIC TREATY Grzegorz Kostrzewa-Zorbas Institute of Organisation and Management, Faculty of Cybernetics, Military University of Technology, Warsaw, Poland Abstract. The greatest change ever in the defence policy and military strategy of the North Atlantic Treaty Organisation occurred in 2014 in response to a series of major cyber attacks against NATO member states and partner states - Estonia in 2007, the United States and Georgia in 2008, and others in later years - and to a general transformation of the security environment in which cyberwar and other threats to cybersecurity gain rapidly in importance. At the 2014 Wales Summit, NATO recognised that cyber defence is part of its central task of collective defence and that Article 5 of the North Atlantic Treaty - ”The Parties agree that an armed attack against one or more of them in Europe or North America shall be considered an attack against them all . . .” - can be invoked in the case of cyber attacks. This statement is the first and only expansion of the meaning of Article 5 and the first and only addition of a new type of warfare to the policy and strategy of NATO. After the change, the Alliance must face new challenges not less urgent and difficult than the old ones of kinetic warfare or weapons of mass destruction. This article addresses the broadest strategic context of the change. An analysis is made in the light of the global strategic thought and of the development of warfare through history. By entering the new strategic space of cyber warfare, NATO proves itself to be among the world’s most modern and advanced powers while, at the same time, it returns to the ancient - and lasting - tenet of strategy: information is not inferior to force. This way the Alliance moves away from Carl von Clausewitz and closer to Sun Zi. The recognition of cyberspace as a strategic space also corresponds to another influential idea in the heritage of strategy: the concept of the ”great common” the control of which is the key to the power over the world and over war and peace worldwide. Alfred Thayer Mahan considered the global ocean to be the ”great common” crossed by vital trade routes and by navies competing for superiority. Now cyberspace is as open, vital and fragile as the maritime space was in Mahan’s vision. Cyberwar also creates a promise and a temptation of a decisive strike - the first and last strike in a war - circumventing all military defences and paralysing the enemy country. It is a new version - less lethal or not, dependent on the tactics of cyber attacks in a cyber offensive - of the idea of strategic bombing and of the entire concept of air power, especially by its visionary Giulio Douhet, and then of nuclear strategy. Finally, the article provides two practical recommendations regarding the policy and structure of the North Atlantic Alliance in unfolding new era. Now NATO needs a speedy follow-on to the breakthrough decision of the Wales Summit. Cyber defence should be fully integrated into the next Strategic Concept which is expected in or around 2020 but could be worked out sooner because of the accelerating transition of the security environment. NATO should also consider establishing a global Cyber Command to maintain the initiative and to assure the credibility of the enlarged meaning of Article 5 of the North Atlantic Treaty. This credibility will be immediately, continuously and comprehensively tested by many players of the global game. G. Kostrzewa-Zorbas Keywords: NATO, North Atlantic Treaty, cyberdefence, cyberdefense, cybersecurity, cybernetics, information technology, cyberwar, cyber war, cyber warfare, information war, information warfare, cyberattack, cyber attack, cryptology, strategy, strategic concept, Poland, United States, USA, Estonia, Georgia, Sun Zi, Sun Tsu, Clausewitz, Mahan, Douhet, strategic bombardment, nuclear strategy 1. Introduction The greatest change ever in the defence policy and military strategy of the North Atlantic Treaty Organisation occurred in 2014 in response to a series of major cyber attacks against NATO member states and partner states – Estonia in 2007, the United States and Georgia in 2008, and others in later years – and to a general transformation of the security environment in which cyberwar and other threats to cybersecurity gain rapidly in importance. At the 2014 Wales Summit, NATO recognised that cyber defence is part of its central task of collective defence and that Article 5 of the North Atlantic Treaty – “The Parties agree that an armed attack against one or more of them in Europe or North America shall be considered an attack against them all . . . ” – can be invoked in the case of cyber attacks. This statement is the first and only expansion of the meaning of Article 5 and the first and only addition of a new type of warfare to the policy and strategy of NATO. After the change, the Alliance must face new challenges not less urgent and difficult than the old ones of kinetic warfare or weapons of mass destruction. This article addresses the broadest strategic context of the change. An analysis is made in the light of the global strategic thought and of the development of warfare through history. By entering the new strategic space of cyber warfare, NATO proves itself to be among the world’s most modern and advanced powers while, at the same time, it returns to the ancient – and lasting – tenet of strategy: information is not inferior to force. This way the Alliance moves away from Carl von Clausewitz and closer to Sun Zi. The recognition of cyberspace as a strategic space also corresponds to another influential idea in the heritage of strategy: the concept of the “great common” the control of which is the key to the power over the world and over war and peace worldwide. Alfred Thayer Mahan considered the global ocean to be the “great common” crossed by vital trade routes and by navies competing for superiority. Now cyberspace is as open, vital and fragile as the maritime space was in Mahan’s vision. Cyberwar also creates a promise and a temptation of a decisive strike – the first and last strike in a war – circumventing all military defences 398 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . and paralysing the enemy country. It is a new version – less lethal or not, dependent on the tactics of cyber attacks in a cyber offensive – of the idea of strategic bombing and of the entire concept of air power, especially by its visionary Giulio Douhet, and then of nuclear strategy. Finally, the article provides two practical recommendations regarding the policy and structure of the North Atlantic Alliance in the unfolding new era. Now NATO needs a speedy follow-on to the breakthrough decision of the Wales Summit. Cyber defence should be fully integrated into the next Strategic Concept which is expected in or around 2020 but could be worked out sooner because of the accelerating transition of the security environment. NATO should also consider establishing a global Cyber Command to maintain the initiative and to assure the credibility of the enlarged meaning of Article 5 of the North Atlantic Treaty. This credibility will be immediately, continuously and comprehensively tested by many players of the global game. 2. A turning point in the history of NATO NATO entered a new strategic era on 4–5 September 2014, when the North Atlantic Council, convened on the top level of Heads of State and Government at the Welsh seaport city of Newport in the United Kingdom, issued the Wales Summit Declaration. The breakthrough decision on cyber attacks and collective defence is stated and justified in paragraph 72 that also defines the international legal framework and outlines an Enhanced Cyber Defence Policy, whereas paragraph 73 lists several related concrete activities and actions of the Alliance, many of which began before the breakthrough and will be continued or enhanced after it: “72. As the Alliance looks to the future, cyber threats and attacks will continue to become more common, sophisticated, and potentially damaging. To face this evolving challenge, we have endorsed an Enhanced Cyber Defence Policy, contributing to the fulfillment of the Alliance’s core tasks. The policy reaffirms the principles of the indivisibility of Allied security and of prevention, detection, resilience, recovery, and defence. It recalls that the fundamental cyber defence responsibility of NATO is to defend its own networks, and that assistance to Allies should be addressed in accordance with the spirit of solidarity, emphasizing the responsibility of Allies to develop the relevant capabilities for the protection of national networks. Our policy also recognises that international law, including international humanitarian law and the UN Charter, 399 G. Kostrzewa-Zorbas applies in cyberspace. Cyber attacks can reach a threshold that threatens national and Euro-Atlantic prosperity, security, and stability. Their impact could be as harmful to modern societies as a conventional attack. We affirm therefore that cyber defence is part of NATO’s core task of collective defence. A decision as to when a cyber attack would lead to the invocation of Article 5 would be taken by the North Atlantic Council on a case-by-case basis. 73. We are committed to developing further our national cyber defence capabilities, and we will enhance the cyber security of national networks upon which NATO depends for its core tasks, in order to help make the Alliance resilient and fully protected. Close bilateral and multinational cooperation plays a key role in enhancing the cyber defence capabilities of the Alliance. We will continue to integrate cyber defence into NATO operations and operational and contingency planning, and enhance information sharing and situational awareness among Allies. Strong partnerships play a key role in addressing cyber threats and risks. We will therefore continue to engage actively on cyber issues with relevant partner nations on a case-by-case basis and with other international organisations, including the EU, as agreed, and will intensify our cooperation with industry through a NATO Industry Cyber Partnership. Technological innovations and expertise from the private sector are crucial to enable NATO and Allies to achieve the Enhanced Cyber Defence Policy’s objectives. We will improve the level of NATO’s cyber defence education, training, and exercise activities. We will develop the NATO cyber range capability, building, as a first step, on the Estonian cyber range capability, while taking into consideration the capabilities and requirements of the NATO CIS School [Communications and Information Systems School] and other NATO training and education bodies.”1 The Enhanced Cyber Defence Policy, endorsed and outlined in paragraph 72 of the Wales Summit Declaration above, had already been approved 1 400 Wales Summit Declaration Issued by the Heads of State and Government Participating in the Meeting of the North Atlantic Council in Wales, 4–5 September 2014 (emphasis added). http://www.nato.int/cps/en/natohq/official texts 112964.htm Last accessed 21 December 2014. NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . by the defence ministers of the Alliance’s member countries in Brussels on 3–4 June 2014. Its full content remains not public. Only three years earlier, in 2011, the original version – called Defending the Networks: The NATO Policy on Cyber Defence – had been prepared and announced on the order of NATO’s 2010 Lisbon Summit2 . Never before 2014 the North Atlantic Alliance devoted so much attention and energy to cyber defence. Its importance was recognised and appreciated at the Wales Summit even under the pressure of the gravest international security crisis in Europe since the Cold War: the Russian military aggression against Ukraine, the related threats to other NATO partners and to the Alliance itself, and the breakdown of many post-Cold War security standards and mechanisms. An effective short-term and long-term response to this dangerous crisis was – and is – rightly the first priority of the Alliance. Cyber defence, however, achieved a high position next to the top. 3. Back to the future: from Clausewitz to Sun Zi The Western military philosophy and strategy developed through history far from the most influential strategic thinker in the world – Sun Zi (Sun Tsu in an older and still popular transcription) of ancient China. His treatise The Art of War is the most universally read and studied work on strategy. (All quotations from Sun Zi below are based on the classic and most popular English translation by Samuel B. Griffith [31].) By recognising and appreciating the major role of cyberspace in warfare and security, NATO becomes more modern and advanced, but also – paradoxically – closer to the ancient and classic global heritage of strategy. It was Sun Zi who underscored, at the very beginning of the recorded strategic thought, the centrality of information and intellect – not physical force: “Generally in war the best policy is to take a state intact; to ruin it is inferior to this. . . . For to win one hundred victories in one hundred battles is not the acme of skill. To subdue the enemy without fighting is the acme of skill. 2 North Atlantic Treaty Organisation, Defending the Networks: The NATO Policy on Cyber Defence, [Brussels:] 2011. http://www.nato.int/nato static/assets/pdf/pdf 2011 08/20110819 110819-policy-cyberdefence.pdf Last accessed 21 December 2014. 401 G. Kostrzewa-Zorbas Thus, what is of supreme importance in war is to attack the enemy strategy.” [31] Sun Zi’s recommendation “to attack the enemy strategy” has a very broad meaning. It includes knowing the strengths and weaknesses of the enemy, learning all the significant information the enemy possesses, and – even more ambitiously – taking over the control of the enemy’s mind, especially the collective or institutional mind, like the authorities of a state or a coalition, or the command of a national or multinational military force. This is one of the maximum objectives, in offence or offensive defence, not only of intelligence activities – and, to a limited extent, of psychological operations – but also of cyber attacks and cyber campaigns, and of cryptology. NATO’s current shift contradicts some of the fundamental assumptions of the Western civilisation’s most influential strategist and philosopher of war: Carl von Clausewitz of the 19th century Prussia. His treatise On War is regarded as the West’s equivalent of Sun Zi’s The Art of War. (All quotations from Clausewitz below are based on the scholarly English translation by Michael Howard and Peter Paret, based on a true version of the original, not distorted by ideologues of German militarism [3].) The “common heritage and civilisation of their peoples” – the safeguarding of which the NATO member states pledged in the Preamble to the North Atlantic Treaty – is evolving and adopting new ways to survive. Clausewitz assumed, among others, the superiority of physical force over information and intellect, and the superiority of defence over attack – another dogma widely rejected in the world, especially today’s world. He made the thesis on the centrality of physical force in warfare a part of the very definition of war: “War is . . . an act of force to compel our enemy to do our will. ... Combat is the only effective force in war; its aim is to destroy the enemy’s forces as a means to a further end. That holds good even if no actual fighting occurs, because the outcome rests on the assumption that if it came to fighting, the enemy would be destroyed. It follows that the destruction of the enemy’s force underlies all military actions; all plans are ultimately based on it . . . The decision by arms is for all major and minor operations in war what cash payment is in commerce. Regardless how complex the relationship between the two parties, regardless how rarely settlements actually occur, they can never be entirely absent.” [3] 402 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . New means – cyber means – can achieve exactly the aim defined by Clausewitz above. Today – as the Wales Summit Declaration states or implies – “force” can be cyber power, “combat” can take place in the cyber space, and “arms” can be cyber weapons. Due to the rise of cyberwar – together with other global conditions – the Western civilisation is now learning from the strategic thought of the Far East. Cyberwar contributes this way to the convergence and globalisation of warfare and security. 4. The fifth strategic space – the decisive space? Four strategic spaces emerged prior to cyberspace. In each of them, warfare takes place and wars can be decided. The first strategic space was the land, the second was the sea – which gained a central position during the era of global empires – and two more were added in the 20th century: the airspace and the outer space. Now in the 21st century, NATO contributes to the addition of the cyberspace. The current change in the Alliance’s policy and strategy will probably resolve the present worldwide dispute whether cyberspace – or information space – plays an autonomous strategic role. Even more spaces compete, or will likely compete in the near future, for a similar recognition. After cyberspace proper, the next debate will probably be about the mind space: an extension of cyberspace into the human minds, with electronic, photonic and other artificial devices integrated with the brain and the nervous system of humans. Then may come the biospace: biological and especially genetic space, controlled and engineered by advanced biotechnology. All these spaces – actual or potential – are also called “the domains of warfare,” cyberspace becoming the fifth actual domain. Always an important question arises if a single space or domain is decisive – if a strategic advantage in it guarantees a strategic advantage everywhere, and therefore a war victory. A wider change in the strategic thinking of the nations of the West and of the whole world preceded NATO’s shift and accelerates following it. Cyberwar had prominently appeared in general national security strategies and national defence (military) strategies – besides specialised national cyber security strategies – of many NATO members and partners, and other nations, in the early 21st century, expanding exponentially after around 2010. (An exponential growth is clearly visible in a selection of official strategic documents provided in the “Sources” section below.) This cyberwar tsunami resembles the rise of the air power idea and practice in 1914–1918 – during the First World War. 403 G. Kostrzewa-Zorbas The then rising air forces and air strategists quickly made a bold promise that air power alone can and will win major wars, by the means of strategic bombing. The boldest and purest visions were developed by the Italian strategist Giulio Douhet in The Command of the Air of 1921 [10]. Before the era of nuclear weapons, he already envisioned an equivalent to the nuclear first strike – a single strike deciding the result of a whole war. Douhet proposed the employment of a combination of conventional and chemical weapons. Not the destructive force of explosives and toxins, however, but the uniqueness of the new strategic space justified the promise. The appeal of the new dimension, freedom and independence unique to airspace resembled the appeal of cyberspace today: “The airplane has complete freedom of action and direction; it can fly to and from any point of the compass in the shortest time . . . . Nothing man can do on the surface of the earth can interfere with a plane in flight, moving freely in the third dimension. All the influences that have conditioned and characterized warfare from the beginning are powerless to affect aerial action. By virtue of this new weapon, the repercussions of war are no longer limited by the farthest artillery range of surface guns, but can be directly felt for hundreds and hundreds of miles over all the lands and seas of nations at war. No longer can areas exist in which life can be lived in safety and tranquillity, nor can the battlefield any longer be limited to actual combatants. . . . both the army and navy may well possess aerial means to aid and integrate their respective military and naval operations; but that does not preclude the possibility, the practicability, even the necessity, of having an air force capable of accomplishing war missions solely with its own means, to the complete exclusion of both army and navy. . . . the decision in this kind of war must depend upon smashing the material and moral resources of a people caught up in a frightful cataclysm which haunts them everywhere without cease until the final collapse of all social organization. Mercifully, the decision will be quick . . . since the decisive blows will be directed at civilians, that element of the countries at war least able to sustain them. A complete breakdown of the social structure cannot but take place in a country subject to . . . merciless pounding from the air 404 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . . . . to put an end to horror and suffering, the people themselves, driven by the instinct of self-preservation, would rise up and demand an end to the war – this before their army and navy had time to mobilize at all!” [10] Douhet did not call for aggressive wars but advocated offensive defence similar to the later concept of nuclear retaliation. The promise of decisiveness of airspace was tested before and during the Second World War with mixed and uncertain results. Cyber campaigns – for offence or defence, to break peace or to restore peace – can now also be based on a newer and more complex air power concept that replaced strategic bombing: the concept of air campaign, best formulated by John A. Warden of the United States Air Force in The Air Campaign: Planning for Combat, first published in 1988 and revised in 1998 in the light of new experiences [34]. Another promise of decisiveness appeared at the end of the Second World War and during the Cold War with the conquest of outer space, the invention of nuclear weapons and the building of missiles flying through outer space and supported by outer space-based intelligence, reconnaissance, communications and other assets [11]. Indeed, the Cold War did not turn into a global hot war, but the cause and effect relationship is uncertain. The cyberwar concepts of retaliation and deterrence, however, correspond more to nuclear than conventional military strategy. According to many nuclear strategists and theorists of international relations, nuclear weapons are “equalisers” of states in warfare and therefore politics. The international game becomes more democratic with nuclear proliferation [29]. Small states and non-state players – like terrorist organisations – can advance to the rank of major players due to the possession of even minor nuclear arsenals. All these ideas spread from the classic nuclear thought to the developing cyber thought. The pro-Western Israel and the anti-Western North Korea may serve as perfect examples of small states that became big players in both nuclear and cyber warfare. Estonia – a very small state in an extremely difficult local geostrategic environment – strives to be a cyber fortress for the West. Private groups armed with cyber weapons may fight like equals with a superpower nation of the United States and with the strongest alliance on Earth – the North Atlantic Alliance. Or they may take revenge on China and Russia for aggressive military actions or for human rights abuses. Maritime superiority is the decisive step to the power over the world according to the American strategist Alfred Thayer Mahan in The Influence of Sea Power Upon History, first published in 1890 [19]. Mahan’s 405 G. Kostrzewa-Zorbas explanation of the key role of the global ocean in the life of humankind can be directly applied to cyberspace with an analogous conclusion on world hegemony. Today the open Internet and other large components of the global cyberspace constitute a new “great common” or “wide common” like the original one: “The first and most obvious light in which the sea presents itself from the political and social point of view is that of a great highway; or better, perhaps, of a wide common, over which men may pass in all directions, but on which some well-worn paths show that controlling reasons have led them to choose certain lines of travel rather than others. These lines of travel are called trade routes; and the reasons which have determined them are to be sought in the history of the world. . . . it is the possession of that overbearing power on the sea which drives the enemy’s flag from it, or allows it to appear only as a fugitive; and which, by controlling the great common, closes the highways by which commerce moves to and from the enemy’s shores. This overbearing power can only be exercised by great navies . . .” [19] Countries and civilisations, and the economic, political and military life of the world, are becoming even more concentrated around cyberspace – and more dependent on it – than around the global ocean. NATO can, thanks to its strong maritime foundation – beside the nuclear one – easily understand and appreciate cyberspace as an additional strategic priority for the 21st century. No other entity is both willing and able to keep the new great common open. 5. The first ever addition of a new type of warfare to NATO’s strategy Nuclear weapons and nuclear warfare were present in the strategy of NATO from its very beginning. Immediately after the signing of the North Atlantic Treaty on 4 April 1949 and its entry into force on 24 August 1949, the Alliance developed The Strategic Concept for the Defense of the North Atlantic Area – secret at that time, declassified only after the Cold War [21]. On 29 August 1949, the Soviet Union conducted its first nuclear weapon test, revealed to the world by the United States on 23 September 1949. The first Strategic Concept was drafted 406 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . by the Alliance’s military authorities in the fall of 1949 and finally approved by the North Atlantic Council on 6 January 1950. NATO planned to use all available means in all then existing strategic spaces or domains: “IV MILITARY MEASURES TO IMPLEMENT DEFENSE CONCEPT Basic Undertakings 7. Over-all defense plans must provide in advance of war emergency, specifically for the following basic undertakings in furtherance of the common objective to defend the North Atlantic area. The successful conduct of these undertakings should be assured by close coordination of military action as set forth in over-all plans. (a) Insure the ability to carry out strategic bombing promptly by all means possible with all types of weapons, without exception. This is primarily a U.S. responsibility assisted as practicable by other nations. (b) Arrest and counter as soon as practicable the enemy offensives against North Atlantic Treaty powers by all means available, including air, naval, land and psychological operations. . . ”3 . The expression “all types of weapons, without exception” meant first of all “the atomic bomb” as stated in drafts since October 1949. Diplomats then agreed to change the explicit wording with no change of the intended meaning4 . 3 The Strategic Concept for the Defense of the North Atlantic Area, approved by the North Atlantic Defense Committee on 1 December 1949, [approved by the North Atlantic Council on 6 January 1950,] in NATO Strategy Documents 1949-1969, Edited by Dr. Gregory W. Pedlow, Chief, Historical Office, Supreme Headquarters Allied Powers Europe, in Collaboration with NATO International Staff Central Archives, [Brussels: North Atlantic Treaty Organisation, 1997], pp. 5–6 (emphasis added). http://www.nato.int/docu/stratdoc/eng/a491201a.pdf Last accessed 21 December 2014. 4 Gregory W. Pedlow, ”The Evolution of NATO Strategy 1949-1969,” in NATO Strategy Documents 1949-1969, Edited by Dr. Gregory W. Pedlow, Chief, Historical Office, Supreme Headquarters Allied Powers Europe, in Collaboration with NATO International Staff Central Archives, [Brussels: North Atlantic Treaty Organisation, 1997], pp. XI-XIII. http://www.nato.int/docu/stratdoc/eng/intro.pdf Last accessed 21 December 2014. 407 G. Kostrzewa-Zorbas Therefore, the current inclusion of cyber attacks and cyber defence into the extent of collective defence is the first ever addition of a new type of warfare to the responsibility and strategy of NATO, dominated earlier by kinetic warfare and nuclear, chemical and biological weapons of mass destruction. Preoccupied with weapons based on chemical, thermal, nuclear, electromagnetic and kinetic energy, and on radioactive, chemical and biological agents, the Alliance tended to underestimate the information dimension of warfare. Now the balance is restored. One of the reasons for this breakthrough was the force multiplier capability of information. Another – the interaction of cyberspace with physical reality. A cyber weapon can release kinetic and other energy from the military arsenal and other resources of an attacked state or alliance. Cyberspace is autonomous but interconnected with all the other strategic spaces. 6. Cyberwar is an integral part of warfare in general There are two different major components to the breakthrough of the Wales Summit. First, the openly stated recognition that cyber attacks can be armed attacks. Second, the implied recognition that cyberwar is not a detached kind and field of warfare but an integral part of warfare in general. Cyberwar remains distinct and autonomous like naval warfare or air warfare. Strong connections and interactions exist, however, between cyberspace and the sea, airspace, outer space and land. Whoever launches cyber attacks on NATO or its member countries, cannot count on an exclusively cyber nature of the Alliance’s reaction. A combat response can come through any strategic space, with any kind of weapons under the condition of proportionality. Cyberspace ceased to be a sanctuary for cyber warriors. All warriors are now equal under the law and in operational plans. 7. Recommendation 1: Next Strategic Concept sooner than around 2020 NATO needs to quickly and fully integrate cyber warfare, cyber defence and cyber weapons into its Strategic Concept. There is a regular cycle of revisions approximately every ten years, but Wales Summit breakthrough justifies an exception. The work could and should be completed in about two or three years from now. Because of the ethical and legal novelty and complexity of the matter, NATO should also clearly define the necessary political, humanitarian and 408 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . international law guidelines and limitations of cyber defence. This can be accomplished, in part, with the use of the already published half-official Tallinn Manual on the International Law Applicable to Cyber Warfare [32]. 8. Recommendation 2: NATO Cyber Command Cyber defence requires the establishment of a NATO Cyber Command with a global reach and on the highest reasonable level: directly under Allied Command Operations. All the structural innovations outlined in paragraph 73 of the Wales Summit Declaration may not prove sufficient in the coming years. The existing Cyber Defence Committee – known as the Defence Policy and Planning Committee (Cyber Defence) before April 2014 – and the NATO Cooperative Cyber Defence Centre of Excellence established in Tallinn, Estonia have responsibilities different from a command. So will have a NATO military cyber training centre planned also in Tallinn. “In a chosen country of Central Europe, NATO should create a new – corresponding to new challenges – headquarters with tasks covering the whole of Europe or the world. It should be a battle command directly subordinated to the Allied Command Operations, ACO, in Mons, Belgium. The most justified choice would be a European missile and air defense command or a global cyberwar command” – I suggested before the Wales Summit [15]. Not another research, planning or training institution, but a combat command is indeed necessary to fully implement the Wales Summit Declaration. Among the Central European member countries, Poland has the greatest potential to host and support a NATO Cyber Command. A major asset within this potential is the Military University of Technology in Warsaw – the largest military research and teaching university in the European part of NATO and in the entire European Union. Within NATO, the United States was the first member country to create a combat cyber command. Established in 2009 and fully operational since 2010, the United States Cyber Command (USCYBERCOM), located at Fort George G. Meade in Maryland near Annapolis and Washington, DC, is a Subordinate Unified Command under the United States Strategic Command (USSTRATCOM), a top-level Functional Combatant Command. The Netherlands was the first European member nation that followed – in the year of the Wales Summit. Outside of the Alliance, two states – Israel and Russia – are preparing their cyber commands, while India is considering a similar plan. 409 G. Kostrzewa-Zorbas 9. Conclusions Today the North Atlantic Alliance needs a visible credibility of its defence policy and military strategy expanded into cyber defence at the Wales Summit of 2014. The Wales Summit Declaration includes the first and only expansion of the meaning of Article 5 of the North Atlantic Treaty and the first and only addition of a new type of warfare to the policy and strategy of the Alliance in its 65 years of history. Credibility can be assured by maintaining the initiative, especially by follow-on conceptual and organisational moves: integrating cyber defence into the NATO Strategic Concept and by establishing a NATO Cyber Command. Initiative is a universal strategic principle, although Clausewitz never appreciated it: “Tactical initiative can rarely be expanded into a major victory, but a strategic one has often brought the whole war to an end at a stroke. On the other hand, the use of this device assumes major, decisive and exceptional mistakes on the enemy’s part” [3]. The perfectly stable and predictable world of Clausewitz no longer exists, if it ever existed. Losing the initiative in cyber warfare would be a major, decisive and exceptional mistake on NATO’s part. Sun Zi sounds much more convincing on both the unpredictable and the speed in warfare: “Generally, in battle, use the normal force to engage; use the extraordinary to win. . . Speed is the essence of war” [31]. Speed is, in particular, the essence of cyberwar. Speed is also the essence of cyber defence and cyber security, and of the cyber peace the North Atlantic Alliance decided to guarantee. 10. Sources 10.1 Current Documents [Australia.] Australian Government. Cyber Security Strategy. [Canberra:] 2009. http ://www.ag.gov.au/RightsAndProtections/CyberSecurity/Documents /AG%20Cyber%20Security%20Strategy%20 − %20for%20website.pdf [Australia.] Australian Government, Department of Defence. Defence White Paper 2013. [Canberra:] 2013. 410 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . http : //www.nationalsecurity.gov.au/Mediaandpublications/Publications /Pages/dafault.aspx# dwp [Australia.] Australian Government, Department of the Prime Minister and Cabinet. Strong and Secure: A Strategy for Australia’s National Security. [Canberra:] 2013. http : //apo.org.au/files/Resource/dpmc nationalsecuritystrategy jan2013.pdf [Canada.] [Ministry of] National Defence. Canada First Defence Strategy. [Ottawa:] 2008. http : //www.forces.gc.ca/assets/FORCES Internet/docs/en/about /CFDS − SDCD − eng.pdf [Canada.] Government of Canada. Canada’s Cyber Security Strategy: For a Stronger and More Prosperous Canada. [Ottawa:] 2010. http://www.publicsafety.gc.ca/cnt/rsrcs/pblctns/cbr-scrt-strtgy /index-eng.aspx [Estonia.] Ministry of Economic Affairs and Communication. Cyber Security Strategy 2014-2017. [Tallinn:] 2014. https : //www.mkm.ee/sites/default/files/cyber security strategy 2014 −2017 public version.pdf [Estonia.] Estonian Ministry of Defence. National Defence Strategy [of] Estonia. [Tallinn:] 2011. http : //www.kaitseministeerium.ee/files/kmin/img/files/KM riigikaitse strateegia eng%282%29.pdf [Estonia.] Parliament of Estonia. National Security Concept of Estonia. [Tallinn:] 12 May 2010. http : //www.kaitseministeerium.ee/files/kmin/img/files/National Security Concept of Estonia.pdf [European Union.] European Commission and the High Representative of the European Union for Foreign Affairs and Security Policy. Cybersecurity Strategy of the European Union: An Open, Safe and Secure Cyberspace. Brussels, 7 February 2013. http://ec.europa.eu/digital-agenda/en/news/eu-cybersecurity-plan -protect-open-internet-and-online-freedom-and-opportunity-cyber-security [European Union.] European Commission. Proposal for a Directive of the European Parliament and of the Council Concerning Measures to Ensure a High Common Level of Network and Information Security Across the 411 G. Kostrzewa-Zorbas Union. Brussels, 7 February 2013. http://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX: 52013PC0048&from=EN [France.] Republic of France. Minister of Defence. Defence and National Security 2013: Twelve Key Points. White Paper. [Paris: 2013.] www.defense.gouv.fr/content/download/207914/2305785/file/LB-fiche %2012pts-UK.pdf [France.] Republic of France. Prime Minister; French Network and Information Security Agency. Information Systems Defence and Security: France’s Strategy. Paris: February 2011. http : //www.ssi.gouv.fr/IMG/pdf/2011 − 02 − 15 Information system defence and security − France s strategy.pdf [Germany.] Cyber Security Strategy for Germany. Berlin: Federal Ministry of the Interior, February 2011. https : //www.bsi.bund.de/SharedDocs/Downloads/EN/BSI /Publications/CyberSecurity/Cyber Security Strategy for Germany.pdf? blob = publicationFile [Germany.] German Ministry of Defence. Defence Policy Guidelines: Safeguarding National Interests – Assuming International Responsibility – Shaping Security Together. Berlin, 27 May 2011. www.bmvg.de/resource/resource/MzEzNTM4MmUzMzMyMmUzMTM1 MzMyZTM2MzIzMDMwMzAzMDMwMzAzMDY3NmY2ODMyNjEzMT c2NjgyMDIwMjAyMDIw/110527%20VPR%20engl.pdf [Japan.] Information Security Policy Council. Cybersecurity Strategy: Towards a World-leading, Resilient and Vigorous Cyberspace. [Tokyo:] 10 June 2013. http://www.nisc.go.jp/active/kihon/pdf/cybersecuritystrategy-en.pdf [Japan.] Ministry of Defense. Defense of Japan 2014. [Tokyo:] 2014. http : //www.mod.go.jp/e/publ/w paper/2014.html [Japan.] Government of Japan. National Security Strategy. [Tokyo:] 17 December 2013. http://www.cas.go.jp/jp/siryou/131217anzenhoshou/nss-e.pdf [Netherlands] Ministry of Defence. The Defence Cyber Strategy. [The Hague: 27 June 2012.] https : //ccdcoe.org/strategies/Defence Cyber Strategy NDL.pdf 412 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . [Netherlands] [Government of the Netherlands.] International Security Strategy: A Secure Netherlands in a Secure World. [The Hague: 21 June 2013.] http://www.government.nl/news/2013/06/21/a-secure-netherlands-in -a-secure-world.html [Netherlands] National Coordinator for Security and Counterterrorism. National Cyber Security Strategy 2: From Awareness to Capability. [The Hague: 2013.] https://english.nctv.nl/Images/national-cyber-security-strategy-2 tcm92 -520278.pdf [Netherlands] Ministry of Defence. Netherlands Defence Doctrine. [The Hague: 20 November 2013.] www.defensie.nl/binaries/defence/documents/publications/2013/11/20 /defence-doctrine-en/defensie-doctrine en.pdf [North Atlantic Treaty Organisation.] Active Engagement, Modern Defence: Strategic Concept for the Defence and Security of the Members of the North Atlantic Treaty Organisation adopted by Heads of State and Government in Lisbon [19–20 November 2010]. http : //www.nato.int/cps/en/natolive/official texts 68580.htm [North Atlantic Treaty Organisation.] Wales Summit Declaration Issued by the Heads of State and Government Participating in the Meeting of the North Atlantic Council in Wales, 4–5 September 2014. http : //www.nato.int/cps/en/natohq/official texts 112964.htm [Poland.] Republic of Poland. Ministry of Administration and Digitisation and Internal Security Agency. Cyberspace Protection Policy of the Republic of Poland. Warsaw, 25 June 2013. www.cert.gov.pl/download/3/162/PolitykaOchronyCyberprzestrzeniRP 148x210wersjaang.pdf [Poland.] Ministry of National Defence. Defence Strategy of the Republic of Poland. Sector Strategy of the National Security Strategy of the Republic of Poland. Warsaw: 2009. http://en.mon.gov.pl/z/pliki/dokumenty/rozne/2014/02/strategia obronnosci eng.pdf [Poland.] President of the Republic of Poland. National Security Strategy of The Republic of Poland. Warsaw: 5 November 2014. http://www.bbn.gov.pl/ftp/dok/NSS RP.pdf 413 G. Kostrzewa-Zorbas [United Kingdom of Great Britain and Northern Ireland.] HM Government. A Strong Britain in an Age of Uncertainty: The National Security Strategy. London: October 2010. https://www.gov.uk/government/uploads/system/uploads/attachment data/file/61936/national-security-strategy.pdf [United Kingdom of Great Britain and Northern Ireland.] The UK Cyber Security Strategy: Protecting and Promoting the UK in a Digital World. London: Cabinet Office, November 2011. https://www.gov.uk/government/uploads/system/uploads/attachment data/file/60961/uk-cyber-security-strategy-final.pdf [United States of America.] Department of Defense. Department of Defense Strategy for Operating in Cyberspace. [Washington, DC: The Pentagon, July 2011.] http://www.defense.gov/news/d20110714cyber.pdf [United States of America.] President of the United States. International Strategy for Cyberspace: Prosperity, Security, and Openness in a Networked World. Washington, DC: The White House, May 2011. http://www.whitehouse.gov/sites/default/files/rss viewer/international strategy for cyberspace.pdf [United States of America.] President of the United States. National Security Strategy. Washington, DC: The White House, May 2010. http://www.whitehouse.gov/sites/default/files/rss viewer/national security strategy.pdf [United States of America.] Department of Defense. Quadrennial Defense Review 2014. [Washington, DC: The Pentagon, 2014.] http://www.defense.gov/pubs/2014 Quadrennial Defense Review.pdf [United States of America.] Department of Defense. Sustaining U.S. Global Leadership: Priorities for 21st Century Defense. [Washington, DC: The Pentagon, January 2012.] http://www.defense.gov/news/Defense Strategic Guidance.pdf References [1] R. Buchan, “Cyber Attacks: Unlawful Uses of Force or Prohibited Interventions?”, Journal of Conflict and Security Law, (Oxford, UK: Oxford University Press), Vol. 17, Issue 2 (Summer 2012). 414 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . [2] S.J. Cimbala, Nuclear Weapons in the Information Age, New York: Continuum International Publishing Group, 2012. [3] C. von Clausewitz, On War, Edited and Translated by Michael Howard and Peter Paret, Princeton, NJ: Princeton University Press, 1984. [4] E. A. Cohen, “Technology and Warfare”, In Strategy in the Contemporary World: An Introduction to Strategic Studies, Edited by John Baylis, James J. Wirtz, and C.S. Gray, 4th Edition, Oxford, UK: Oxford University Press, 2013. [5] Cyberpower and National Security, Edited by F.D. Kramer, S.H. Starr, and L.K. Wentz, Washington, DC: National Defense University Press; Potomac Books, 2009. [6] Cyberwar, Netwar and the Revolution in Military Affairs Edited by E. Halpin, P. Trevorrow, D. Webb, and S. Wright, Houndmills, Basingstoke, Hampshire, UK: Palgrave Macmillan, 2006. [7] Cyberwar and Information Warfare Edited by Daniel Ventre, London: ISTE, 2011. [8] C.C. Demchak, Wars of Disruption and Resilience: Cybered Conflict, Power, and National Security, Athens, GA: University of Georgia Press, 2011. [9] H.H. Dinniss, Cyber Warfare and the Laws of War, New York: Cambridge University Press, 2012. [10] G. Douhet, The Command of the Air, Translated by D. Ferrari, Washington, DC: Office of Air Force History, 1983. [11] L. Freedman, The Evolution of Nuclear Strategy, 3rd Edition, Houndmills, Basingstoke, Hampshire, UK: Palgrave Macmillan, 2003. [12] W.T. Hagestad, 21st century Chinese Cyberwarfare: An Examination of the Chinese Cyberthreat from Fundamentals of Communist Policy Regarding Information Warfare through the Broad Range of Military, Civilian and Commercially Supported Cyberattack Threat Vectors, Ely, Cambridgeshire, UK: IT Governance Publishing, 2012. [13] L.J. Janczewski and A.M. Colarik (Editors), Cyber Warfare and Cyber Terrorism, Hershey, PA: IGI Global, 2007. [14] L. Kello. “The Meaning of the Cyber Revolution: Perils to Theory and Statecraft”, International Security, Vol. 38, No. 2 (Fall 2013). [15] G. Kostrzewa-Zorbas, “A Plan for NATO: Central Europe Indistinguishable from Western Europe”, Aspen Review Central Europe (Prague, Czech Republic), No. 2/2014. [16] A. Kott, C. Wang, and R.F. Erbacher (Editors), Cyber Defense and Situational Awareness, New York, NY: Springer Science+Business Media, 2014. 415 G. Kostrzewa-Zorbas [17] M.C. Libicki, Conquest in Cyberspace: National Security and Information Warfare, New York: Cambridge University Press, 2007. [18] M.C. Libicki, Cyberdeterrence and Cyberwar Santa Monica, CA: RAND Corporation, 2009. [19] A.T. Mahan, The Influence of Sea Power Upon History, 1660–1783, New York: Dover Publications, 1987. [20] National Cyber Security Framework Manual Edited by A. Klimburg, Tallinn, Estonia: NATO Cooperative Cyber Defence Centre of Excellence, 2012. [21] NATO Strategy Documents 1949–1969. Edited by Dr. G.W. Pedlow, Chief, Historical Office, Supreme Headquarters Allied Powers Europe, in Collaboration with NATO International Staff Central Archives. [Brussels: North Atlantic Treaty Organisation, 1997.] [22] M.E. O’Connell, “Cyber Security without Cyber War”, Journal of Conflict and Security Law (Oxford, UK: Oxford University Press), Vol. 17, Issue 2 (Summer 2012). [23] W.A. Owens, K.W. Dam, and H.S. Lin (Editors), Technology, Policy, Law, and Ethics Regarding U.S. Acquisition and Use of Cyberattack Capabilities, National Research Council of the National Academies, Washington, DC: National Academies Press, 2009. [24] C. Paul, I.R. Porche, and E. Axelband, The Other Quiet Professionals: Lessons for Future Cyber Forces from the Evolution of Special Forces, Santa Monica, CA: RAND Corporation, 2014. [25] D.S. Reveron (Editor), Cyberspace and National Security: Threats, Opportunities, and Power in a Virtual World, Washington, DC: Georgetown University Press, 2012. [26] J. Rivera, “A Theory of Cyberwarfare”, Georgetown Security Studies Review, Vol. 2, No. 2 (June 2014). [27] N. Robinson, A. Walczak, S.-C. Brune, A. Esterle, P. Rodriguez, it Stocktaking Study of Military Cyber Defence Capabilities in the European Union (milCyberCAP): Unclassified Summary Santa Monica, CA: RAND Corporation, 2013. [28] M. Roscini, Cyber Operations and the Use of Force in International Law, Oxford, UK: Oxford University Press, 2014. [29] S.D. Sagan and K.N. Waltz The Spread of Nuclear Weapons: An Enduring Debate, 3rd Edition, New York: W.W. Norton, 2013. [30] J.B. Sheldon, “The Rise of Cyberpower”, In Strategy in the Contemporary World: An Introduction to Strategic Studies, Edited by J. Baylis, J.J. Wirtz, and C.S. Gray, 4th Edition, Oxford, UK: Oxford University Press, 2013. 416 NATO in the New Strategic Environment: Cyber Attacks Now Covered by . . . [31] Sun Tsu [Sun Zi], The Art of War, Translated and with an Introduction by S.B. Griffith. London: Oxford University Press, 1963. [32] Tallinn Manual on the International Law Applicable to Cyber Warfare Prepared by the International Group of Experts at the Invitation of the NATO Cooperative Cyber Defence Centre of Excellence General Editor M.N. Schmitt, Cambridge, UK: Cambridge University Press, 2013. [33] N. Tsagourias, “Cyber Attacks, Self-defence and the Problem of Attribution”, Journal of Conflict and Security Law (Oxford, UK: Oxford University Press), Vol. 17, Issue 2 (Summer 2012). [34] J.A. Warden, The Air Campaign: Planning for Combat, Revised Edition. San Jose, CA: to Excel, 1998. NATO W NOWYM ŚRODOWISKU STRATEGICZNYM: CYBERATAKI PODLEGAJĄ JUŻ ARTYKUŁOWI 5 TRAKTATU PÓŁNOCNOATLANTYCKIEGO Streszczenie. Największa zmiana w dziejach polityki obronnej i strategii wojskowej Sojuszu Północnoatlantyckiego nastąpiła w 2014 roku w odpowiedzi na serię cyberataków przeciw państwom członkowskim i partnerskim NATO – Estonii w 2007 roku, Stanom Zjednoczonym i Gruzji w 2008 roku, i innym w latach późniejszych – oraz na ogólną transformację środowiska bezpieczeństwa, w którym wojna cybernetyczna i inne zagrożenia dla cyberbezpieczeństwa szybko zyskują na znaczeniu. Na szczycie w Walii w 2014 roku NATO uznało, że cyberobrona jest częścią zbiorowej obrony jako centralnego zadania sojuszu i że artykuł 5 Traktatu Północnoatlantyckiego – „Strony zgadzają się, że zbrojna napaść na jedną lub więcej z nich w Europie lub Ameryce Północnej, będzie uznana za napaść przeciwko nim wszystkim . . . ” – może być przywołany w przypadku cyberataków. To oświadczenie jest pierwszym i jedynym rozszerzeniem znaczenia artykułu 5 oraz pierwszym i jedynym dodaniem nowego rodzaju wojny do polityki i strategii NATO. Po tej zmianie sojusz musi stawic czoła nowym wyzwaniom, pilnym i trudnym nie mniej od starych wyzwań wojny kinetycznej lub broni masowego rażenia. Artykuł dotyczy najszerszego strategicznego kontekstu zmiany. Analiza jest prowadzona w świetle globalnej myśli strategicznej i rozwoju wojny poprzez dzieje. Wchodząc w nową przestrzeń strategiczną cyberowjny, NATO wykazuje, że należy do najbardziej nowoczesnych i zaawansowanych potęg świata, a jednocześnie wraca do starożytnej – i trwałej – zasady strategii: informacja nie jest podrzędna wobec siły. Tak sojusz odchodzi od Carla von Clausewitza i zbliża się do Sun Zi. Uznanie cyberprzestrzeni za przestrzeń strategiczną nawiązuje również do innej wpływowej idei dziedzictwa strategii: do koncepcji „wielkiego terenu publicznego” (“the great common”), władza nad którym daje klucz do władzy nad światem, i nad wojną i pokojem w świecie. Alfred Thayer Mahan uważał ocean światowy za „wielki teren publiczny”, przecinany przez żywotne szlaki handlowe i floty konkurujące o wyższość. Dziś cyberprzestrzeń jest tak otwarta, żywotna i łatwa do podboju, jak przestrzeń morska była w wizji Mahana. Wojna cybernetyczna także rodzi obietnicę i pokusę rozstrzygającego uderzenia – pierwszego i zarazem ostatniego na wojnie – które pozwala obejść wszystkie elementy obrony przeciwnika i sparaliżować wrogi kraj. To nowa wersja – mniej lub równie śmiercionośna, zależnie od taktyki cyberataków podczas ofensywy cybernetycznej – idei bombardowania strategicznego i całej koncepcji siły powietrznej według jej wizjonera Giulio Douhet, a potem według strategii 417 G. Kostrzewa-Zorbas nuklearnej. Na koniec artykuł podaje dwie praktyczne rekomendacje co do polityki i struktury Sojuszu Północnoatlantyckiego na rozwijającą się nową erę. Potrzebny jest teraz szybki ciąg dalszy przełomowej decyzji Szczytu w Walii. Cyberobrona powinna zostać w pełni włączona – jako integralna część – do następnej Koncepcji Strategicznej NATO. Nowa Koncepcja Strategiczna jest spodziewana w roku 2020 lub zbliżonym, ale może być opracowana wcześniej z powodu przyśpieszającej przemiany środowiska bezpieczeństwa. NATO powinno również rozważyć ustanowienie globalnego Dowództwa Cybernetycznego dla utrzymania inicjatywy i dla zapewnienia wiarygodności artykułu 5 Traktatu Północnoatlantyckiego w rozszerzonym znaczeniu. Ta wiarygodność będzie natychmiast, ciągle i wszechstronnie testowana przez wielu graczy globalnej gry. Słowa kluczowe: NATO, Traktat Północnoatlantycki, cyberobrona, cyberbezpieczeństwo, cybernetyka, informatyka, cyberwojna, wojna cybernetyczna, wojna informacyjna, cyberatak, atak cybernetyczny, kryptologia, strategia, koncepcja strategiczna, Polska, Stany Zjednoczone, USA, Estonia, Gruzja, Sun Zi, Sun Tsu, Clausewitz, Mahan, Douhet, bombardowanie strategiczne, strategia nuklearna, strategia jądrowa