Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
Lattice-based cryptographyLattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions are currently important candidates for post-quantum cryptography. Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers.
Ideal latticeIn discrete mathematics, ideal lattices are a special class of lattices and a generalization of cyclic lattices. Ideal lattices naturally occur in many parts of number theory, but also in other areas. In particular, they have a significant place in cryptography. Micciancio defined a generalization of cyclic lattices as ideal lattices. They can be used in cryptosystems to decrease by a square root the number of parameters necessary to describe a lattice, making them more efficient.
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.
Complexité de la communicationLa complexité de la communication ou complexité de communication est une notion étudiée en informatique théorique. Le dispositif abstrait classique est le suivant : Alice et Bob ont chacun un message, et ils veulent calculer un nouveau message à partir de leurs messages, en se transmettant un minimum d'information. Par exemple, Alice et Bob reçoivent un mot chacun, et ils doivent décider s'ils ont reçu le même mot ; ils peuvent bien sûr s'envoyer leur mot l'un à l'autre et comparer, mais la question est de minimiser le nombre de messages.
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.
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.
Histoire du logiciel libreLhistoire du logiciel libre est intimement imbriquée avec celle de l'informatique et celle du génie logiciel. Elle ne commence en tant que telle qu'à partir du moment où est apparu le besoin de distinguer le logiciel libre du logiciel propriétaire, selon le principe énoncé pour Le Cru et le Cuit. Ces prémices datant de la fin du , il ne peut s'agir d'une discipline académique. L'histoire du logiciel libre est donc présentée ici de façon informelle. thumb|Manipulation des nombres sur un boulier.
Open Source DefinitionL'Open Source Definition (« définition de lopen source ») détermine les conditions nécessaires pour qu'une licence soit considérée comme open source aux yeux de l'Open Source Initiative. Elle est publiée sur le site de l'OSI avec une liste de licences approuvées''. La définition est reprise du texte des principes du logiciel libre selon Debian, écrits et adaptés principalement par Bruce Perens avec des contributions des développeurs de Debian. Le document est créé 9 mois avant la création de l'Open Source Initiative.
Modèles économiques des logiciels open sourcealt=Logo de l’Open Source Initiative : un disque vert dont on a enlevé une part en bas et un petit disque au centre|vignette|Logo de l’Open Source Initiative, association défendant le potentiel économique du développement de logiciels open source. alt=Logo de l’April : « promouvoir et défendre le logiciel libre »|vignette|Logo de l’April, association française faisant la promotion des logiciels libres et de leurs modèles économiques.