Cryptographiethumb|La machine de Lorenz utilisée par les nazis durant la Seconde Guerre mondiale pour chiffrer les communications militaires de haut niveau entre Berlin et les quartiers-généraux des différentes armées. La cryptographie est une des disciplines de la cryptologie s'attachant à protéger des messages (assurant confidentialité, authenticité et intégrité) en s'aidant souvent de secrets ou clés. Elle se distingue de la stéganographie qui fait passer inaperçu un message dans un autre message alors que la cryptographie rend un message supposément inintelligible à autre que qui de droit.
Cryptographie sur les courbes elliptiquesLa cryptographie sur les courbes elliptiques (en anglais, elliptic curve cryptography ou ECC) regroupe un ensemble de techniques cryptographiques qui utilisent une ou plusieurs propriétés des courbes elliptiques, ou plus généralement d'une variété abélienne. L'usage des courbes elliptiques en cryptographie a été suggéré, de manière indépendante, par Neal Koblitz et Victor S. Miller en 1985.
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.
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.
Primitive cryptographiqueUne primitive cryptographique est un algorithme cryptographique de bas niveau, bien documenté, et sur la base duquel est bâti tout système de sécurité informatique. Ces algorithmes fournissent notamment des fonctions de hachage cryptographique et de chiffrement. À la création d’un système cryptographique (ou cryptosystème), le concepteur se fonde sur des briques appelées « primitives cryptographiques ». Pour cette raison les primitives cryptographiques sont conçues pour effectuer une tâche précise et ce de la façon la plus fiable possible.
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.
Théorie de la complexité (informatique théorique)vignette|Quelques classes de complexité étudiées dans le domaine de la théorie de la complexité. Par exemple, P est la classe des problèmes décidés en temps polynomial par une machine de Turing déterministe. La théorie de la complexité est le domaine des mathématiques, et plus précisément de l'informatique théorique, qui étudie formellement le temps de calcul, l'espace mémoire (et plus marginalement la taille d'un circuit, le nombre de processeurs, l'énergie consommée ...) requis par un algorithme pour résoudre un problème algorithmique.
Classe de complexitéEn informatique théorique, et plus précisément en théorie de la complexité, une classe de complexité est un ensemble de problèmes algorithmiques dont la résolution nécessite la même quantité d'une certaine ressource. Une classe est souvent définie comme l'ensemble de tous les problèmes qui peuvent être résolus sur un modèle de calcul M, utilisant une quantité de ressources du type R, où n, est la taille de l'entrée. Les classes les plus usuelles sont celles définies sur des machines de Turing, avec des contraintes de temps de calcul ou d'espace.
Théorie des groupesvignette|Le Rubik's cube illustre la notion de groupes de permutations. Voir groupe du Rubik's Cube. La théorie des groupes est en mathématique, plus précisément en algèbre générale, la discipline qui étudie les structures algébriques appelées groupes. Le développement de la théorie des groupes est issu de la théorie des nombres, de la théorie des équations algébriques et de la géométrie. La théorie des groupes est étroitement liée à la théorie des représentations.
Cryptographie post-quantiqueLa cryptographie post-quantique est une branche de la cryptographie visant à garantir la sécurité de l'information face à un attaquant disposant d'un calculateur quantique. Cette discipline est distincte de la cryptographie quantique, qui vise à construire des algorithmes cryptographiques utilisant des propriétés physiques, plutôt que mathématiques, pour garantir la sécurité. En l'effet, les algorithmes quantiques de Shor, de Grover et de Simon étendent les capacités par rapport à un attaquant ne disposant que d'un ordinateur classique.
Quantum complexity theoryQuantum complexity theory is the subfield of computational complexity theory that deals with complexity classes defined using quantum computers, a computational model based on quantum mechanics. It studies the hardness of computational problems in relation to these complexity classes, as well as the relationship between quantum complexity classes and classical (i.e., non-quantum) complexity classes. Two important quantum complexity classes are BQP and QMA.
Algorithmethumb|Algorithme de découpe d'un polygone quelconque en triangles (triangulation). Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le , le traitement de textes, la bio-informatique L' algorithme peut être mis en forme de façon graphique dans un algorigramme ou organigramme de programmation.
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.
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.
Factorisation aurifeuillienneEn théorie des nombres, une factorisation aurifeuillienne, nommée d'après Léon-François-Antoine Aurifeuille, est un cas particulier de factorisation algébrique d'entiers provenant d'une factorisation (accidentelle) d'un polynôme cyclotomique. Les polynômes cyclotomiques eux-mêmes sont irréductibles (dans ), mais il peut néanmoins arriver qu'on dispose de factorisations systématiques de leurs valeurs sur certains entiers.
Key-agreement protocolIn cryptography, a key-agreement protocol is a protocol whereby two or more parties can agree on a cryptographic key in such a way that both influence the outcome. If properly done, this precludes undesired third parties from forcing a key choice on the agreeing parties. Protocols that are useful in practice also do not reveal to any eavesdropping party what key has been agreed upon. Many key exchange systems have one party generate the key, and simply send that key to the other party—the other party has no influence on the key.
Théorie géométrique des groupesLa théorie géométrique des groupes est un domaine des mathématiques pour l'étude des groupes de type fini à travers les connexions entre les propriétés algébriques de ces groupes et les propriétés topologiques et géométriques des espaces sur lesquels ils opèrent. Les groupes sont vus comme des ensembles de symétries ou d'applications continues sur ces espaces. Une autre idée importante de la théorie géométrique des groupes est de considérer les groupes de type fini eux-mêmes comme des objets géométriques, généralement via le graphe de Cayley du groupe étudié.
Complexité paramétréeEn algorithmique, la complexité paramétrée (ou complexité paramétrique) est une branche de la théorie de la complexité qui classifie les problèmes algorithmiques selon leur difficulté intrinsèque en fonction de plusieurs paramètres sur les données en entrée ou sur la sortie. Ce domaine est étudié depuis les années 90 comme approche pour la résolution exacte de problèmes NP-complets. Cette approche est utilisée en optimisation combinatoire, notamment en algorithmique des graphes, en intelligence artificielle, en théorie des bases de données et en bio-informatique.
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).
Groupe (mathématiques)vignette|Les manipulations possibles du Rubik's Cube forment un groupe. En mathématiques, un groupe est une des structures algébriques fondamentales de l'algèbre générale. C'est un ensemble muni d'une loi de composition interne associative admettant un élément neutre et, pour chaque élément de l'ensemble, un élément symétrique. La structure de groupe est commune à de nombreux ensembles de nombres — par exemple les nombres entiers relatifs, munis de la loi d'addition.