Cryptographie asymétriquevignette|320x320px|Schéma du chiffrement asymétrique: une clé sert à chiffrer et une seconde à déchiffrer La cryptographie asymétrique, ou cryptographie à clé publique est un domaine relativement récent de la cryptographie. Elle permet d'assurer la confidentialité d'une communication, ou d'authentifier les participants, sans que cela repose sur une donnée secrète partagée entre ceux-ci, contrairement à la cryptographie symétrique qui nécessite ce secret partagé préalable.
Clé de chiffrementUne clé est un paramètre utilisé en entrée d'une opération cryptographique (chiffrement, déchiffrement, scellement, signature numérique, vérification de signature). Une clé de chiffrement peut être symétrique (cryptographie symétrique) ou asymétrique (cryptographie asymétrique). Dans le premier cas, la même clé sert à chiffrer et à déchiffrer. Dans le second cas on utilise deux clés différentes, la clé publique est utilisée au chiffrement alors que celle servant au déchiffrement est gardée secrète : la clé secrète, ou clé privée, et ne peut pas se déduire de la clé publique.
Key managementKey management refers to management of cryptographic keys in a cryptosystem. This includes dealing with the generation, exchange, storage, use, crypto-shredding (destruction) and replacement of keys. It includes cryptographic protocol design, key servers, user procedures, and other relevant protocols. Key management concerns keys at the user level, either between users or systems. This is in contrast to key scheduling, which typically refers to the internal handling of keys within the operation of a cipher.
Cryptographie symétriquevignette|320x320px|Schéma du chiffrement symétrique: la même clé est utilisée pour le chiffrement et le déchiffrement La cryptographie symétrique, également dite à clé secrète (par opposition à la cryptographie asymétrique), est la plus ancienne forme de chiffrement. Elle permet à la fois de chiffrer et de déchiffrer des messages à l'aide d'un même mot clé. On a des traces de son utilisation par les Égyptiens vers 2000 av. J.-C. Plus proche de nous, on peut citer le chiffre de Jules César, dont le ROT13 est une variante.
Computational complexityIn computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) and memory storage requirements. The complexity of a problem is the complexity of the best algorithms that allow solving the problem. The study of the complexity of explicitly given algorithms is called analysis of algorithms, while the study of the complexity of problems is called computational complexity theory.
Nombre de Mersenne premiervignette|droite|Le moine français Marin Mersenne (1588-1648) En mathématiques et plus précisément en arithmétique, un nombre de Mersenne est un nombre de la forme 2 − 1 (souvent noté ), où est un entier naturel non nul ; un nombre de Mersenne premier (ou nombre premier de Mersenne) est donc un nombre premier de cette forme. Ces nombres doivent leur nom au religieux érudit et mathématicien français du Marin Mersenne ; mais, près de auparavant, Euclide les utilisait déjà pour étudier les nombres parfaits.
Théorème des nombres premiersvignette|Une illustration du théorème des nombres premiers : en rouge, le nombre de nombres premiers inférieurs ou égaux à x ; en vert, une approximation utilisant ; en bleu, une approximation utilisant l'intégrale logarithmique . En mathématiques, et plus précisément en théorie analytique des nombres, le théorème des nombres premiers, démontré indépendamment par Hadamard et La Vallée Poussin en 1896, est un résultat concernant la distribution asymptotique des nombres premiers.
Nombre premiervignette|Nombres naturels de zéro à cent. Les nombres premiers sont marqués en rouge. vignette|Le nombre 7 est premier car il admet exactement deux diviseurs positifs distincts. Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs. Ces deux diviseurs sont 1 et le nombre considéré, puisque tout nombre a pour diviseurs 1 et lui-même (comme le montre l’égalité n = 1 × n), les nombres premiers étant ceux qui ne possèdent pas d'autre diviseur.
Prime k-tupleIn number theory, a prime k-tuple is a finite collection of values representing a repeatable pattern of differences between prime numbers. For a k-tuple (a, b, ...), the positions where the k-tuple matches a pattern in the prime numbers are given by the set of integers n such that all of the values (n + a, n + b, ...) are prime. Typically the first value in the k-tuple is 0 and the rest are distinct positive even numbers. Several of the shortest k-tuples are known by other common names: OEIS sequence covers 7-tuples (prime septuplets) and contains an overview of related sequences, e.
Key generationKey generation is the process of generating keys in cryptography. A key is used to encrypt and decrypt whatever data is being encrypted/decrypted. A device or program used to generate keys is called a key generator or keygen. Modern cryptographic systems include symmetric-key algorithms (such as DES and AES) and public-key algorithms (such as RSA). Symmetric-key algorithms use a single shared key; keeping data secret requires keeping this key secret. Public-key algorithms use a public key and a private key.
Protocole de communicationDans les réseaux informatiques et les télécommunications, un protocole de communication est une spécification de plusieurs règles pour un type de communication particulier. Initialement, on nommait protocole ce qui est utilisé pour communiquer sur une même couche d'abstraction entre deux machines différentes. Par extension de langage, on utilise parfois ce mot aussi aujourd'hui pour désigner les règles de communication entre deux couches sur une même machine.
Cryptosystème de ElGamalLe cryptosystème d'ElGamal, ou chiffrement El Gamal (ou encore système d'El Gamal) est un protocole de cryptographie asymétrique inventé par Taher Elgamal en 1984 et construit à partir du problème du logarithme discret. Ce protocole est utilisé par le logiciel libre GNU Privacy Guard dont les versions récentes implémentent jusqu'à sa version sur les courbes elliptiques. Contrairement au chiffrement RSA, il n’a jamais été sous la protection d’un brevet.
Formules pour les nombres premiersEn mathématiques, la recherche de formules exactes donnant tous les nombres premiers, certaines familles de nombres premiers ou le nombre premier s'est généralement avérée vaine, ce qui a amené à se contenter de formules approchées. Cette page recense les principaux résultats obtenus. L'espoir d'obtenir une formule exacte et simple donnant le n-ième nombre premier p, ou le nombre π(n) de nombres premiers inférieurs ou égaux à n, s'est très tôt heurté à l'extrême irrégularité de leur répartition, ce qui a amené à se contenter d'objectifs moins ambitieux.
Quadruplet premierEn théorie des nombres, un quadruplet premier est une suite de quatre nombres premiers consécutifs de la forme (p, p+2, p+6, p+8). C'est la seule forme possible pour quatre nombres premiers consécutifs d'écarts entre eux minimaux, en dehors des quadruplets (2,3,5,7) et (3,5,7,11). Par exemple (5, 7, 11, 13) et (11, 13, 17, 19) sont des quadruplets premiers. Un quadruplet de nombres premiers impairs consécutifs a un écart entre le plus petit et le plus grand de ces nombres d'au moins 6, il ne peut être de 6 car le seul triplet de nombres premiers consécutifs de la forme (p, p+2, p+4) est (3, 5, 7) (voir triplet premier).
CryptosystèmeUn cryptosystème est un terme utilisé en cryptographie pour désigner un ensemble composé d'algorithmes cryptographiques et de tous les textes en clair, textes chiffrés et clés possibles (définition de Bruce Schneier). Cette dénomination est toutefois ambiguë, car très souvent associée à la cryptographie asymétrique avec l'utilisation d'une clé privée et d'une clé publique pour les opérations de chiffrement et de déchiffrement.
Nombres premiers sexyEn mathématiques, un couple de nombres premiers sexy (ou nombres premiers sexys) est un couple de nombres premiers dont la différence est 6 (autrement dit, un couple de la forme (p, p + 6) où p et p + 6 sont des nombres premiers). C'est le cas, par exemple, des nombres 5 et 11. Certains de ces nombres premiers sont consécutifs, par exemple 23 et 29 sont premiers et il n'y a pas de nombre premier entre eux deux. Le terme « sexy » est un jeu de mots fondé sur le mot latin pour « six » : sex.
Complexité en espaceEn algorithmique, la complexité en espace est une mesure de l'espace utilisé par un algorithme, en fonction de propriétés de ses entrées. L'espace compte le nombre maximum de cases mémoire utilisées simultanément pendant un calcul. Par exemple le nombre de symboles qu'il faut conserver pour pouvoir continuer le calcul. Usuellement l'espace que l'on prend en compte lorsque l'on parle de l'espace nécessaire pour des entrées ayant des propriétés données est l'espace nécessaire le plus grand parmi ces entrées ; on parle de complexité en espace dans le pire cas.
Attaque par clé apparentéeUne attaque par clé apparentée est une forme de cryptanalyse où l'adversaire peut observer les opérations d'un algorithme de chiffrement lorsqu'il est utilisé avec différentes clés, aux valeurs inconnues, mais qui sont liées entre elles par des propriétés mathématiques connues de l'attaquant. Par exemple, une telle propriété pourrait être une séquence comme 1100 qui apparaît dans chaque clé au même endroit, alors que le reste des bits composants la clé sont inconnus.
Décomposition en produit de facteurs premiersvignette|Décomposition du nombre 864 en facteurs premiers En mathématiques et plus précisément en arithmétique, la décomposition en produit de facteurs premiers, aussi connue comme la factorisation entière en nombres premiers ou encore plus couramment la décomposition en facteurs premiers, consiste à chercher à écrire un entier naturel non nul sous forme d'un produit de nombres premiers. Par exemple, si le nombre donné est 45, la factorisation en nombres premiers est 3 × 5, soit 3 × 3 × 5.
Protocole cryptographiqueUn protocole de sécurité (protocole cryptographique ou protocole de chiffrement) est un protocole abstrait ou concret qui remplit une fonction liée à la sécurité et applique des méthodes cryptographiques, souvent sous forme de séquences de primitives cryptographiques. Un protocole décrit comment les algorithmes doivent être utilisés et inclut des détails sur les structures de données et les représentations, à quel point il peut être utilisé pour implémenter plusieurs versions interopérables d'un programme.