Clé de chiffrement

15 November 2007

Une clé est un paramètre utilisé en entrée d’une opération cryptographique (chiffrement, déchiffrement, scellement, signature numérique, vérification de signature).

Une clé de chiffrement peut être symétrique (cryptographie symétrique) ou asymétrique (cryptographie asymétrique) : dans le premier cas, la même clé sert à chiffrer et à déchiffrer ; dans le second cas on utilise deux clés différentes, la clé de chiffrement est publique alors que celle servant au déchiffrement est gardée secrète (la clé secrète, ou clé privée, ne peut pas se déduire de la clé publique).

Une clé peut se présenter sous plusieurs formes : mots ou phrases, procédure pour préparer une machine de chiffrement (connections, câblage, etc. Voir machine Enigma ), données codées sous une forme binaire (cryptologie moderne).

La protection apportée par un algorithme de chiffrement est liée à la longueur de la clé, qui peut s’exprimer en bits. En fait, la longueur de la clé quantifie le nombre maximal d’opérations nécessaires au déchiffrement. C’est donc une borne supérieure sur la securité du système. En l’état actuel, il est recommandé d’utiliser des clés d’au moins 128 bits pour les systèmes symétriques, ce qui signifie que la clé est une suite aléatoire de 128 zéros ou uns (il y a donc 2128 valeurs possibles pour une clé de 128 bits). Pour les clés asymétriques, le problème est moins simple : le nombre maximal d’opérations est obtenu pour l’essai systématique de toutes les clés possibles. Or, pour les systèmes asymétriques, qui sont le plus souvent construits sur des problèmes relevant de l’arithmétique, il existe toujours des moyens largement moins coûteux en temps, à savoir la résolution du problème arithmétique sous-jacent. Concrètement, si on considère le système RSA, basé sur le problème de la factorisation, pour une clé de 1024 bits (quasiment le strict minimum actuellement) il n’est pas nécessaire de tester les 21024 clés, il « suffit » de factoriser un nombre dont l’écriture binaire comporte 1024 bits, ce qui est très largement plus simple, bien que toujours totalement infaisable de nos jours (on a pu factoriser des nombres allant jusqu’à 640 bits, mais en plusieurs jours, avec des ressources informatiques très importantes).

Les tailles de clés entre systèmes symétriques et asymétriques ne doivent donc pas être directement comparées, et si dans le cas de la cryptographie symétrique, le fait de savoir que la clé fait 128 bits peut être rassurant, il est beaucoup moins évident de juger de la sécurité des systèmes asymétriques selon la taille de la clé. Ainsi, les systèmes basés sur les courbes elliptiques demandent des tailles bien inférieures à celle de RSA pour un niveau de sécurité équivalent.

Loi suisse

15 November 2007

La Suisse a toujours été tolérante vis à vis de la cryptographie, le gouvernement est favorable à son utilisation et à son développement qui représente un marché économique. La Loi fédérale sur la Protection des Données (LPD) indique que les données personnelles sensibles doivent être protégées par des mesures techniques adaptées et que la cryptographie est recommandée. Plusieurs entreprises florissantes dans ce domaine sont suisses : Kudelski (cryptage pour chaînes payantes), Mediacrypt (propriétaire de IDEA), Crypto AG et id Quantique (cryptographie quantique).

La Loi fédérale du 21 juin 1991 sur les télécommunications (RS 784.10) indique que (résumé du texte de loi) :

    * le développement et la création de produits cryptographiques (logiciel ou matériel) n’est soumis à aucune limitation
    * l’utilisation des logiciels cryptographiques n’est soumise à aucune limitation
    * les produits cryptographiques de même que les autres équipements de télécommunications qui peuvent être connectés au réseau public doivent être en accord avec les normes techniques ordonnés par le Conseil Fédéral (mise en conformité par le fabricant ou par une inspection de l’Office Fédéral de la Communication - OFCOM).
    * L’import/export de matériel cryptographique est soumis à une demande de certificat, celui-ci autorise les transactions. Des dispositions particulières sont prévues en ce qui concerne les licences et les applications militaires.

(voir liens externes ci-dessous).

Loi française

15 November 2007

L’usage de PGP (Pretty Good Privacy), un des premiers logiciels de chiffrement disponibles sur l’Internet, a longtemps été interdit en France, car considéré jusqu’en 1996 comme une arme de guerre. La législation française s’est ensuite assouplie, et le chiffrement symétrique avec des clés aussi grandes que 128 bits a été autorisé. Certains logiciels, comme GnuPG, purent être utilisés avec n’importe quelle taille de clé symétrique. Enfin, la Loi du 21 juin 2004 pour la confiance dans l’économie numérique a totalement libéralisé l’utilisation des moyens de cryptologie ; cependant la fourniture de clés de chiffrement est soumise à déclaration ou autorisation (voir liens externes ci-dessous).

Différence entre chiffrement et codage

15 November 2007

Les opérations de chiffrement et de codage font partie de la théorie de l’information. La différence essentielle réside dans la volonté de protéger les informations et d’empêcher des tierces personnes d’accéder aux données dans le cas du chiffrement. Le codage consiste à transformer de l’information (des données) vers un ensemble de mots. Chacun de ces mots est constitué de symboles. La compression est un codage : on transforme les données vers un ensemble de mots adéquats destinés à réduire la taille mais il n’y a pas de volonté de dissimuler (bien que cela se fasse implicitement en rendant plus difficile d’accès le contenu).

Le “code” dans le sens cryptographique du terme travaille au niveau de la sémantique (les mots ou les phrases). Par exemple, un code pourra remplacer le mot “avion” par un numéro. Le chiffrement travaille sur des composantes plus élémentaires du message, les lettres ou les bits, sans s’intéresser à la signification du contenu. Un code nécessite une table de conversion, aussi appelée “dictionnaire” (codebook en anglais). Ceci étant, “code” et “chiffrement” sont souvent employés de manière synonyme malgré cette différence.

On peut aussi considérer que le chiffrement doit résister à un adversaire « intelligent » qui peut attaquer de plusieurs manières alors que le codage est destiné à une transmission sur un canal qui peut être potentiellement bruité. Ce bruit est un phénomène aléatoire qui n’a pas d’« intelligence » intrinsèque mais peut toutefois être décrit mathématiquement.

Deux principaux types de chiffrement

15 November 2007

Un système de chiffrement est dit : * symétrique quand il utilise la même clé pour chiffrer et déchiffrer. * asymétrique quand il utilise des clés différentes : une paire composée d’une clé publique, servant au chiffrement, et d’une clé privée, servant à déchiffrer. Le point fondamental soutenant cette décomposition publique/privée est l’impossibilité calculatoire de déduire la clé privée de la clé publique. Les méthodes les plus connues sont le DES, le Triple DES et l’AES pour la cryptographie symétrique, et le RSA pour la cryptographie asymétrique, aussi appelée cryptographie à clé publique. L’utilisation d’un système symétrique ou asymétrique dépend des tâches à accomplir. La cryptographie asymétrique présente deux intérêts majeurs : elle supprime le problème de transmission sécurisée de la clé, et elle permet la signature électronique. Elle ne remplace cependant pas les systèmes symétriques car ses temps de calcul sont nettement plus longs.

Le cryptage

15 November 2007

Le terme « cryptage » serait un anglicisme, tiré de l’anglais encryption. En français, on doit employer le mot chiffrement.
L’Académie française précise que le mot « cryptage » est à bannir et il ne figure pas dans son dictionnaire même si on peut le trouver dans des usuels. Toutefois, « crypter » est souvent employé, surtout au passif, dans le cadre de la télévision payante (on « crypte » des chaînes). D’ailleurs la racine grecque kryptô (caché) justifie pleinement son utilisation chaque fois que le chiffrement, c’est-à-dire la conversion en chiffres, est utilisé pour cacher le message, le déchiffrement constitue la conversion des chiffres en lettres pour retrouver le message, alors que le décryptage consiste à le découvrir.

Afin de répondre à l’interrogation « mais pour quelle raison ne pas employer ce mot ? », le premier argument consiste à reprendre les différentes définitions des mots chiffrer/déchiffrer et de décrypter (voir l’article cryptographie). Décrypter désignant le fait de « retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement », l’usage tel qu’il tend à se développer du pseudo-couple crypter/décrypter va simplement les faire tendre à l’état de synonyme de chiffrer/déchiffrer (tout comme les anglophones avec encipher/decipher et encrypt/decrypt). Ainsi plutôt que de gagner un nouveau mot (en l’occurrence crypter) sans nouveau sens, nous perdrons un ancien sens, le sens actuel de décrypter. Ou comment perdre en croyant gagner…