Information technology — Security techniques — Digital signature schemes giving message recovery — Part 2: Mechanisms using a hash-function

Technologies de l'information — Techniques de sécurité — Schémas de signature numérique rétablissant le message — Partie 2: Mécanismes utilisant une fonction de hachage

General Information

Status
Withdrawn
Publication Date
27-Aug-1997
Withdrawal Date
27-Aug-1997
Current Stage
9599 - Withdrawal of International Standard
Completion Date
10-Oct-2002
Ref Project

Relations

Buy Standard

Standard
ISO/IEC 9796-2:1997 - Information technology -- Security techniques -- Digital signature schemes giving message recovery
English language
14 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 9796-2:1997 - Technologies de l'information -- Techniques de sécurité -- Schémas de signature numérique rétablissant le message
French language
14 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 9796-2:1997 - Technologies de l'information -- Techniques de sécurité -- Schémas de signature numérique rétablissant le message
French language
14 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISOAEC
STANDARD 9796-2
First edition
1997-09-01
Information technology - Security
techniques - Digital signature schemes
giving message recovery -
Part 2:
Mechanisms using a hash-function
Technologies de /‘information - Techniques de s&wit6 - Schbmas de
signature numkique r&ablissant le message -
Partie 2: Mhcanismes utilisant une fonction de hachage
Reference number
ISOA EC 9796-2: 1997(E)

---------------------- Page: 1 ----------------------
ISO/IEC 9796=2:1997(E)
Page
Contents
. . .
III
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . I ,.*.a .,.*.,.a.
iV
Introduction . . . . . . . . . . . . . . . . . . . . . . . . ,.,.,.,.
........................................ 1
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
........................................ 1
Normative references . . . . . * . . . .
........................................ 2
Terms and definitions . . . . . . . . . ,
........................................ 3
Symbols and abbreviations . . I
17
............................................................................... -
Requirements
.......................................................................... 4
Signature process
6
........................................................................
Verification process
Annexes
7
Example of a public-key system for digital signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
9
B Illustrative examples related to annex A . . . . . . . . . . . , . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 ISO/lEC 1997
All rights reserved. Unless otherwise specified, 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,
lSO/IEC Copyright Office l Case postale 56 l CH-1211 Geneve 20 l Switzerland
Printed in Switzerland
ii

---------------------- Page: 2 ----------------------
0 lSO/IEC ISO/IEC 9796=2:1997(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 committees collaborate in fields of mutual interest. Other
international organizations, governmental and non-governmental, in liaison with
IS0 and IEC, also take part in the work.
In the field of information technology, IS0 and IEC have established a joint
technical committee, lSO/IEC JTC 1. Draft International Standards adopted by the
joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies
casting a vote.
lSO/IEC 9796 consists of the following parts, under the general title Information
technology - Security techniques - Digita/ sjgna tufe schemes giving message
recovery.
- Part 7: Mechanisms using redundancy
- Part 2: Mechanisms using a hash-function
International Standard lSO/IEC 9796-Z was prepared by Joint Technical Committee
lSO/IEC JTC 1, Information technology, Subcommittee SC 27, IT security
techniques.
Annexes A and B of this part of lSO/IEC 9796 are for information only.

---------------------- Page: 3 ----------------------
ISO/lEC 9796=2:1997(E) 0 lSO/IEC
Introduction
Digital signatures can be used to provide the electronic equivalent of a hand-
written signature, for implementing services such as message authentication,
message integrity and non-repudiation. These services apply to digital
messages which are strings of bits, e.g., concatenations of data elements or
concatenations of data objects.
Most digital upon a particular p ublic- key system.
signature schemes are based
c operations:
Any public-k ey system includes three basi
- a process producing pairs of keys, a private key and a public key,
- a process using a private key,
- a process using a public key.
In any public-key digital signature scheme, the private key is used in a
signature process for signing messages; the public key is used in a verification
process for verifying signed messages. A pair of signature keys thus consists
of a “private signature key” and a “public verification key ”.
There are two types of digital signature schemes.
-When the whole message or a part of the message may be recovered
from the signature, the scheme is named a “digital signature scheme
giving message recovery” (see lSO/IEC 9796).
-- When the whole message has to be stored and transmitted along with
“digital signature scheme with
the signature, the scheme is named a
appendix” (see lSO/IEC 14888).
NOTE
- The two types of schemes are not mutually exclusive. Specifically, any
scheme giving message recovery, e.g., lSO/IEC 9796:1991, can be used for provision of
digital signatures with appendix. In this case, the signature is produced by applying the
scheme to a hash-code computed from the message.
lSO/IEC 9796 specifies digital signature schemes giving either total or partial
message recovery. One practical advantage of such schemes is that,
depending upon the implementation environment, they may reduce data
storage and transmission costs.
lSO/IEC 9796:1991 will be transformed into part 1. It specifies a digital
signature scheme for messages of limited length, so that the message is
completely recovered from the signature. The scheme does not involve a
hash-function; it is designed so that, depending on the choice of parameters,
the verification process can be extremely efficient, i.e., it can be implemented
in environments with very limited processing capabilities.
This part of lSO/lEC 9796 uses a hash-function for hashing the entire
message. If the message is short enough, then the verification process
recovers the entire message and the hash-code from the signature.
Otherwise, the verification process recovers only a part of the message along
with the hash-code.
iv

---------------------- Page: 4 ----------------------
INTERNATIONAL STANDARD @ ‘SojEC
ISO/IEC 9796=2:1997(E)
Information technology -
Security techniques -
Digital signature schemes giving message recovery -
Part 2:
Mechanisms using a hash-function
Some parameters affect the security of the scheme. This
1 Scope
part of lSO/IEC 9796 does not specify the values to be used
to reach a given level of security; however, it is specified in
This part of ISO/IEC 9796 specifies a digital signature
such a way as to minimize the required changes in its use if
scheme for messages of any length. The messages are
some of these parameters need to be modified.
arbitrary strings of bits; no assumption is made as to the
possible presence of natural redundancy.
The scheme uses a hash-function and a public-key system.
It includes
2 Normative references
- a signature process using successively a hash-function,
format mechanisms and a signature function for signing
The following normative documents contain provisions
messages,
which, through reference in this text, constitute provisions
of this part of lSO/IEC 9796. For dated references,
- a verification process using successively a verification
subsequent amendments to, or revisions of, any of these
function, recovery mechanisms and a hash-function for
publications do not apply. However, parties to agreements
checking signed messages.
based on this part of lSO/lEC 9796 are encouraged to
investigate the possibility of applying the most recent
The input to the signature function includes both the
editions of the normative documents indicated below. For
hash-code and all or part of the message. The verification
undated references, the latest edition of the normative
function yields as an output the values input to the signature
document referred to applies. Members of IS0 and IEC
function. By this means, the scheme provides either total or
maintain registers of currently valid International Standards.
partial message recovery.
ISO/IEC 9796: 1991, Information technology - Security
This part of ISO/IEC 9796 does not specify the hash-function
techniques - Digital signature scheme giving message
to be used. lSO/IEC 10118 specifies hash-functions appro-
recovery.
priate for digital signatures.
lSO/IEC 9798-l : 1997, Information technology - Security
This part of lSO/IEC 9796 does not specify the public-key
techniques - Entity authentication - Part I: General.
system used to construct the signature and verification
functions. Annex A gives an example of a suitable public-key
lSO/lEC 10118 (all parts), Information technology - Security
system, including a key production process, a signature
techniques - Hash-functions.
function and a verification function; this public-key system is
currently the only one known appropriate for this part of
lSO/IEC 9796. Annex B provides illustrative examples
lSO/IEC 14888 (all parts) 1 ), lnforma tion technology - Secu-
related to the operations specified in annex A.
rity techniques - Digital signatures with appendix.
‘1 To be published.
1

---------------------- Page: 5 ----------------------
ISO/lEC 9796=2:1997(E)
0 ISO/IEC
3.3.2.2
3 Terms and definitions
more-data bit
specific bit of the intermediate string, indicating whether the
For the purposes of this part of lSO/IEC 9796, the following
recovery is total or partial (see table 1)
terms and definitions apply.
3.3.2.3
padding field
3.1 keys
field of the intermediate string, conveying the padding bits
(see table 1)
3.1.1
private signature key
3.3.2.3.1
private key which defines the private signature transfor-
border bit
mation
rightmost bit of the padding field
[lSO/IEC 9798-l :I 997, definition 3.3.181
3.3.2.4
3.1.2
data field
public verification key
field of the intermediate string, conveying the recoverable
public key which defines the public verification transfor-
part (see table 1)
mation
[lSO/IEC 9798-l :I 997, definition 3.3.231
3.3.2.5
hash field
field of the intermediate string, conveying the hash-code
3.2
(see table I)
hash-function
function which maps strings of bits to fixed-length strings of
3.3.2.6
bits, satisfying the following two properties
trailer
- It is computationally infeasible to find for a given
rightmost field of the intermediate string (see table 1)
output an input which maps to this output.
- It is computationally infeasible to find for a given input
3.3.2.6.1
a second input which maps to the same output.
hash-function identifier
optional byte of the trailer, identifying a hash-function
[lSO/IEC 10118-1 :I 994, definition 2.41
3.3.3
3.2.1
nibble
collision-resistant hash-function
block of four consecutive bits
hash-function satisfying the following property
- It is computationally infeasible to find any two distinct
3.3.3.1
inputs which map to the same output.
border nibble
[ ISO/I EC 10118-1: 1994, definition 2.1 I
specific nibble of the intermediate string, containing the
border bit
3.3 strings of bits
3.3.4
recoverable string
3.3.1
string of bits derived from the intermediate string, input to
message
the signature function
string of bits of any length, possibly empty
NOTE - Adapted from ISO/lEC 9796:1991, definition 2.1.
3.3.5
signature
3.3.1.1
string of bits resulting from the signature process
non-recoverable part
[lSO/IEC 9796:1991, definition 2.21
part of the message stored and transmitted along with the
signature, empty when the recovery is total
3.3.6 coding conventions
3.3.1.2
3.3.6.1
recoverable part
bit numbering
part of the message conveyed in the signature, empty when
In all strings of x bits, the numbering starts from the right-
the message itself is empty
most bit bl (the last bit) to the leftmost bit b, (the first bit).
3.3.2
3.3.6.2
intermediate string
bit significance
string of bits from which the recoverable string is derived
All integers are written with the most significant digit (or bit
or nibble or byte) in the leftmost position.
3.3.2.1
header
NOTE - For example, for computing a byte value, b, is the least
leftmost field of the intermediate string (see table 1
)
significant bit and b8 is the most significant bit.
2

---------------------- Page: 6 ----------------------
ISO/IEC 9796=2:1997(E)
0 ISO/IEC
5 Requirements
4 Symbols and abbreviations
The message to be signed M is a binary string of any length,
For the purposes of this part of lSO/IEC 9796, the following
possibly empty.
symbols and abbreviations apply.
- If M is sufficiently short (see 6.3.2.1), then the
H hash-code computed from the message to be signed
recovery will be total because M shall be entirely
included in the signature.
H’ hash-code recovered from the signature
- If M is too long (see 6.3.2.2)’ the recovery will be
partial because Mshall be divided into
H’ hash-code computed from the recovered message
l the recoverable part, a string of bits of limited
length to be included in the signature,
k length in bits of 5, Sr,C, Sr ’and Si: equal to the size
l the non-recoverable part, a string of bytes of any
of a public parameter of the public-key system
length to be stored and transmitted along with the
signature.
kh length of H in bits
At the beginning of the signature process, the message to
kh’ length of H’ in bits be signed M shall be hashed. At the end of the verification
process, the recovered message M ’shall be hashed.
length of M in bits (km = k, + 8x), possibly null
km
In the case of partial recovery, the hash-function shall
collision-resistant,
length of Mrin bits
kr
-I n the case of total recovery, collision-resistance is
not required.
M message to be signed during the signature process
When a digital signature mechanism uses a hash-function,
M’ message recovered during the verification process
there shall be a binding between the signature mechanism
and the hash-function in use. Without such a binding, an
Mn non-recoverable part of M
adversary might claim the use of a weak hash-function (and
not the actual one) and thereby forge a signature. There are
Mr recoverable part of M
various ways to accomplish this binding. The following
options are listed in order of increasing risk.
Mr’ part of M’ recovered from the signature
1. - Require a particular hash-function when using a
particular signature mechanism - The verification
Si intermediate string, built during the signature
process shall exclusively use that particular
hash-function. lSO/IEC 14888-3 gives an example of
Si’
intermediate string recovered during the verification
this option where the DSA mechanism requires the use
of SHA-1.
Sr recoverable string, input to the signature function
2. - Allow a set of hash-functions and explicitly
indicate in every signature the hash-function in use
Sr’ recovered string, output of the verification function
by an identifier included as part of the signature
calculation - The hash-function identifier is an
c signature
extension of the hash-code: it indicates how to derive
the hash-code. The verification process shall exclusively
t length of the trailer in bytes (8t bits) use the hash-function indicated by the identifier in the
signature. This part of lSO/lEC 9796 gives an example
of this option; see 6.3.1.
X length of Mn in bytes (8x bits)
- Allow a set of hash-functions and explicitly
3.
‘XY’ hexadecimal notation, equal to XY to the base 16, with
indicate the hash-function in use in the certificate
the digits 0 to 9 and A to F
domain parameters - Inside the certificate domain,
the verification process shall exclusively use the
hash-function indicated in the certificate. Outside the
certificate domain, there is a risk due to unrigorous
For the purposes of this part of lSO/IEC 9796, the following
certification authorities. If other certificates may be
functions apply.
created, then other signatures may be created. Then
the attacked user would be in a dispute situation with
Hash hash-function which maps M to H
the certification authority that produced the other
certificate.
Sign signature function which maps Sr to C under the
4. - Allow a set of hash-functions and indicate the
control of the private signature key
hash-function in use by some other method, e.g., an
indication in the message or a bilateral agreement -
Verif verification function which maps C to Sr’ under the
The verification process shall exclusively use the
control of the public verification key
hash-function indicated by the other method. However,
3

---------------------- Page: 7 ----------------------
0 ISO/IEC
lSO/clEC 9796=2:1997(E)
there is a risk that an adversary may forge a signature
Message
using another hash-function.
The user of a digital signature mechanism should conduct a
risk assessment considering the costs and benefits of the
various alternatives. This assessment includes the cost Message hashing
.
associated with the possibility of a bogus signature being
produced.
Format mechanisms
m
The signature function uses a private signature key, while
Signature production
the verification function uses the corresponding public
verification key.
- Each signing entity shall use and keep secret its own
private signature key corresponding to its public
verification key.
Figure 1 - Signature process
- Each verifying entity should know the public
NOTE - Implementations of the signature process should physi-
verification key of the signing entity.
cally protect the operations in such a way that there is no direct
access to the signature function under the control of the private
A signed message consists of either the signature alone in
signature key. Moreover, every signature should be checked before
the case of total recovery, or the non-recoverable part of the
being delivered to the outside world.
message together with the signature in the case of partial
recovery. A signature shall be accepted if and only if the
verification process specified in clause 7 is successful.
6.2 Message hashing
NOTES
The kh bits of the hash-code H shall be computed by
1 This part of ISO/IEC 9796 does not specify key management.
applying the hash-function to the k, bits of the message R/I.
2 This part of lSO/IEC 9796 does not specify message structure.
One example of structured message is the concatenation of a
H = Hash(M)
registered identification number, a certificate expiration date, a
certificate serial number and a public modulus. Then the signature
scheme produces a public-key certificate which consists of
l either the signature alone in the case of total recovery,
6.3 Format mechanisms
l or the signature together with the non-recoverable part of
the message in the case of partial recovery.
Trailer
6.3.1
3 The hash-function may limit the message length, e.g., to less
than 264 bits .
The trailer shall consist of t consecutive bytes (one or two)
4 Typical values of kh are 64 and 80 in the case of total recovery,
where the rightmost nibble shall always be equal to ‘C ’.
128 and 160 in the case of partial recovery.
- If the hash-function in use is known (either implicitly
or by an identifier coded inside the message), then the
trailer shall consist of a single byte (t=l); this byte shall
be equal to ‘BC ’.
6 Signature process
- If the hash-function has to be identified, then the
trailer shall consist of two consecutive bytes (t=Z): the
rightmost byte shall be equal to ‘CC’ and the leftmost
6.1 General overview
byte shall be the hash-function identifier.
Figure I shows the signature process.
The hash-function identifier indicates the hash-function in
-A hash-code results from applying the hash-function
use.
to the message to be signed.
- The range ‘00’ to ‘7F’ is reserved for lSO/IEC JTC 1;
-The format mechanisms produce a trailer, recoverable
lSO/IEC 10118 fixes a unique identifier in that range for
and non-recoverable parts by dividing the message, and
every standardized hash-function.
an intermediate string which includes the hash-code and
the recoverable part; after minor modifications, the
-The range ‘80’ to ‘FF’ is reserved for proprietary use.
intermediate string becomes a recoverable string.
NOTE - lSO/IEC 10118-3 fixes the values ‘31 ’, ‘32’ and ‘33’ to
- A signature finally results from applying the signature
identify RIPEMD-160, RIPEMD-128 and SHA-1 respectively.
function to the recoverable string.

---------------------- Page: 8 ----------------------
0 ISO/IEC ISO/IEC 9796=2:1997(E)
lSO/IEC JTC 1 reserves for future use the other formats of 6.3.3 Intermediate string
the trailer, i.e.,
The intermediate string Si shall consist of the following k
-the values of the rightmost byte different from ‘BC’
bits listed from left to right (see table I):
and ‘CC’ in the range ‘OC’ to ‘FC ’,
- two bits equal to 01, i.e., the header,
- the other lengths and interpretations of the trailer.
- the more-data bit equal to
l 0 in the case of total recovery,
l 1 in the case of partial recovery,
6.3.2 Message allocation
- all the padding bits, i.e.,
l k - kh - k, - 8t- 4 bits equal to 0,
6.3.2.1 Total recovery
l and then, the border bit equal to 1,
-the k, bits of Mr, i.e., the data field,
If k 2 kh + k, + 8t + 4, then M shall be entirely allocated to
the recoverable part Mr while the non-recoverable part Mn -the kh bits of H, i.e., the hash field,
shall be kept empty, to give a total recovery.
- the 8t bits of the trailer.
NOTE - In the case of partial recovery, Mn is kept as short as
bkm . . . b2 b,
possible in bytes; therefore the number of padding bits equal to 0
lies in the range zero to seven, i.e., it is less than eight.
Mn is empty
<---- Mr ->
kr =
k, bits
6.3.4 Recoverable string
If M is empty, then Mr is also empty.
The recoverable string 9 shall result from processing Si
from left to right in blocks of four consecutive bits, i.e., in
nibbles by starting at the left end.
6.3.2.2 Partial recovery
-The leftmost nibble, where the rightmost bit is either
the border bit (I) or not (01, shall remain unchanged.
If k c kh + k, + 8t + 4, then M shall be divided into two
parts respectively allocated to the recoverable and non-
- If the leftmost nibble is not the border nibble, then
recoverable parts, Mrand Mn, to give a partial recovery.
l every subsequent nibble equal to ‘O ’, if any, shall
be replaced by a nibble equal to ‘B ’; it is a part of
the padding field.
The division shall minimize the length in bytes of Mn.
l the first subsequent nibble different from ‘0’ shall
Specifically, x is the least integer greater than or equal to:
be exclusive-ored with ‘B ’; it is the border nibble.
(k/,+ k,+8t+4-k)/8
-All the bits on the right of the border nibble shall
Moreover: k, = k, - 8x
remain unchanged.
- The leftmost k, bits of M shall be allocated to Mr.
6.4 Signature production
- The rightmost x bytes of M shall be allocated to Mn.
The recoverable string Sr shall be transformed into the
signature C by applying the signature function under the
bBx . . . b8*-7 . . . b8 . . . bl
bk,,, l . . b8x+l
control of the private signature key.
<------ Mn ->
- Mr->
x bytes
k;= km - 8x bits C = Sign(%)
Consequently, the signed message shall be
NOTE - This part of lSO/IEC 9796 does not specify the case of no
- either C alone in the case of total recovery,
recovery. However, lSO/IEC 14888-3 specifies a scheme with no
recovery, which is an extension of the present specifications.
- or C together with Mn in the case of partial recovery.
Table 1 - Structure of the intermediate string Si (k bits)
I I I 1 I
Padding field Data field Hash field Trailer
Header More-data bit
One or more bits k, bits k, bits 8t bits
1 Two bits 1 One bit
I I
Zero, one or more bits equal to 0 Either = ‘BC’
= 0 if Mn empty
= 01 Recoverable part Mr Hash-code H
followed by a single bit equal to 1 Or = ‘XYCC’
= 1 otherwise
5

---------------------- Page: 9 ----------------------
0 ISOAEC
ISO/IEC 9796=2:1997(E)
l the first subsequent nibble different from ‘B’ shall
7 Verification process
be exclusive-ored with ‘B’ to recover the initial
value of the border nibble.
7.1 General overview
-All the bits on the right of the border nibble shall
remain unchanged.
Figure 2 shows the verification process.
- A recovered string results from applying the verifica- In the case of partial recovery, the signature C shall be
tion function to the signature. rejected if eight or more padding bits are equal to 0.
Otherwise, the verification process shall continue.
- The recovery mechanisms successively recover an
intermediate string, a trailer, a hash-code and a message.
7.3.2 Trailer recovery
-Another hash-code results from applying the hash-
function to the recovered message for finally checking
If the rightmost byte of Si ’is equal to
the signed message.
- ‘BC ’, then the trailer consists of that single byte; the
hash-function in use is known (either implicitly or by an
identifier coded inside the message);
- ‘CC ’, then the trailer consists of the rightmost two
bytes of Si’ where the leftmost byte is the identifier of
+i$ sect
the hash-function in use.
The signature C shall be rejected if either the trailer or the
1 Ret;;;; m;tynisms 11 act
hash-function identifier cannot be interpreted. Otherwise,
the verification process shall continue.
Hash-code checking
7.3.3 Hash-code recovery
Reject
Yes NO 1
\J At this stage, the verifier knows the hash-function in use
v
and therefore, the length kh’ of the hash-code to be reco-
Recoveied message
vered.
(Signature accepted)
The header, the more-data bit and the padding field shall be
Figure 2 - Verification process
removed on the left of 3 ’; the trailer shall be removed on
the right of 3 ’. The remaining binary string shall be divided
into two parts.
7.2 Signature opening
- The recovered hash-code H’ shall consist of the
rightmost kh ’bits.
The signature C shall be transformed into the recovered
string Sr’ by applying the verification function under the
- The recovered part Mr ’shall consist of the remaining
control of the public verification key.
bits on the left.
Sr’ = Verif ( C )
7.3.4 Message recovery
The signature C shall be rejected if Sr ’is not a string of k
bits where the leftmost two bits are equal to 01 and the
The recovered message M ’shall be
rightmost four bits to 1100. Otherwise, the verification
- either Mr ’alone in the case of total recovery,
process shall continue.
- or the concatenation of Mr’ as the left part and Mn
The leftmost third bit of Sr’ is the more-data bit. Its value
as the right part in the case of partial recovery.
indicates whether the recovery is total (0) or partial (1).
In the case of partial recovery, the signature C shall be
rejected if Mn is not a string of one or more bytes.
Otherwise, the verification process shall continue.
7.3 Recovery mechanisms
7.3.1 Intermediate string recovery
7.4 Hash-code checking
The recovered intermediate string Si ’shall result from pro-
Another hash-code H’ shall be computed by applying the
cessing Sr’ from left to right in blocks of four consecutive
hash-function to the recovered message M ’.
bits, i.e., in nibbles by starting at the left end.
H” =
Hash( M’ )
-The leftmost nibble, where the rightmost bit is either
the border bit (1) or not (0), shall remain unchanged.
The signature C shall be accepted if the two hash-codes H’
and H” are identical. Then and only then the recovered
- If the leftmost nibble is not the border nibble, then
message M’ shall be assumed to be identical to the initial
l every subsequent nibble equal to ‘B ’, if any, is a
part of the padding field, message M.
6

---------------------- Page: 10 ----------------------
ISO/IEC 9796=2:1997(E)
0 lSO/IEC
Annex A
(informative)
Example of a public-key system
for digital signature
modulus
n
A.1 Terms and definitions
prime factors of the modulus
PI 4
For the purposes of this annex, the following definitions
signature exponent
S
apply*
V verification exponent
A.1.1
modulus
least common multiple of integers a and b
Icm(a, b)
integer constructed as the product of two primes
arithmetic computation modulo n
mod n
A.1.2
Jacobi symbol of a with respect to n
(a I n)
private signature key
signature exponent
NOTES
A.1.3
public verification key
modulus and verification exponent 1 Let p be an odd prime and let a be a positive integer. The fol-
lowing formula defines the Legendre symbol of a with respect to p.
(a I p) = a(P-l)i2 mod p
The Legendre symbol of multiples of p with respect top is 0. When
A.2 Symbols and abbreviations
a is not a multiple of p, then the Legendre symbol of a with respect
to p is either +I or -1 depending on whether a is or is not a square
For the purposes of this annex, the following symbols and
modulo p.
abbreviations apply.
2 Let n be an odd positive integer and let a be a positive integer.
Ir
recoverable integer
The Jacobi symbol of a with respect to n is the product of the
Legendre symbols of a with respect to the prime factors of n.
Ir’
recovered integer
Therefore if n = p q,
IS resulting integer
then (a I n) = (a I p) b I 9).
J representative integer
The Jacobi symbol of any integer a with respect to any integer n
may be efficiently computed without the prime factors of n.
k size of the modulus in bits
7

---------------------- Page: 11 ----------------------
ISO/IEC 9796=2:1997(E) 0 ISO/
...

ISOICEI
NORME
9796-2
INTERNATIONALE
Première édition
1997-09-01
Technologies de l’information -
Techniques de sécurité - Schémas de
signature numérique rétablissant le
message -
Partie 2:
Mécanismes utilisant une fonction de hachage
Information technology - Security techniques - Digital signature schemes
giving message recovery -
Part 2: Mechanisms using a hash-function
m q Numero de référence
ISOICEI 9796-2: 1997(F)

---------------------- Page: 1 ----------------------
ISO/CEI 9796-2: 1997(F)
Page
Sommaire
. . .
III
Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I.
iv
Introduction . . . . . . , , . . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Domaine d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .*.*. 1
Références normatives . . . . . . . . . . . . . . . . . . , . . . . . . . .
2
Termes et définitions . . . . . , . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . .
................................................................ 3
Symboles et abréviations
.................................................................................... 3
Exigences
................................................................... 4
Opération de signature
................................................................. 6
Opération de vérification
Annexes
A Exemple d’un système à clé publique pour signature numérique . 7
B Exemples explicatifs se rapportant à l’annexe A . . 9
0 ISO/CEl 1997
Tous droits réserves. Sauf prescription contraire, aucune partie de cette publication ne peut
être reproduite ni utilisee sous aucune forme que ce soit et par aucun procédé, électronique
ou mécanique, y compris la photocopie et le microfilm, sans l’accord ecrit de l’éditeur.
ISO/CEI Bureau du copyright l Case postale 56 l CH-121 1 Genève 20 l Suisse
Imprimé en Suisse
ii

---------------------- Page: 2 ----------------------
0 ISO/CEI
ISO/CEI 9796-2: 1997(F)
Avant-propos
L’ISO (Organisation internationale de normalisation) et la CEI (Commission électro-
technique internationale) forment ensemble un système consacré à la normalisa-
tion internationale considérée comme un tout. Les organismes nationaux
membres de I’ISO ou de la CEI participent au développement de Normes inter-
nationales par l’intermédiaire des comités techniques créés par l’organisation
concernée afin de s’occuper des différents domaines particuliers de l’activité
technique. Les comités techniques de I’ISO et de la CEI collaborent dans des
domaines d’intérêt commun. D’autres organisations internationales, gouver-
nementales ou non gouvernementales, en liaison avec I’ISO et la CEI participent
également aux travaux.
Dans le domaine des technologies de l’information, I’ISO et la CEI 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.
L’ISO/CEI 9796 comprend les parties suivantes, présentées sous le titre général
Technologies de l’information - Techniques de sécurité - Schémas de signature
numérique rétablissant le message.
- Partie 7: Mécanismes utilisant de la redondance
- Partie 2: Mécanismes utilisant une fonction de hachage
La Norme internationale lSO/CEI 9796-Z a été élaborée par le comité technique
mixte lSO/CEI JTC 1, Technologies de /‘information, sous-comité SC 27, Technk
ques de sécurité des technologies de l’information.
Les annexes A et 6 de la présente partie de I’ISOKEI 9796 sont données unique-
ment à titre d’information.

---------------------- Page: 3 ----------------------
ISO/CEI 9796-2: 1997(F) 0 ISO/CEI
Introduction
La signature numérique est un équivalent électronique à la signature manuelle
pour offrir des services tels que l’authentification, l’intégrité et la non-
répudiation. Ces services s’appliquent à des messages numériques qui sont
des séquences binaires, par exemple, des séquences d’éléments de données
ou des séquences d’objets de données.
La plupart des schémas de signature numérique sont basés sur un système
particulier à clé publique. Tout système à clé publique comporte trois
opérations de base:
- une production de paires de clés, l’une privée et l’autre publique,
- une opération mettant en œuvre une clé privée,
- une opération mettant en œuvre une clé publique.
Dans tout schéma de signature numérique à clé publique, la clé privée est
mise en œuvre dans l’opération de signature pour signer des messages ; la clé
publique est mise en œuvre dans l’opération de vérification pour vérifier des
messages signés. Une paire de clés de signature se compose donc d’une ((clé
privée de signature» et d’une ((clé publique de vérification)).
II y a deux types de schémas de signature numérique.
- Quand il est possible de rétablir tout ou partie du message à partir de la
signature, le schéma est un ((schéma de signature rétablissant le
message)) (voir I’ISO/CEI 9796).
- Quand il faut enregistrer et transmettre le message tout entier avec la
signature, le schéma est un ((schéma de signature avec appendice» (voir
I’ISO/CEI 14888).
NOTE - Les deux types de schémas ne sont pas exclusifs. Tout schhma r&ablissant le
message, par exemple, I’ISO/CEI 9796:1991, permet la signature avec appendice. Dans
ce cas, la signature s’obtient en appliquant le schéma à un code de hachage calculé à
partir du message.
L’ISO/CEI 9796 spécifie des schémas de signature numérique rétablissant
totalement ou partiellement le message. L’avantage pratique de tels schémas
est de réduire les coûts d’enregistrement et de transmission des données.
L’ISO/CEI 9796:1991 deviendra la partie 1. Elle spécifie un schéma de
signature numérique pour des messages de longueur limitée, totalement
rétablis à partir des signatures. Suivant le choix des paramètres, le schéma
n’emploie pas de fonction de hachage; il permet une opération de vérification
très efficace, c’est-à-dire que le schéma est réalisable dans des environne-
ments à capacité de calcul très limitée.
La présente partie de I’ISO/CEI 9796 utilise une fonction de hachage pour
hacher tout le message. Lorsque le message est assez court, l’opération de
vérification rétablit le message tout entier ainsi que le code de hachage à
partir de la signature. Sinon l’opération de vérification ne rétablit qu’une partie
du message avec le code de hachage.
iv

---------------------- Page: 4 ----------------------
NORME INTERNATIONALE @ ‘So’cE’
ISO/CEI 9796=2:1997(F)
Technologies de l’information - Techniques de sécurité -
Schémas de signature numérique rétablissant le message
Partie 2:
Mécanismes utilisant une fonction de hachage
Certains paramètres du schéma sont liés à la sécurité. La
1 Domaine d’application
présente partie de I’ISO/CEI 9796 ne spécifie pas les valeurs
à leur donner pour atteindre un niveau donné de sécurité;
La présente partie de I’ISO/CEI 9796 spécifie un schéma de
elle est toutefois spécifiée de façon à limiter les change-
signature numérique pour des messages de longueur quel-
ments entraînés par une éventuelle modification de ces
conque. Les messages sont des séquences binaires, sans
paramètres.
aucune hypothèse sur la présence de redondance naturelle.
Le schéma utilise une fonction de hachage et un système à
clé publique. II comprend
- une opération de signature mettant successivement 2 Références normatives
en œuvre une fonction de hachage, des mécanismes de
format et une fonction de signature, pour signer des
Les documents normatifs suivants contiennent des
messages,
dispositions qui, par suite de la référence qui y est faite,
constituent des dispositions valables pour la présente partie
- une opération de vérification mettant successivement
de I’ISO/CEI 9796. Pour les références datées, les
en œuvre une fonction de vérification, des mécanismes
amendements ultérieurs ou les révisions de ces publications
de rétablissement et une fonction de hachage, pour
ne s’appliquent pas. Toutefois, les parties prenantes aux
vérifier des messages signés.
accords fondés sur la présente partie de I’ISO/CEI 9796 sont
invitées à rechercher la possibilité d’appliquer les éditions les
L’entrée de la fonction de signature comprend à la fois le
plus récentes des documents normatifs indiqués ci-après.
code de hachage et tout ou partie du message. La fonction
Pour les références non datées, la dernière édition du
de vérification restitue en sortie la valeur d’entrée de la
document normatif en référence s’applique. Les membres
fonction de signature. De cette manière, le schéma assure le
de I’ISO et de la CEI possèdent le registre des Normes
rétablissement total ou partiel du message.
internationales en vigueur.
La présente partie de I’ISO/CEI 9796 ne spécifie pas de
lSO/CEI 9796:1991, Technologies de l’information -
fonction de hachage. L’ISO/CEI 10118 spécifie des fonc-
Techniques de sécurité - Schéma de signature numérique
tions de hachage appropriées à la signature numérique.
rétablissant le message.
lSO/CEI 9798-l : 1997, Technologies de l’information -
La présente partie de I’ISO/CEI 9796 ne spécifie pas de
Techniques de sécurité - Au then tifica tien d’entité -
système à clé publique pour construire les fonctions de
signature et de vérification. L’annexe A donne un exemple Partie 1: Généralités.
de système convenable, avec une opération de production
lSO/CEI 10118 (toutes les parties), Technologies de I’infor-
de clés, une fonction de signature et une fonction de
vérification ; ce système à clé publique est aujourd’hui le seul ma tien - Techniques de sécurité - Fonctions de hachage.
connu approprié à la présente partie de I’ISO/CEI 9796.
L’annexe B donne des exemples explicatifs se rapportant lSO/CEI 14888 (toutes les partie&), Technologies de I’infor-
aux opérations spécifiées dans l’annexe A. ma tien - Techniques de sécurité - Signatures numériques
avec appendice.
‘1 À publier.
1

---------------------- Page: 5 ----------------------
ISO/CEI 9796-2: 1997(F)
0 ISO/CEI
3.3.2.2
3 Termes et définitions
bit autres-données, m
bit spécifique de la séquence intermédiaire indiquant si le
Pour les besoins de la présente partie de I’ISOKEI 9796, les
rétablissement est total ou partiel (voir le tableau 1)
termes et définitions suivants s’appliquent.
3.3.2.3
3.1 clés
champ de remplissage, m
champ de la séquence intermédiaire acheminant les bits de
remplissage (voir le tableau 1)
3.1.1
clé privée de signature, f
3.3.2.3.1
clé privée fixant la transformation privée de signature
bit frontière, m
[lSO/CEI 9798-l :1997, définition 3.3.181
bit de droite du champ de remplissage
3.12
3.3.2.4
clé publique de vérification, f
champ de données, m
clé publique fixant la transformation publique de vérification
champ de la séquence intermédiaire acheminant la partie à
rétablir (voir le tableau 1)
[lSO/CEI 9798-l : 1997, définition 3.3.231
3.3.2.5
3.2
champ de hachage, m
fonction de hachage, f
champ de la séquence intermédiaire acheminant le code de
fonction associant des séquences binaires à des séquences
hachage (voir le tableau 1)
binaires de longueur fixe et satisfaisant les propriétés
suivantes
3.3.2.6
- Pour une sortie donnée, il est impossible de trouver par
suffixe, m
calcul une entrée associée à cette sortie.
champ de droite de la séquence intermédiaire (voir tableau 1)
- Pour une sortie donnée, il est impossible de trouver par
calcul une seconde entrée associée à la même sortie.
3.3.2.6.1
[ ISO/CEI 10118-I : 1994, définition 2.41
identifiant de fonction de hachage, m
octet facultatif du suffixe identifiant une fonction de hachage
3.2.1
fonction de hachage résistant aux collisions, f
3.3.3
fonction de hachage satisfaisant la propriété suivante
quartet, m
- II est impossible de trouver par calcul deux entrées
bloc de quatre bits consécutifs
distinctes associées à la même sortie.
3.3.3.1
[ lSO/CEI 10118-l : 1994, définition 2.11
quartet frontière, m
quartet spécifique de la séquence intermédiaire, contenant le
3.3 séquences binaires
bit frontière
3.3.1
3.3.4
message, m
séquence à rétablir, f
séquence binaire de longueur quelconque, éventuellement
séquence binaire dérivée de la séquence intermédiaire,
vide
entrée de la fonction de signature
NOTE - Adaptée de I’ISO/CEI 9796:1991, definition 2.1.
3.3.5
3.3.1.1
signature, f
partie à ne pas rétablir, f
séquence binaire résultant de l’opération de signature
partie du message enregistrée et transmise avec la signa-
[lSO/CEI 9796:1991, définition 2.21
ture, vide en cas de rétablissement total
3.3.1.2 3.3.6 conventions de codage
partie à rétablir, f
partie du message acheminée dans la signature, vide quand 3.3.6.1
le message lui-même est vide numérotage des bits, m
Dans toutes les séquences de x bits, le numérotage se fait
de droite à gauche, de bl (le dernier bit) à 6, (le premier bit).
3.3.2
séquence intermédiaire, f
séquence binaire à partir de laquelle on dérive la séquence à
3.3.6.2
rétablir
poids des bits, m
Tous les entiers s’écrivent avec le chiffre (ou le bit ou le
3.3.2.1
quartet ou l’octet) de poids fort à gauche.
préfixe, m
NOTE - Par exemple, pour évaluer la valeur d’un octet, b, est en
champ de gauche de la séquence intermédiaire (voir le
poids faible et b en poids fort.
tableau 1)
2

---------------------- Page: 6 ----------------------
0 ISO/CEI ISO/CEI 9796=2:1997(F)
4 Symboles et abréviations 5 Exigences
Pour les besoins de la présente partie de I’ISO/CEI 9796, les Le message à sign er M est une séq uence binaire de
symboles et abréviations suivants s’appliquent. Ion gueur quelconque, éventu ellement vide
- Si M est assez court (voir 6.3.2.1), le rétablissement
H
code de hachage calculé à partir du message à signer
sera total, car il faut inclure M en entier dans la signature.
- Si M est trop long (voir 6.3.2.21, le rétablissement sera
H’ code de hachage rétabli à partir de la signature
partiel, car il faut diviser M en
l la partie à rétablir, une séquence binaire de longueur
H” code de hachage calculé à partir du message rétabli
limitée à inclure dans la signature.
l la partie à ne pas rétablir, une séquence d’octets de
k longueur en bits de Si, Sr, C, Sr’et Si’, fixée par la taille longueur quelconque à enregistrer et à transmettre
d’un paramètre public du système à clé publique avec la signature.
longueur de H en bits Au début de l’opération de signature, il faut hacher le
kh
message à signer M. À la fin de l’opération de vérification, il
faut hacher le message rétabli M’.
longueur de H’ en bits
- En cas de rétablissement total, la fonction de hachage
doit résister aux collisions.
longueur de M en bits (km = k, + 8x), peut être nulle
En cas de rétablissement partiel, la résistance aux
col lisions n’est pas exigée.
longueur de Mr en bits
kr
Lorsqu’un mécanisme de signature numérique utilise une
M
message à signer durant l’opération de signature
fonction de hachage, il faut lier le mécanisme de signature et
la fonction de hachage. Faute d’un tel lien, un adversaire
M’ message rétabli durant l’opération de vérification
pourrait revendiquer l’usage d’une faible fonction de hachage
(et non pas celle réellement utilisée) et ainsi forger une
Mn partie de M à ne pas rétablir
signature. II y a plusieurs façons de réaliser ce lien. Les
options suivantes sont énumérées par risque croissant.
Mr partie de M à rétablir
1. - Exiger une fonction de hachage particulière avec
un mécanisme de signature particulier - L’opération
Mr’ partie de M’ rétablie à partir de la signature
de vérification doit exclusivement utiliser la fonction de
hachage en question. L’ISOKEI 14888-3 donne un
Si séquence intermédiaire établie durant la signature
exemple de cette option, avec le mécanisme DSA qui
exige l’utilisation de SHA-1 .
Si’ séquence intermédiaire rétablie durant la vérification
2. -Autoriser un ensemble de fonctions de hachage et
indiquer explicitement dans chaque signature la
Sr séquence à rétablir, entrée de la fonction de signature
fonction utilisée par un identifiant inclus comme élé-
ment du calcul de signature - L’identifiant de fonction
Sr’ séquence rétablie, sortie de la fonction de vérification
de hachage est une extension du code de hachage: il
indique comment dériver le code de hachage.
signature L’opération de vérification doit utiliser exclusivement la
c
fonction de hachage indiquée par l’identifiant dans la
signature. La présente partie de l’ISO/CEI 9796 donne
longueur du suffixe en octets (8t bits)
un exemple de cette option; voir 6.3.1.
X longueur de Mn en octets (8x bits)
3. -Autoriser un ensemble de fonctions de hachage et
indiquer explicitement, parmi les paramètres du
‘XY’ notation hexadécimale représentant XY en base 16, domaine du certificat, la fonction à utiliser - A
avec les chiffres de 0 à 9 et de A à F l’intérieur du domaine du certificat, l’opération de vérifi-
cation doit utiliser exclusivement la fonction de hachage
indiquée dans le certificat. A l’extérieur du domaine du
certificat, des autorités de certification peu rigoureuses
Pour les besoins de la présente partie de I’ISOKEI 9796, les
induisent un risque. Si d’autres certificats peuvent être
fonctions suivantes s’appliquent.
créés, alors d’autres signatures peuvent être créées.
L’utilisateur attaqué se trouverait alors en conflit avec
Hash fonction de hachage associant M à H.
l’autorité de certification ayant produit l’autre certificat.
4. - Autoriser un ensemble de fonctions de hachage et
Sign fonction de signature associant Sr à 2 sous le contrôle
indiquer la fonction à utiliser par tout autre moyen,
de la clé privée de signature.
par exemple, une indication dans le message ou un
agrément entre les parties - L’opération de vérifi-
Vérif fonction de vérification associant C à Sr’ sous le
cation doit exclusivement utiliser la fonction de hachage
contrôle de la clé publique de vérification.
indiquée par cet autre moyen. Toutefois, il y a un risque
3

---------------------- Page: 7 ----------------------
ISO/CEI 9796=2:1997(F) 0 ISO/CEI
‘un adversaire ne par-vi enne à forger une signature en
w Message
uti lisant une autre fonctio In de hachage.
L’utilisateur d’un mécanisme de signature numérique doit
procéder à une évaluation du risque en considérant les
avantages et les inconvénients des différentes solutions.
Une telle évaluation comprend le coût associé à la possibilité
de produire une fausse signature.
La fonction de signature utilise une clé privée de signature,
alors que la fonction de vérification utilise la clé publique de
vérification correspondante.
- Chaque entité qui signe doit utiliser et garder secrète
sa propre clé privée de signature correspondant à sa clé Message signé
publique de vérification.
Figure 1 - Opération de signature
la clé publique
Chaque entité qui vérifie doit connaître
de vérification de l’entité qui signe.
NOTE - II convient que les realisations de l’opération de signature
protégent physiquement les opérations pour qu’il n’y ait pas d’accés
direct à la fonction de signature sous le controle de la clé privée de
Un message signé comprend la signature toute seule en cas
signature.11 convient en outre de verifier chaque signature avant de la
de rétablissement total, ou bien la signature avec la partie du
transmettre au monde exterieur.
message à ne pas rétablir en cas de rétablisse-ment partiel. II
faut accepter une signature si et seulement si l’opération de
vérification spécifiée à l’article 7 réussit.
6.2 Hacher le message
NOTES
1 La présente partie de I’ISO/CEI 9796 ne spécifie pas la gestion
II faut calculer les kh bits du code de hachage H en appli-
des clés.
quant la fonction de hachage aux k, bits du message AA.
2 La présente partie de I’ISO/CEI 9796 ne spécifie pas la structure
du message. Un exemple de message structure est la séquence
H = Hash(M)
comprenant un numero d’identification enregistre, une date d’expi-
ration, un numero de serie et un module public. Alors le schéma de
signature produit un certificat de clé publique comprenant
l soit la signature toute seule en cas de rétablissement total,
6.3 Mécanismes de format
l soit la signature et la partie du message à ne pas rétablir,
en cas de rétablissement partiel.
6.3.1 Suffixe
3 La fonction de hachage peut limiter la taille du message, par
exemple, à moins de 264 bits.
Le suffixe doit comprendre t octets consécutifs (un ou deux)
4 @es vale urs typiques de kh sont 64 et 80 en cas de rétablis-
où le quartet de droite doit toujours valoir ‘C’.
sement total, 128 et 160 en cas de rétablissement partiel.
- Lorsque la fonction de hachage en usage est connue
(implicitement ou par un identifiant dans le message), le
suffixe doit comprendre un seul octet (t=l); cet octet
doit valoir ‘BC’.
6 Opération de signature
- Pour identifier la fonction de hachage, le suffixe doit
comprendre deux octets consécutifs (t=Z): l’octet de
6.1 Vue générale
droite doit valoir ‘CC’ et l’octet de gauche doit être
l’identifiant de la fonction de hachage.
La figure 1 représente l’opération de signature.
Un code de hachage s’obti ent en a uant la foncti on L’identifiant de la fonction de hachage indique la fonction de
de hachage au message à sig ner.
hachage en usage.
- Les mécanismes de format produisent un suffixe, des
- L’intervalle ‘00’ à ‘7F’ est réservé à I’ISO/CEI JTC 1;
parties à rétablir et à ne pas rétablir en divisant le
I’ISO/CEI 10118 attribue un identifiant unique dans cet
message, ainsi qu’une séquence intermédiaire qui
intervalle à chaque fonction de hachage normalisée.
comporte le code de hachage et la partie à rétablir; après
de mineures modifications, la séquence intermédiaire
- L’intervalle ‘80’ à ‘FF’ est réservé à un usage privé.
devient une séquence à rétablir.
NOTE - L’ISO/CEI 10118-3 attribue les valeurs ‘31’, ‘32’ et ‘33’ à
Une signature s’obtient enfin en a
uant la fonction
PPM
RIPEMD-160, RIPEMD-128 et SHA-1 respectivement.
sign ature à la séquence à rétablir.
de
4

---------------------- Page: 8 ----------------------
0 ISO/CEI ISO/CEI 9796=2:1997(F)
L’ISO/CEI JTC 1 réserve à une utilisation future les autres 6.3.3 Séquence intermédiaire
formats du suffixe, c’est-à-dire
La séquence intermédiaire Si doit comporter les k bits
- les valeurs de l’octet de droite différentes de ‘BC’ et
suivants énumérés de gauche à droite (voir le tableau 1):
‘CC’ dans l’intervalle ‘OC’ à ‘FC’,
- deux bits à 01, c’est-à-dire le préfixe,
- les autres longueurs et interprétations du suffixe.
- le bit autres-données qui vaut
l 0 en cas de rétablissement total,
l 1 en cas de rétablissement partiel,
6.3.2 Allouer le message
- tous les bits de remplissage, c’est-à-dire
l k- kh- k,-8t-4 bitsà 0,
l puis, le bit frontière à 1,
6.3.2.1 Rétablissement total
- les kr bits de Mr, c’est-à-dire le champ de données,
Lorsque k 2 kh + km + 8t + 4, il faut allouer M tout entier à la
- les kh bits de H, c’est-à-dire le champ de hachage,
partie à rétablir Mr en gardant vide la partie à ne pas rétablir
- les 8t bits du suffixe.
Mn, en vue d’un rétablissement total.
NOTE - En cas de rétablissement partiel, Mn est le plus court
possible en octets; le nombre de bits de remplissage à 0 vaut donc
z&o à sept, c’est-à-dire qu’il est toujours inf&ieur à huit.
<- Mr -> Mn est vide
kr = km bits
6.3.4 Séquence à rétablir
Lorsque M est vide, Mrest également vide.
Pour obtenir la séquence à rétablir Sr, il faut traiter Si de
gauche à droite par blocs de quatre bits consécutifs, c’est-à-
dire par quartets en partant de la gauche.
6.3.2.2 Rétablissement partiel
- Le quartet de gauche, où le bit de droite est (1) ou
n’est pas (0) le bit frontière, doit rester tel quel.
Lorsque k c kh + km + 8t + 4, il faut diviser M en deux
- Lorsque le quartet de gauche n’est pas le quartet
parties allouées respectivement aux parties à rétablir et à ne
frontière,
pas rétablir, Mr et Mn, en vue d’un rétablissement partiel.
l chaque quartet consécutif égal à ‘0’, s’il y en a,
doit être remplacé par un quartet égal à ‘B’; il fait
La division doit minimiser la longueur en octets de Mn.
partie du champ de remplissage.
Précisément, x est le plus petit entier supérieur ou égal à:
l il faut combiner par ou-exclusif avec ‘B’ le premier
quartet différent de ‘0’; c’est le quartet frontière.
(kh+km+8t+4-k)/8
-Tous les bits à droite du quartet frontière doivent
En outre: kr = k, - 8x
rester tels quels.
- II faut allouer à Mr les kr bits de gauche de M.
6.4 Produire la signature
- II faut allouer à Mn les x octets de droite de M.
II faut transformer la séquence à rétablir Sr en signature C en
appliquant la fonction de signature sous le contrôle de la clé
bex . . . b8+7 . . . b8 . . . 61
bkm -0. 68x+1
privée de signature.
- Mr-> <- ->
Mn
C = Sign(Sr)
k;= k,,, - 8x bits x octets
Par conséquent, le message signé doit être
NOTE - La présente partie de I’ISO/CEI 9796 ne spécifie pas
- C toute seule en cas de rétablissement total,
l’absence de rétablissement. Toutefois, I’ISO/CEI 14888-3 spécifie
- ou C avec Mn en cas de rétablissement partiel.
un schéma sans rétablissement qui &end la présente spécification.
Tableau 1 - Structure de la séquence intermédiaire Si (k bits)
Préfixe Bit autres-données Champ de remplissage Champ de données Champ de hachage Suffixe
Deux bits Un bit Un ou plusieurs bits kr bits kh bits 8t bits
= 0 si Mn est vide Zéro, un ou plusieurs bits à 0 = ‘BC’ ou
= OI Partie à rétablir Mr Code de hachage H
=
1 sinon puis un seul bit à 1 = ‘XYCC’
5

---------------------- Page: 9 ----------------------
0 ISO/CEI
ISO/CEI 9796-2: 1997(F)
l chaque quartet consécutif égal à ‘B’, s’il y en a,
7 Opération de vérification
fait partie du champ de remplissage;
l il faut combiner par ou-exclusif avec ‘B’ le premier
quartet différent de ‘B’ afin de rétablir la valeur
7.1 Vue générale
initiale du quartet frontière.
La figure 2 représente l’opération de vérification.
- Tous les bits à droite du quartet frontière doivent
rester tels quels.
- Une séquence rétablie s’obtient en appliquant la
fonction de vérification à la signature.
En cas de rétablissement partiel, il faut rejeter la signature C
- Les mécanismes de rétablissement rétablissent
si huit bits de remplissage ou plus valent 0. Sinon,
successivement une séquence intermédiaire, un suffixe,
l’opération de vérification doit continuer.
un code de hachage et un message.
- Un autre code de hachage s’obtient en appliquant la
7.3.2 Rétablir le suffixe
fonction de hachage au message rétabli pour vérifier
enfin le message signé.
Lorsque l’octet de droite de Si’vaut
- ‘BC’, le suffixe comprend ce seul octet; la fonction
Message signé
de hachage en usage est connue (implicitement ou par
un identifiant dans le message).
- ‘CC’, le suffixe comprend les deux octets de droite
de Si’où l’octet de gauche est l’identifiant de la fonction
de hachage en usage.
Mécanismes de rétablissement
II faut rejeter la signature C lorsque l’on ne peut interpréter
\ Rejeter
le suffixe ou l’identifiant de la fonction de hachage. Sinon,
Oui Non 1
l’opération de vérification doit continuer.
\
Contrôler le code de hachage
7.3.3 Rétablir le code de hachage
Rejeter
Non 1
Oui
À ce point, le vérifieur connaît la fonction de hachage en
Message rétabli usage et donc, la longueur kh’ du code de hachage à rétablir.
(Signature acceptée)
Sur la gauche de Si’, il faut retirer le préfixe, le bit
Figure 2 - Opération de vérification
autres-données et le champ de remplissage; sur la droite de
Si’, il faut retirer le suffixe. II faut diviser la séquence binaire
restante en deux parties.
7.2 Ouvrir la signature
- Le code de hachage rétabli H’ doit comprendre les
kh’ bits de droite.
II faut transformer la signature C en séquence rétablie Sr’ en
appliquant la fonction de vérification sous le contrôle de la
- La partie rétablie Mr’ doit comprendre les bits restant
clé publique de vérification.
sur la gauche.
Sr’ = Vérif(C)
Rétablir le message
7.3.4
II faut rejeter la signature Csi Sr’n’est pas une séquence de
k bits où les deux bits de gauche valent OI et les quatre bits
Le message rétabli M’ doit comprendre
de droite 1100. Sinon, l’opération de vérification doit
- Mr’toute seule en cas de rétablissement total,
continuer.
- ou bien la séquence formée par Mr’à gauche et Mn
Le troisième bit de Sr’ en partant de la gauche est le bit
à droite en cas de rétablissement partiel.
autres-données. Sa valeur indique si le rétablissement est
total (0) ou partiel (1).
En cas de rétablissement partiel, il faut rejeter la signature C
si Mn n’est pas une séquence d’un ou plusieurs octets.
Sinon, l’opération de vérification doit continuer.
7.3 Mécanismes de rétablissement
7.4 Contrôler le code de hachage
7.3.1 Rétablir la séquence intermédiaire
II faut calculer un autre code de hachage H”en appliquant la
Pour rétablir la séquence intermédiaire S?, il faut traiter 9’
fonction de hachage au message rétabli M’.
de gauche à droite par blocs de quatre bits consécutifs,
c’est-à-dire par quartets en partant de la gauche.
H” =
Hash( M’)
- Le quartet de gauche, don
...

ISOICEI
NORME
9796-2
INTERNATIONALE
Première édition
1997-09-01
Technologies de l’information -
Techniques de sécurité - Schémas de
signature numérique rétablissant le
message -
Partie 2:
Mécanismes utilisant une fonction de hachage
Information technology - Security techniques - Digital signature schemes
giving message recovery -
Part 2: Mechanisms using a hash-function
m q Numero de référence
ISOICEI 9796-2: 1997(F)

---------------------- Page: 1 ----------------------
ISO/CEI 9796-2: 1997(F)
Page
Sommaire
. . .
III
Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .I.
iv
Introduction . . . . . . , , . . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Domaine d’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .*.*. 1
Références normatives . . . . . . . . . . . . . . . . . . , . . . . . . . .
2
Termes et définitions . . . . . , . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . , . . . . . . . . . . . . . . . . . . . . . . . . . .
................................................................ 3
Symboles et abréviations
.................................................................................... 3
Exigences
................................................................... 4
Opération de signature
................................................................. 6
Opération de vérification
Annexes
A Exemple d’un système à clé publique pour signature numérique . 7
B Exemples explicatifs se rapportant à l’annexe A . . 9
0 ISO/CEl 1997
Tous droits réserves. Sauf prescription contraire, aucune partie de cette publication ne peut
être reproduite ni utilisee sous aucune forme que ce soit et par aucun procédé, électronique
ou mécanique, y compris la photocopie et le microfilm, sans l’accord ecrit de l’éditeur.
ISO/CEI Bureau du copyright l Case postale 56 l CH-121 1 Genève 20 l Suisse
Imprimé en Suisse
ii

---------------------- Page: 2 ----------------------
0 ISO/CEI
ISO/CEI 9796-2: 1997(F)
Avant-propos
L’ISO (Organisation internationale de normalisation) et la CEI (Commission électro-
technique internationale) forment ensemble un système consacré à la normalisa-
tion internationale considérée comme un tout. Les organismes nationaux
membres de I’ISO ou de la CEI participent au développement de Normes inter-
nationales par l’intermédiaire des comités techniques créés par l’organisation
concernée afin de s’occuper des différents domaines particuliers de l’activité
technique. Les comités techniques de I’ISO et de la CEI collaborent dans des
domaines d’intérêt commun. D’autres organisations internationales, gouver-
nementales ou non gouvernementales, en liaison avec I’ISO et la CEI participent
également aux travaux.
Dans le domaine des technologies de l’information, I’ISO et la CEI 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.
L’ISO/CEI 9796 comprend les parties suivantes, présentées sous le titre général
Technologies de l’information - Techniques de sécurité - Schémas de signature
numérique rétablissant le message.
- Partie 7: Mécanismes utilisant de la redondance
- Partie 2: Mécanismes utilisant une fonction de hachage
La Norme internationale lSO/CEI 9796-Z a été élaborée par le comité technique
mixte lSO/CEI JTC 1, Technologies de /‘information, sous-comité SC 27, Technk
ques de sécurité des technologies de l’information.
Les annexes A et 6 de la présente partie de I’ISOKEI 9796 sont données unique-
ment à titre d’information.

---------------------- Page: 3 ----------------------
ISO/CEI 9796-2: 1997(F) 0 ISO/CEI
Introduction
La signature numérique est un équivalent électronique à la signature manuelle
pour offrir des services tels que l’authentification, l’intégrité et la non-
répudiation. Ces services s’appliquent à des messages numériques qui sont
des séquences binaires, par exemple, des séquences d’éléments de données
ou des séquences d’objets de données.
La plupart des schémas de signature numérique sont basés sur un système
particulier à clé publique. Tout système à clé publique comporte trois
opérations de base:
- une production de paires de clés, l’une privée et l’autre publique,
- une opération mettant en œuvre une clé privée,
- une opération mettant en œuvre une clé publique.
Dans tout schéma de signature numérique à clé publique, la clé privée est
mise en œuvre dans l’opération de signature pour signer des messages ; la clé
publique est mise en œuvre dans l’opération de vérification pour vérifier des
messages signés. Une paire de clés de signature se compose donc d’une ((clé
privée de signature» et d’une ((clé publique de vérification)).
II y a deux types de schémas de signature numérique.
- Quand il est possible de rétablir tout ou partie du message à partir de la
signature, le schéma est un ((schéma de signature rétablissant le
message)) (voir I’ISO/CEI 9796).
- Quand il faut enregistrer et transmettre le message tout entier avec la
signature, le schéma est un ((schéma de signature avec appendice» (voir
I’ISO/CEI 14888).
NOTE - Les deux types de schémas ne sont pas exclusifs. Tout schhma r&ablissant le
message, par exemple, I’ISO/CEI 9796:1991, permet la signature avec appendice. Dans
ce cas, la signature s’obtient en appliquant le schéma à un code de hachage calculé à
partir du message.
L’ISO/CEI 9796 spécifie des schémas de signature numérique rétablissant
totalement ou partiellement le message. L’avantage pratique de tels schémas
est de réduire les coûts d’enregistrement et de transmission des données.
L’ISO/CEI 9796:1991 deviendra la partie 1. Elle spécifie un schéma de
signature numérique pour des messages de longueur limitée, totalement
rétablis à partir des signatures. Suivant le choix des paramètres, le schéma
n’emploie pas de fonction de hachage; il permet une opération de vérification
très efficace, c’est-à-dire que le schéma est réalisable dans des environne-
ments à capacité de calcul très limitée.
La présente partie de I’ISO/CEI 9796 utilise une fonction de hachage pour
hacher tout le message. Lorsque le message est assez court, l’opération de
vérification rétablit le message tout entier ainsi que le code de hachage à
partir de la signature. Sinon l’opération de vérification ne rétablit qu’une partie
du message avec le code de hachage.
iv

---------------------- Page: 4 ----------------------
NORME INTERNATIONALE @ ‘So’cE’
ISO/CEI 9796=2:1997(F)
Technologies de l’information - Techniques de sécurité -
Schémas de signature numérique rétablissant le message
Partie 2:
Mécanismes utilisant une fonction de hachage
Certains paramètres du schéma sont liés à la sécurité. La
1 Domaine d’application
présente partie de I’ISO/CEI 9796 ne spécifie pas les valeurs
à leur donner pour atteindre un niveau donné de sécurité;
La présente partie de I’ISO/CEI 9796 spécifie un schéma de
elle est toutefois spécifiée de façon à limiter les change-
signature numérique pour des messages de longueur quel-
ments entraînés par une éventuelle modification de ces
conque. Les messages sont des séquences binaires, sans
paramètres.
aucune hypothèse sur la présence de redondance naturelle.
Le schéma utilise une fonction de hachage et un système à
clé publique. II comprend
- une opération de signature mettant successivement 2 Références normatives
en œuvre une fonction de hachage, des mécanismes de
format et une fonction de signature, pour signer des
Les documents normatifs suivants contiennent des
messages,
dispositions qui, par suite de la référence qui y est faite,
constituent des dispositions valables pour la présente partie
- une opération de vérification mettant successivement
de I’ISO/CEI 9796. Pour les références datées, les
en œuvre une fonction de vérification, des mécanismes
amendements ultérieurs ou les révisions de ces publications
de rétablissement et une fonction de hachage, pour
ne s’appliquent pas. Toutefois, les parties prenantes aux
vérifier des messages signés.
accords fondés sur la présente partie de I’ISO/CEI 9796 sont
invitées à rechercher la possibilité d’appliquer les éditions les
L’entrée de la fonction de signature comprend à la fois le
plus récentes des documents normatifs indiqués ci-après.
code de hachage et tout ou partie du message. La fonction
Pour les références non datées, la dernière édition du
de vérification restitue en sortie la valeur d’entrée de la
document normatif en référence s’applique. Les membres
fonction de signature. De cette manière, le schéma assure le
de I’ISO et de la CEI possèdent le registre des Normes
rétablissement total ou partiel du message.
internationales en vigueur.
La présente partie de I’ISO/CEI 9796 ne spécifie pas de
lSO/CEI 9796:1991, Technologies de l’information -
fonction de hachage. L’ISO/CEI 10118 spécifie des fonc-
Techniques de sécurité - Schéma de signature numérique
tions de hachage appropriées à la signature numérique.
rétablissant le message.
lSO/CEI 9798-l : 1997, Technologies de l’information -
La présente partie de I’ISO/CEI 9796 ne spécifie pas de
Techniques de sécurité - Au then tifica tien d’entité -
système à clé publique pour construire les fonctions de
signature et de vérification. L’annexe A donne un exemple Partie 1: Généralités.
de système convenable, avec une opération de production
lSO/CEI 10118 (toutes les parties), Technologies de I’infor-
de clés, une fonction de signature et une fonction de
vérification ; ce système à clé publique est aujourd’hui le seul ma tien - Techniques de sécurité - Fonctions de hachage.
connu approprié à la présente partie de I’ISO/CEI 9796.
L’annexe B donne des exemples explicatifs se rapportant lSO/CEI 14888 (toutes les partie&), Technologies de I’infor-
aux opérations spécifiées dans l’annexe A. ma tien - Techniques de sécurité - Signatures numériques
avec appendice.
‘1 À publier.
1

---------------------- Page: 5 ----------------------
ISO/CEI 9796-2: 1997(F)
0 ISO/CEI
3.3.2.2
3 Termes et définitions
bit autres-données, m
bit spécifique de la séquence intermédiaire indiquant si le
Pour les besoins de la présente partie de I’ISOKEI 9796, les
rétablissement est total ou partiel (voir le tableau 1)
termes et définitions suivants s’appliquent.
3.3.2.3
3.1 clés
champ de remplissage, m
champ de la séquence intermédiaire acheminant les bits de
remplissage (voir le tableau 1)
3.1.1
clé privée de signature, f
3.3.2.3.1
clé privée fixant la transformation privée de signature
bit frontière, m
[lSO/CEI 9798-l :1997, définition 3.3.181
bit de droite du champ de remplissage
3.12
3.3.2.4
clé publique de vérification, f
champ de données, m
clé publique fixant la transformation publique de vérification
champ de la séquence intermédiaire acheminant la partie à
rétablir (voir le tableau 1)
[lSO/CEI 9798-l : 1997, définition 3.3.231
3.3.2.5
3.2
champ de hachage, m
fonction de hachage, f
champ de la séquence intermédiaire acheminant le code de
fonction associant des séquences binaires à des séquences
hachage (voir le tableau 1)
binaires de longueur fixe et satisfaisant les propriétés
suivantes
3.3.2.6
- Pour une sortie donnée, il est impossible de trouver par
suffixe, m
calcul une entrée associée à cette sortie.
champ de droite de la séquence intermédiaire (voir tableau 1)
- Pour une sortie donnée, il est impossible de trouver par
calcul une seconde entrée associée à la même sortie.
3.3.2.6.1
[ ISO/CEI 10118-I : 1994, définition 2.41
identifiant de fonction de hachage, m
octet facultatif du suffixe identifiant une fonction de hachage
3.2.1
fonction de hachage résistant aux collisions, f
3.3.3
fonction de hachage satisfaisant la propriété suivante
quartet, m
- II est impossible de trouver par calcul deux entrées
bloc de quatre bits consécutifs
distinctes associées à la même sortie.
3.3.3.1
[ lSO/CEI 10118-l : 1994, définition 2.11
quartet frontière, m
quartet spécifique de la séquence intermédiaire, contenant le
3.3 séquences binaires
bit frontière
3.3.1
3.3.4
message, m
séquence à rétablir, f
séquence binaire de longueur quelconque, éventuellement
séquence binaire dérivée de la séquence intermédiaire,
vide
entrée de la fonction de signature
NOTE - Adaptée de I’ISO/CEI 9796:1991, definition 2.1.
3.3.5
3.3.1.1
signature, f
partie à ne pas rétablir, f
séquence binaire résultant de l’opération de signature
partie du message enregistrée et transmise avec la signa-
[lSO/CEI 9796:1991, définition 2.21
ture, vide en cas de rétablissement total
3.3.1.2 3.3.6 conventions de codage
partie à rétablir, f
partie du message acheminée dans la signature, vide quand 3.3.6.1
le message lui-même est vide numérotage des bits, m
Dans toutes les séquences de x bits, le numérotage se fait
de droite à gauche, de bl (le dernier bit) à 6, (le premier bit).
3.3.2
séquence intermédiaire, f
séquence binaire à partir de laquelle on dérive la séquence à
3.3.6.2
rétablir
poids des bits, m
Tous les entiers s’écrivent avec le chiffre (ou le bit ou le
3.3.2.1
quartet ou l’octet) de poids fort à gauche.
préfixe, m
NOTE - Par exemple, pour évaluer la valeur d’un octet, b, est en
champ de gauche de la séquence intermédiaire (voir le
poids faible et b en poids fort.
tableau 1)
2

---------------------- Page: 6 ----------------------
0 ISO/CEI ISO/CEI 9796=2:1997(F)
4 Symboles et abréviations 5 Exigences
Pour les besoins de la présente partie de I’ISO/CEI 9796, les Le message à sign er M est une séq uence binaire de
symboles et abréviations suivants s’appliquent. Ion gueur quelconque, éventu ellement vide
- Si M est assez court (voir 6.3.2.1), le rétablissement
H
code de hachage calculé à partir du message à signer
sera total, car il faut inclure M en entier dans la signature.
- Si M est trop long (voir 6.3.2.21, le rétablissement sera
H’ code de hachage rétabli à partir de la signature
partiel, car il faut diviser M en
l la partie à rétablir, une séquence binaire de longueur
H” code de hachage calculé à partir du message rétabli
limitée à inclure dans la signature.
l la partie à ne pas rétablir, une séquence d’octets de
k longueur en bits de Si, Sr, C, Sr’et Si’, fixée par la taille longueur quelconque à enregistrer et à transmettre
d’un paramètre public du système à clé publique avec la signature.
longueur de H en bits Au début de l’opération de signature, il faut hacher le
kh
message à signer M. À la fin de l’opération de vérification, il
faut hacher le message rétabli M’.
longueur de H’ en bits
- En cas de rétablissement total, la fonction de hachage
doit résister aux collisions.
longueur de M en bits (km = k, + 8x), peut être nulle
En cas de rétablissement partiel, la résistance aux
col lisions n’est pas exigée.
longueur de Mr en bits
kr
Lorsqu’un mécanisme de signature numérique utilise une
M
message à signer durant l’opération de signature
fonction de hachage, il faut lier le mécanisme de signature et
la fonction de hachage. Faute d’un tel lien, un adversaire
M’ message rétabli durant l’opération de vérification
pourrait revendiquer l’usage d’une faible fonction de hachage
(et non pas celle réellement utilisée) et ainsi forger une
Mn partie de M à ne pas rétablir
signature. II y a plusieurs façons de réaliser ce lien. Les
options suivantes sont énumérées par risque croissant.
Mr partie de M à rétablir
1. - Exiger une fonction de hachage particulière avec
un mécanisme de signature particulier - L’opération
Mr’ partie de M’ rétablie à partir de la signature
de vérification doit exclusivement utiliser la fonction de
hachage en question. L’ISOKEI 14888-3 donne un
Si séquence intermédiaire établie durant la signature
exemple de cette option, avec le mécanisme DSA qui
exige l’utilisation de SHA-1 .
Si’ séquence intermédiaire rétablie durant la vérification
2. -Autoriser un ensemble de fonctions de hachage et
indiquer explicitement dans chaque signature la
Sr séquence à rétablir, entrée de la fonction de signature
fonction utilisée par un identifiant inclus comme élé-
ment du calcul de signature - L’identifiant de fonction
Sr’ séquence rétablie, sortie de la fonction de vérification
de hachage est une extension du code de hachage: il
indique comment dériver le code de hachage.
signature L’opération de vérification doit utiliser exclusivement la
c
fonction de hachage indiquée par l’identifiant dans la
signature. La présente partie de l’ISO/CEI 9796 donne
longueur du suffixe en octets (8t bits)
un exemple de cette option; voir 6.3.1.
X longueur de Mn en octets (8x bits)
3. -Autoriser un ensemble de fonctions de hachage et
indiquer explicitement, parmi les paramètres du
‘XY’ notation hexadécimale représentant XY en base 16, domaine du certificat, la fonction à utiliser - A
avec les chiffres de 0 à 9 et de A à F l’intérieur du domaine du certificat, l’opération de vérifi-
cation doit utiliser exclusivement la fonction de hachage
indiquée dans le certificat. A l’extérieur du domaine du
certificat, des autorités de certification peu rigoureuses
Pour les besoins de la présente partie de I’ISOKEI 9796, les
induisent un risque. Si d’autres certificats peuvent être
fonctions suivantes s’appliquent.
créés, alors d’autres signatures peuvent être créées.
L’utilisateur attaqué se trouverait alors en conflit avec
Hash fonction de hachage associant M à H.
l’autorité de certification ayant produit l’autre certificat.
4. - Autoriser un ensemble de fonctions de hachage et
Sign fonction de signature associant Sr à 2 sous le contrôle
indiquer la fonction à utiliser par tout autre moyen,
de la clé privée de signature.
par exemple, une indication dans le message ou un
agrément entre les parties - L’opération de vérifi-
Vérif fonction de vérification associant C à Sr’ sous le
cation doit exclusivement utiliser la fonction de hachage
contrôle de la clé publique de vérification.
indiquée par cet autre moyen. Toutefois, il y a un risque
3

---------------------- Page: 7 ----------------------
ISO/CEI 9796=2:1997(F) 0 ISO/CEI
‘un adversaire ne par-vi enne à forger une signature en
w Message
uti lisant une autre fonctio In de hachage.
L’utilisateur d’un mécanisme de signature numérique doit
procéder à une évaluation du risque en considérant les
avantages et les inconvénients des différentes solutions.
Une telle évaluation comprend le coût associé à la possibilité
de produire une fausse signature.
La fonction de signature utilise une clé privée de signature,
alors que la fonction de vérification utilise la clé publique de
vérification correspondante.
- Chaque entité qui signe doit utiliser et garder secrète
sa propre clé privée de signature correspondant à sa clé Message signé
publique de vérification.
Figure 1 - Opération de signature
la clé publique
Chaque entité qui vérifie doit connaître
de vérification de l’entité qui signe.
NOTE - II convient que les realisations de l’opération de signature
protégent physiquement les opérations pour qu’il n’y ait pas d’accés
direct à la fonction de signature sous le controle de la clé privée de
Un message signé comprend la signature toute seule en cas
signature.11 convient en outre de verifier chaque signature avant de la
de rétablissement total, ou bien la signature avec la partie du
transmettre au monde exterieur.
message à ne pas rétablir en cas de rétablisse-ment partiel. II
faut accepter une signature si et seulement si l’opération de
vérification spécifiée à l’article 7 réussit.
6.2 Hacher le message
NOTES
1 La présente partie de I’ISO/CEI 9796 ne spécifie pas la gestion
II faut calculer les kh bits du code de hachage H en appli-
des clés.
quant la fonction de hachage aux k, bits du message AA.
2 La présente partie de I’ISO/CEI 9796 ne spécifie pas la structure
du message. Un exemple de message structure est la séquence
H = Hash(M)
comprenant un numero d’identification enregistre, une date d’expi-
ration, un numero de serie et un module public. Alors le schéma de
signature produit un certificat de clé publique comprenant
l soit la signature toute seule en cas de rétablissement total,
6.3 Mécanismes de format
l soit la signature et la partie du message à ne pas rétablir,
en cas de rétablissement partiel.
6.3.1 Suffixe
3 La fonction de hachage peut limiter la taille du message, par
exemple, à moins de 264 bits.
Le suffixe doit comprendre t octets consécutifs (un ou deux)
4 @es vale urs typiques de kh sont 64 et 80 en cas de rétablis-
où le quartet de droite doit toujours valoir ‘C’.
sement total, 128 et 160 en cas de rétablissement partiel.
- Lorsque la fonction de hachage en usage est connue
(implicitement ou par un identifiant dans le message), le
suffixe doit comprendre un seul octet (t=l); cet octet
doit valoir ‘BC’.
6 Opération de signature
- Pour identifier la fonction de hachage, le suffixe doit
comprendre deux octets consécutifs (t=Z): l’octet de
6.1 Vue générale
droite doit valoir ‘CC’ et l’octet de gauche doit être
l’identifiant de la fonction de hachage.
La figure 1 représente l’opération de signature.
Un code de hachage s’obti ent en a uant la foncti on L’identifiant de la fonction de hachage indique la fonction de
de hachage au message à sig ner.
hachage en usage.
- Les mécanismes de format produisent un suffixe, des
- L’intervalle ‘00’ à ‘7F’ est réservé à I’ISO/CEI JTC 1;
parties à rétablir et à ne pas rétablir en divisant le
I’ISO/CEI 10118 attribue un identifiant unique dans cet
message, ainsi qu’une séquence intermédiaire qui
intervalle à chaque fonction de hachage normalisée.
comporte le code de hachage et la partie à rétablir; après
de mineures modifications, la séquence intermédiaire
- L’intervalle ‘80’ à ‘FF’ est réservé à un usage privé.
devient une séquence à rétablir.
NOTE - L’ISO/CEI 10118-3 attribue les valeurs ‘31’, ‘32’ et ‘33’ à
Une signature s’obtient enfin en a
uant la fonction
PPM
RIPEMD-160, RIPEMD-128 et SHA-1 respectivement.
sign ature à la séquence à rétablir.
de
4

---------------------- Page: 8 ----------------------
0 ISO/CEI ISO/CEI 9796=2:1997(F)
L’ISO/CEI JTC 1 réserve à une utilisation future les autres 6.3.3 Séquence intermédiaire
formats du suffixe, c’est-à-dire
La séquence intermédiaire Si doit comporter les k bits
- les valeurs de l’octet de droite différentes de ‘BC’ et
suivants énumérés de gauche à droite (voir le tableau 1):
‘CC’ dans l’intervalle ‘OC’ à ‘FC’,
- deux bits à 01, c’est-à-dire le préfixe,
- les autres longueurs et interprétations du suffixe.
- le bit autres-données qui vaut
l 0 en cas de rétablissement total,
l 1 en cas de rétablissement partiel,
6.3.2 Allouer le message
- tous les bits de remplissage, c’est-à-dire
l k- kh- k,-8t-4 bitsà 0,
l puis, le bit frontière à 1,
6.3.2.1 Rétablissement total
- les kr bits de Mr, c’est-à-dire le champ de données,
Lorsque k 2 kh + km + 8t + 4, il faut allouer M tout entier à la
- les kh bits de H, c’est-à-dire le champ de hachage,
partie à rétablir Mr en gardant vide la partie à ne pas rétablir
- les 8t bits du suffixe.
Mn, en vue d’un rétablissement total.
NOTE - En cas de rétablissement partiel, Mn est le plus court
possible en octets; le nombre de bits de remplissage à 0 vaut donc
z&o à sept, c’est-à-dire qu’il est toujours inf&ieur à huit.
<- Mr -> Mn est vide
kr = km bits
6.3.4 Séquence à rétablir
Lorsque M est vide, Mrest également vide.
Pour obtenir la séquence à rétablir Sr, il faut traiter Si de
gauche à droite par blocs de quatre bits consécutifs, c’est-à-
dire par quartets en partant de la gauche.
6.3.2.2 Rétablissement partiel
- Le quartet de gauche, où le bit de droite est (1) ou
n’est pas (0) le bit frontière, doit rester tel quel.
Lorsque k c kh + km + 8t + 4, il faut diviser M en deux
- Lorsque le quartet de gauche n’est pas le quartet
parties allouées respectivement aux parties à rétablir et à ne
frontière,
pas rétablir, Mr et Mn, en vue d’un rétablissement partiel.
l chaque quartet consécutif égal à ‘0’, s’il y en a,
doit être remplacé par un quartet égal à ‘B’; il fait
La division doit minimiser la longueur en octets de Mn.
partie du champ de remplissage.
Précisément, x est le plus petit entier supérieur ou égal à:
l il faut combiner par ou-exclusif avec ‘B’ le premier
quartet différent de ‘0’; c’est le quartet frontière.
(kh+km+8t+4-k)/8
-Tous les bits à droite du quartet frontière doivent
En outre: kr = k, - 8x
rester tels quels.
- II faut allouer à Mr les kr bits de gauche de M.
6.4 Produire la signature
- II faut allouer à Mn les x octets de droite de M.
II faut transformer la séquence à rétablir Sr en signature C en
appliquant la fonction de signature sous le contrôle de la clé
bex . . . b8+7 . . . b8 . . . 61
bkm -0. 68x+1
privée de signature.
- Mr-> <- ->
Mn
C = Sign(Sr)
k;= k,,, - 8x bits x octets
Par conséquent, le message signé doit être
NOTE - La présente partie de I’ISO/CEI 9796 ne spécifie pas
- C toute seule en cas de rétablissement total,
l’absence de rétablissement. Toutefois, I’ISO/CEI 14888-3 spécifie
- ou C avec Mn en cas de rétablissement partiel.
un schéma sans rétablissement qui &end la présente spécification.
Tableau 1 - Structure de la séquence intermédiaire Si (k bits)
Préfixe Bit autres-données Champ de remplissage Champ de données Champ de hachage Suffixe
Deux bits Un bit Un ou plusieurs bits kr bits kh bits 8t bits
= 0 si Mn est vide Zéro, un ou plusieurs bits à 0 = ‘BC’ ou
= OI Partie à rétablir Mr Code de hachage H
=
1 sinon puis un seul bit à 1 = ‘XYCC’
5

---------------------- Page: 9 ----------------------
0 ISO/CEI
ISO/CEI 9796-2: 1997(F)
l chaque quartet consécutif égal à ‘B’, s’il y en a,
7 Opération de vérification
fait partie du champ de remplissage;
l il faut combiner par ou-exclusif avec ‘B’ le premier
quartet différent de ‘B’ afin de rétablir la valeur
7.1 Vue générale
initiale du quartet frontière.
La figure 2 représente l’opération de vérification.
- Tous les bits à droite du quartet frontière doivent
rester tels quels.
- Une séquence rétablie s’obtient en appliquant la
fonction de vérification à la signature.
En cas de rétablissement partiel, il faut rejeter la signature C
- Les mécanismes de rétablissement rétablissent
si huit bits de remplissage ou plus valent 0. Sinon,
successivement une séquence intermédiaire, un suffixe,
l’opération de vérification doit continuer.
un code de hachage et un message.
- Un autre code de hachage s’obtient en appliquant la
7.3.2 Rétablir le suffixe
fonction de hachage au message rétabli pour vérifier
enfin le message signé.
Lorsque l’octet de droite de Si’vaut
- ‘BC’, le suffixe comprend ce seul octet; la fonction
Message signé
de hachage en usage est connue (implicitement ou par
un identifiant dans le message).
- ‘CC’, le suffixe comprend les deux octets de droite
de Si’où l’octet de gauche est l’identifiant de la fonction
de hachage en usage.
Mécanismes de rétablissement
II faut rejeter la signature C lorsque l’on ne peut interpréter
\ Rejeter
le suffixe ou l’identifiant de la fonction de hachage. Sinon,
Oui Non 1
l’opération de vérification doit continuer.
\
Contrôler le code de hachage
7.3.3 Rétablir le code de hachage
Rejeter
Non 1
Oui
À ce point, le vérifieur connaît la fonction de hachage en
Message rétabli usage et donc, la longueur kh’ du code de hachage à rétablir.
(Signature acceptée)
Sur la gauche de Si’, il faut retirer le préfixe, le bit
Figure 2 - Opération de vérification
autres-données et le champ de remplissage; sur la droite de
Si’, il faut retirer le suffixe. II faut diviser la séquence binaire
restante en deux parties.
7.2 Ouvrir la signature
- Le code de hachage rétabli H’ doit comprendre les
kh’ bits de droite.
II faut transformer la signature C en séquence rétablie Sr’ en
appliquant la fonction de vérification sous le contrôle de la
- La partie rétablie Mr’ doit comprendre les bits restant
clé publique de vérification.
sur la gauche.
Sr’ = Vérif(C)
Rétablir le message
7.3.4
II faut rejeter la signature Csi Sr’n’est pas une séquence de
k bits où les deux bits de gauche valent OI et les quatre bits
Le message rétabli M’ doit comprendre
de droite 1100. Sinon, l’opération de vérification doit
- Mr’toute seule en cas de rétablissement total,
continuer.
- ou bien la séquence formée par Mr’à gauche et Mn
Le troisième bit de Sr’ en partant de la gauche est le bit
à droite en cas de rétablissement partiel.
autres-données. Sa valeur indique si le rétablissement est
total (0) ou partiel (1).
En cas de rétablissement partiel, il faut rejeter la signature C
si Mn n’est pas une séquence d’un ou plusieurs octets.
Sinon, l’opération de vérification doit continuer.
7.3 Mécanismes de rétablissement
7.4 Contrôler le code de hachage
7.3.1 Rétablir la séquence intermédiaire
II faut calculer un autre code de hachage H”en appliquant la
Pour rétablir la séquence intermédiaire S?, il faut traiter 9’
fonction de hachage au message rétabli M’.
de gauche à droite par blocs de quatre bits consécutifs,
c’est-à-dire par quartets en partant de la gauche.
H” =
Hash( M’)
- Le quartet de gauche, don
...

Questions, Comments and Discussion

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