• Aide
  • Eurêkoi Eurêkoi

Livre

Initiation à la cryptographie avec Python

Résumé

Manuel sur les usages de la cryptographie expliquant les mécanismes à l'oeuvre dans les échanges de données et présentant la programmation avec Python. Avec des fiches pratiques, des tableaux, des exercices corrigés et des ressources en ligne téléchargeables.


  • Éditeur(s)
  • Date
    • DL 2023
  • Notes
    • La couv. porte en plus : "Cours complet : plus de 80 exercices, tous les corrigés détaillés, programmation avec Python" ; "BTS, DUT, licence" ; "+ en ligne offert : les programmes du livre en Python"
    • Contient des "flashcodes" permettant d'accéder à des contenus via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (206 p.) : ill., fig. ; 24 cm
  • Sujet(s)
  • ISBN
    • 978-2-8073-5143-1
  • Indice
  • Quatrième de couverture
    • Initiation à la cryptographie avec Python

      Considérée comme la science du secret, la cryptographie fait aujourd'hui partie de notre vie quotidienne : cartes à puce, Internet, courrier électronique... ne faisons-nous pas déjà depuis de longues années de la cryptographie sans le savoir ? Riche de multiples possibilités et méthodes, cette discipline - servant à assurer la sécurité et la confidentialité des communications et des données - s'impose à tous.

      L'objectif de ce manuel est de rendre accessible, aux étudiants en premier cycle des études supérieures des cursus mathématiques et informatique, les possibilités et les méthodes de la cryptographie moderne, à l'aide de Python.

      Ce cours complet de cryptographie accueille également de nombreux exercices, dont certains sont intégralement corrigés. Des compléments numériques vers les programmes du livre en Python viennent compléter l'ensemble.

      Les plus

      • Nouvelles méthodes de cryptographie (AES, chiffrement homomorphe, etc.)
      • Compléments numériques vers les programmes du livre en Python

  • Tables des matières
      • Initiation à la cryptographie avec Python

      • Gilles Dubertret

      • Deboeck supérieur

      • Introduction9
      • 1 Les nombres premiers11
      • 1.1 Nombres premiers11
      • 1.2 Crible d'Ératosthène13
      • 1.3 Facteurs premiers14
      • 1.4 Complexité, liste des nombres premiers, spirale d'Ulam15
      • 1.4.1 Notion de complexité algorithmique15
      • 1.4.2 Liste des nombres premiers17
      • 1.4.3 La spirale d'Ulam18
      • 1.5 Décomposition en facteurs premiers19
      • 1.6 Exercices20
      • 2 Eléments d'arithmétique23
      • 2.1 Congruences dans ℤ23
      • 2.1.1 Introduction23
      • 2.1.2 Congruence25
      • 2.1.3 Ensemble quotient Z/nZ27
      • 2.1.4 Structure algébrique de Z/nZ28
      • 2.1.5 Groupe, anneau et corps29
      • 2.1.6 Relation d'équivalence29
      • 2.2 Cryptographie : César, Vigénère, permutation (Programmation)31
      • 2.2.1 Système de cryptographie de César31
      • 2.2.2 Système cryptographique de Vigenère34
      • 2.2.3 Permutations alphabétiques34
      • 2.3 Divisibilité dans ℤ36
      • 2.3.1 Idéal des multiples de a : (a)36
      • 2.3.2 Divisibilité et idéaux de ℤ37
      • 2.3.3 PPCM37
      • 2.3.4 PGCD38
      • 2.3.5 Le Théorème de Gauss40
      • 2.4 PGCD, PPCM et Python (Programmation)41
      • 2.5 Retour aux nombres premiers43
      • 2.6 Exercices44
      • 2.7 Eléments inversibles de Z/nZ48
      • 2.7.1 Indicateur d'Euler48
      • 2.7.2 Petit Théorème de Fermat50
      • 2.8 Applications et pratique50
      • 2.8.1 Cryptographie et algèbre linéaire50
      • 2.8.2 Calcul de ax mod n et le théorème de Fermat51
      • 2.8.3 Test de non primalité52
      • 2.8.4 Calcul de ax « à la main ». Notion de cycle53
      • 3 L'algorithme d'Euclide étendu55
      • 3.1 Présentation de l'algorithme55
      • 3.2 Euclide étendu, inverse de a dans Z/nZ (Programmation)57
      • 3.2.1 Euclide étendu, ou Bezout57
      • 3.2.2 Inverse de a dans Z/nZ58
      • 3.2.3 Python et le package 'galois'58
      • 3.3 Exercices61
      • 4 Le logarithme discret63
      • 4.1 Racine primitive63
      • 4.2 Critère de primalité de Lehmer65
      • 4.3 Racine primitive, grands nombres premiers (Programmation)65
      • 4.3.1 Recherche de racine primitive65
      • 4.3.2 Recherche de grands nombres premiers65
      • 5 Cryptosystèmes69
      • 5.1 Exemples de cryptosystèmes classiques70
      • 5.1.1 Trois exemples70
      • 5.1.2 N-gramme substitution70
      • 5.1.3 Permutation d'ordre d70
      • 5.1.4 Playfair Cipher71
      • 5.1.5 Transformation linéaire71
      • 5.1.6 La machine Enigma71
      • 5.2 Casser un cryptosystème77
      • 5.3 Différents niveaux d'attaque78
      • 5.4 Masque jetable, Vernam (One time pad)79
      • 5.5 Cryptographie quantique80
      • 5.6 La Cryptographie militaire (1883), Kerckhoffs81
      • 5.7 Communication Theory of Secrecy Systems. Shannon82
      • 5.8 Convertir du texte en nombre (Programmation)83
      • 5.9 Python et l'utilisation du code ASCII83
      • 5.10 Python et la conversion texte-nombre84
      • 6 Fonctions à sens unique87
      • 6.1 Fonctions à sens unique87
      • 6.2 Sac à dos, Protocole DH, ..., chiffre de Rabin89
      • 6.2.1 Partage de clés : protocole DH89
      • 6.2.2 Un cryptosystème sans clé90
      • 6.2.3 Algorithme du sac à dos90
      • 6.2.4 Le chiffre de Rabin91
      • 6.3 Implémentation avec Python (Programmation)92
      • 6.3.1 Le sac à dos92
      • 6.3.2 Partage de clés94
      • 6.3.3 Cryptosystème sans clé95
      • 6.4 Le théorème chinois et le chiffre de Rabin (Théorie et programmation)97
      • 6.4.1 Le théorème du reste chinois97
      • 6.4.2 Le chiffre de Rabin99
      • 7 Le RSA et le chiffrement Elgamal103
      • 7.1 Le système RSA103
      • 7.2 RSA et Python (Programmation)105
      • 7.3 Chiffrement Elgamal106
      • 8 Le DES109
      • 8.1 L'algorithme LUCIFER, : notion de ronde109
      • 8.2 Le DES111
      • 8.3 IDEA114
      • 8.4 Modes de chiffrement par bloc. Mode ECB, CBC, CFB, OFB115
      • 8.5 Ou exclusif et addition modulo 2 (Programmation)118
      • 8.6 Addition modulo 216 1199
      • 9 Advanced Encryption Standard (AES)121
      • 9.1 Introduction121
      • 9.2 Les corps finis (Théorie)121
      • 9.2.1 Construction de GF (28)123
      • 9.2.2 L'anneau GF (28)[x]/(x4 + 1)126
      • 9.3 AES126
      • 9.3.1 Les rondes126
      • 9.3.2 La génération des clés de rondes (Key Expansion)128
      • 9.3.3 Déchiffrement128
      • 9.4 Python et le corps de Galois GF (28) (Programmation)129
      • 9.5 Implémentation de PAES (Programmation)132
      • 9.5.1 Le corps de Galois GF(28)132
      • 9.5.2 Les routines132
      • 9.5.3 KeyExpansion136
      • 9.5.4 Le chiffrement138
      • 10 Courbes elliptiques141
      • 10.1 Introduction141
      • 10.2 Courbes elliptiques sur Z/pZ (p premier)143
      • 10.3 Courbes elliptiques sur Z/nZ (n composé)144
      • 10.4 Application à la cryptographie144
      • 10.5 Application à la décomposition des grands nombres145
      • 10.6 Courbes elliptiques et Python (Programmation)147
      • 10.6.1 Courbes elliptiques sur R147
      • 10.6.2 Racine carrée dans Z/pZ148
      • 10.6.3 Courbes elliptiques sur Z/pZ (p premier)149
      • 10.6.4 Courbes sur Z/nZ (n composé)151
      • 11 Fonction de Hachage155
      • 11.1 Protocole155
      • 11.2 Empreinte (Hash Code)156
      • 11.3 KECCAK ou SHA-3158
      • 11.4 Preuve de travail158
      • 11.5 Générateur Pseudo-aléatoire159
      • 12 Protocole ZK : Zero Knowledge161
      • 12.1 Le démon de Quisquater et Guillou161
      • 12.2 Protocole de Fiat-Shamir162
      • 12.3 Graphes et cryptographie163
      • 12.4 Complexité165
      • 13 Identification, Authentification, Signature167
      • 13.1 Authentification168
      • 13.2 Identification169
      • 13.3 Signature171
      • 13.4 Signature Elgamal172
      • 13.5 Conclusion173
      • 14 Horodatage et Blockchain175
      • 14.1 Horodatage175
      • 14.2 Blockchain et le BitCoin177
      • 15 Exemples d'applications de la cryptographie181
      • 15.1 PKI181
      • 15.2 L'argent n'a pas d'odeur183
      • 15.3 Organiser une partie de poker sur internet184
      • 15.4 HTTPS184
      • 15.5 Carte bancaire185
      • 15.6 PGP187
      • 15.7 Voter via internet187
      • 15.8 Chiffrement homomorphe189
      • 15.9 Secret partagé, Clé partagée190
      • 15.10 Le WIFI191
      • 15.11 Chiffrement par flot192
      • 15.12 La lettre recommandée avec AR193
      • 15.13 Tatouage numérique194
      • 15.14 Conclusion196
      • 16 Cryptanalyse197
      • 17 La cryptographie à travers l'histoire199
      • 17.1 L'antiquité199
      • 17.2 La mécanisation200
      • 17.3 Systèmes symétriques200
      • 17.4 Systèmes à clé publique (asymétriques)201
      • 17.5 Mars 2000 : la signature numérique a, valeur légale en France201
      • Bibliographie203
      • Index205

  • Origine de la notice:
    • BPI
  • Disponible - 681.40(07) DUB

    Niveau 3 - Informatique