Chiffrementthumb|Table de chiffrement de la guerre franco–prussienne de 1870, évoquant une série de mots classés par ordre alphabétique. Archives nationales de France. Le chiffrement (ou parfois cryptage) est un procédé de cryptographie grâce auquel on souhaite rendre la compréhension d'un document impossible à toute personne qui n'a pas la clé de chiffrement. Ce principe est généralement lié au principe d'accès conditionnel. Bien que le chiffrement puisse rendre secret le sens d'un document, d'autres techniques cryptographiques sont nécessaires pour communiquer de façon sûre.
Exponentiation modulaireEn mathématiques, plus précisément en arithmétique modulaire, l’exponentiation modulaire est un type d'élévation à la puissance (exponentiation) réalisée sur des entiers modulo un entier. Elle est particulièrement utilisée en informatique, spécialement dans le domaine de la cryptologie. Etant donnés une base b, un exposant e et un entier non nul m, l'exponentiation modulaire consiste à calculer c tel que : Par exemple, si b = 5, e = 3, et m = 13, le calcul de c donne 8.
Algorithme de KaratsubaEn informatique, l'algorithme de Karatsuba est un algorithme pour multiplier rapidement deux nombres de n chiffres avec une complexité temporelle en O(n) ≈ O(n) au lieu de O(n) pour la méthode naïve. Il a été développé par Anatolii Alexevich Karatsuba en 1960 et publié en 1962 . Pour multiplier deux nombres de n chiffres, la méthode naïve multiplie chaque chiffre du multiplicateur par chaque chiffre du multiplicande. Cela exige donc n produits de deux chiffres. Le temps de calcul est en O(n2).
ExponentiationEn mathématiques, l’exponentiation est une opération binaire non commutative qui étend la notion de puissance d'un nombre en algèbre. Elle se note en plaçant l'un des opérandes en exposant (d'où son nom) de l'autre, appelé base. Pour des exposants rationnels, l'exponentiation est définie algébriquement de façon à satisfaire la relation : Pour des exposants réels, complexes ou matriciels, la définition passe en général par l'utilisation de la fonction exponentielle, à condition que la base admette un logarithme : L'exponentiation ensembliste est définie à l'aide des ensembles de fonctions : Elle permet de définir l'exponentiation pour les cardinaux associés.
Algorithme de multiplication d'entiersLes algorithmes de multiplication permettent de calculer le résultat d'une multiplication. Graphiquement, il s'agit de transformer un rectangle multiplicateur × multiplicande en une ligne, en conservant le nombre d'éléments. Ce type de multiplication n'utilise que des additions et des multiplications ou des divisions par 2. Elle ne nécessite pas de connaître de table de multiplication (autre que la multiplication par 2).
Arithmétique multiprécisionL'arithmétique multiprécision désigne l'ensemble des techniques mises en œuvre pour manipuler dans un programme informatique des nombres (entiers, rationnels, ou flottants principalement) de taille arbitraire. Il s'agit d'une branche de l'arithmétique des ordinateurs. On oppose l'arithmétique multi-précision à l'arithmétique en simple ou double précision, comme celle spécifiée par le standard IEEE 754 pour les nombres flottants.
Exponentiation rapideEn informatique, l'exponentiation rapide est un algorithme utilisé pour calculer rapidement de grandes puissances entières. En anglais, cette méthode est aussi appelée square-and-multiply (« mettre au carré et multiplier »). La première façon de calculer une puissance x est de multiplier x par lui-même n fois. Cependant, il existe des méthodes bien plus efficaces, où le nombre d'opérations nécessaires n'est plus de l'ordre de n mais de l'ordre de .
TétrationLa tétration (ou encore nappe exponentielle, hyperpuissance, tour de puissances, super-exponentiation ou hyper4) est une « exponentiation itérée ». C'est le premier hyperopérateur après l'exponentiation. Le mot-valise tétration a été forgé par Reuben Goodstein sur la base du préfixe tétra- (quatre) et itération. La tétration est utilisée pour l'écriture des grands nombres. Elle suit l'addition, la multiplication et l'exponentiation comme indiqué ci-après : addition multiplication exponentiation tétration avec chaque fois b apparitions de la lettre a.
ComputationA computation is any type of arithmetic or non-arithmetic calculation that is well-defined. Common examples of computations are mathematical equations and computer algorithms. Mechanical or electronic devices (or, historically, people) that perform computations are known as computers. The study of computation is the field of computability, itself a sub-field of computer science. The notion that mathematical statements should be ‘well-defined’ had been argued by mathematicians since at least the 1600s, but agreement on a suitable definition proved elusive.
Inverse modulaireEn mathématiques et plus précisément en arithmétique modulaire, l'inverse modulaire d'un entier relatif pour la multiplication modulo est un entier satisfaisant l'équation : En d'autres termes, il s'agit de l'inverse dans l'anneau des entiers modulo n, noté Z/nZ ou Z. Une fois ainsi défini, peut être noté , étant entendu implicitement que l'inversion est modulaire et se fait modulo . La définition est donc équivalente à : L'inverse de a modulo existe si et seulement si et sont premiers entre eux, (c.-à-d.
Chiffrement de disqueLe chiffrement de disque (disk encryption, full disk encryption ou FDE en anglais) est une technologie qui protège l’information en la transformant en un code illisible qui ne peut pas être déchiffré facilement par les personnes qui n’y sont pas autorisées. Le chiffrement de disque utilise un ou le pour chiffrer chaque bit des données sur un disque dur ou un volume. Le chiffrement de disque lutte contre les accès non autorisés au système de stockage de données.
Theory of computationIn theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree (e.g., approximate solutions versus precise ones). The field is divided into three major branches: automata theory and formal languages, computability theory, and computational complexity theory, which are linked by the question: "What are the fundamental capabilities and limitations of computers?".
Model of computationIn computer science, and more specifically in computability theory and computational complexity theory, a model of computation is a model which describes how an output of a mathematical function is computed given an input. A model describes how units of computations, memories, and communications are organized. The computational complexity of an algorithm can be measured given a model of computation. Using a model allows studying the performance of algorithms independently of the variations that are specific to particular implementations and specific technology.
HyperopérationEn mathématiques, les hyperopérations (ou hyperopérateurs) constituent une suite infinie d'opérations qui prolonge logiquement la suite des opérations arithmétiques élémentaires suivantes : addition (n = 1) : multiplication (n = 2) : exponentiation (n = 3) : Reuben Goodstein proposa de baptiser les opérations au-delà de l'exponentiation en utilisant des préfixes grecs : tétration (n = 4), pentation (n = 5), hexation (n = 6), etc. L'hyperopération à l'ordre n peut se noter à l'aide d'une flèche de Knuth au rang n – 2.
Fonction multiplicativeEn arithmétique, une fonction multiplicative est une fonction arithmétique f : N* → C vérifiant les deux conditions suivantes : f(1) = 1 ; pour tous entiers a et b > 0 premiers entre eux, on a : f (ab) = f(a)f(b). Une fonction complètement multiplicative est une fonction arithmétique g vérifiant : g(1) = 1 ; pour tous entiers a et b > 0, on a : g(ab) = g(a)g(b). Ces dénominations peuvent varier d'un ouvrage à un autre : fonction faiblement multiplicative pour fonction multiplicative, fonction multiplicative ou totalement multiplicative pour fonction complètement multiplicative.
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.
Logiciels de cryptographievignette|Un portefeuille Bitcoin imprimable en papier composé d'une adresse bitcoin pour la réception et de la clé privée correspondante pour les dépenses Les logiciels de cryptographie sont des logiciels qui peuvent chiffrer et déchiffrer des données, souvent sous la forme de fichiers dans un disque dur ou de paquets envoyés à travers un réseau informatique. chiffrement Les logiciels de chiffrement utilisent un protocole de chiffrement pour chiffrer les données de l’ordinateur donc elles ne peuvent plus être récupérées sans la bonne clé.
Entier sans facteur carrévignette|Les nombres qui n'ont pas été rayé sont tous les entiers sans facteur carré jusqu'à 120 En mathématiques et plus précisément en arithmétique, un entier sans facteur carré (souvent appelé, par tradition ou commodité quadratfrei ou squarefree) est un entier relatif qui n'est divisible par aucun carré parfait, excepté 1. Par exemple, 10 est sans facteur carré mais 18 ne l'est pas, puisqu'il est divisible par 9 = 3. Les dix plus petits nombres de la des entiers positifs sans facteur carré sont 1, 2, 3, 5, 6, 7, 10, 11, 13, 14.
Disk encryption softwareDisk encryption software is computer security software that protects the confidentiality of data stored on computer media (e.g., a hard disk, floppy disk, or USB device) by using disk encryption. Compared to access controls commonly enforced by an operating system (OS), encryption passively protects data confidentiality even when the OS is not active, for example, if data is read directly from the hardware or by a different OS. In addition crypto-shredding suppresses the need to erase the data at the end of the disk's lifecycle.
Algorithme de DijkstraEn théorie des graphes, l'algorithme de Dijkstra (prononcé ) sert à résoudre le problème du plus court chemin. Il permet, par exemple, de déterminer un plus court chemin pour se rendre d'une ville à une autre connaissant le réseau routier d'une région. Plus précisément, il calcule des plus courts chemins à partir d'une source vers tous les autres sommets dans un graphe orienté pondéré par des réels positifs. On peut aussi l'utiliser pour calculer un plus court chemin entre un sommet de départ et un sommet d'arrivée.