Meilleur mode pour le chiffrement par bloc
|
08-03-2016, 01h25
(Modification du message : 08-03-2016, 22h59 par Serphentas.)
Message : #1
|
|
Serphentas
Thall Messages : 41 Sujets : 10 Points: 29 Inscription : Oct 2012 |
Meilleur mode pour le chiffrement par bloc
Salut
Depuis quelques semaines maintenant, j'essaie de trouver le meilleur mode quand on a un block cipher (chiffrement par bloc). Pour rappel, voici une liste de ceux qu'on a à disposition: ECB - ne doit pas être utilisé si on chiffre plus de données que la taille d'un bloc (généralement 128b) CBC - tout mode avec du feedback devrait être considéré comme non sûr ou affaibli, voir [1] PCBC - voir CBC CFB - voir CBC OFB - voir CBC CTR - bien, mais ne garantit pas l'intégrité et l'authenticité XTS - seulement pour le chiffrement d'un disque local en entier *Authenticated encryption ci-dessous* OCB - ? CCM - CTR w/ CBC-MAC, ? CWC - ? EAX - ? GCM - pas mal, mais il existe des attaques utilisant des weak keys (clef faible), biclique attacks, etc. SGCM - pareil que pour GCM sauf que les weak keys ne sont plus un problème car on utilise plus GF(128) Quand il y a un "?" c'est que je ne sais pas si le mode est susceptible d'être attaqué. Les modes tels que (S)GCM et CTR emploient un nonce au lieu d'un IV (que CBC, etc. utilisent). La différence entre les deux, hormis le fait que tout mode en a besoin pour le chiffrement/déchiffrement initial, est que le premier doit être unique tandis que le deuxième doit être unique ET random (aléatoire) ou pseudo-random au minimum. En effet, si on utilise un même nonce pour deux différentes invocations de GCM avec la même clef (donc GCM(P1,K,N) et GCM(P2,K,N)), alors on peut forger des ciphertext. Par contre, avec un IV, si c'est pas assez random, un attaquant peut deviner des portions du plaintext en fonction du ciphertext. Ceci étant dit, j'opterais personnellement pour un mode basé sur un nonce. Pourquoi ? Parce que je n'ai plus à faire confiance à mon RNG pour qu'il ne soit pas biaisé. Je dois juste faire attention à ce qu'un nonce ne soit utilisé qu'un et une seule fois. Donc en fin de compte, GCM semble être pas mal. C'est globalement adopté comme mode AE (Authenticated Encryption). Par contre, le fait qu'il soit recommandé par le NIST peut laisser penser qu'il est "broken" ou bien que la NSA l'a déjà cryptanalysé. Non, le NIST n'est pas une organisation nette car ils ont fait en sorte que certains algorithmes et RNG soient affaiblis par le passé. Et vous, vous en pensez quoi ? C'est quoi votre mode préféré ? EDIT: j'avais oublié la référence... [1] https://www.youtube.com/watch?v=v0IsYNDMV7A |
|
08-03-2016, 20h43
(Modification du message : 08-03-2016, 20h43 par Serphentas.)
Message : #2
|
|
Serphentas
Thall Messages : 41 Sujets : 10 Points: 29 Inscription : Oct 2012 |
RE: Meilleur mode pour le chiffrement par bloc
Apparemment il y aurait une variante de GCM appelée GCM-SIV qui est résistante à la réutilisation du nonce, voir le whitepaper ici.
|
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Pour les meilleurs d'entre vous ! | Haraap | 21 | 4,705 |
01-02-2015, 14h07 Dernier message: Haraap |
|
Liste de bloc cipher | ark | 0 | 810 |
17-11-2014, 17h29 Dernier message: ark |
|
Chiffrement RSA en php et java | InstinctHack | 3 | 1,365 |
28-06-2013, 10h31 Dernier message: b0fh |
|
[Php] chiffrement asymétrique avec OpenSSL | InstinctHack | 5 | 1,662 |
20-01-2013, 22h56 Dernier message: b0fh |
Utilisateur(s) parcourant ce sujet : 2 visiteur(s)