Maison >Java >javaDidacticiel >Explication détaillée de la classification et résumé de la technologie de cryptage et de décryptage Java

Explication détaillée de la classification et résumé de la technologie de cryptage et de décryptage Java

Y2J
Y2Joriginal
2017-05-17 09:13:271252parcourir

Cet article présente principalement des informations pertinentes résumées sur les méthodes de classification de base du cryptage et du décryptage Java. Les amis dans le besoin peuvent se référer à

Bases du cryptage et du décryptage Java :
<.>

La cryptographie est la science technique qui étudie la préparation et le déchiffrement des codes. L'étude des lois objectives des changements de mots de passe, appliquée à la compilation de codes pour garder les secrets de communication, est appelée cryptographie ; l'application au déchiffrement de codes pour obtenir des renseignements sur les communications est appelée déchiffrement, et est généralement appelée cryptographie.

Termes courants en cryptographie

Plaintext : Données à chiffrer.

Chiffré : données cryptées en clair.

Cryptage : Le processus de conversion du texte brut en texte chiffré.

Algorithme de chiffrement  : Un algorithme de conversion qui convertit le texte brut en texte chiffré.

Clé de cryptage : La clé utilisée pour effectuer les opérations de cryptage via l'algorithme de cryptage.

Déchiffrement : Le processus de conversion du texte chiffré en inscription.

Algorithme de décryptage  : Un algorithme de conversion qui convertit le texte chiffré en texte brut.

Clé de décryptage : La clé pour les opérations de décryptage en décryptant les cheveux courts.

Classification cryptozoologique

1. Par temps

a. Utilisez des caractères comme unité de cryptage de base.


b. Cryptographie moderne : les blocs d'informations sont utilisés comme unité de cryptage de base.


2 Divisé par algorithme de contenu confidentiel

a Algorithme restreint : La confidentialité de l'algorithme est basée sur le maintien du secret de l'algorithme.


b. Algorithme basé sur la clé : La confidentialité de l'algorithme est basée sur la confidentialité de la clé.


3. Divisé par système de clé

a. Cryptosystème symétrique : également appelé cryptosystème à clé unique ou à clé privée, le processus de cryptage est le même. car Le processus de décryptage utilise le même ensemble de clés. L'algorithme correspondant est un algorithme de chiffrement symétrique, tel que DES et AES.


b. Cryptosystème asymétrique : également appelé cryptosystème à double clé ou à clé publique, le processus de chiffrement et le processus de déchiffrement utilisent des clés différentes. L'algorithme correspondant est un algorithme de chiffrement asymétrique, tel que RSA.


4. Divisé par méthode de traitement du texte en clair

a. Chiffrement de flux : également appelé chiffrement de séquence, un bit est crypté à chaque fois ou un octet. du texte en clair. Par exemple, l'algorithme RC4.


b.

Groupe Mot de passe : lors du cryptage, divisez le texte brut en groupes de longueur fixe et utilisez la même clé et le même algorithme pour crypter et afficher chacun groupe. Il s’agit également d’un texte brut de longueur fixe. Lorsque la dernière taille de groupe ne correspond pas à la taille de groupe spécifiée,

dispose de deux modes de traitement :

Aucun mode de remplissage, traitez directement le restant Les données sont cryptées et la taille cryptée de ce groupe est liée aux données restantes


a un mode de remplissage, et les données sont remplies pour les groupes qui ne répondent pas à la longueur spécifiée ; le dernier groupe de données est identique à la taille de groupe spécifiée, puis ajoutez directement un groupe avec la taille

spécifiée ; le dernier octet de remplissage enregistre le nombre d'octets de remplissage.


Mode de fonctionnement du chiffrement par blocIntroduction

1. Modèle de chiffrement électronique - BCE

Chiffrez chaque groupe de texte brut indépendamment en utilisant la même clé. Lorsqu'il est chiffré de cette manière, le cryptage de chaque groupe est effectué indépendamment sans interférer les uns avec les autres, il peut donc être effectué en parallèle. De plus, comme chaque groupe est chiffré indépendamment, le même groupe de texte en clair aura le même texte chiffré après le chiffrement. Ce mode expose facilement la régularité statistique et les caractéristiques structurelles du regroupement de texte en clair. Ne protège pas contre les attaques de substitution.


En fait, selon la mise en œuvre, le processus de l'ECB n'est qu'un processus de regroupement du texte brut, puis de leur chiffrement séparément, et enfin de leur enchaînement. Ce mode n'est pas recommandé lorsque la longueur du message dépasse un paquet. L'ajout de bits aléatoires à chaque groupe (comme 96 bits de texte brut valide et 32 ​​bits de nombres aléatoires dans un groupe de 128 bits) peut légèrement améliorer sa

sécurité, mais cela entraînera sans aucun doute la compromission des données pendant le processus de cryptage.

Avantages :

1. Simple


2. 🎜>

3. Les erreurs ne seront pas transmises ;


Inconvénients :

Impossible de masquer le mode texte brut ; 🎜>
2. Attaque active possible sur le texte brut ;


2. Mode de lien de bloc de chiffrement - CBC


nécessite un vecteur d'initialisation. IV, le premier ensemble de texte en clair est XORé avec le vecteur d'initialisation, puis chiffré. Chaque ensemble suivant de texte en clair est XORé avec le texte chiffré de l'ensemble précédent avant d'être chiffré. Le IV n'a pas besoin d'être gardé secret, il peut être transmis en texte clair avec le texte chiffré.

Avantages :


1 Il n'est pas facile d'être activement attaqué, et la sécurité est meilleure que la BCE. Il convient à la transmission. messages longs. Ce sont les normes SSL, IPSec.

Inconvénients :


1. Pas propice au calcul parallèle ;
2. >

3. Le vecteur d'initialisation IV est requis


3. Mode de retour de texte chiffré - CFB


.

Un vecteur d'initialisation IV est requis. Après le cryptage, l'opération XOR est effectuée avec le premier groupe de texte en clair pour générer le premier groupe de texte chiffré, puis l'opération XOR est effectuée avec le deuxième groupe. de texte en clair pour envelopper le deuxième groupe de texte chiffré, et ainsi de suite, jusqu'à ce que le cryptage soit terminé.

Avantages :

1. Masquer le mode texte brut

2. mode ;

3. Peut crypter et transmettre des données plus petites que le paquet dans le temps ;

Inconvénients :

1. Non Propice au calcul parallèle ;

2. Transmission d'erreur : les dommages causés à une unité de texte en clair affectent plusieurs unités ;

3. Unique IV ;

4. Mode de retour de sortie --OFB

nécessite un vecteur d'initialisation IV Après le cryptage, les premières données cryptées sont obtenues. le texte en clair du premier groupe. L'opération OU génère le premier ensemble de texte chiffré, puis les premières données chiffrées sont chiffrées une deuxième fois pour obtenir les secondes données chiffrées. Les secondes données chiffrées sont ensuite soumises à un OU exclusif avec le deuxième ensemble de texte en clair pour générer le texte en clair. deuxième ensemble de texte chiffré, et ainsi de suite jusqu'à ce que le cryptage soit terminé.

Avantages :

1. Masquer le mode texte brut ;

2. Convertir le chiffrement en bloc en mode flux ;

3. Peut crypter et transmettre des données plus petites que le paquet dans le temps ;

Inconvénients :

1. . Non Propice au calcul parallèle ;

2. Des attaques actives sur le texte en clair sont possibles ;

3. >

5. Mode compteur - CTR

Utiliser un compteur La valeur initiale du compteur est cryptée et XORée avec le premier ensemble de texte en clair pour. génère le premier ensemble de texte chiffré, le compteur

augmente, puis, après le cryptage, l'opération XOR est effectuée avec l'ensemble suivant de texte en clair pour générer l'ensemble suivant de texte chiffré, et ainsi de suite, jusqu'à ce que le cryptage soit terminé.

Avantages :

1. Peut être calculé en parallèle


2. bon comme le mode CBC ;


3. Cryptage et La solution implique uniquement le cryptage des algorithmes cryptographiques ;


Inconvénients :

1. Il n'y a pas de propagation d'erreur et il est difficile de garantir l'intégrité des données ;


Introduction à la méthode de remplissage du chiffrement par bloc

PKCS5 : Padding

String se compose d'une séquence d'octets d'une valeur de 5, chaque mot Section padding est la longueur de cette séquence d'octets. La taille du bloc est clairement définie comme étant de 8 bits

PKCS7 : La chaîne de remplissage se compose d'une séquence d'octets d'une valeur de 7, et chaque octet est complété avec la longueur de la séquence d'octets. La taille du bloc n'est pas définie et peut être comprise entre 1 et 255


ISO10126 : la chaîne de remplissage se compose d'une séquence d'octets, le dernier octet de cette séquence d'octets remplit la longueur de la séquence d'octets et les octets restants sont rempli de données aléatoires.

【Recommandations associées】

1.

Recommandation spéciale : Téléchargement de la version V0.1 de "php Programmer Toolbox"

2.

Tutoriels vidéo Java gratuits

3

Analyse complète des annotations Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn