Real-Time and Portable Chaos-Based Crypto-Compression Systems for Efficient Embedded Architectures Mohammad Abu Taha
Total Page:16
File Type:pdf, Size:1020Kb
Real-Time and Portable Chaos-based Crypto-Compression Systems for Efficient Embedded Architectures Mohammad Abu Taha To cite this version: Mohammad Abu Taha. Real-Time and Portable Chaos-based Crypto-Compression Systems for Ef- ficient Embedded Architectures. Electronics. UNIVERSITE DE NANTES, 2017. English. tel- 01563932 HAL Id: tel-01563932 https://hal.archives-ouvertes.fr/tel-01563932 Submitted on 18 Jul 2017 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Public Domain Thèse de Doctorat Mohammed ABUTAHA Mémoire présenté en vue de l’obtention du grade de Docteur de l’Université de Nantes sous le sceau de l’Université Bretagne Loire École doctorale : Sciences et technologies de l’information, et mathématiques (ED STIM 503) Discipline : Electronique/spécialité:Sciences de l’Information et de la Communication. Unité de recherche : Institut d’Electronique et de Télécommunications de Rennes UMR CNRS 6164(IETR) Soutenance le 12 Juillet 2017 Real-Time and Portable Chaos-based Crypto-Compression Systems for Efficient Embedded Architectures JURY Présidente et Rapporteur : Mme Danièle FOURNIER, Professeur des universités, Université de Toulouse Rapporteur : M. Laurent NANA, Professeur des universités, Université Bretagne Occidentale Examinateur : M. Damien SAUVERON, Maître de Conférences, HDR, Université de Limoges Directeur de thèse : M. Safwan EL ASSAD, Maître de Conférences, HDR, Université de Nantes Co-directeur de thèse : M. Olivier DEFORGES, Professeur des universités, INSA de Rennes Co-encadrant de thèse : Mme Audrey QUEUDET, Maître de Conférences, Université de Nantes Contents I INTRODUCTION 15 1 Preface............................................ 17 2 Context............................................ 18 3 Objectives and motivations.................................. 18 4 Thesis outline and contributions............................... 19 5 Published work in journal and international conferences................... 20 6 Submitted papers for journal and conferences........................ 20 II BACKGROUND 21 1 State-of-the-art 23 1.1 Introduction.......................................... 23 1.2 Chaos-based generator related works............................. 24 1.3 Encryption schemes...................................... 25 1.3.1 Chaos-based block cipher cryptosystems...................... 25 1.3.2 Stream ciphers.................................... 26 1.4 Real time applications..................................... 32 1.5 High efficiency video coding (HEVC)............................ 34 1.5.1 HEVC tools...................................... 34 1.6 Selective video encryption related works........................... 40 1.7 Conclusion.......................................... 41 2 Parallel Programming and Software Security Tools 43 2.1 Introduction.......................................... 43 2.2 Parallel programming models................................. 43 2.2.1 MPI.......................................... 44 2.2.2 OpenMP....................................... 46 2.2.3 Pthread........................................ 46 2.3 A brief introduction to OpenMP............................... 46 2.3.1 OpenMP parallel principles............................. 46 2.3.2 OpenMP memory architecture............................ 46 2.3.3 OpenMP syntax.................................... 48 2.3.4 OpenMP parallel constructs............................. 48 2.3.5 OpenMP data environment.............................. 49 2.3.6 Critical sections.................................... 51 2.3.7 Clauses/directives summary............................. 52 2.3.8 OpenMP problems.................................. 52 2.4 Pthread-based multi-threaded programming......................... 53 2.4.1 Pthread data types.................................. 53 2.4.2 Creating Pthread................................... 53 3 4 CONTENTS 2.4.3 Waiting for Pthreads to finish............................ 54 2.4.4 Pthreads mutexes................................... 54 2.4.5 Pthread conditions variables............................. 55 2.4.6 Pthread barriers.................................... 57 2.5 Generating random numbers................................. 58 2.6 Software security analysis.................................. 58 2.6.1 Static software security tools............................. 60 2.6.2 Dynamic software security tools........................... 61 2.7 Conclusions.......................................... 62 III CONTRIBUTIONS 65 3 Efficient Implementation of Chaos-based Generators 67 3.1 Introduction.......................................... 67 3.2 Proposed chaotic generator.................................. 68 3.3 Parallel implementation.................................... 74 3.3.1 Parallel implementation of the chaotic generator using OpenMP.......... 74 3.3.2 Parallel implementation of the chaotic generator using Pthread........... 74 3.3.3 OpenMP vs Pthread................................. 75 3.3.4 Computing performance of the chaotic generator.................. 76 3.3.5 Statistical tests of proposed chaos based generator................. 76 3.4 First Application....................................... 86 3.4.1 Scheme of the proposed Pseudo-chaotic Number Generator as a RNG....... 87 3.5 Second Application: Proposed chaos-based stream cipher................. 91 3.5.1 Encryption computation performance and security analysis of the proposed stream cipher......................................... 92 3.5.2 Security analysis of proposed chaos-based stream cipher.............. 94 3.5.3 Statistical analysis of the proposed chaos stream cipher............... 97 3.6 Software security implementation.............................. 100 3.7 Conclusion.......................................... 104 4 Real Time Selective Encryption 105 4.1 Introduction.......................................... 105 4.2 Real time encoder: Kvazaar................................. 106 4.3 Proposed video encryption system.............................. 106 4.3.1 Encryption of intra prediction parameters...................... 106 4.3.2 CABAC level encryption............................... 106 4.3.3 Chaos-based encryption system........................... 108 4.4 ROI encryption in HEVC.................................. 109 4.4.1 Tile-based encryption system............................ 109 4.4.2 Encryption propagation in inter video coding.................... 109 4.5 Results and discussions.................................... 110 4.5.1 Experimental setup.................................. 110 4.5.2 Objective measurements............................... 112 4.5.3 Subjective evaluations................................ 120 4.5.4 Complexity evaluations............................... 123 4.6 Conclusion.......................................... 124 CONTENTS 5 IV Conclusions and Future work Perspectives 125 5 Conclusions and Future work Perspectives 127 5.1 Conclusions and future work................................. 127 Appendices 139 A Synthèse des travaux réalisés 141 A.1 Contexte et objectifs:..................................... 141 A.2 Résumé des travaux:..................................... 142 B Static and dynamic analysis tools 149 B.1 Software security analysis tools................................ 149 B.1.1 Static Software security analysis tools........................ 149 B.1.2 Dynamic Software security analysis tools...................... 151 B.2 Some of tools and limitations................................. 153 B.2.1 Csur tool....................................... 153 B.2.2 Boon tool....................................... 154 B.2.3 Cqual tool....................................... 154 B.2.4 Parfai tool and coverity tool............................. 154 B.2.5 Blast tool....................................... 154 C Code Documentation 155 C.1 Class List........................................... 155 C.2 File List............................................ 155 C.3 key Struct Reference..................................... 155 C.3.1 Detailed Description................................. 156 C.3.2 Member Data Documentation............................ 156 C.4 cartes.c File Reference.................................... 159 C.4.1 Detailed Description................................. 159 C.4.2 Macro Definition Documentation.......................... 160 C.4.3 Function Documentation............................... 160 C.5 cartes.h File Reference.................................... 163 C.5.1 Macro Definition Documentation.......................... 163 C.5.2 Function Documentation............................... 164 C.6 main.c File Reference..................................... 166 C.6.1 Detailed Description................................. 167 C.6.2 Function Documentation............................... 167 C.7 util.c File Reference...................................... 167 C.7.1 Detailed Description................................. 167 C.7.2 Function Documentation............................... 168 C.8 util.h File Reference...................................... 168 C.8.1 Typedef Documentation............................... 169 C.8.2