Information technology — Modes of operation for an n-bit block cipher algorithm

Technologies de l'information — Modes opératoires d'un algorithme de chiffrement par blocs de n-bits

General Information

Status
Withdrawn
Publication Date
04-Sep-1991
Withdrawal Date
04-Sep-1991
Current Stage
9599 - Withdrawal of International Standard
Completion Date
17-Apr-1997
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 10116:1991 - Information technology -- Modes of operation for an n-bit block cipher algorithm
English language
11 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 10116:1991 - Technologies de l'information -- Modes opératoires d'un algorithme de chiffrement par blocs de n-bits
French language
13 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

NORME
I N TE R NAT I O NA LE
Technologies de l'information - Modes
opératoires d'un algorithme de chiffrement
par blocs de rz-bits
Information technology - Modes of operation for an n-bit block cipher
algorithm
Numéro de référence
ISOKEI 1 O1 16:1991 (F)

---------------------- Page: 1 ----------------------
ISO/CEI 101161991 (F)
Avant-propos
L'ISO (Organisation internationale de normalisation) et la CE1 (Commission
électrotechnique internationale) forment ensemble un système consacré à la
normalisation internationale considérée comme un tout. Les organismes natio-
naux membres de I'ISO ou de la CE1 participent au développement des Normes
internationales par l'intermédiaire des comités techniques créés par I'organisa-
tion concernée afin de s'occuper des différents domaines particuliers de I'acti-
vite technique. Les comités techniques de I'ISO et de la CE1 collaborent dans
des domaines d'intérêt commun. D'autres organisations internationales, gou-
vernementales ou non gouvernementales, en liaison avec I'ISO et la CE1 partici-
pent également aux travaux.
Dans le domaine des technologies de l'information, I'ISO et la CE1 ont créé un
comité technique mixte, I'ISO/CEI JTC 1. Les projets de Normes internationales
adoptés par le comité technique mixte sont soumis aux organismes nationaux
pour approbation, avant leur acceptation comme Normes internationales. Les
Normes internationales sont approuvées conformément aux procédures qui
requièrent l'approbation de 75 % au moins des organismes nationaux votants.
La Norme internationale ISO/CEI 10116 a été élaborée par le comite technique
ISO/CEI JTC 1, Technologies de /'information.
Les annexes A à C de la présente Norme internationale sont données unique-
ment à titre d'information.
(O ISO/CEI 1991
Droits de reproduction réservés, Aucune partie de cette publication ne peut &re reproduite
ni utilisée sous quelque forme que ce soit et par aucun procédé, électronique ou mécanique,
y compris la photocopie et les microfilms, sans l'accord écrit de l'éditeur.
ISO/CEI Copyright Office Case Postale 56 CH-1211 Genève 20 Suisse
Version française tirée en 1993
Imprimé en Suisse
ii

---------------------- Page: 2 ----------------------
NORME INTERNATIONALE ISO/CEI 10116:1991 (FI
Technologies de l'information - Modes opératoires
d'un algorithme de chiffrement par blocs de n-bits
2.5 valeur initiale (IV) : Valeur qui sert à définir le
1 Domaine d'application
point de départ d'un processus de chiffrement.
La présente Norme internationale décrit quatre
modes opératoires d'un algorithme de chiffrement
2.6 variable de départ (SV) : Variable découlant de la
par blocs de n-bits.
valeur initiale et utilisée pour définir le point de
départ des modes opératoires.
NOTE 1 L'annexe A (informative) contient des commentaires
sur les caractéristiques de chaque mode.
NOTE3 La méthode permettant de calculer la variable de
départ a partir de la valeur initiale n'est pas définie dans la
a
La présente Norme internationale définit quatre
présente Norme internationale. Elle doit être décrite dans
toute application des modes Opératoires.
modes opératoires tels que, dans le cadre d'applica-
tions d'un algorithme de chiffrement par blocs de
n-bits (par ex. protection de transmission de données,
2.7 synchronisation cryptographique : Coordination
stockage de données, authentification), la présente
des processus de chiffrement et de déchiffrement.
Norme internationale constitue une référence utile
pour, par exemple, la spécification du mode opéra-
toire et les valeurs des paramètres (selon le cas).
3 Notation
Pour certains modes, un remplissage peut être néces-
saire pour assurer que toutes les variables du texte
clair ont la longueur nécessaire. Les techniques de
Pour les besoins de la présente Norme internationale,
remplissage ne sont pas du domaine de la présente
la relation fonctionnelle définie par l'algorithme de
Norme internationale.
chiffrement par blocs s'écrit
NOTE 2 Deux paramètres, j et &, sont définis pour le mode
C= eK(R
Opératoire (voir article 6) par rebouclage du cryptogramme
(CFB). Un seul paramètre, j, est défini pour le mode par
Oh
rebouclage (voir article 7) de la sortie (OFB). Lorsqu'on utilise
un de ces modes opératoires, la ou les valeurs des parame-
P est le bloc de texte clair ;
tres doivent être choisies et employées par toutes les parties
0
qui communiquent.
C est le bloc de texte chiffré ;
K est la clé.
2 Définitions
L'expression eK est l'opération de chiffrement utili-
sant la clé K.
Pour les besoins de la présente Norme internationale,
les définitions suivantes s'appliquent.
La fonction de déchiffrement correspondante s'écrit :
2.1 texte clair : Informations non chiffrées.
P- dK(Q
Une variable désignée par une lettre majuscule
2.2 cryptogramme ou texte chiffré : Informations
comme P et C ci-dessus, représente un vecteur de
chiffrées.
bits, par exemple,
2.3 algorithme de chiffrement par blocs de n-bits :
A= (a,, a2, ., et B= (b,, b2, ., b,)
Algorithme de chiffrement par blocs avec la particu-
larité que les blocs de texte clair et les blocs de texte
c'est-à-dire des vecteurs de rn bits, numérotés de
chiffrés ont une longueur de n-bits.
7 à rn. Dans tous les vecteurs de bits, le bit le
plus significatif est à gauche.
2.4 chaînage de blocs : Chiffrement d'information
où chaque bloc de texte chiffré dépend du bloc de
texte chiffré précédent.
1
a,)

---------------------- Page: 3 ----------------------
ISO/CEI 10116:1991 (FI
4.3 Le mode ECB de déchiffrement se décrit comme
L'opération d'addition, modulo 2, également appelée
suit :
fonction «OU exclusif)) est représentée par le sym-
e. Appliquée à des vecteurs comme A et B,
bole
Pi= dK(Ci) pour i- 7, 2, ., q . . . (2)
l'opération se définit comme
A O B = ( a, Q b,, a2 Q b? ., a,,., Q b,,.,)
5 Mode chaînage de blocs chiffrés (CBC)
L'opération qui consiste à sélectionner les j bits les
5.1 Les variables utilisées avec le mode de chiffre-
plus à gauche de A pour générer un vecteur de j bits
ment CBC sont
s'écrit
a) Une suite de q blocs de texte clair P,, P2, ., Pq,
A - j= (a,, a* ., a)
chacun de n bits.
Cette opération est définie seulement quand jS m, m
b) Une clé K.
étant le nombre de bits de A.
c) Une variable de départ SVde n bits.
Une ((fonction de décalage)) S,se définit comme suit :
d) Une suite de q blocs de texte chiffré C,, C,, ., Cq,
Considérant une variable X de m bits et une variable
chacun de n bits.
F de k bits avec k S m, l'effet d'une fonction de déca-
lage SK(XI F) est de produire la variable de m bits :
5.2 Description de la méthode de chiffrement en
mode CBC :
Chiffrement du premier bloc de texte clair,
L'effet résultant est de décaler de k positions vers la
gauche les bits du vecteur X, supprimant x, ,. x,et de
C, = eK( P, 0 S1/3 . . . (3)
placer le vecteur F dans les k positions les plus a
droite de X. Lorsque k = m l'effet est de remplacer
ensuite,
totalement Xpar F.
On utilise un cas particulier de cette fonction qui
commence avec la variable de m bits Z(m) constituée
Cette procédure est illustrée en haut de la figure 1. La
de m bits «ln successifs et on décale la variable F de
variable de départ West utilisée pour générer la sor-
k bits dans la précédente, avec la relation ka m.
tie du premier cryptogramme. Ensuite, le crypto-
gramme est additionné, modulo 2, au texte clair
Le résultat est
suivant avant chiffrement.
S,(Z(m) I F) = (7, 7, .I 1, f,, f2, ., f,) (k< mi
5.3 Description de la méthode de déchiffrement en
S&m) I F) = ( f,, f., ., fJ (k- m)
:
mode CBC
oh les m - k bits les plus à gauche sont égaux à ((1)). Déchiffrement du premier bloc de texte chiffré,
P, = dK( C,) CD SV . * . (5)
4 Mode dictionnaire (ECB)
ensuite,
4.1 Les variables utilisées pour le mode de chiffre-
P,=dK(C,)OCi_,pouri=2,3, ., q . . . (6)
ment ECB sont
Cette procédure est illustrée dans le bas de la figure 1.
a) Une suite de q blocs de texte clair P,, P2, ., Pq,
chacun de n bits.
b) Une clé K.
6 Mode rebouclage de texte chiffré (CFB)
c) La suite resultante de q blocs de texte chiffré C,,
C,, ., Cq, chacun de n bits. 6.1 Deux paramètres définissent un mode opéra-
toire CFB :
4.2 Le chiffrement en mode ECB se décrit comme
- la taille de la variable de rebouclage, k, où 7 I; kI; n
suit :
- la taille de la variable de texte clair, j, oh 7 a ja k
. . . (1)
Ci= eK(Pi> pour i= 1,2, ., q
2

---------------------- Page: 4 ----------------------
ISO/CEI 10116:1991 (FI
Les variables utilisées dans le mode opératoire CFB La variable de cryptogramme est étendue en met-
sont tant k - j bits à ((1)) dans les positions binaires les
plus à gauche pour devenir la variable de rebou-
a) Les variables d'entrée clage F de k bits. Ensuite les bits du bloc d'entrée
X sont décalés à gauche de k positions et F est
1) Une suite de qvariables de texte clair P,, P2, .,
inséré dans les k positions les plus à droite pour
Pq, chacune de jbits.
donner la nouvelle valeur de X. Dans cette opéra-
tion de décalage, les k bits les plus à gauche de X
2) Une clé K.
sont rejetés.
3) Une variable de départ SVde n bits.
6.3 Les variables utilisées pour le déchiffrement
sont les mêmes que celles utilisées pour le chiffre-
b) Les résultats intermédiaires
ment. Le bloc d'entrée Xest mis à sa valeur initiale
x,= sv.
1) Une suite de q blocs d'entrée de l'algorithme
X,, X2, ., Xq, chacun de R bits.
Le déchiffrement de chaque variable de crypto-
gramme se fait en cinq étapes comme suit :
2) Une suite de q blocs de sortie de l'algorithme
Y,, Y,, ., Yq, chacun de n bits.
a) Utilisation de l'algorithme de Chiffrement,
. . . (13)
3) Une suite de q variables E,, E2, ., Eq, chacune 5 = eK( Xi)
de j bits.
b) Sélection des j bits de gauche,
4) Une suite de q - 1 variables de rebouclage F,,
. . . (14)
Ei= Yi- j
F, ., Fq- ,, chacune de k bits.
c) Production de la variable de texte clair,
c) Les variables de sortie, soit une suite de g
Pi= Ci@ Ei . . . (15)
variables de cryptogramme C,, C,, ., Cq, chacune
de j bits.
d) Production de la variable de rebouclage,
. . . (16)
Fi = Si(Z(k) I ci)
6.2 Le bloc d'entrée Xest mis à sa valeur initiale
e) Fonction de décalage,
. . * (7)
x, = sv
. . . (17)
xi, 1 = Sk(XjI Fi)
Le chiffrement de chaque variable de texte clair se
fait en cinq étapes comme suit :
Ces étapes sont répétées pour i= 1,2, ., q, et se ter-
minent par l'équation (17) lors du dernier cycle. La
a) Application de l'algorithme de chiffrement, procédure est illustrée sur le côté droit de la figure 2.
Les j bits de gauche du bloc de sortie Y de I'algo-
. . . (8)
Yi= eK(Xi)
rithme de chiffrement sont utilisés pour déchiffrer,
2, la variable de crypto-
par une addition modulo
b) Sélection des j bits les plus à gauche,
gramme de j bits. Les bits restants de Y sont rejetés.
. * . (9)
Ei= Yi- j
Les bits des variables de texte clair et de crypto-
gramme sont numérotés de 1 à j.
c) Production de la variable de cryptogramme,
Ci = Pi @ Ei . . . (IO)
La variable de cryptogramme est étendue en mettant
k - j bits à «I» dans les positions binaires les plus à
d) Production de la variable de rebouclage,
gauche pour devenir la variable de rebouclage F de k
. . . (11) bits. Ensuite les bits du bloc d'entrée Xsont décalés à
Fi = Sj(l(k) I ci)
gauche de k positions et F est inséré dans les k posi-
e) Fonction de décalage,
tions les plus à droite pour donner la nouvelle valeur
de X Dans cette opération de décalage, les k bits de
. . . (12)
Xi, = Sk(XilFi)
gauche de Xsont rejetés.
Ces étapes sont répétées pour i = 1, 2, ., , et se
6.4 Lorsqu'on utilise le mode CFB, il est recom-
terminent par l'équation (12) lors du dernier cycle.
mandé de choisir des valeurs égales pour jet k. Sous
La procédure est illustrée sur le côté gauche de la
cette forme recommandée (j = k), les équations (11)
figure 2. Les j bits de gauche du bloc de sortie Y
et (16) peuvent s'écrire
de l'algorithme de chiffrement sont utilisés pour
chiffrer, par une addition modulo 2, la variable de
(cas j = k)
texte clair de j bits. Les bits restants de Y sont Fi = Ci
rejetés. Les bits des variables de texte clair et de
cryptogramme sont numérotés de 1 à j.
3

---------------------- Page: 5 ----------------------
ISO/CEI 101161991 (FI
c) Production de la variable de cryptogramme,
7 Mode rebouclage de la sortie (OFB)
ci= Pi@ Ei . . . (21)
7.1 Un paramètre définit un mode opératoire OFB,
d) Opération de rebouclage,
il s'agit de la taille de la variable j du texte clair
. . * (22)
où I xi+ ,= Yi
Les variables utilisées pour le mode opératoire OFB
Ces étapes sont répétées pour i = 1, 2, ., q, et se
sont
terminent par l'équation (21) lors du dernier cycle.
La procédure est illustrée sur le côté gauche de la
a) Les variables d'entrée
figure 3. Le résultat de chaque utilisation de I'algo-
rithme de chiffrement Yi est rebouclé et devient la
1) Une suite de q variables de texte clair P,, P2, .,
valeur suivante de X, à savoir Xi + ,. Les j bits les
Pq, chacune de j bits.
plus à gauche de 6 sont utilisés pour chiffrer la
variable d'entrée.
2) Une clé K.
3) Une variable de départ SVde n bits.
7.3 Les variables utilisées pour le déchiffrement
sont les mêmes que celles utilisées pour le chiffre-
b) Les résultats intermédiaires
ment. Le bloc d'entrée Xest mis à sa valeur initiale
x,= sv.
1) Une suite de q blocs d'entrée de l'algorithme
X,, X2, ., Xq, chacun de n bits.
Le déchiffrement de chaque variable de crypto-
gramme se fait en quatre étapes comme suit :
2) Une suite de q blocs de sortie de l'algorithme
Y,, Y2, ., Yq, chacun de n bits.
a) Utilisation de l'algorithme de chiffrement,
. . . (23)
3) Une suite de q variables E,, E2, ., Eq, chacune 7 = eK( Xi)
de j bits.
b) Sélection des j bits de gauche,
c) Les variables de sortie, soit une suite de q
. . . (24)
Ei= Yi-j
variables de cryptogramme C,, C2, ., Cq, cha-
c) Production de la variable de texte clair,
cune de j bits.
Pi= Ci@ Ej . . . (25)
7.2 Le bloc d'entrée Xest mis à sa valeur initiale
d) Opération de rebouclage,
x, = sv . . . (18)
. . . (26)
xi+ , = Yi
Le chiffrement de chaque variable de texte clair se
Ces étapes sont répétées pour i = 1, 2, ., q, et se ter-
fait en quatre étapes comme suit :
minent par l'équation (25) lors du dernier cycle. La
procédure est illustrée sur le côté droit de la figure 3.
a) Utilisation de l'algorithme de chiffrement,
Les valeurs Xj et 7 sont les mêmes que celles utili-
Yj= eK(Xi> . . . (19)
sées pour le chiffrement ; seule l'équation (25) est dif-
férente.
b) Sélection des j bits de gauche,
. . . (20)
Ej= Yi - j
4

---------------------- Page: 6 ----------------------
Algorithme dc
&I I
chiffrement
l
F-
I cg
Algorithme de
ichiffrement
déchiffrement
41-
--- c9-I
"p
I
4
p9
Figure 1 - Mode opératoire
«chaînage de blocs chiffrés» (CBC)

---------------------- Page: 7 ----------------------
Chiffrement Déchiffrement
A
7 1
I
1 +FI, \ 7
J
Y
tL
k-j iinS
II
*)
I I
1 i
-A-
C
P
1 I 1 i
1 i *) Sélectionner les
j bits de gauche
Figure 2 - Mode urebouclage du texte chiffré» (CFB)
I Chiffrement Déchiffrement
--
Algorithme de
Algorithme de
déchiffrement
chiffrement
*) Sélectionner les .
rL1 i
1
j j bits de gauche '
I
Figure 3 - Mode opératoire
webouclage de la sortien (OFB)
6
-1

---------------------- Page: 8 ----------------------
ISO/CEI 10116:1991 (FI
Annexe A
(informative)
Propriétés des modes opératoires
A.1.5 Limites de bloc
A.l Propriétés du mode opératoire dictionnaire
(ECB)
Si des limites de bloc sont perdues entre le chiffre-
ment et le déchiffrement (par ex. à cause d'un glisse-
A.l.l Environnement
ment de bit), la synchronisation entre les opérations
de chiffrement et de déchiffrement est perdue et ce,
Les messages qui transportent des informations
jusqu'au rétablissement des limites correctes des
entre les ordinateurs, ou entre des correspondants,
blocs. Les résultats de tous les déchiffrements seront
peuvent contenir des répétitions ou des séquences
incorrects tant que les limites de bloc seront perdues.
utilisées fréquemment. En mode ECB, des textes
clairs identiques donnent (pour la même clé) des
cryptogrammes identiques.
A.2 Propriétés du mode opératoire
par «chaînage de blocs chiffrés» (CBC)
A.1.2 Propriétés
Les propriétés du mode ECB sont les suivantes :
A.2.1 Environnement
a) le chiffrement ou le déchiffrement d'un bloc peut Le mode CBC donne toujours le même crypto-
être effectué indépendamment des autres blocs ; gramme dès lors que le même texte clair est chiffré à
l'aide de la même clé et de la même variable de
b) le réarrangement des blocs de texte chiffré
départ. Les utilisateurs qui sont gênés par cette parti-
entraînera le réarr
...

I NTE R NAT1 O NA L
ISO/IEC
STANDARD
IO116
First edition
1991 -09-01
Information technology - Modes of operation
block cipher algorithm
for an n-bit
fechnologies de l'information - Modes opératoires dun algorithme de
chiffrement par blocs de n-bits
-
I
Reference number
ISOllEC 101 16:1991 (E)

---------------------- Page: 1 ----------------------
ISOIIEC 10118:1991(E)
Foreword
IS0 (the International Organization for Standardization) and IEC (the
International Electrotechnical Commission) form the specialized system
for worldwide standardization. National bodies that are members of IS0
or IEC participate in the development of International Standards through
technical committees established by the respective organization to deal
with particular fields of technical activity. IS0 and IEC technical com-
mittees collaborate in fields of mutual interest. Other international or-
ganizations, governmental and non-governmental, in liaison with IS0
and IEC, also take pari in the work.
In the field of information technology, IS0 and IEC have established a
joint technical committee, ISO/IEC JTC 1. DraR International Standards
adopted by the joint technical committee are circulated to national bod-
ies for voting. Publication a-; an International Standard requires ap-
proval by at least 75 % of the national bodies casting a vote.
International Standard ISOAEC 101 16 was prepared by Joint Technical
Committee ISOAEC JTC 1, Information technology.
Annexes A to C of this International Standard are for information only.
O ISO/IEC 1991
All rights reserved. No part of this publication may be reproduced or utilized in any form
or by any means, electronic or mechanical, including photocopying and microfilm, without
permission in writing from the publisher.
ISO/IEC Copyright Office Case Postale 56 CH-I211 Genhe 20 Switzerland
~
Printed In Swltzerlend
ii

---------------------- Page: 2 ----------------------
~~
INTERNATIONAL STANDARD
ISO/IEC 10116 : 1991 (E)
Information technology - Modes of operation for
an n- bit block cipher algorithm
NOTE 3 The method of deriving the starting variable from the
1 Scope
initializing value is not defined in this International Standard. It
needs to be described in any application of the modes of
This International Standard describes four modes of
operation.
operation for an n- bit block cipher algorithm.
2.7 crypographic synchronization: The co-ordination of
NOTE 1 Annex A (informative) contains comments on the
the encipherment and decipherment process.
properties of each mode.
3 Notation
0 This International Standard establishes four defined modes
of operation so that in applications of an n- bit block
For the purposes of this International Standard the
cipher algorithm (e.g. protection of data transmission, data
functional relation defined by the block encipherment
storage, authentication) this International Standard will
algorithm is written
provide a useful reference for, for example, the
specification of the mode of operation and the values of
parameters (as appropriate). C = eK(P)
For some modes, padding may be required to ensure that where
all plaintext variables are of the necessary length. Padding
techniques are not within the scope of this International
P is the plaintext block;
Standard.
C is the ciphertext block;
K is the key.
NOTE 2 For the Cipher Feedback (CFB) Mode of operation (see
clause S), two parameters j and k are defined. For the Output
The expression eK is the operation of encipherment using
Feedback (OFB) Mode of operation (see clause 7). one parameter
the key K.
j is defined. When one of these modes of operation is used the
parameter value(s) need(s) to be chosen and used by all
The corresponding decipherment function is written
communicating parties.
P = dK(C)
2 Definitions
A variable denoted by a capital letter, such as P and C
For the purpose of this International Standard, the following
above, represents a one-dimensional array of bits. For
definitions apply.
example,
2.1 piaintext: Unenciphered information.
2.2 ciphertext: Enciphered information.
are arrays of rn bits, numbered from 1 to m. All arrays of
bits are written with the most significant bit in the left
2.3 n-bit Modc cipher algorithm: A block cipher algorithm
posit ion.
with the property that plaintext blocks and ciphertext blocks
are n bits in length.
The operation of addition, modulo 2, also known as the
“exclusive or” function, is shown by the symbol 8. The
2.4 block chaining: The encipherment of information such
operation applied to arrays such as A and B is defined as
that each block of ciphertext is cryptographically dependent
upon the preceding ciphertext block.
A 8 B = (a, 8 b,, a, Q b,, ., a,,, @ b,J
2.5 initialking value (IV): Value used in defining the
The operation of selecting the j left-most bits of A to
starting point of an encipherment process.
generate a j- bit array is written
2.6 starting variable (SV): Variable derived from the
A -j = (a,, a,, ., ai)
initializing value and used in defining the starting point of
the modes of operation.
1

---------------------- Page: 3 ----------------------
ISO/IEC 10116 : 1991 (E)
5.2 The CBC mode of encipherment is described as
This operation is defined only when jsm where m is the
follows:
number of bits in A.
Encipherment of the first plaintext block,
A “shift function” sk is defined as follows:
. . . (3)
Cl = eK(P, Q SV)
Given an m- bit variable X and a k- bit variable F where
ksm, the effect of a shift function S,(NF) is to produce
subsequently,
the m- bit variable
. . . (4)
Ci = eK(Pi Q c-,) for i = 2, 3, ., q
(k sk(NF) = (%+I, xk+,?, .> x,, fi, fi, e., fi)
This procedure is shown in the upper part of figure 1. The
The effect is to shift the bits of array X left by k places,
starting variable SV is used in the generation of the first
discarding xl . xk and to place the array F in the
ciphertext output. Subsequently the ciphertext is added,
modulo 2, to the next plaintext before encipherment.
rightmost k places of X. When k=m the effect is to totally
replace X by F.
5.3 The CBC mode of decipherment is described as
follows:
A special case of this function is used which begins with
the m - bit variable I(m) of successive ” 1 ” bits and shifts
Decipherment of the first ciphertext block,
e
the variable F of k bits into it, where ksm.
. . . (5)
P, = dK(C,) 8 sv
The result is
subsequently,
(k S,(l(m)lF) = (1, 1, ., 1, fi, fi, ., fJ
(k=m)
Sk(I(m)lF) = (4, 4, ., f3
. . . (6)
Pi = &(CL) Q C,-, fori = 2, 3, ., q
where the m-k leftmost bits are ”1”.
This procedure is shown in the lower part of figure 1.
4 Electronic Codebook (ECB) Mode
6 Cipher Feedback (CFB) Mode
4.1 The variables employed for the ECB mode of
6.1 Two parameters define a CFB mode of operation:
encipherment are
- the size of feedback variable, k, where 1 rkln
a) A sequence of 9 plaintext blocks P,, P2, ., P,,
- the size of plaintext variable, j, where lSjjlk
each of n bits.
b) A key K.
The variables employed for the CFB mode of operation are
c) The resultant sequence of q ciphertext blocks C,,
C,, .,, C,, each of n bits.
a) The input variables
4.2 The ECB mode of encipherment is described as
1) A sequence of q plaintext variables P,, P,, ., Pq,
follows:
each of j bits.
2) A key K.
. . . (1)
Ci = eK(P,) for i=l, 2, ., q
3) A starting variable SV of n bits.
4.3 The ECB mode of decipherment is described as
b) The intermediate results
follows:
1) A sequence of q algorithm input blocks X,, X,,
. . . (2)
pi = &(Ch for i=l, 2, ., 9
..., X,, each of n bits.
2) A sequence of q algorithm output blocks YI, Yz,
5 Cipher Block Chaining (CBC) Mode
..., Y,, each of n bits.
3) A sequence of 9 variables E,, E,, ., E,, each of j
5.1 The variables employed for the CBC mode of
bits.
encipherment are
4) A sequence of q-1 feedback variables FI, F2,
..., F,-,, each of k bits.
a) A sequence of q plaintext blocks P,, P?, ., P,,, each
of n bits.
c) The output variables, i.e. a sequence of q ciphertext
b) A key K.
variables C,, C,, ., C,, each of j bits.
c) A starting variable SV of II bits.
d) A sequence of CJ ciphertext blocks C,, C,, ., C,,
each of n bits.
2

---------------------- Page: 4 ----------------------
ISO/IEC 10116 : 1991 (E)
6.2 The input block X is set to its initial value 6.4 It is recommended that CFB should be used with equal
values of j and k. In this recommended form (j = k) the
equations (11) and (16) can be written
x, = sv
* - .(7)
The operation of enciphering each plaintext variable
(case j = k)
Fi = Ci
employs the following five steps:
a) Use of encipherment algorithm, Yi = eK(XJ . . . (8)
7 Output Feedback (OFB) Mode
b) Selection of leftmost j bits, Ei = Y, - j . . . (9)
c) Generation of ciphertext variable, C, = P, 0 Ei
7.1 One parameter defines an OFB mode of operation, i.e.
. . . (10)
the size of plaintext variable j where lsjsn.
d) Generation of feedback variable, F, = S,(l(k)lCJ
. . . (11)
The variables employed for the OF6 mode of operation are
e) Shift function, X,,, = S,(X,lFJ . . . (12)
a) The input variables
These steps are repeated for i = 1, 2, ., q, ending with
equation (12) on the last cycle. The procedure is shown in
1) A sequence of q plaintext variables Pl, P,, ., P,,
the left side of figure 2. The leftmost j bits of the output
each of j bits.
block Y of the encipherment algorithm are used to
2) A key K.
encipher the j- bit plaintext variable by modulo 2 addition.
3) A starting variable SV of n bits.
Y are discarded. The plaintext and
The remaining bits of
1 to j.
ciphertext variables have bits numbered from b) The intermediate results
The ciphertext variable is augmented by placing k-j "1"
1) A sequence of q algorithm input blocks X,, X,,
bits in its leftmost bit positions to become the k-bit . X,, each of n bits.
feedback variable F. Then the bits of the input block X are
2) A sequence of q algorithm output blocks Y,, Y,,
shifted left by k places and F is inserted in the rightmost k ., Y,, each of n bits.
places, to produce the new value of X. In this shift 3) A sequence of q variables E,, E2, ., E,, each of j
bits.
operation, the leftmost k bits of X are discarded.
6.3 The variables employed for decipherment are the same c) The output variables, i.e. a sequence of q ciphertext
as those employed for encipherment. The input block X is variables C,, C,, ., C,, each of j bits.
set to its initial value XI = SV.
7.2 The input block Xis set to its initial value
The operation of deciphering each ciphertext variable
employs the following five steps:
XI = sv . . . (18)
a) Use of encipherment algorithm, yi = eK(XJ . . (13) The operation of enciphering each plaintext variable
. . . (14) employs the following four steps:
b) Selection of leftmost j bits, Ei = Yj-j
c) Generation of plaintext variable, Pi = @E, . . (15)
a) Use of encipherment algorithm, Yi = eK(XJ . . (19)
d) Generation of feedback variable, F, = S)(ï(k)lC,)
Selection of leftmost j bits, Ei = Y, -j . . . (20)
b)
. . . (16)
c) Generation of ciphettext variable, C, = P, 8 Ei
e) Shift function, X,,, = S,(X,IFJ . . . (17)
. . . (21)
These steps are repeated for i I 1, 2, ., q, ending with d) Feedback operation, Xi,, = . . , (22)
equation (17) on the last cycle. The procedure is shown in
These steps are repeated for i = I, 2, ., q, ending with
the right side of figure 2. The leftmost j bits of the output
equation (21) on the last cycle. The procedure is shown in
block Y of the encipherment algorithm are used to
the left side of figure 3. The result of each use of the
decipher the j-bit ciphertext variable by modulo 2
encipherment algorithm, which is yi, is used to feed back
addition. The remaining bits of Y are discarded. The
and become the next value of X, namely K.+,. The
plaintext and ciphertext variables have bits numbered from
leftmost j bits of Y;. are used to encipher the input variable.
1 to j.
7.3 The variables employed for decipherment are the same
The ciphertext variable is augmented by placing k -j 1 "
as those employed for encipherment. The input block X is
bits in its leftmost bit positions to become the k-bit
set to its initial value XI = SV.
feedback variable F. Then the bits of the input block X are
shifîed left by k places and Fis inserted in the rightmost k
The operation of deciphering each ciphertext variable
places to produce the new value of X. In this shift
employs the following four steps:
operation, the leftmost k bits of X are discarded.
3

---------------------- Page: 5 ----------------------
ISO/IEC 10116 : 1991 (E)
These steps are repeated for i = 1, 2, ., q, ending with
a) Use of encipherment algorithm, Yi = eK(Xi) . . (23)
equation (25) on the last cycle. The procedure is shown in
b) Selection of lefîmost j bits, E; = Y,-j . . - (24)
the right side of figure 3. The values Xi and Y, are the
c) Generation of plaintext variable, P, = C; @ E;
same as those used for encipherment; only equation (25) is
. . . (25)
different .
. . . (26)
d) Feedback operation, Xi+, = y;
Encipherment
algorithm
I
Declpharmer
Decipherment algorithm
Figure 1 - The cipher block chaining (CBC) mode of operation
4

---------------------- Page: 6 ----------------------
ISOAEC 101 16 : 1991 (E)
k-) ones
X-1 ones
1 L
---
Figure 2 - The cipher feedback (CFB) mode of operation
I
Encipherment Decip herment
--
Y Y
I I
1 n
4
Encipherment
Encipherment
algorithm 1 e~ i
algorithm
I
r"l selealefi j bits
C
d
1 i 1 i
Figure 3 - The output feedback (OFB) mode of operation
5

---------------------- Page: 7 ----------------------
ISO/IEC 10116 : 1991 (E)
Annex A
(informative)
Properties of the modes of operation
A.2 Properties of the Cipher Block
A.l Properties of the Electronic
Chaining (CBC) Mode of Operation
Codebook (ECB) Mode of Operation
A.2.1 Environment
A.l.l Environment
The CBC mode produces the same ciphertext whenever
Messages that carry information between computers, or
the same plaintext is enciphered using the same key and
people, may have repetitions or commonly used sequences.
starting variable. Users who are concerned about this
In ECB mode, identical plaintext produces (for the same
characteristic need to adopt some ploy to change the start
key) identical ciphertext blocks.
of the plaintext, the key, or the starting variable. One
possibility is to incorporate a unique identifier (e.g. an
A. 1.2 Properties
incremented counter) at the beginning of each CBC
message. Another, which may be used when enciphering
Properties of the ECB mode are
records whose size should not be increased, is to use
some value such as the starting variable which can be
a) encipherment or decipherment of a block can be
computed from the record
...

Questions, Comments and Discussion

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