Vous êtes sur la page 1sur 10

Table des matières

I. NOTION DE SECURITE PROUVEE .............................................................................................. 2


1. La sécurité calculatoire ................................................................................................................... 2
2. Ciphertext indistinguishability (Securite Semantique)................................................................ 2
II. SECURITE IND-CCA .................................................................................................................... 3
1. Indistinguishability under chosen-plaintext attack (IND-CPA) ................................................. 3
2. Indistinguishability under chosen ciphertext attack/adaptive chosen ciphertext attack (IND-
CCA, IND-CCA2) ................................................................................................................................... 4
3. Non-malleability (Non-malléabilité) .............................................................................................. 5
III. EXEMPLE DE CRYPTOSYSTEME IND-CCA (cryptosystème de Cramer-Shoup) ............. 6
IV. ETUDE COMPARATIVE ............................................................................................................. 8
1. Description informelle .................................................................................................................... 8
2. Dans la mise en œuvre .................................................................................................................... 9
3. Sécurité............................................................................................................................................. 9
REFERENCES .......................................................................................................................................... 10

1
I. NOTION DE SECURITE PROUVEE

1. La sécurité calculatoire

La sécurité calculatoire est basée sur la mesure de la quantité de calcul


nécessaire pour casser un système. On dit qu'un procédé est sûr au sens de la théorie
de la complexité si le meilleur algorithme pour le casser nécessite opérations où
est un nombre beaucoup trop grand pour que cet algorithme soit applicable en
pratique. Dans la pratique, on dit souvent qu'un système est sûr si la meilleure attaque
connue ne peut se faire avec une quantité raisonnable de temps de calcul. Le
problème de cette approche c'est qu'un crypto système peut être sûr pendant un
moment puis ne plus l'être lorsque l'on découvre un algorithme plus efficace.

2. Ciphertext indistinguishability (Securite Semantique)

Ciphertext indistinguishability is an important security property of many


encryption schemes. Intuitively, if a cryptosystem possesses the property of
indistinguishability, then an adversary will be unable to distinguish pairs of
ciphertexts based on the message they encrypt. The property of indistinguishability
under chosen plaintext attack is considered a basic requirement for most provably
secure public key cryptosystems, though some schemes also provide
indistinguishability under chosen ciphertext attack and adaptive chosen ciphertext
attack. Indistinguishability under chosen plaintext attack is equivalent to the
property of semantic security, and many cryptographic proofs use these definitions
interchangeably. A cryptosystem is considered ”secure” in terms of
indistinguishability” if no adversary A, given an encryption of a message randomly
chosen from a two-element message space determined by the adversary, can identify
the message choice with probability significantly better than that of random guessing
(1/2). If any adversary can succeed in distinguishing the chosen ciphertext with a
probability significantly greater than 1/2, then this adversary is considered to have
an ”advantage” in distinguishing the ciphertext, and the scheme is ”not” considered
secure in terms of indistinguishability. This definition encompasses the notion that

2
in a secure scheme, the adversary should glean no information from seeing a
ciphertext. Therefore, the adversary should be able to do no better than if it guessed
randomly.

II. SECURITE IND-CCA

Security in terms of indistinguishability has many definitions, depending on


assumptions made about the capabilities of the attacker. It is normally presented as
a game, where the cryptosystem is considered secure if no adversary can win the
game with significantly greater probability than an adversary who must guess
randomly. The most common definitions used in cryptography are
indistinguishability under chosen plaintext attack (abbreviated IND-CPA),
indistinguishability under (non-adaptive) chosen ciphertext attack (IND-CCA), and
indistinguishability under adaptive chosen ciphertext attack (IND-CCA2). Security
under either of the latter definition implies security under the previous ones: a
scheme which is IND-CCA secure is also IND-CPA secure, and a scheme which is
IND-CCA2 secure is both IND-CCA and IND-CPA secure. Thus, IND-CCA2 is the
strongest of these three definitions of security.

1. Indistinguishability under chosen-plaintext attack (IND-CPA)

For a probabilistic asymmetric key encryption algorithm, indistinguishability


under chosen plaintext attack (IND-CPA) is defined by the following game between
an adversary and a challenger. For schemes based on computational security, the
adversary is modeled by a probabilistic polynomial time Turing machine, meaning
that it must complete the game and output a ”guess” within a polynomial number of
time steps.

In this definition E (PK,”M”) represents the encryption of a message ”M”


under the key ”PK”:

3
# The challenger generates a key pair ”PK”, ”SK” based on some security
parameter ”k” (e.g., a key size in bits), and publishes ”PK” to the adversary. The
challenger retains ”SK”. 1

# The adversary may perform any number of encryptions or other operations.


# Eventually, the adversary submits two distinct chosen plaintexts M 0, M 1 to the
challenger.

# The challenger selects a bit ”b” in {0, 1} uniformly at random, and sends
the ”challenge” ciphertext ”C” = E (PK, M_b) back to the adversary.

# The adversary is free to perform any number of additional computations or


encryptions. Finally, it outputs a guess for the value of ”b”.

A cryptosystem is indistinguishable under chosen plaintext attack if every


probabilistic polynomial time adversary has only a negligible ”advantage” over
random guessing.

2. Indistinguishability under chosen ciphertext attack/adaptive chosen


ciphertext attack (IND-CCA, IND-CCA2)

L’attaque à chiffrés choisis (CCA : chosen ciphertext attack) : une attaque à


chiffrés choisis est une attaque où l’attaquant a accès à l’oracle de déchiffrement et
peut ainsi demander le déchiffrement de tout chiffré de son choix ; il existe deux
variantes d’attaques à chiffrés choisis qui sont : IND-CCA1(attaques non adaptative)
et IND-CCA2 (attaques adaptatives)

Indistinguishability under non-adaptive and adaptive Chosen Ciphertext


Attack (IND-CCA, IND-CCA2) uses a definition similar to that of IND-CPA.
However, in addition to the public key (or encryption oracle, in the symmetric case),
the adversary is given access to a ”decryption oracle” which decrypts arbitrary
ciphertexts at the adversary’s request, returning the plaintext. In the non-adaptive
definition, the adversary is allowed to query this oracle only up until it receives the
challenge ciphertext. In the adaptive definition, the adversary may continue to query
the decryption oracle even after it has received a challenge ciphertext, with the

4
caveat that it may not pass the challenge ciphertext for decryption (otherwise, the
definition would be trivial).

# The challenger generates a key pair ”PK”, ”SK” based on some security
parameter ”k” (e.g., a key size in bits), and publishes ”PK” to the adversary. The
challenger retains ”SK”.

# The adversary may perform any number of encryptions, calls to the


decryption oracle based on arbitrary ciphertexts, or other operations.

# Eventually, the adversary submits two distinct chosen plaintexts M_0, M_1
to the challenger.

# The challenger selects a bit ”b” € {0, 1} uniformly at random, and sends
the ”challenge” ciphertext ”C” = E(PK, M_b) back to the adversary.

# The adversary is free to perform any number of additional computations or


encryptions. 2

# In the ”non-adaptive” case (IND-CCA), the adversary may ”not” make


further calls to the decryption oracle.

# In the ”adaptive” case (IND-CCA2), the adversary may make further calls
to the decryption oracle, but may not submit the challenge ciphertext ”C”.

# Finally, the adversary outputs a guess for the value of ”b”. A scheme is
IND-CCA/INDCCA2 secure if no adversary has a non-negligible advantage in
winning the above game.

Un schéma de chiffrement est considéré IND-CCA l’attaquant ne peut pas


décider avec une probabilité significativement plus grande que 1/2 lequel des deux
messages a été déchiffré.

3. Non-malleability (Non-malléabilité)

La construction d’un schéma IND−CCA2 sûr est réalisée grâce à une nouvelle
notion de sécurité : la non-malléabilité (dénotée NM). Introduite par Dolev, Dwork
et Naor, elle est considérée comme une extension de la sécurité sémantique (une

5
autre notion de non-malléabilité équivalente et plus simple à étudier sera
ultérieurement introduite par Bellare, Desai, Pointcheval et Rogaway ), elle est en
général plus forte que l’indistinguabilité. Bellare et. al ont pourtant prouvé que la
non-malléabilité et l’indistinguabilité sont équivalentes face aux attaques à chiffrés
choisis adaptatives. Malleability is the property of some cryptographic algorithm .
An encryption algorithm is malleable if it is possible for an adversary to transform a
cipher-text into another ciphertext which decrypts to a related plaintext .That is given
an encryption of a plaintext m, it is possible to generate another ciphertext which
decrypts to f(m), for a known function f, without necessarily knowing or learning m.
Malleability is often an undesirable property in a general-purpose cryptosystem,
since it allows an attacker to modify the contents of a message. For example, suppose
that a bank uses a stream cipher to hide its financial information, and a user sends
an encrypted message containing, say,” TRANSFER Rs.1000 TO ACCOUNT 199.”
If an attacker can modify the message on the wire, and can guess the format of the
unencrypted message, the attacker could be able to change the amount of the
transaction, or the recipient of the funds, e.g.,” TRANSFER Rs1000 TO ACCOUNT
227.” Non-malleability is that given the ciphertext it is impossible to generate a
different ciphertext so that the respective plane texts are related.

III. EXEMPLE DE CRYPTOSYSTEME IND-CCA (cryptosystème de


Cramer-Shoup)

En cryptologie, le cryptosystème de Cramer-Shoup est un chiffrement à clé


publique introduit en 1998 par les cryptologues Ronald Cramer et Victor Shoup.
Historiquement, il s'agit du premier cryptosystème combinant les trois propriétés
suivantes : il est résistant aux attaques adaptatives à chiffrés choisis (IND-CCA2), il
est prouvé sûr dans le modèle standard, et il est efficace. Ces propriétés et d'autres
le rendent particulièrement attrayant pour construire des mécanismes
d'encapsulation de clés

Description du cryptosysteme

6
Le crypto système de Cramer-Shoup repose sur trois algorithmes (G, E, D) décrits
ici :

• Generation des clés


L'algorithme de « génération de clé » G prend en entrée un paramètre de
sécurité 𝜆. Il détermine un groupe cyclique d'ordre et une fonction H: 𝔾3⟶ ℤ/(𝑞) .
Le choix de q et de la fonction H dépend de 𝜆 et se fait à partir de l'analyse de
sécurité.

L'algorithme donne deux générateurs aléatoires 𝑔1 , 𝑔2 de 𝔾 et tire six


exposants aléatoires 𝑥1 , 𝑥2 , 𝑦1 , 𝑦2 , 𝑧1 , 𝑧2 ∈ ℤ/(𝑞) . Il calcule alors :

𝑐 ← 𝑔1 𝑥1 𝑔2 𝑥2 , 𝑑 ← 𝑔1 𝑦1 𝑔2 𝑦2 , et ℎ ← 𝑔1 𝑧1 𝑔2 𝑧2

Finalement l’algorithme retourne :

- Une clé publique 𝑝𝑘 = {𝑐, 𝑑, ℎ},


- Des paramètres publics 𝑝𝑝 = {𝜆, 𝔾, 𝑔1 , 𝑔2 , 𝑞, 𝐻},
- Et la clé privée 𝑝𝑝 = {𝑥1 , 𝑥2 , 𝑦1 , 𝑦2 , 𝑧1 , 𝑧2 }.

• Chiffrement
L’algorithme de chiffrement 𝐸 prend en entrée les paramètres publics, la clé
publique, et un message 𝑚 𝜖 𝔾. Un exposant 𝑟 𝜖 ℤ/(𝑞) est choisi
uniformement au hasard, puis l’algorithme calcule :

𝑢1 ⟵ 𝑔1 𝑟 , 𝑢2 ← 𝑔2 𝑟 , 𝑒 ← 𝑚ℎ𝑟 , 𝛼 ⟵ 𝐻(𝑢1 , 𝑢2 , 𝑒) et 𝑣 ← (𝑐𝑑 𝛼 )𝑟

Le chiffré correspondant est : 𝑐𝑡 = {𝑢1 , 𝑢2 , 𝑒, 𝑣}𝜖 𝔾4

• Déchiffrement
L'algorithme de déchiffrement 𝐷 prend en entrée les paramètres
publics, la clé privée, et un chiffré 𝑐𝑡 = {𝑢1 , 𝑢2 , 𝑒, 𝑣}𝜖 𝔾4 et calcule :
𝛼 ⟵ 𝐻(𝑢1 , 𝑢2 , 𝑒) et vérifie si 𝑢1 𝑥1+𝛼𝑦1 . 𝑢2 𝑥2+𝛼𝑦2 = 𝑣
Si l'égalité est fausse, l'algorithme de déchiffrement échoue et renvoie
un symbole d'erreur ( ⊥ ). Sinon il renvoi 𝑚 ← 𝑒𝑢−𝑧1 𝑢2 −𝑧2
Le crypto système de Cramer-Shoup est résistant aux attaques adaptatives à
chiffrés choisis (IND-CCA2) lorsque la fonction H est choisie dans une famille

7
de fonctions de hachage universelles à sens unique par réduction, dans le modèle
standard, à la difficulté du problème décisionnel de Diffie-Hellman dans 𝔾.

IV. ETUDE COMPARATIVE

L’IND-CCA et l’IND-CPA font référence à deux modèles de sécurité


couramment utilisés pour prouver la sécurité des algorithmes de chiffrement. Ils
sont modélisés à l'aide d'un jeu hypothétique entre un challenger qui détient les
informations de la clé secrète et l'attaquant qui veut casser l'algorithme de
chiffrement

L'idée est de montrer mathématiquement qu'un attaquant n'a aucune chance


de gagner un tel jeu, à moins qu'il ne puisse également résoudre un problème
mathématique difficile sous-jacent.

1. Description informelle

IND-CPA et IND-CCA sont des modèles de sécurité formels. "Actif" et


"passif" sont des termes descriptifs informels
« Passif » fait généralement référence à un adversaire qui observe simplement un
système dans son fonctionnement normal par des utilisateurs honnêtes.
« Actif » fait référence à un adversaire qui « interfère » d'une manière ou d'une
autre, provoquant des situations qui ne peuvent pas se produire dans le cadre d'une
utilisation honnête, généralement en fournissant des données cryptographiques
« inattendues » ou « impossibles »

▪ CPA est une attaque "passive" puisque l'adversaire observe simplement des
textes chiffrés générés honnêtement. L'adversaire choisit les textes en clair,
mais cela n'est pas considéré comme une attaque « active » - les textes en clair
eux-mêmes ne sont pas cryptographiques et l'algorithme de chiffrement est
toujours appliqué honnêtement à ces textes en clair.

▪ CCA est une attaque "active" car l'adversaire peut provoquer le déchiffrement
de textes chiffrés générés de manière malveillante. C'est quelque chose qui ne

8
peut jamais arriver dans le cadre des opérations normales d'un système par des
utilisateurs honnêtes.

2. Dans la mise en œuvre

Si un cryptographe propose un nouveau schéma de chiffrement, il est


beaucoup plus facile d'expliquer la construction et de prouver la sécurité lorsqu'il est
limité à un modèle de sécurité plus simple.
La levée de cette sécurité vers le paramètre CCA plus compliqué peut être effectuée
à l'aide d'outils déjà connus qui sont bien connus et compris

• Il y a des cas où la sécurité CCA est trop forte. Un champ typique est
le chiffrement homomorphe où nous aimerions calculer en utilisant les textes
chiffrés. Ici, il y a une exigence selon laquelle il devrait être possible que les
textes chiffrés puissent être manipulés, ce qui est en conflit direct avec CCA

• Notez qu'il existe des applications où même la sécurité CPA est trop
forte. L'une des implications de la CPA est que le schéma de chiffrement est
probabiliste : deux chiffrements différents du même message doivent aboutir
à un texte chiffré différent.
Mais dans certains cas, lorsque vous souhaitez effectuer une recherche dans
des données cryptées, cela rend la recherche impossible.
Il existe donc des notions comme le chiffrement déterministe et chiffrement
préservant le format qui sont utiles précisément parce qu'ils n'atteignent même
pas les niveaux de sécurité CPA.

3. Sécurité

• Pour qu'un schéma soit sécurisé par IND-CPA, il doit être établi que pour tous
les adversaires possibles (limités dans le temps), l'avantage de l'adversaire
sera négligeable. Une remarque évidente à propos du jeu IND-CPA est que
l'attaquant possède la clé publique.
• Pour qu’un Un schéma est sécurisé IND-CCA si aucun adversaire n'a un
avantage non négligeable à gagner, l’adversaire ne peut plus faire d'appels à
l'oracle de déchiffrement. Enfin, l'adversaire émet une estimation de la valeur.

9
REFERENCES

- Ronald Cramer et Victor Shoup, « A practical public key cryptosystem


provably secure against adaptive chosen ciphertext attack »,
dans Advances in Cryptology — CRYPTO '98, Springer Berlin
Heidelberg, 1998 (ISBN 9783540648925, DOI 10.1007/bfb0055717, lire
en ligne [archive]),

- Dan Boneh, « Cramer–Shoup Public-Key System », dans Encyclopedia of


Cryptography and Security, Springer
US, 2011 (ISBN 9781441959058, DOI 10.1007/978-1-4419-5906-
5_144, lire en ligne [archive]),

- Scribe8.pdf
- https://fr.wikipedia.org/w/index.php?title=Cryptosyst%C3%A8me_de_Cra
mer-Shoup&action=edit&section=3

10

Vous aimerez peut-être aussi