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

Podobne dokumenty