Information processing — Modes of operation for a 64-bit block cipher algorithm

Defines four modes for any 64-bit block cipher algorithm using a secret key for applications such as data transmission, data storage authentication. Defines the formation of the starting variable and the values of parameters. Reference: ANSI X3.92-1981.

Traitement de l'information — Modes opératoires d'un algorithme de chiffrement par blocs de 64 bits

General Information

Status
Withdrawn
Publication Date
29-Jul-1987
Withdrawal Date
29-Jul-1987
Current Stage
9599 - Withdrawal of International Standard
Completion Date
03-Mar-2004
Ref Project

Relations

Buy Standard

Standard
ISO 8372:1987 - Information processing -- Modes of operation for a 64-bit block cipher algorithm
English language
6 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 8372:1987 - Traitement de l'information -- Modes opératoires d'un algorithme de chiffrement par blocs de 64 bits
French language
6 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO 8372:1987 - Traitement de l'information -- Modes opératoires d'un algorithme de chiffrement par blocs de 64 bits
French language
6 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

IS0
INTERNATIONAL STANDARD
8372
First edition
1987-08-U
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANISATION INTERNATIONALE DE NORMALISATION
MEXIJYHAPOAHAFI OPI-AHM3AuMR I-IO CTAH~APTM3A~MM
Information processing - Modes of operation for
a 64-bit block cipher algorithm
Modes ophratoires d’un algorithme de chiffrement par blocs de
Traitemen t de l’informa tion -
64 bits
Reference number
IS0 8372: 1987 (E)

---------------------- Page: 1 ----------------------
Foreword
IS0 (the International Organization for Standardization) is a worldwide federation of
national standards bodies (IS0 member bodies). The work of preparing International
Standards is normally carried out through IS0 technical committees. Each member
body interested in a subject for which a technical committee has been established has
the right to be represented on that committee. International organizations, govern-
mental and non-governmental, in liaison with ISO, also take part in the work.
Draft International Standards adopted by the technical committees are circulated to
the member bodies for approval before their acceptance as International Standards by
the IS0 Council. They are approved in accordance with IS0 procedures requiring at
least 75 % approval by the member bodies voting.
International Standard IS0 8372 was prepared by Technical Committee ISO/TC 97,
lnforma tion processing s ys terns.
Users should note that all International Standards undergo revision from time to time
and that any reference made herein to any other International Standard implies its
latest edition, unless otherwise stated.
International Organization for Standardization, 1987
0
Printed in Switzerland

---------------------- Page: 2 ----------------------
IS0 8372 : 1987 (E)
INTERNATIONAL STANDARD
Information processing - Modes of operation for
a 64-bit block cipher algorithm
4 Notation
1 Scope and field of application
For the purposes of this International Standard the functional
This International Standard describes four modes of operation
relation defined by the block encipherment algorithm is written
for any 64-bit block cipher algorithm using a secret key.
NOTE - The annex, which does not form part of this International c = eK(P)
Standard, contains comments on the properties of each mode.
where
This International Standard establishes four defined modes of
operation so that in any application of a 64-bit block cipher (for
P is the plaintext block;
example data transmission, data storage authentication) this
C is the cipher-text block;
International Standard will provide a useful reference for the
specification of the mode of operation, the formation of the K is the key.
starting variable, and the values of parameters (as appropriate).
The expression eK is the operation of encipherment using the
NOTE - For the Cipher Feedback (CFB) mode of operation (see
key K.
clause 7), two parameters, j and k, are defined. For the Output Feed-
back (CFB) mode of operation (see clause 81, one parameter, j, is
The corresponding decipherment function is written
defined. When one of these modes of operation is used the parameter
value(s) needs to be chosen and used by all communicating parties.
P= dK(C)
A variable, such as P and C above, denoted by a capital letter,
represents a one-dimensional array of bits, for example:
2 Reference
A=
Ial, a2, . . . I a,> B = (b,, b2, . . . , b,)
ANSI X3.92-1981, Data Encryption Algorithm.
i.e. arrays of m bits, numbered from 1 to m.
3 Definitions The operation of addition, modulo 2, also known as the ex-
clusive ‘or’ function is shown by the symbol @. The operation
applied to arrays such as A and B is defined as
3.1 plaintext : Unenciphered information.
A C3 B = (al 03 bl, a2 03 b2, . . . I a, CE3 6,)
3.2 cipher text: Enciphered information.
The operation of selecting the left-mostj bits of A to generate
a j bit array is written
3.3 block chaining: The encipherment of information such
that each block of ciphertext is cryptographically dependent
-j=
A
upon the preceding cipher-text block.
(al, a2, . . l I aj)
This operation is defined only when j < m, where m is the
. initializing value (II/): Value used in defining the start-
34
number of bits in A.
ing point of an encipherment process.
A “shift function” Sk is defined as follows.
3.5 starting variable (W): Variable derived from the
initializing value and used in defining the starting point of the
Given an m-bit variable x and a k-bit variable F where k < m,
modes of operation.
the effect of a shift function SJX( F) produces the m-bit
variable
NOTE - The method of deriving the starting variable from the initializ-
ing value is not defined in this International Standard. It needs to be
Sk(XI F) =
(Xk + 11 xk + 21 9 9 9 I x,&f21 - . - 1 fk>
described in any application of the modes of operation.
The effect is to shift the bits of array x left by k places, discard-
3.6 cryptographic synchronization : The co-ordination of ing x1 . . . xk and to place the array F in the rightmost k places
the encipherment and decipherment process. of x.
1

---------------------- Page: 3 ----------------------
IS0 8372: 1987 (El
A special case of this function is used which begins with the c) a starting variable Wof 64 bits;
k-bit variable Z(k) of successive 1 bits and shifts the variable C
d) the resultant sequence of n cipher-text blocks C1, C2,
of j bits into it, where j < k.
. . . , Cn, each of 64 bits.
The result is
NOTE - The method of forming SV is not described in this inter-
national Standard.
S$Z(k) 1 Cl = { 1, 1, . . . , 1, cl, c2, . . . , cj}
The CBC mode of encipherment is described as follows:
where there are k - j “ones” on the left of the resultant array.
Encipherment of the first plaintext variable:
= eK(P1 @ SV) . . . (1)
Cl
5 Electronic Codebook (ECB) mode
subsequently,
Given a plaintext block P of 64 bits, the encipherment algorithm
produces a cipher-text block C of 64 bits, i.e. :
. . . (2)
Ci = eK(Pi@Ci-1) for i=2,3 ,., n
C = eK(P)
This procedure is illustrated in the upper part of figure 1. The
starting variable SV is used in the generation of the first
The decipherment algorithm produces
ciphertext output.
P= dK(C)
Subsequently, the cipher-text is added, modulo 2, to the next
plaintext before encipherment.
This mode of using the encipherment algorithm is known as
“electronic codebook”.
The CBC mode of decipherment is described as follows:
Decipherment of the first ciphertext variable:
6 Cipher Block Chaining (CBC) mode
= dK(C,) @SV . . . (3)
Pl
The variables employed for the CBC mode of encipherment are
subsequently,
a) a sequence of n plaintext blocks PI, P2, . . . , P,, each
Pi = dK(Ci) @ Ci _ 1 for i = 2, 3, . . . , n l . n (4)
of 64 bits;
b) a key K; This procedure is illustrated in the lower part of figure 1.
P
n
I
-4
C
n-l
---+a
SV
I
Encipherment {
4
Encipherment
e
algorithm
T
4 Cn
I
Decipherment
algorithm
C
n- 1
--
-+@
I
4
P
n
Figure 1
- Cipher Block Chaining (CBC) mode of operation

---------------------- Page: 4 ----------------------
IS0 8372: 1987 (E)
7 Cipher Feedback (CFB) mode NOTE - The method of forming SV is not described in this lnter-
national Standard.
7.1 Two parameters define a CFB mode of operation
The variable X is set to its initial value
a) the size of feedback variable, k, where 1 < k < 64;
= sv . . . (5)
Xl
b) the size of plaintext variable, j, where 1 < j < k.
The variables employed for the CFB mode of operation are
7.2 The operation of enciphering each plaintext block
employs the following five steps:
a) The input variables:
1) a sequence of n plaintext variables PI, P2, . . . , P,,
a) use of encipherment algorithm, Yi = eK(Xi); . . . (6)
each of j bits;
b) selection of leftmost j bits, Ei = Yi - j; . . . (7)
2) a key K;
C) generation of ciphertext block, Ci = Pi @ Ei; . . . (8)
3) a starting variable SV of 64 bits.
d) generation of feedback block, Fi = S&Z(k) (Ci); . . . (9)
e) shift function on X, Xi + 1 = Sk(Xi(Fi).
. . . (10)
b) The intermediate results :
1) a sequence of n algorithm input variables X,, These steps are repeated for i = 1, 2, . . . , n, ending with
equation (8) on the last cycle. The procedure is illustrated on
Xn, each of 64 bits;
&I n ’ l I
the left side of figure 2. The leftmost j bits of the output Y of
2) a sequence of n algorithm output variables Y,,
the encipherment algorithm are used to encipher the j-bit
Yn, each of 64 bits; plaintext block by modulo 2 addition. The remaining bits of Y
&I . ’ . I
are discarded. The bits of the plaintext and cipher-text blocks
3) a sequence of n variables El, E2, . . . , E,, each of
are numbered from 1 to j.
j bits;
The cipher-text block is augmented by placing k - j “ones” in
4) a sequence of n feedback variables&, F2, , . . , F,.,,
its leftmost bit positions to become F, a k-bit array, then the
each of k bits.
bits of the array X are shifted left by k places and the array F is
inserted in the rightmost k places, to produce the new value of
c) The output variables, i.e. a sequence of n ciphertext
X. In this shift operation, the leftmost k bits of X are discarded.
variables Cl, C2, . . . , C,, each of j
...

IS0
NORME INTERNATIONALE
8372
Première édition
1987-08- 15
_~_ ~
~
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANISATION INTERNATIONALE DE NORMALISATION
MEXAYHAPOflHAR OPTAHM3AuMR no CTAHflAPTMSAUMM
~~
~~
Traitement de l'information - Modes opératoires d'un
algorithme de chiffrement par blocs de 64 bits
Information processing - Modes of operation for a &-bit block cipher algorithm
Numéro de référence
IS0 8372 : 1987 (F)

---------------------- Page: 1 ----------------------
Avant-propos
L‘ISO (Organisation internationale de normalisation) est une fédération mondiale
d’organismes nationaux de normalisation (comités membres de I’ISO). L‘élaboration
des Normes internationales est normalement confiée aux comités techniques de I’ISO.
Chaque comité membre intéressé par une étude a le droit de faire partie du comité
technique créé à cet effet. Les organisations internationales, gouvernementales et non
gouvernementales, en liaison avec I’ISO participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I’ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I‘ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale IS0 8372 a été élaborée par le comité technique ISO/TC 97,
S ystèrnes de traitement de I’inforrnation.
L’attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises à révision et que toute référence faite B une autre
Norme internationale dans le présent document implique qu’il s‘agit, sauf indication
contraire, de la dernière édition.
0 Organisation internationale de normalisation, 1987 0
Imprimé en Suisse

---------------------- Page: 2 ----------------------
IS0 8372 : 1987 (FI
NORM E I NTE R NAT1 O NA LE
de l’information - Modes opératoires d’un
Taa ite m en t
de chiffrement par blocs de 64 bits
algorithme
1 Objet et domaine d’application NOTE - La méthode permettant de calculer la variable de départà par-
tir de la variable d‘initialisation n‘est pas définie dans la présente Norme
internationale. Elle doit être décrite dans toutes les applications des
La présente Norme internationale décrit quatre modes opératoi-
modes opératoires.
res, d‘un algorithme quelconque de chiffrement par blocs de
64 bits, utilisant une clé secrète.
synchronisation cryptographique : Coordination des
3.6
NOTE - L’annexe, qui ne fait pas partie intégrante de la présente
processus de chiffrement et de déchiffrement.
Norme internationale, contient des commentaires sur les caractéristi-
ques de chaque mode.
4 Notation
La présente Norme internationale définit quatre modes opéra-
toires tels que, dans le cadre d‘une quelconque application de
Pour tout ce qui concerne la présente Norme internationale, la
chiffrement par blocs de 64 bits (par exemple, transmission de
relation fonctionnelle définie par l‘algorithme de chiffrement
données, stockage de données, authentification) cette norme
des blocs s’écrit
constitue une référence utile pour la spécification des modes
opératoires, la formation de la variable de départ et les valeurs
C = eK(P)
des parametres (selon le cas).

NOTE - Deux paramètres, j et k, sont définis pour le mode opératoire
(voir chapitre 7) par rebouclage du cryptogramme (CFB). Un seul para-
P est le bloc de texte clair;
mètre, j, est défini pour le mode par rebouclage (voir chapitre 8) de la
sortie (OFB). Lorsqu’un de ces modes opératoires est utilisé, la ou les C est le cryptogramme;
valeurs des parametres doivent être choisies et employées par toutes
K est la cié.
les parties qui communiquent.
L‘expression eK est l’opération de chiffrement avec la clé K.
La fonction de déchiffrement correspondante s‘écrit
2 Référence
P = dK(C)
ANSI X3.92-1981, Data Encryption Algorithm.
Une variable telle que P ou C ci-dessus, désignée par une
majuscule représente un vecteur de bits, par exemple:
A = {al, ~2, . . . , U,,,} B = {bi, b~, . . . , b,}
c‘est-&dire des vecteurs de m bits, numérotés de 1 B m.
3 Définitions
L’opération d’addition modulo 2 également appelée fonction
texte clair: Informations non chiffrés.
3.1
((ou exclusif )) est représentée par l’opération @. Appliquée à
des vecteurs comme A et B, l‘opération se définit comme
3.2 cryptogramme: Informations chiffrées.
A @ B = {al @ bl, 02 @ 62, . . . I a, @ 6,)
3.3 chaînage de blocs: Chiffrement d’information OÙ cha-
L’opération qui consiste à sélectionner les j bits les plus à
que bloc de texte chiffré dépend du cryptogramme précédent.
gauche de A pour obtenir un vecteur de j bits s’écrit
3.4 valeur initiale (IV): Valeur qui sert à définir le point de
A - j = {al, a2, . . . , Uj}
départ d’un processus de Chiffrement.
Cette opération est définie seulement lorsquej < m, m étant le
nombre de bits de A.
3.5 variable de depart (SV): Variable découlant de la valeur
initiale et utilisée pour définir le point de départ des modes
Une ((fonction de décalage)) Sk se définit comme suit.
opératoires.
1

---------------------- Page: 3 ----------------------
IS0 8372 : 1987 (FI
Ce mode d'utilisation de l'algorithme de chiffrement est appelé
Considérant une variable X de rn bits et une variable Fde k bits
avec k < m, la fonction de décalage Sk(X I F) produit la varia- mode ((dictionnaire D.
ble de rn bits
6 Mode chaînage de blocs chiffres (CBC)
L'effet résultant est de décaler de k positions vers la gauche les
bits du vecteur X, en placant de côté x1 . . . xk et le vecteur F,
Les variables utilisées avec le mode de chiffrement CBC sont
dans les k positions de droite de X.
n blocs de texte clair P,, P2, . . . , P,,
a) une séquence de
On utilise un cas particulier de cette fonction qui commence
contenant chacun 64 bits;
avec la variable Z(k) constituée par k bits (( 1 )) successifs et on
b) une clé K;
décale la variable C de; bits dans la précédente, avec la relation
; G k. une variable de départ SV de 64 bits;
c)
la séquence résultante de n blocs de texte chiffré Cl,
d)
Le résultat est
C,, . . . , C,, de 64 bits chacun.
Sj(Z(k) 1 C) = {I, 1, . . . , 1. CI, CZ, . . . , ~j)
NOTE - La méthode de formation de SVn'est pas décrite dans la pré-
sente Norme internationale.
où il y a k - j (tuns)) sur la gauche du vecteur résultant.
Description de la méthode de chiffrement en mode CBC:
Chiffrement de la premiere variable texte clair:
5 Mode dictionnaire (ECB)
Cl = eKP1 @ SV) . . . (1)
À partir d'un bloc P de 64 bits de texte clair, l'algorithme de
chiffrement donne un bloc C de 64 bits de cryptogramme,
ensuite,
c'est-à-dire :
pour i = 2, 3, . . . , n . . . (2)
Ci = eK(Pi@ Ci- ,)
C = eK(P)
Cette procédure est illustrée en haut de la figure 1. La variable
L'algorithme de déchiffrement donne
de départ SV est utilisée pour engendrer la sortie du premier
cryptogramme.
P = dK(C)
Chiffrement
Algorithme de
chiffrement
? J. cl7
I
I
I I
Cn
, Cl I
Algorithme de
déchiffrement
échiff rement(
.L
I I
J.
.L
Pn
p2
~~~~
Figure 1 - Mode operatoire du chaînage de bloc (CBC)
2

---------------------- Page: 4 ----------------------
IS0 8372 : 1987 (FI
production du bloc de texte chiffré,
Ultérieurement, le cryptogramme obtenu est additionné c:i
modulo 2 au prochain texte clair, avant chiffrement. . . . (8)
C‘, = P, gi E,;
production du bloc de retour, F, = S,(l(k) 1 Cl); . . . (9)
d)
Description de la méthode de Chiffrement en mode CBC:
e) fonction de décalage sur
Déchiffrement du premier cryptogramme:
. . . (10)
X, x, + , = S,(X,~F,!.
Ces étapes sont répétées pour i = 1, 2, . . . , n, et se termi-
nent par I’équation (8) pour le dernier cycle. La procédure est
ensuite
illustrée sur le côté gauche de la figure 2. Lesj bits de gauche
de la sortie Y de l’algorithme de chiffrement sont utilisés pour
P, = dK(C,) @ Cl- , pour i = 2, 3, . . . , n . . . (4)
chiffrer, par une addition modulo 2, le bloc de texte clair de
j bits. Les bits restants de Y sont rejetés. Les bits des blocs du
Cette procédure est illustrée dans le bas de la figure 1.
texte clair et du texte chiffré sont numérotés de 1 5 .i.
Le cryptogramme est étendu en mettant k - J ((uns)) dans les
7 Mode autoclave sur le cryptogramme
positions binaires les plus à gauche pour obtenir F.; un vecteur
(CFB)
de k bits; ensuite, les bits du vecteur X sont décalés 8 gauche
de k positions et le vecteur I;‘ est mis dans les k positions de
7.1 Deux paramètres définissent le mode opératoire CFB droite, pour donner la nouvelle valeur de X. Dans cette opéra-
tion de décalage, les k bits de gauche de X sont rejetés. La
a) la taille de la variable de rebouclage k, pour laquelle valeur initiale du vecteur X est la variable de départ (SV).
1 7.3 Les variables utilisées pour le déchiffrement sont les
b) la taille de la variable de texte clair, j, pour laquelle
l est mise à sa valeur initiale Xl = SV.
Les variables utilisées dans ce mode opératoire sont
Le déchiffrement de chaque bloc de cryptogramme se compose
des cinq étapes suivantes:
a) Les variables d’entrée:
1) une séquence de n variables de texte clair P,,
utilisation de l‘algorithme de chiffrement,
a)
P,, . . . , P,,, contenant chacune; bits;
Y, = &(.,Y,); . . . (11)
2) une clé K;
b) sélection des] bits de gauche, E, = Y, - j; . . . (12)
une variable SV de départ de 64 bits.
3)
production du bloc de texte clair,
c)
. . . (13)
P, = C,@E,;
b) Les résultats intermédiaires:
production du bloc de rebouclage,
d)
une séquence den variables d’entrée de l’algorithme
1)
. . . (14)
F, = S,(I(k)lC,);
X,, X2, . . . , X,, de 64 bits chacune;
e) fonction de décalage sur
une séquence de n variables de sortie de l‘algorithme
2)
X, A-, I 1 = S,(X, ~ F,). (15)
Y,, Y2, . . . , Y,,, de 64 bits chacune;
Ces étapes sont répétées pour i = 1, 2, . . . , n, et
...

ISO
NORME INTERNATIONALE
8372
Première édition
1987-08- 15
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANISATION INTERNATIONALE DE NORMALISATION
MEXfiYHAPOAHAfl OPrAHM3A~MR IlO CTAHflAPTM3A~MM
Traitement de l’information - Modes opératoires d’un
algorithme de chiffrement par blocs de 64 bits
Information processing - Modes of operation for a W-bit block cipher algorithm
Numéro de référence
ISO 8372 : 1987 (F)

---------------------- Page: 1 ----------------------
Avant-propos
L’ISO (Organisation internationale de normalisation) est une fédération mondiale
d’organismes nationaux de normalisation (comités membres de I’ISO). L’élaboration
des Normes internationales est normalement confiée aux comités techniques de I’ISO.
Chaque comité membre intéressé par une étude a le droit de faire partie du comité
technique créé à cet effet. Les organisations internationales, gouvernementales et non
gouvernementales, en liaison avec I’ISO participent également aux travaux.
Les projets de Normes internationales adoptés par les comités techniques sont soumis
aux comités membres pour approbation, avant leur acceptation comme Normes inter-
nationales par le Conseil de I.‘ISO. Les Normes internationales sont approuvées confor-
mément aux procédures de I’ISO qui requièrent l’approbation de 75 % au moins des
comités membres votants.
La Norme internationale ISO 8372 a été élaborée par le comité technique ISO/TC 97,
Systèmes de traitement de l’information.
L’attention des utilisateurs est attirée sur le fait que toutes les Normes internationales
sont de temps en temps soumises à révision et que toute référence faite à une autre
Norme internationale dans le présent document implique qu’il s’agit, sauf indication
contraire, de la dernière édition.
0
0 Organisation internationale de normalisation, 1987
Imprimé en Suisse

---------------------- Page: 2 ----------------------
NORME INTERNATIONALE ISO 8372 : 1987 (F)
Traitement de l’information - Modes opératoires d’un
algorithme de chiffrement par blocs de 64 bits
1 Objet et domaine d’application NOTE - La méthode permettant de calculer la variable de départ à par-
tir de la variable d’initialisation n’est pas définie dans la présente Norme
internationale. Elle doit être décrite dans toutes les applications des
La présente Norme internationale décrit quatre modes opératoi-
modes opératoires.
res, d’un algorithme quelconque de chiffrement par blocs de
64 bits, utilisant une clé secrète.
3.6 synchronisation cryptographique : Coordination des
NOTE - L’annexe, qui ne fait pas partie intégrante de la présente
processus de chiffrement et de déchiffrement.
Norme internationale, contient des commentaires sur les caractéristi-
ques de chaque mode.
4 Notation
La présente Norme internationale définit quatre modes opéra-
toires tels que, dans le cadre d’une quelconque application de
Pour tout ce qui concerne la présente Norme internationale, la
chiffrement par blocs de 64 bits (par exemple, transmission de
relation fonctionnelle définie par l’algorithme de chiffrement
données, stockage de données, authentification) cette norme
des blocs s’écrit
constitue une référence utile pour la spécification des modes
opératoires, la formation de la variable de départ et les valeurs
c=
eK(P)
des paramètres (selon le cas).

NOTE - Deux paramètres, j et k, sont définis pour le mode opératoire
(voir chapitre 7) par rebouclage du cryptogramme KFB). Un seul para-
P est le bloc de texte clair;
métre, j, est défini pour le mode par rebouclage (voir chapitre 8) de la
sortie (OFB). Lorsqu’un de ces modes opératoires est utilisé, la ou les C est le cryptogramme;
valeurs des paramétres doivent être choisies et employées par toutes
K est la clé.
les parties qui communiquent.
L’expression eK est l’opération de chiffrement avec la clé K.
La fonction de déchiff rement correspondante s’écrit
2 Référence
P=
dK(C)
ANSI X3.92-1981, Data Encryption Algorithm.
Une variable telle que P ou C ci-dessus, désignée par une
majuscule représente un vecteur de bits, par exemple:
A=
{q, 02, . . . l a,> B = (bl, b2, l . . t b,)
c’est-à-dire des vecteurs de m bits, numérotés de 1 à m.
3 Définitions
L’opération d’addition modulo 2 également appelée fonction
3.1 texte clair: Informations non chiffrés.
((ou exclusif )) est représentée par l’opération $. Appliquée à
des vecteurs comme A et B, l’opération se définit comme
3.2 cryptogramme: Informations chiffrées.
A 03 B = (ai 03 bit 49 a3 b2, . l . I a, CD b,)
chaînage de blocs: Chiffrement d’information où cha-
3.3
L’opération qui consiste à sélectionner les j bits les plus à
que bloc de texte chiffré dépend du cryptogramme précédent.
gauche de A pour obtenir un vecteur de j bits s’écrit
3.4 valeur initiale (Iv): Valeur qui sert à définir le point de
-j=
A
(a~, a2, . . l I aj]
départ d’un processus de chiffrement.
Cette opération est définie seulement lorsque j < m, m étant le
l
nombre de bits de A.
3.5 variable de départ (W) : Variable découlant de la valeur
initiale et utilisée pour définir le point de départ des modes
Une «fonction de décalage» S, se définit comme suit.
opératoires.
.

---------------------- Page: 3 ----------------------
ISO 8372: 1987 (FI
Ce mode d’utilisation de l’algorithme de chiffrement est appelé
Considérant une variable X de m bits et une variable Fde k bits
avec k < m, la fonction de décalage &(XI F) produit la varia- mode (( dictionnaire H.
ble de m bits
6 Mode chaînage de blocs chiffres (CBC)
L’effet résultant est de décaler de k positions vers la gauche les
bits du vecteur X, en placant de côté x1 . . . xk et le vecteur F,
Les variables utilisées avec le mode de chiffrement CBC sont
dans les k positions de droite de X.
a) une séquence de IZ blocs de texte clair PI, P2, . . . , P,,
On utilise un cas particulier de cette fonction qui commence contenant chacun 64 bits;
avec la variable I(k) constituée par k bits (( 1 N successifs et on
b) une clé K;
décale la variable C dej bits dans la précédente, avec la relation
j < k. c) une variable de départ SV de 64 bits;
d) la séquence résultante de AI blocs de texte chiffré CI,
Le résultat est
C,, de 64 bits chacun.
q, . l l I
Sj(l(k) (C) = {l,l, n l l , 1, ~1, ~2, m l a , Cj}
NOTE - La méthode de formation de S V n’est pas décrite dans la pré-
sente Norme internationale.
où il y a k - j (wns» sur la gauche du vecteur résultant.
Description de la méthode de chiffrement en mode CBC:
Chiffrement de la première variable texte clair:
5 Mode dictionnaire (ECB)
À partir d’un bloc P de 64 bits de texte clair, l’algorithme de = eK@ @ SV) . . . (1)
Cl
chiffrement donne un bloc C de 64 bits de cryptogramme,
ensuite,
c’est-à-dire :
Ci = . . . (2)
C = eK(P) eK(Pi @ Ci- 1) pour i = 2, 3, . . . , IZ
Cette procédure est illustrée en haut de la figure 1. La variable
L’algorithme de déchiff rement donne
de départ SV est utilisée pour engendrer la sortie du premier
cryptogramme.
P = dK(C)
P
n
I
4
C
n-l
--@
Algorithme de
chiffrement
‘C
n
I
4
Algorithme de
déchiff rement
C
n- 1
-*@
P
n
Figure 1 - Mode opératoire du chaînage de bloc (CBC)
2

---------------------- Page: 4 ----------------------
ISO 8372 : 1987 (FI
c) production du bloc de texte chiffré,
Ultérieu rement, le cryptogramme obtenu est additionné
modulo 2 au prochain texte clair, avant chiffrement Ci = Pi@ Ei; . . .
(8)
d) production du bloc de retour, Fi = Sj(Z(k) 1 Ci);
. . . (9)
Description de la méthode de chiffrement en mode CBC:
e) fonction de décalage sur
Déchiffrement du premier cryptogramme:
. . .
= Sk(XiI Fi) l (10)
xfxi+ 1
= dK(C,) @ SV . . . (3)
PI
Ces étapes sont répétées pour i = 1, 2, . . . , n, et se termi-
nent par l’équation (8) pour le dernier cycle. La procédure est
ensuite,
illustrée sur le côté gauche de la figure 2. Les j bits de gauche
de la sortie Y de l’algorithme de chiffrement sont utilisés pour
Pi = dK(Ci) @ Ci- 1 pour i = 2, 3, . . . , YI . , . (4)
chiffrer, par une addition modulo 2, le bloc de texte clair de
j bits. Les bits restants de Y sont rejetés. Les bits des blocs du
Cette procédure est illustrée dans le bas de la figure 1.
texte clair et du texte chiffré sont numérotés de 1 àj.
Le cryptogramme est étendu en mettant k - j (( uns» dans les
Mode autoclave sur le cryptogramme
7
positions binaires les plus à gauche pour obtenir F, un vecteur
(CFB)
de k bits; ensuite, les bits du vecteur X sont décalés à gauche
de k positions et le vecteur F est mis dans les k positions de
7.1 Deux paramètres définissent le mode opératoire CFB droite, pour donner la nouvelle valeur de X. Dans cette opéra-
tion de décalage, les k bits de gauche de X sont rejetés. La
a) la taille de la variable de rebouclage k, pour laquelle valeur initiale du vecteur X est la variable de départ (SV).
l I
7.3 Les variables utilisées pour le déchiffrement sont les
b) la taille de la variable de texte clair, j, pour laquelle
mêmes que celles utilisées pour le chiffrement. La variable X
l est mise à sa valeur initiale XI = SV.
Les variables utilisées dans ce mode opératoire sont
Le déchiffrement de chaque bloc de ramme se compose
des cinq étapes suivantes:
a) Les variables d’entrée:
1) une séquence de n variables de texte clair PI,
a) utilisation de l’algorithme de chiffrement,
P,, contenant chacune j bits;
P2’ l - g I
Yi =
eK(Xif ; . . . (11)
2) une clé K;
. , . (12)
b) sélection des j bits de gauche, Ei = Yi - j;
3) une variable SV de départ de 64 bits.
c) production du bloc de texte clair,
Pi = . . .
ci@ Ei; (13)
b) Les résultats intermédiaires :
d) production du bloc de rebouclage,
1) une séquence de n variables d’entrée de l’algorithme
Fi = Sj(Z(k) 1 Ci); . . .
(14)
Xn, de 64 bits chacune;
x1, X2’ . - ’ I
e) fonction de décalage sur
2) une séquence de n variables de sortie de l’algorithme
= Sk(Xi 1 Fi). . . .
(15)
xfxi+ 1
Ynl de 64 bits chacune;
Y,’ y21 ’ l . I
Ces étapes sont répétées pour i = 1, 2, . . . , n, et se termi-
3) une séquence de n variables El, E2, . . . , E,, de
nent par l’équation (13) pour le dern
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.