Dans la mesure de la formation de la société d'information, les moyens technologiques de la surveillance totale après des millions de gens sont accessibles à de grands États. C'est pourquoi la
Dans la terminologie cryptographique le message initial nomment en clair (plaintext ou cleartext). Le changement du texte initial pour cacher d'un autre son contenu, appellent шифрованием (encryption). Le message chiffré appellent шифротекстом (ciphertext). Le procès, à qui de шифротекста on tire le texte ouvert appellent comme le décodage (decryption). D'habitude en train du chiffrage et le décodage on utilise une certaine clé (key) et l'algorithme assure que l'on peut faire le décodage en connaissant seulement cette clé.
Les algorithmes avec l'utilisation de la clé se divisent en deux classes : symétrique (ou les algorithmes par la clé confidentielle) et асиметричные (ou les algorithmes avec la clé ouverte). La différence dans ce que les algorithmes symétriques utilisent la même clé pour шифрования et pour le décodage (ou la clé pour le décodage est calculée simplement selon la clé du chiffrage). Pendant que les algorithmes asymétriques utilisent de différentes clés, et la clé pour le décodage ne peut pas être calculée selon la clé du chiffrage.
Les algorithmes smmetrichnye subdivisent sur потоковые les chiffres et les chiffres par blocs. Потоковые permettent de chiffrer l'information побитово, pendant que par blocs travaillent avec un certain ensemble du bats des données (d'habitude le montant du bloc fait 64 bits) et chiffrent cet ensemble comme l'unité.
Les chiffres assimetrichnye (aussi nommé les algorithmes avec la clé ouverte, ou - - dans plus de plan général - - cryptographie avec la clé ouverte) admettent pour que la clé ouverte soit доступн tout (nous dirons, est publié dans le journal). Cela permet de chiffrer le message. Cependant déchiffrer ce message pourra seulement la personne nécessaire (celui qui possède la clé du décodage). La clé pour шифрования appellent comme la clé ouverte, mais la clé pour le décodage - - par la clé fermée ou la clé confidentielle.
Les algorithmes modernes du chiffrage/décodage sont assez complexes de ceux-ci il est impossible de passer à la main. Les vrais algorithmes cryptographiques sont élaborés pour l'utilisation par les ordinateurs ou les installations spéciales de matériel. Dans la plupart des applications la
Généralement parlant, les algorithmes symétriques travaillent plus vite, que ассиметричные. Sur практке les deux comme les algorithmes sont utilisés souvent ensemble : l'algorithme avec la clé ouverte est utilisé pour transmettre par l'image accidentelle la clé générée confidentielle, qui puis est utilisée pour le décodage du message.
Plusieurs algorithmes qualitatifs cryptographiques sont accessibles largement - dans la librairie, la bibliothèque, le bureau de patente ou à Internet. Aux algorithmes largement connus symétriques se rapportent DES et IDEA, Probablement le meilleur algorithme asymétrique est RSA.
Les signatures en chiffre sont utilisées pour confirmer que le message est venu en effet de l'expéditeur donné (dans la supposition que seulement l'expéditeur possède la clé confidentielle correspondant à sa clé ouverte). Aussi les signatures sont utilisées pour проставления du cliché du temps (timestamp) sur les documents : la partie, à qui nous croyons, signe le document avec le cliché du temps avec помошью de la clé confidentielle et, ainsi, confirme que le document existait déjà au moment annoncé dans le cliché du temps.
Les signatures en chiffre on peut utiliser aussi pour le certificat (les certifications - - to certify) ce que le document appartient à la personne définie. Cela se fait ainsi : la clé ouverte et l'information sur celle-là, à qui il appartient signent par la partie, par qui est cru. De plus croire à la partie signant nous pouvons en vertu de ce que sa clé était signée par le tiers. Apparaît ainsi la hiérarchie de la confiance. Il est évident qu'une certaine clé doit être la racine de la hiérarchie (c'est-à-dire nous lui croyons non parce qu'il par quelqu'un est signé, c'est pourquoi que nous croyons a-priori qu'il peut croire). Dans l'infrastructure centralisée des clés il y a une très petite quantité de clés radicales du réseau (par exemple, les agences d'État revêtues par les responsabilités; les appellent aussi comme les agences de certification - - certification authorities). Dans l'infrastructure distribuée il n'y a pas de nécessité d'avoir universel pour tous les clés radicales, et chacune des parties peut croire à l'ensemble des clés radicales (nous dirons à la clé personnelle et les clés, elle signé). Cette conception porte le nom du réseau de la confiance (web of trust) et est réalisée, par exemple, à PGP.
La signature en chiffre du document est créée d'habitude ainsi : du document on génère un soi-disant digest (message digest) et on lui ajoute l'information sur celle qui signe le document, le cliché du temps et caetera. La ligne résultée est chiffrée ensuite par la clé confidentielle de n'importe quel algorithme signant avec l'utilisation. L'ensemble résulté chiffré du bats représente la signature. Vers la signature est appliquée d'habitude la clé ouverte du signant. Si le destinataire décide d'abord pour lui-même il croit à ce que la clé ouverte appartient notamment à celui-là, à qui doit appartenir (avec l'aide du réseau de la confiance ou la connaissance apriorique), et puis décodera la signature avec l'aide de la clé ouverte. Si la signature a été décodée normalement, et son contenu correspond au document (le digest etc.), le message est considéré confirmé.
Quelques méthodes de la création et contrôle des signatures en chiffre sont librement accessibles. Le plus connu est l'algorithme RSA.
Les hesh-fonctions cryptographiques produisent d'habitude les significations de la longueur à 128 et plus bits. Ce nombre est considérable plus que la quantité собщений, qui existeront jamais dans le monde.
Beaucoup de bonnes hesh-fonctions cryptographiques accessiblement gratuitement. Largement connu insèrent MD5 et SHA.
Dans l'idéal les nombres accidentels doivent se fonder sur la vraie source physique de l'information accidentelle, qui il est impossible de prédire. Les exemples de telles sources insèrent les appareils faisant du bruit demi-conducteurs, les bits cadets оцифрованного du son, les intervalles entre les interruptions des installations ou les pressions des touches. Le bruit reçu de la source physique puis "est distillé" par l'hesh-fonction cryptographique de manière que chaque bit dépende de chaque bit. Il suffit souvent pour la conservation de l'information accidentelle on utilise le pool assez grand (quelques mille bit) et chaque bit du pool se fait dépendant de chaque bit de bruit информаци et chaque autre bit du pool криптографически sûr (strong) par le moyen.
Quand il n'y a pas de la vraie source physique du bruit, il faut se servir des nombres pseudo-accidentels. Une telle situation est indésirable, mais apparaît souvent sur les ordinateurs de la destination totale. Il est toujours désirable de recevoir un certain bruit de l'entourage - - nous dirons de la valeur des retards des installations, les chiffres de la statistique de l'utilisation des ressources, la statistique de réseau, les interruptions du clavier ou quelque chose l'autre. La tâche est recevoir les données, imprévisible pour l'observateur extérieur. Pour l'acquisition de cela le pool accidentel doit contenir au minimum 128 bits de la vraie entropie.
Les générateurs cryptographiques des nombres pseudo-accidentels utilisent d'habitude un grand pool (seed-signification) contenant l'information accidentelle. Les bits est généré par voie de l'extrait du pool avec le parcours possible dans l'hesh-fonction cryptographique pour cacher le contenu du pool à l'observateur extérieur. Quand on demande une nouvelle portion du bats, le pool se mélange par voie du chiffrage avec la clé accidentelle (lui on peut prendre de non utilisé les parties du pool) de manière que chaque bit du pool dépende de chaque autre bit. Un nouveau bruit de l'entourage doit être ajouté au pool avant les malaxages pour faire la prédiction des nouvelles significations du pool encore plus complexe.
Malgré le fait qu'à la conception ponctuelle криптографически le générateur sûr des nombres accidentels réaliser non ainsi vraiment et il est difficile, cette question perdent de vue souvent. Ainsi, il faut souligner l'importance du générateur cryptographique des nombres accidentels - - s'il est fait mal, il peut il est facile de devenir l'élément le plus vulnérable du système.
Théoriquement, chacun шифровальный l'algorithme avec l'utilisation de la clé peut être ouvert avec la méthode de l'excédent de toutes les significations de la clé. Si la clé s'approche furtivement par la méthode de la force brutale (brute force), la capacité demandée de l'ordinateur grandit exponentiellement avec l'augmentation de la longueur la clé. La clé de la longueur à 32 bits demande 2^32 (près de 10^9) les pas. Une telle tâche sous la force à n'importe quel dilettante se décide sur l'ordinateur domestique. Les systèmes avec la clé de 40 bits (par exemple, la variante d'exportation américaine de l'algorithme RC4) demandent 2^40 pas - - telles capacités informatiques se trouvent dans la plupart des universités et même dans de petites compagnies. Les systèmes avec les clés de 56 bits (DES) demandent pour l'ouverture des efforts considérables, peuvent être facilement ouverts cependant avec l'aide de l'équipement spécial. Le coût d'un tel équipement est considérable, mais est accessible pour la mafia, de grandes compagnies et les gouvernements. Les clés de la longueur 64 bits peuvent être ouvertes à présent, probablement, avec de grands États et déjà à plus proche quelques années seront accessibles pour l'ouverture criminel организацими, de grandes compagnies et de petits États. Les clés de la longueur 80 bits peuvent devenir dans le futur vulnérables. Les clés de la longueur 128 bits resteront probablement inaccessibles pour l'ouverture par la méthode de la force brutale dans le futur accessible. On peut utiliser et de plus longues clés. Dans la limite il est facile d'obtenir que l'énergie demandée pour l'ouverture (en trouvant que sur un pas est dépensé minimal квантовомеханический le quantum de l'énergie) surpasse la masse du soleil ou l'univers.
Cependant, la longueur la clé ce n'est pas tout. On peut ouvrir plusieurs chiffres et sans trier les combinaisons toutes possibles. Généralement parlant, il est très difficile d'inventer le chiffre, que l'on ne pourrait pas ouvrir avec un autre moyen plus effectif. L'élaboration des chiffres personnels peut devenir une agréable étude, mais pour les applications réelles utiliser les chiffres improvisés il n'est pas recommandé si vous n'êtes pas l'expert et ne sont pas assurés sur 100 pour-cent de ce que faites.
Généralement parlant, il faut se tenir à côté des algorithmes inédits ou confidentiels. Souvent le concepteur d'un tel algorithme n'est pas assuré de sa sécurité, ou la sécurité dépend du caractère secret de l'algorithme. Généralement parlant, aucun algorithme, le caractère secret de qui dépend du caractère secret de l'algorithme non явяется par le sûr. En particulier, en ayant le programme chiffrant, on peut embaucher прграммиста, qui дизассемблирует elle et restaurera l'algorithme par la méthode de l'ingénierie inverse. L'expérience montre que la plupart des algorithmes confidentiels qui sont devenus par la suite le patrimoine de l'opinion publique se sont trouvés jusqu'à ridicule incertain.
Les longueurs les clés utilisées dans la cryptographie avec la clé ouverte d'habitude considérablement plus que dans les algorithmes symétriques. Ici le problème consiste non en sélection de la clé, mais dans la reconstitution de la clé confidentielle selon l'ouvert. En cas de RSA le problème est équivalent à la décomposition sur les multiplicateurs de la grande nombre entière, qui est l'oeuvre des paire des nombres premiers inconnus. En cas des autres криптосистем, le problème est équivalent au calcul du logarithme discontinu selon le module de la grande nombre entière (une telle tâche est considérée environ à la tâche analogue selon la difficulté de la décomposition sur les multiplicateurs). Se trouvent криптосистемы, qui utilisent d'autres problèmes.
Pour donner la représentation sur le degré de la complexité de l'ouverture RSA, pour ainsi dire, que les modules de la longueur 256 bits facilement факторизуются par les programmeurs ordinaires. Les clés à 384 bits peuvent être ouvertes avec le groupe scientifique de l'université ou la compagnie. Les clés de 512 bits se trouvent à la portée de la portée des grands États. Les clés de la longueur à 768 bits ne seront pas sûres probablement le temps long. Les clés de la longueur à 1024 bits peuvent être considérées sûr jusqu'à ce que soit du progrès essentiel dans l'algorithme de la factorisation; les clés de la longueur à 2048 plupart trouve sûr sur les décennies. On peut puiser l'information plus détaillée sur les longueurs les clés RSA dans l'article de Brjusa Shnajera (Bruce Scheier).
Il est important de souligner que le degré de la sécurité du système cryptographique est défini par son groupe le plus faible. On ne peut pas perdre de vue d'aucun aspect de l'élaboration du système - - du choix de l'algorithme à politique de l'utilisation et la diffusion des clés.
Par un des moyens de prévenir un tel type des attaques consiste en ce que les parties à l'échange pour les clés calculent l'hesh-fonction cryptographique de la signification du procès-verbal de l'échange (ou au moins les significations des clés), signent par son algorithme de la signature en chiffre et envoient la signature à l'autre partie. Le destinataire contrôlera la signature et ce que la signification de l'hesh-fonction coïncide avec la signification calculée. Une telle méthode est utilisée, en particulier, dans le système de Foturis (Photuris).
Disclaimer. Toutes les opinions amenées ici et les conclusions sont le point de vue subjectif de l'auteur, et l'auteur ne peut pas assumer la responsabilité d'eux ильность.
Examiner sur le forum»