Improvements for the XL Algorithm with Applications to Algebraic Cryptanalysis
Total Page:16
File Type:pdf, Size:1020Kb
Improvements for the XL Algorithm with Applications to Algebraic Cryptanalysis Vom Fachbereich Informatik der Technischen Universitat¨ Darmstadt genehmigte Dissertation zur Erlangung des Grades Doktor rerum naturalium (Dr. rer. nat.) von M.Sc. Wael Said Abdelmageed Mohamed geboren in Qaliubiya, Agypten.¨ Referenten: Prof. Dr. Johannes Buchmann Prof. Dr. Jintai Ding Tag der Einreichung: 31. Marz¨ 2011 Tag der mundlichen¨ Prufung:¨ 06. Juni 2011 Hochschulkennziffer: D 17 Darmstadt 2011 Wissenschaftlicher Werdegang Marz¨ 2007 - heute Promotionsstudent am Lehrstuhl von Professor Johannes Buchmann, Fachgebiet Theoretische In- formatik, Fachbereich Informatik, Technische Universitat¨ Darmstadt Oktober 2004 - heute Lehrbeauftragter an der Fakultat¨ fur¨ Informatik und Informationssysteme, Fachbereich Informatik, Zagazig Universitat,¨ (Zagazig, Agypten)¨ Dezember 1998 - Oktober 2004 Ausbilder an der Fakultat¨ fur¨ Informatik und Informationssysteme, Fachbereich Informatik, Zaga- zig Universitat¨ (Zagazig, Agypten)¨ September 2004 Master of Science in Informatik an der Fakultat¨ fur¨ Informatik und Informtationssysteme, Fach- bereich Informatik, Helwan Universitat¨ (Helwan, Agypten)¨ Juli 2000 - September 2004 Masterstudium der Informatik an der Fakultat¨ fur¨ Informatik und Informationssysteme, Fachbe- reich Informatik, Helwan Universitat¨ (Helwan, Agypten)¨ September 1999 - Juni 2000 Besuch vorbereitender Kurse fur¨ das Masterstudium an der Fakultat¨ fur¨ Informatik und Informa- tionssysteme, Fachbereich Informatik, Helwan Universitat¨ (Helwan, Agypten)¨ Juni 1997 Bachelor of Science in Mathematik und Informatik an der Fakultat¨ fur¨ Naturwissenschaften, Mi- noufiya Universitat¨ (Shibin el Kom, Agypten)¨ September 1993 - Juni 1997 Studium der Reinen Mathematik und Informatik an der Fakultat¨ fur¨ Naturwissenschaften, Minou- fiya Universitat¨ (Shibin el Kom, Agypten)¨ iii Acknowledgements It is very difficult to find the appropriate words that could express my heartfelt appreciation to all thoughtful people whose have shared and offered me their knowledge, help, support, experience, care and prayers. In this regard, I’ll try to formulate words of thanks to several people while I would like to ask those whom I might forget to forgive me. On the top of the list is my supervisor Prof. Dr. Johannes Buchmann. The opportunity to work with him has been tremendously rewarding. Throughout my four years in Darmstadt as a PhD student, Prof. Buchmann has been a source of trusted advice. I express my sincere thanks and gratitude to him for giving me the opportunity to be one of his research group, for his steady support, for his patience and for his encouragement until the realizing of this thesis. All words that I could say for you greatest Buchmann never be enough. It is my privilege to thank my second supervisor Prof. Dr. Jintai Ding. He is the mastermind and the technical director of our team work in multivariate-based cryptography. All thanks and ap- preciation to him for the continued support of new ideas, for useful discussions and for promoting this thesis. A special thanks go to Dr. Stanislav Bulygin who became my advisor in the last two years of my Ph.D. for the continues useful discussions, for the regular meetings and for the efforts to accomplish this thesis better than I could do alone. Many thanks also to my former advisor Dr. Ralf-Philipp Weinmann. In addition, I’d like to thank my current and past colleagues in the research group “Cryptography and Computer Algebra, (CDC)” at the Technischen Universitat¨ Darmstadt for providing such a nice working atmosphere, for the friendly collaborations and for the useful weekly seminars. In this regard, I would like to thank Mohamed Saied Emam who is my colleague in the department of Computer Sciences at Zagazig University, my colleague in the CDC and my partner in the fist two years of my Ph.D. work. I would like to express sincere gratitude to my wife, Mayada, for her efforts with me and for her continuous encouragement. I’m very grateful to my son, Saifeldin, and my daughters Mennatullah and Hanin. I apologize to all of you for lack of my presence with you most of the time. Of course special thanks to my friend Baher El-Sharkawy for reading and reviewing my thesis. You are very supportive and helpful Last, but certainly not least, I would like to thank the Department of Computer Sciences at Zagazig University for giving me this opportunity to do research. The generous financial support of the Egyptian Cultural Affairs and Missions Sector is gratefully acknowledged. The Egyptian Cultural and Educational Office in Berlin is acknowledged. Wael Mohamed Darmstadt, March 2011 v Zusammenfassung Das Losen¨ von Systemen multivariater Polynomgleichungen uber¨ endlichen Korpern¨ ist ein klas- sisches und fundamentales Problem. Dieses Problem hat wichtige Anwendungen in verschiede- nen Gebieten. In der Kryptographie beruht die Sicherheit multivariater Public-Key-Kryptosysteme auf der Schwierigkeit, Systeme multivariater quadratischer Polynomgleichungen uber¨ endlichen Korpern¨ zu losen.¨ In der Vergangenheit wurden mehrere Algorithmen zum Auffinden von Losungen¨ multivariater Polynomgleichungen uber¨ endlichen Korpern¨ vorgeschlagen. Im Jahr 2000 wurde der XL Al- gorithmus als Werkzeug fur¨ das Losen¨ solcher Systeme eingefuhrt.¨ Die Effizienz von XL hangt¨ hauptsachlich¨ von dem Grad ab, bei dem eine Losung¨ gefunden werden kann. In der Praxis sind Laufzeit und Speicherverbrauch des XL-Algorithmus großer¨ als fur¨ den F4-Algorithmus, den bes- ten bekannten Algorithmus fur¨ das Losen¨ von Systemen polynomialer Gleichungen. Der Haupt- zweck dieser Arbeit ist es, den XL-Algorithmus zu verbessern und die vorgeschlagenen Verbesse- rungen an Anwendungen aus der algebraischen Kryptanalyse zu testen. Eine Moglichkeit,¨ den XL-Algorithmus zu verbessern, besteht darin, neue Polynome niedrigen Grades zu generieren, die im von den ursprunglichen¨ Polynomen erzeugten Ideal liegen. Man hofft, dass diese neuen Polynome von den bestehenden linear unabhangig¨ sind, so dass der Grad, bei dem XL das System losen¨ kann, minimiert werden kann. Diese Polynome kleinen Grades wurden von Jintai Ding entdeckt und als mutants bezeichnet. Im Prinzip ist die Verwendung dieser mutants die erste Verbesserung des XL Algorithmus, die in dieser Arbeit vorgeschlagen wird. Dies wird im MutantXL Algorithmus und seiner Implementierung erreicht. Eine weitere Verbesserung des MutantXL-Algorithmus namens MXL2 wird ebenfalls in dieser Arbeit beschrieben. MXL2 verwendet zwei wesentliche Verbesserungen uber¨ F2, die das Losen¨ von Systemen mit deutlich kleineren Matrizen erlauben als XL und MutantXL. MXL2 wird in dieser Arbeit im Rahmen der algebraischen Kryptanalyse benutzt, um zwei multivariate public-key Kryptosysteme zu brechen, namlich¨ Little Dragon Two und Poly Dragon. Die zweite Verbesserung hangt¨ mit der Struktur der von XL generierten Matrizen zusammen. Ab einem gewissen Grad tendieren diese Matrizen dazu, schwach besetzt zu sein. Deshalb ist es bezuglich¨ Speicher und Zeit sehr kostspielig, diese Matrizen mit Gauss-Elimination auf Zeilen- stufenform zu bringen. Die Verwendung des Wiedemann-Algorithmus anstatt der Gauss Elimina- tion uber¨ F256 mit einer skalaren Version des Wiedemann-Algorithmus wurde von Bo-Ying Yang et al. eingefuhrt.¨ In dieser Arbeit beschreiben wir den Gebrauch des blockweisen Wiedemann- Algorithmus uber¨ F2 und seine Kombination mit dem XL-Algorithmus, die wir als WXL be- zeichnen. Eine Moglichkeit,¨ den WXL Algorithmus zu verbessern, besteht darin, mehr als einen Prozessor zu verwenden. Man nutzt dabei die Tatsache aus, dass der Wiedemann-Algorithmus par- allelisiert werden kann. Indem man PWXL, eine parallelisierte Version von WXL, benutzt, konnen¨ Systeme mit einer großeren¨ Zahl von Variablen gelost¨ werden. Diese Systeme wurden bisher von keinem anderen algebraischen Algorithmus gelost.¨ PWXL kann insbesondere Instanzen des HFE Kryptosystems mit 37 quadratischen Gleichungen in 37 Variablen uber¨ F2 losen.¨ Diese besitzen vii den gleichen univariaten Grad wie die von HFE Challenge-2 und konnen¨ bei Benutzung von 81 Prozessoren in 7.5 Tagen erfolgreich gelost¨ werden. Die Kombination der beiden vorgeschlagenen Verbesserungen, der mutant Strategie und des parallelisierten Wiedemann-Algorithmus, ist die dritte Verbesserung. Der erste Teil dieser Verbes- serung ist das Erzeugen der mutants durch Benutzung des Kerns einer Matrix, der ebenfalls mit Hilfe des Wiedemann-Algorithmus erzeugt werden kann. Der zweite Teil besteht darin, die durch den Wiedemann-Algorithmus erzeugten mutants fur¨ das Losen¨ des Systems zu verwenden. Das Erzeugen von mutants durch Wiedemann und das Losen¨ mit MutantXL ist das erste Szenario fur¨ den Gebrauch solcher mutants. Das zweite Szenario ist die Verwendung des WMXL Algorith- mus, der eine Kombination aus XL-Algorithmus, Wiedemann-Algorithmus und dem Konzept der mutants darstellt, um fur¨ strukturierte Systeme eine Losung¨ auf effektive Weise zu erhalten. Es werden effiziente und wirksame Verbesserungen des XL-Algorithmus vorgestellt. Diese Ver- besserungen basieren einerseits auf dem Konzept der mutants und andererseits auf dem paralleli- sierten Wiedemann-Algorithmus. Die Bedeutung dieser Verbesserungen wird anhand der Losung¨ von Systemen multivariater Polynomgleichungen, die ihren Ursprung in der Kryptographie haben, aufgezeigt. Deshalb sollten Designer neuer Kryptosysteme diesen neu vorgeschlagenen Algorith- men Beachtung schenken. viii Abstract The problem of solving systems of