201 Shares 9370 views

RSA-cryptage. Description et mise en œuvre de l'algorithme RSA

RSA-cryptage est l'un des premiers systèmes à clé publique pratique qui est largement utilisé pour la transmission sécurisée des données. Sa principale différence des services similaires est que la clé de chiffrement est ouvert et différent de la clé de déchiffrement, qui est gardé secret. La technologie RSA , cette asymétrie est basée sur la difficulté pratique d'affacturage de la lecture de deux grands nombres premiers (le problème de l' affacturage).

Histoire de la création

RSA Le nom est composé des lettres initiales des noms de famille Rivest, Shamir et Adleman – les scientifiques qui a décrit publiquement ces algorithmes de chiffrement en 1977. Klifford Koks, un mathématicien anglais, qui a travaillé pour les services de renseignement britanniques, le premier à développer un système équivalent en 1973, mais il n'a pas été déclassifié jusqu'en 1997

utilisateur RSA crée et publie ensuite la clé publique basée sur deux grands nombres premiers avec la valeur auxiliaire. Les nombres premiers doivent être gardés secrets. Tout le monde peut utiliser la clé publique pour chiffrer un message, mais si elle est assez grande, alors que quelqu'un ayant des connaissances des nombres premiers peut décoder le message. la divulgation de chiffrement RSA est connu comme le principal problème aujourd'hui est une discussion ouverte sur la façon dont un mécanisme fiable.

algorithme RSA est relativement lente, raison pour laquelle il est pas aussi largement utilisé pour directement chiffrer l'utilisateur. Dans la plupart des cas, cette méthode est utilisée pour la transmission dans la clé partagée cryptée pour une clé de chiffrement symétrique, qui peut effectuer des opérations de chiffrement et de déchiffrement en vrac à une vitesse beaucoup plus élevée.

Quand il y avait un système de chiffrement sous sa forme actuelle?

L'idée de clé cryptographique asymétrique attribuée à Diffie et Hellman, qui a publié le concept en 1976, l'introduction de signatures numériques, et d'essayer d'appliquer la théorie des nombres. Leur formulation utilise une clé secrète partagée générée à partir d'un certain nombre de exponentiation modulo un nombre premier. Cependant, ils ont laissé ouverte la question de la réalisation de cette fonction, étant donné que les principes de l'affacturage n'a pas été bien compris à l'époque.

Rivest, Adi Shamir et Adleman au MIT ont fait plusieurs tentatives au cours des années pour créer une fonction à sens unique qui est difficile à décoder. Rivest et Shamir (comme les informaticiens) ont proposé de nombreuses fonctions potentielles, alors que Adleman (comme les mathématiques) pour rechercher « points faibles » de l'algorithme. Ils ont utilisé beaucoup d'approches et finissent par développer un système final, maintenant connu sous le nom de RSA en Avril de 1977.

signature électronique et la clé publique

signature numérique ou signature électronique, fait partie intégrante des types de documents électroniques. Il est formé à un certain changement de données cryptographiques. Avec cet attribut possible de vérifier l'intégrité du document, la confidentialité, ainsi que pour déterminer qui est le propriétaire. En fait, une alternative à la signature standard ordinaire.

Ce système de chiffrement (RSA-crypté) offre la clé publique, à la différence symétrique. Son principe de fonctionnement est que les deux clés différentes sont utilisées – fermé (crypté) et en plein air. Le premier est utilisé pour générer la signature numérique et être en mesure de déchiffrer le texte. Deuxièmement – pour le chiffrement réel et la signature électronique.

L'utilisation des signatures pour mieux comprendre le cryptage RSA, un exemple qui peut être réduite comme un secret normal « fermé des regards indiscrets, » le document.

Quel est l'algorithme?

algorithme RSA consiste en quatre étapes: la génération de clés, la distribution, le chiffrement et le déchiffrement. Comme déjà mentionné, RSA-cryptage comprend une clé publique et une clé privée. En plein air peut être connue de tous et est utilisé pour chiffrer les messages. Son essence réside dans le fait que les messages cryptés avec la clé publique ne peuvent être déchiffrées dans une période de temps à l'aide d'une clé secrète.

Pour des raisons de sécurité, les entiers à choisir au hasard et être de taille identique, mais diffèrent en longueur par quelques chiffres pour rendre plus difficile l'affacturage. Même même nombre peut effectivement être trouvées par un test dans leur simplicité, donc doit nécessairement être compliqué le cryptage des informations.

La clé publique se compose du module et exposant public. unité intérieure et se compose d'une figure privée, qui devrait être gardé secret.

le cryptage RSA des fichiers et des faiblesses

Cependant, il y a un certain nombre de mécanismes simples hacking RSA. Lors du chiffrement avec des valeurs faibles et faibles de numéros de code peut être facilement ouvert, si le cryptogramme racine de sélection sur les entiers.

Étant donné que le RSA-cryptage est un algorithme déterministe (par exemple, n'a pas de composante aléatoire), un attaquant peut lancer avec succès l'attaque ouverte de texte sélectionné contre le système de chiffrement en chiffrant plaintexts probablement sous la clé publique et vérifie si elles sont égales cryptogramme. est appelé sémantiquement cryptosystème sécurisé dans le cas où un attaquant ne peut pas distinguer entre les deux cryptage les uns des autres, même s'il connaît les textes pertinents sous la forme élargie. Comme décrit ci-dessus, d'autres services RSA sans rembourrage ne sont pas sémantiquement sécurisé.

algorithmes supplémentaires pour le chiffrement et la protection

Pour éviter les problèmes ci-dessus, dans la mise en œuvre pratique de RSA sont généralement insérés dans une certaine forme de structure, le remplissage aléatoire avant le chiffrement. Cela garantit que le contenu ne tombe pas dans la gamme de plaintexts non sécurisés, et que ce message ne peut pas être résolu par la sélection aléatoire.

Sécurité système RSA et le chiffrement basé sur deux problèmes mathématiques: le problème de l'affacturage grand nombre et le problème réel RSA. La divulgation complète du cryptogramme et la signature du RSA est considérée comme irrecevable sur l'hypothèse que ces deux problèmes ne peuvent être résolus collectivement.

Cependant, avec la possibilité de récupérer les facteurs premiers, un attaquant peut calculer l'exposant secret de la clé publique et déchiffrer le texte en utilisant la procédure standard. Malgré le fait que aujourd'hui aucune méthode existante pour la factorisation de grands nombres entiers sur un ordinateur classique ne peut pas être trouvé, il n'a pas été prouvé qu'il n'existe pas.

automation

L'outil, appelé Yafu, peut être utilisé pour optimiser le processus. Automatisation en YAFU est une fonctionnalité avancée qui combine des algorithmes de factorisation dans la méthodologie intellectuelle et adaptative qui minimise le temps de trouver les facteurs de nombres d'entrée arbitraires. La plupart des implémentations algorithme multithread permettant Yafu utiliser pleinement multi ou plusieurs processeurs multi-core (y compris SNFS, SIQS et ECM). Tout d'abord, il est contrôlé par l'outil de ligne de commande. Le temps consacré à la recherche du facteur de Yafu de chiffrement à l'aide d'un ordinateur classique, il peut être réduit à quelques secondes 103.1746. L'outil traite le binaire capacité de 320 bits ou plus. C'est un logiciel très complexe qui nécessite une certaine quantité de compétences techniques pour installer et configurer. Ainsi, RSA-chiffrement peut être vulnérable C.

Tentatives de piratage ces derniers temps

En 2009, Bendzhamin Mudi en utilisant la clé de bits RSA-512 a travaillé sur le déchiffrage kriptoteksta pendant 73 jours, en utilisant uniquement le logiciel bien connu (GGNFS) et le bureau moyen (Athlon64 dual-core à 1900 MHz). Comme le montre l'expérience, nécessaire un peu moins de 5 Go de disque et environ 2,5 gigaoctets de mémoire pour le processus de « tamiser ».

En 2010, le plus grand nombre a été pris RSA 768 bits de long (232 chiffres décimaux ou RSA-768). Sa communication a duré deux ans sur plusieurs centaines d'ordinateurs à la fois.

Dans la pratique, les clés RSA sont longues – généralement de 1024 à 4096 bits. Certains experts estiment que les clés de 1024 bits peuvent être peu fiables dans un avenir proche ou même plus peuvent être fissurée attaquants très bien financés. Cependant, rares sont ceux qui soutiennent que les clés 4096 bits peuvent également être divulgués dans un proche avenir.

perspectives

Par conséquent, en règle générale, on suppose que RSA est en sécurité si les chiffres sont assez grandes. Si le nombre de base de 300 bits ou moins, et la signature numérique cryptogramme peut être décomposé en quelques heures sur un ordinateur personnel en utilisant le logiciel déjà disponible dans le domaine public. Une longueur de clé de 512 bits, comme indiqué, peuvent être ouvertes dès 1999, avec l'utilisation de quelques centaines d'ordinateurs. Aujourd'hui, il est possible dans quelques semaines à l'aide d'un matériel accessible au public. Ainsi, il est possible que dans buduschembudet facilement divulgués RSA codifiées sur les doigts, et le système deviendra désespérément obsolète.

Officiellement en 2003, a été remis en question la sécurité des clés de 1024 bits. À l'heure actuelle, il est recommandé d'avoir une longueur minimale de 2048 bits.