From: Michel Bouissou To: pingouin@sphinx.i-quake.com Date: Sun, 16 Sep 2001 11:39:40 +0200 Subject: [pingouin] Mise en oeuvre rapide de GnuPG Bonjour, Voici une petite explication destinée à permettre la mise en oeuvre rapide de GnuPG sous Linux, et son intégration dans KMail. Cette explication n'a pas la prétention d'expliquer dans le détail le fonctionnement de la cryptographie à clé publique, on se référera plutôt pour cela aux nombreuses documentations disponibles, et à l'excellent site OpenPGP en français: http://www.geocities.com/openpgp. GnuPG est un outil en mode texte, qui permet le chiffrement et le déchiffrement de fichiers en utilisant un système dit de "cryptographie à clé publique". Dans un tel système, chaque utilisateur se génère initialement et une fois pour toutes une "paire de clés", l'une appelée "clé publique", l'autre appelée "clé secrète" ou "clé privée". Ces clés sont reliées mathématiquement, mais le fait de posséder l'une ne permet pas d'obtenir l'autre. Un message qui est chiffré en utilisant la "clé publique" ne peut être déchiffré qu'en utilisant la "clé secrète" qui lui correspond. Chaque utilisateur peut (et doit) distribuer sa "clé publique" à tous ses correspondants, afin que ceux-ci puissent chiffrer des messages qui lui sont destinés. Chaque utilisateur garde sa "clé secrète" soigneusement protégée en sa seule possession, et l'utilise pour déchiffrer les messages qui lui sont adressés. Chaque utilisateur doit veiller à garder soigneusement des copies de secours de sa paire de clés (par exemple sur disquette en "lieu sûr"), afin d'être certain de ne jamais la perdre, et chaque utilisateur doit veiller à ce que sa clé privée ne puisse jamais tomber en d'autres mains que les siennes. En particulier, l'utilisateur veillera à ne jamais installer sa clé secrète sur une machine dont il n'a pas le contrôle exclusif, sur un réseau partagé, etc... L'utilisation de la clé secrète est protégée par une "phrase secrète", qui est une sorte de mot de passe, mais plus complexe. Le choix d'une bonne phrase secrète est crucial, car, si celle-ci est trop simple, elle sera facilement trouvée par différents outils automatiques (recherche par dictionnaire, connaissance des habitudes de l'utilisateur, etc). Ainsi, utiliser "toto", le prénom de son enfant, sa date de naissance, ou une citation célèbre comme phrase de passe sont à proscrire. La phrase secrète doit cependant être facile à mémoriser pour l'utilisateur, et il ne doit pas risquer de l'oublier, car, s'il l'oublie, il ne pourra absolument plus utiliser sa clé secrète. Ainsi, la phrase secrète doit avoir un sens pour son propriétaire, mais seulement pour lui. Il peut être intéressant de se baser pour cela sur quelques événements survenus il y a très longtemps (par exemple dans l'enfance) et connus uniquement de soi-même. Par exemple, combiner dans une phrase le nom du bateau sur lequel j'ai pris une monstrueuse cuite à 16 ans avec la marque de la bouteille, la date de la perte de ma virginité séparée en plusieurs morceaux et la plaque d'immatriculation de ma première voiture que je n'ai plus depuis 20 ans, peuvent constituer une bonne phrase secrète ;-) Utiliser des termes ou des propositions inattendus ou contraires à nos habitudes ou convictions peut être une bonne idée. L'idée reste: Ca doit être quasiment impossible à oublier pour moi-même, et absolument impossible à deviner pour quiconque d'autre. Si possible, la phrase secrète doit contenir des mots ou des suites de lettre qui ne figurent dans aucun dictionnaire, et contenir des combinaisons inattendues de majuscules et de minuscules, chiffres, et signes de ponctuation. Eviter les caractères accentués éùà... qui peuvent être difficiles à obtenir si on doit un jour taper sa phrase secrète sur un clavier étranger (QWERTY par exemple). Si on joue avec les majuscules/minuscules et les signes de ponctuation, attention! Il faut être absolument certain d'être capable de mémoriser cela aussi!!! Si on reste 6 mois sans utiliser sa phrase secrète et qu'on se retrouve incapable de se souvenir comment on avait distribué majuscules et minuscules... on est mal. Je dois être capable de retaper ma phrase secrète exactement et sans hésitation dans 10 ans, même si je ne l'ai jamais utilisée entre temps... La phrase secrète ne doit jamais être inscrite nulle part: on ne doit pas en avoir besoin pour la mémoriser. La phrase secrète doit être assez longue, mais pas trop. On la tapera souvent, ça ne doit pas prendre une minute à chaque fois! Egalement, elle sera toujours tapée en aveugle, sans voir ce que l'on tape. Si elle est trop longue, on augmente le risque de fautes de frappe, et de devoir recommencer 5 fois en s'énervant... Bon, donc, vous l'avez compris, la première étape est le choix d'une bonne phrase secrète, et il ne faut pas hésiter à y consacrer le temps nécessaire. Ca y est ? Vous avez trouvé ? Chut! Bon, maintenant, attaquons-nous à la mise en oeuvre de GnuPG. Comme je le disais plus haut, il s'agit d'un outil en mode texte. Pour autant, dans son utilisation quotidienne avec KMail, on n'utilisera jamais le mode texte, puisque KMail utilise GnuPG de manière entièrement automatique. Pour les opérations diverses (avec des fichiers, etc) il existe différentes interfaces graphiques, dont GPA par exemple. Pour autant, fidèle à mes habitudes, je vais expliquer la mise en oeuvre de GnuPG avec le bon vieux mode texte ;-) Si nous avons une distribution Mandrake ou RedHat récente, GnuPG fait partie des packages qui sont fournis en standard, et GnuPG est fort probablement déjà installé sur votre machine. Pour le vérifier: [root@totor michel]# rpm -q gnupg gnupg-1.0.6-1.1mdk Si on obtient un numéro de version, c'est que GnuPG est installé. Sinon, il faut l'installer avec les outils habituels. Si on a une version antérieure à 1.0.6, il est indiqué d'ugrader cette version avec les outils de mise-à-jour habituels de Mandrake ou de RedHat. Pour autant, on peut déjà commencer à utiliser la version dont on dispose, et à se faire la main avec. Une fois GnuPG installé, se mettre dans une console "utilisateur normal", sous son profil habituel, et *PAS* root. Lancer une première fois GnuPG afin de l'initialiser: [michel@totor michel]$ gpg gpg: /home/michel/.gnupg: répertoire créé gpg: /home/michel/.gnupg/options: nouveau fichier d'options créé gpg: vous devez redémarrer GnuPG pour qu'il puisse lire le nouveau fichier «options» Un répertoire .gnupg est alors créé dans votre répertoire personnel, et ce répertoire contient un fichier "options" qui est le fichier de configuration de GnuPG. Editons ce fichier "options" et intéressons-nous à quelques entrées: # Uncomment the next line to get rid of the copyright notice #no-greeting => Enlevons le "#" devant "no-greeting" afin d'éviter un message de copyright à chaque fois que GnuPG est utilisé # If you do not pass a recipient to gpg, it will ask for one. # Using this option you can encrypt to a default key. key validation # will not be done in this case. # The second form uses the default key as default recipient. #default-recipient some-user-id #default-recipient-self => Enlevons le "#" devant "default-recipient-self" afin que chaque message ou fichier que nous chiffrerons puisse être déchiffré par notre propre clé. A défaut, le message pourra être déchiffré par son destinataire, mais nous ne pourrions plus nous-même déchiffrer un message que nous aurions chiffré pour quelqu'un d'autre. Les paranoïaques n'utilisent pas cette option, mais elle est bien pratique ;-) # The next option is enabled because this one is needed for interoperation # with PGP 5 users. To enable full OpenPGP compliance you have to remove # this option. force-v3-sigs => Cette entrée "force-v3-sigs" doit être présente, afin de garantir la compatibilité entre GnuPG et les utilisateurs de PGP On peut laisser pour l'instant les autres options telles quelles, et sauvegarder le fichier. Nous allons maintenant GENERER NOTRE PROPRE PAIRE DE CLES, ce qui peut prendre "un certain temps" si la machine n'est pas rapide. Le système va nous poser diverses questions en cours de route. => Je conseille la création d'une clé de 4096 bits: => Indiquez votre véritable nom et votre véritable adresse e-mail ;-) [michel@totor michel]$ gpg --gen-key gpg: /home/michel/.gnupg/secring.gpg: porte-clés créé gpg: /home/michel/.gnupg/pubring.gpg: porte-clés créé Sélectionnez le type de clé désiré: (1) DSA et ElGamal (par défaut) (2) DSA (signature seule) (4) ElGamal (signature et chiffrement) Votre choix ? 1 La paire de clés DSA fera 1024 bits. Préparation à la génération d'une nouvelle paire de clés ELG-E. la taille minimale est 768 bits la taille par défaut est 1024 bits la taille maximale conseillée est 2048 bits Quelle taille de clé désirez-vous ? (1024) 4096 Les tailles supérieures à 2048 ne sont pas conseillées car les calculs prennent VRAIMENT beaucoup de temps ! Etes-vous sûr de vouloir cette taille ? o D'accord, mais n'oubliez pas que les radiations de votre écran et de votre clavier sont aussi très vulnérables aux attaques ! La taille demandée est 4096 bits Spécifiez combien de temps cette clé devrait être valide. 0 = la clé n'expire pas = la clé expire dans n jours w = la clé expire dans n semaines m = la clé expire dans n mois y = la clé expire dans n ans La clé est valide pour ? (0) La clé n'expire pas du tout Est-ce correct (o/n) ? o Vous avez besoin d'un nom d'utilisateur pour identifier votre clé; le programme le construit à partir du nom réel, d'un commentaire et d'une adresse e-mail de cette manière: « Heinrich Heine (Der Dichter) » Nom réel: Albert Mudas Adresse e-mail: a.mudas@schmoldu.org Commentaire: Vous avez sélectionné ce nom d'utilisateur: "Albert Mudas " Changer le (N)om, le (C)ommentaire, l'(E)-mail ou (O)K/(Q)uitter ? O Vous avez besoin d'un mot de passe pour protéger votre clé secrète. Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre-chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie. ++++++++++.+++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++.+++++++++++++++++++++++++.+++++.+++++.++++++++++++++++++++.+++++>++++++++++................+++++ Un grand nombre d'octets aléatoires doit être généré. Vous devriez faire autre-chose (taper au clavier, déplacer la souris, utiliser les disques) pendant la génération de nombres premiers; cela donne au générateur de nombres aléatoires une meilleure chance d'avoir assez d'entropie. +++++.+++++..++++++++++.++++++++++.+++++++++++++++.+++++.++++++++++++++++++++..+++++..++++++++++....++++++++++..+++++.+++++++++++++++++++++++++++++++++++.++++++++++++++++++++.....++++++++++>+++++..+++++++++++++++...++++++++++++++++++++++++++++++>.+++++>..+++++.>+++++.<.+++++.....................................................................................................................................................>+++++.........<+++++...............>.+++++..>+++++<+++++.......................<++++ .>......+++++................+++++^^^^ les clés publique et secrète ont été créées et signées. Ca y est! La paire de clés est créée. Nous pouvons maintenant lister les clés contenues dans notre trousseau: [michel@totor michel]$ gpg --list-keys /home/michel/.gnupg/pubring.gpg ------------------------------- pub 1024D/83E42364 2001-09-16 Albert Mudas sub 4096g/FA3FC69A 2001-09-16 ...Et nous n'y trouvons que notre propre clé. Notons l'identifiant de notre clé: 83E42364 Maintenant, exportons notre clé publique dans un fichier texte, car nous en aurons besoin pour la transmettre à nos correspondants: [michel@totor michel]$ gpg --export -a a.mudas@schmoldu.org > ma-cle-publique.asc (à taper en une seule ligne) Nous obtenons un fichier "ma-cle-publique.asc" dans notre répertoire courant, qui contient notre clé publique: (Ce qui suit est un exemple bidon, ce n'est pas ma véritable clé publique ;-) [michel@totor michel]$ cat ma-cle-publique.asc -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Pour information voir http://www.gnupg.org mQGiBDukaaYRBACYX/JvTuNdJcH5bwa+RYmkjmSHLVH+b4lgodPoGjFvPGK0zlzF Jl06bsY7CGdG/UyNqFcYIeShSJ9+767/NH9IXZDEhhU4C8vHhZIW4k4M54rVdXTE QZyU3lX4k5o1AiIJGM774BojzY3InHrT+9rsoy+Lc12dc6Q06SrZPjdczwCg1Mzq cKeuTpuRXgIbUh4s5npHnJUD/2OLLqx6EbJwojXG1enw+kANz6hdA2HmniaNcw9P DmCe4aQAMfhHIb1IRWGJgYTjSau/eAWzJW4vv7voOCEAbio1/Wqxbdt9t71UbjsU xrI3VlCbfOWpOnC8Ru4zVpf1FpAMKsXFp32bY5fBSPd5687dWUr/kSNBteScW9Vy bq9kA/0T4AZWFVkRq7qjiOz5/c7HzU07B5PT67NVUcka/iReWyycPlenpxrrvUS4 o86THcYa7Z1CgFEJ2VMNtFEupK0Luvangstz4HV1bjDfELtmee/7GdajpC4WX03b YKJkmekNHNfjVXQJGd/PiNk+Xcc3xRhAl4Z/iHeT9zpImz4iu7QjQWxiZXJ0IE11 ZGFzIDxhLm11ZGFzQHNjaG1vbGR1Lm9yZz6IVwQTEQIAFwUCO6RppgULBwoDBAMV AwIDFgIBAheAAAoJEAERQ3qD5CNkPpsAoJ/30JqRGo5xVj7Gnhz5OajwGY0BAKCC Nocp0h8kuDfMeue4V/CHzFfjR7kEDQQ7pGsIEBAAr9pCOTsyS9fqAqwcHUn785AW nVi5TCtz0EJzDrkf7EjOhOxpnl15dG1a0x4lPopMt4BMd7QYu9RblzXUQHkdoCFx yzPkEPr575PE58kSm4uEJA9fxUYGgCfbmDiDcJJFBZspwnQAQTFSEgXRFL6MJrop ZJ7LUPnGt4hhiIWm6hzE4tTvLaFq5mhUcOxeq835xu6n1oFpYmfYpmCbjjUQ/obT Bo5WxWhCmrWcIXhC/9P2l5iJFC+3BASr+mqLrCyZbmljrI7Qh3FbAMuBUuu1/vKw 7Ydids3GE9NbPUl1pR8UXGHR1/5ZktLZymNqIyRuaIoRXdI+0DNS5iBk/bP9pe+C EStHeq8dUTW4NG72obNr5HQ3Gme1biEXIDrJoVlHdk94QkDSBaTpxJN56eOvdwIt EItdL9NEAYbqCNyTAgItWvAy7n2Q2J00AFaH/M161PIMQDvaCYtcozs8sKOJtqvd WkEq7Z7IQe6hXpcKQ8IB+KGow1QMNGS0z57UU2PUpM6L1kijGDLNM2KfqBkxJmjT q0XrlaPnhRfbwY/+zRvOyKks+wfFj7Bv+d796vph44moumzqs0Wt2aAF7vhcR/LY RfZLHXiHck0nXh0sYy7vbJGWoMuoVU1vGj6mcrl13zI85+8xEwOr8FupY83/QeMy gVyPYzN2Cbido0+w05MAAwYP/Rp84OblxxwD21fgfo+OxmpAecDZksqvQbaYwmwM +GpD3ClIakaLHOs6BLLUGu71qfSNZd8N7imNhvtfsNELdONihSpAgSqhPmYwnw// LDzX84CN+LnBHpFAEK+qYzb6NHgATMHcJHHMh2p6lUL1kRNKSuKG09RrejqQK1QT pC+zjlIUbzbu8EjuGzZAV1sxHjjxP6UHCmxjUiku9PKB41afevPlIefWp549ckn5 6fJksQ9F1/Miad2wQDemAbLjkLK+kphQpkteQmWBGYBMcBIXxvl12rMhly5BbtgO FAu/nlICwrJBcil4AhIeqZfJKjzj97DnqVqKpxEqzCeCLEg1S3xAFeOTtNvkbCjA mesvXPigYfCZIZ+xmD7muaB7MmuX5kjDuLjILuGyR6YBeYIFCjBGS++hR5fc4Wvu 8pES46rflAe5gE8cX/L9E3pGgjhMigR/HVIMs319UmNbzDHYnsPYXDmA1X/q43OT 6x4gY/ORhaPfNHWzrzj8nuo/n+grAgxflpNkhbqPRiPCPx73i2Mh4NANhHtbzfIG mLkYUaF4egyi9XjHozMcY6kO8gzcrEINSd/q9Sgmm2kI8ls7kEliJc8SmjA2G2BS QHirr5NXyk5X9yDaMG4ni8NNKDRiawqGYXWikVJes2kebp/p3q35FMewWDcx2lGC OVaMiEYEGBECAAYFAjukawgACgkQARFDeoPkI2SU8gCZAUBzi/AMTBM2OgIg1ZM7 kI3/NrMAnjp8T0/AyhlaGxZCaGCXJbmqYImi =AcKv -----END PGP PUBLIC KEY BLOCK----- Voilà. Cet amas de hiéroglyphes est "notre clé publique". ===> IL EST TEMPS MAINTENANT D'EFFECTUER UNE COPIE DE SECOURS (sur disquette, par exemple) DE NOTRE REPERTOIRE .gnupg ET DE TOUT CE QU'IL CONTIENT. En particulier les fichiers: - secring.gpg (qui contient notre clé secrète à protéger absolument) - pubring.gpg (qui contient notre clé publique, et contiendra plus tard aussi celle de nos correspondants) - trustdb.gpg (s'il existe, qui contient la base de données définissant la "confiance" accordée aux différentes clés). Bien. Nous sommes normalement prêts à utiliser GnuPG avec KMail. Allons dans KMail, menu "configurer KMail", onglet "sécurité". Indiquons ici: - Que nous utilisons GnuPG; - Cochons les cases: - Always encrypt to self (chiffrer le message pour soi-même) - Show ciphered text after composing (vérifier que le message a été chiffré avant l'envoi) - Uniquement si nous ne sommes pas paranoïaque, si nous sommes le seul utilisateur de notre machine, et si nous voulons nous faciliter la vie, la case "Keep passphrase in memory" (Garder la phrase secrète en mémoire). - Indiquons également l'identifiant de notre propre clé, qui est obtenu avec la fonction: [michel@totor .gnupg]$ gpg --list-keys michel@bouissou.net pub 1024D/5C2BEE8F 1999-12-06 Michel Bouissou uid Michel Bouissou uid Michel Bouissou uid [image of size 5634] sub 4096g/BFDF9EB0 1999-12-06 => L'identifiant de ma clé est: 5C2BEE8F (Si nous utilisons KMail 1.3, cet identifiant est indiqué non pas dans l'onglet "sécurité", mais dans l'onglet "identité", à la rubrique "PGP User Identity") Essayons maintenant ! Rédigeons un court e-mail pour nous-même, en cochant les deux icônes "cadenas" et "signature" de la barre d'outils de KMail, avant d'envoyer le message. Cliquons sur "envoyer". => Nous obtenons une boîte qui nous montre le message dans son état chiffré. => A la réception, KMail déchiffre automatiquement le message, et nous indique: <<<< Message crypté Le message a été signé par Michel Bouissou >>>> => Si l'on prend l'option "Message / Afficher le source", on peut vérifier que le message est effectivement chiffré. Bien, tout marche! Il ne nous reste plus qu'à échanger notre clé publique avec nos correspondants pour commencer à échanger des messages chiffrés: Pour envoyer notre clé publique à un correspondant, il nous suffit de lui envoyer par mail (en le collant dedans par exemple) notre clé publique, et jamais notre clé secrète !!! ...en copiant dans un mail le contenu du fichier ma-cle-publique.asc que nous avions généré plus haut. Voici donc ma VERITABLE clé publique: (Il y a encore des explications après ;-) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: Pour information voir http://www.gnupg.org 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 CAopcMEdMc143KaIRgQQEQIABgUCOVywMAAKCRAlRSs2UT4xrcovAJsGP2bH2gwO HNQAiQemh6SEGAamnwCg73DDBY6cGXCg0s3eg9xHA3+1dBWIRgQQEQIABgUCOb0L 3gAKCRARgCJqB8oObgKxAKCSKgwuqt0j0p0nAA3yzA8+rh/4AgCguPrAysBP1B4H JPNRt4AgsX8wHgLR1UL/AAAV/QEQAAEBAAAAAAAAAAAAAAAA/9j/4AAQSkZJRgAB AQAAAQABAAD/2wBDAAoHBwgHBgoICAgLCgoLDhgQDg0NDh0VFhEYIx8lJCIfIiEm KzcvJik0KSEiMEExNDk7Pj4+JS5ESUM8SDc9Pjv/2wBDAQoLCw4NDhwQEBw7KCIo Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozv/wAARCACQAHgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF BgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKB kaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVW V1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QA HwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQA AQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcY GRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX 2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDgpQQc4pbWWW0czjJU nDD1FPkEgzkD8aWLPkjOOCf519RKF2cCZ0EUytGsincrDIIp25DhgSjA9RXKrO1p IzwyeV646H8Kmj1m5AOWilY9yuP5UKqtmLk7HqHh/wAaSWhS21El4hwsw6ge9d5a 3lnfwh4pUkU85Br53j1u5Vv3kcZU9lyKtQeJ7q1fNukqem2XFcdbDUqjvF2foUuZ H0G0BVT5bZ9B6U1V2kbgVPSvHdL+KGo2LDzlmmTurKD+orqYPjBo7qBcQTwnuWiO B+Wa4J4apHzL3PQFY7cEZH0pwCnkVyVr8Q/D16v+j6ijOQcRCNt7H0AI5P8AjWRf /Emay1J4fsBeLjaoX5xyAcnOBglvXpXM4NPUtJvoehtu6g1Xn/eoElBBzww6ivOp fipLHLbuLJWTBWaPdtIbrkHB46Y6dwRkjGsfHkVxY+daxK7u52pK+NqcnLHGP4W4 9Op9WotDcWb2q6fbazZfZrsbJcYEinay5/iRu3OD3HY15fqumX+j3Mj3EaTRIMb2 jHz45wx6/r+ddJa/EO2e7WLUPsq20q5UCbO08dDtAI59fxxXT3ulWGp2ZR3JjlXK nIPB7g+lXyrYFNx3PIHkhkkBaEhc8iNyM4PvmitLxH4bu9FIlI820UnEqdDyDz6Z x3/WisZRkmdCcWrnHSysAWY4A7mqk93O8Q8v92o4JHU1o2di+p30dv0X7xJ710l9 4R3Wu2EHJGFA7mvRxuKkpOEX6mdCipLmZ50Wds8nmkWFjzg813E3gS4t7FZNu9mP OO1QL4UuEKFk2qQck15ntGdPsmcrHLLAwDkup9e1XkO4DHep9a0w2h3dRnkYqnaM Sm09Qa9LB15c3JI5atO2pbQD0qdV+UjoOufSokFR3lyI1MKnlsA45PNerUnGlByZ yxTk7I2NP1HUZnkjt4xJGi/OVQDGem5uAO3JOP62vsSOyzeeNrDB+cEA8jAIz78j vn0qn4as4buTdctm0iI3RAbd5IbOW7HAXp29K6O+s57iQvbMMAbMlPlOO4Hp/wDW r59zcpczO9R0sjn75I4royxx7gxLIOvfI/Xg1Vg1SSIqSdnlBVAyeWHVh79CPcCt G80y4ZdrfcPGSOntzWVe2E9s+4JuZs53A+tJtsfLYZqEjalKsiOwkB2tuAY/n26H itjR/GGq6FJDbSXs81gqYaJscAjqDgkYJ3YB6DFYrSqH+dyrKMEH8+MmkANwpVdy D7uQp5/HFSpWegpRT3Ow1Dxtqs15Otitm9m3yosyb9y4AOccHJzx9RRXH2jm2uBA GJ3YB3fwn/P8qKt1WZ+zib/hqBhcCbIILba9Psoo9ikgHHSuH8LaU0VuJkkEolCy BSpBQ9x9OnPetp9Uv7fUo7NbV28zbt4LZyxHGBgYxk5PAIqKz56snHXU66a5aaT0 OnkgiKnI4rF1SNBGcADipbi5mFtG6nLyHaFz3rnrvU70awdOkjRyUDHys5UEA85H vjg9QRWSu+hd0t2c5rsH2jdGFzz0x+dc1FFsYrjkDn6/5FdtqMDQo0zpjJrmn0+4 QPcSKiE4JTeNwHY47dRXXhGlWjc568W4uxVY+VC0gGSoJwe5qpDbSXEu4qWMjYBH 8/ardyqGHa7bV6t16Vo6LA0uoqvQAkhVyAF7cemMH8a68fO81Dsc9COlzU0HTjEB EM7FUuxA9+Ofbj+ddxY2gdeIwAOAKzdPt0TBb7uK6GydVAAxz0ry0z0eWyGvpETo QUwzcZAxVK58MQOioq7h6nv+ldCjq5Hy4x0J71I0anOTiruQ/M8v1jwPIWeS3WMN n+IZrj9S0yXTtq3MOACSTGSMivd5rYuMkVxXjDTI5rB3CAFcnPQg+tJhypnmK7g2 YZCoJ7+v9elFETBSokwGUHLe4P8AhRRc5pLU9I8GamJ4Rbuf3sA2/Vf4f8Pw967X aZYmcqFwvGAMn8a5Xwh4Uv7PR7i9uEzdeYNiqvJQDn09c/8AAcVufbHMO1FDMexN XiXFVG4bM6KL5qeu6M+bzTJboqSH5hvBQgcnsavXgNuuWVX44YqM/nVNl1gsrM0C IDk/uyD/AOhHtUepXjmPGQTjtXMnY6Gk3qYers9yTGmScEjGM/rUDeH9QudJ3xKM hFBL8FxnPHuSf0rotH0Vp2+1XMfDcqDXRzx21tYtvOxQwC9OOc/0rupRUZRm+hxV aujjE+f9Ugmt9TaCZTuRgNo75AP8jXXeFVj+wyTFgZnI3Z6gDgD6VB4r0lpdVtLi Xlr1nLbSeBkYP5VYuWh0qCS64LSKIoo8EZk7En0Cg8YGcda56k+aTk+ppGHKzpbe /hUAsGIHUjoK39J1HTr3EUVxG0mM7Cw3flXkq+KNchHlxyRBAMD/AEdP8P50qeIW kCz3ljB5nIWSBvKct/ebqPwwM1KaKcnse4LAByvbtTmVjj5f6VyPhHxVb30JSS7B wTgy/Kfx/StHU/FY06VkWASAdDvAqg1NeVpEXBH61zPimYjTpMRl/VR3qW28Yrf4 jmspLZiMqT8ysPY1R1u7drd5IVDYU5z2pNFRPKWzEkrOpAQj8++fzoqxqciJCrRt uMpJYdj0I/lRQ0jklufSdtCLeMjHB6gdB9KgudFsrtjKE2SNz5inBP8AT9Kp6J4g i1G0Dy7Y5x96Mnlfw9PetQXCk71kwDzzyDWk4yvqY06iaUosyLnQIlbEtzMYiDkb lXH4mn2vhzT1QyPA25M7RJhs/h0Ofcd61TKpQ7gMnON3OaqzC7kWFrbylBlHml1J OznO3HQ9KlRsaupJ7shRSkrxug2JkfMoP5YPHH4VFewwXSCJgwTO7Gcg8Efj1qxI qJdbmkdQ6j5EY/MRnr+n6VEQII/K+VmYc8dff9O9bLujNs8+1SOSLak2392wQEdg uQR/L8hVG90ia/0QpCu+ZHEoTu2M8D8Ca2fE1u0N1bx9UlZ2Bzknn/69WtMIjnGf ukDGa5pqz1O+EuZXPL2GyQo6+Wy/eVsgg+hFVplMr7ISWkboFr2TU7bR9ROyfT4L mUDBcryvtu6/hWG+n2NjcEWdnBE3B3Kucn/P86zUTXdGP4R8PrZ20kl8gknmX5o2 XIVfTHr61y+rLMmqXVsEKwQzFUjU/Lt7HH5Hj3r1PSokFpNKSwPriuX8ReHZ7i5+ 12KeY7Ab4h1Pbj6f4+wq5JpaAoq1jj4LjUbODyobybychjD5pCn8Cev/ANeteTxP eLby288Yl+0KVV9oDKWHHA4wOeMDrWfLvtpViuFeJsbtjjacdjg1PHo0+oOkzRut uilwdpPmEAkADB4JwM9OetZqTuKUEloYc8M8M7RTRvG6EqyEbSMH0OOaKs30VxNM yRQ+YHdvnU8E5Gcf99D86K05kcMkrnpF1C1xMJw4R1HVMLgYx2q3ba7q9mm2Nkkw OPMQ5/QjH8/1rk7TxfDIoWceVIOqtwPz6VqDxHprIM3EQL9B5qc/r/OvYvFqx8eo 4ui7JNHSR+PVlh3S2U6MCVO0gg8+/wD9b9eXzfEKBbadooZfNRSY0kAHmHsM84+p rkrnX9MVPMM6EMSMg7ufqPrWZLr2mSHAlX8QRWbp0zvhi8U/sfgeiN4rsb5IXa9j hcYJAb1574xgj/8AVWdr3iiPQ7I3HnCUMcRxpjc56/gv+PeuHZo5EaZEPlAZZ84U fjWBrF0LyQeWSVQYyR94+uO2ePyosoR0O+hUqVZe9GyOh0vxVqPiDWHa/ZTgAoEQ KqdiPXnjqT0r0LTkWXaGGOMZFeY6BZG1t/MUZkb5j9P85r0bQ7hJYUcnqMV5k3zO 7PbhHljYi1C6h0qaO1kMgMpbZhS2cZJ6fnmoI7Qah88UglCnPynkf1FWvEVmuo2x TlZFO+N1OCreoNZmm3UkMey/sJZnjJ2zW/yyDAUAHkcfePX060JdjVJ20Ni1e/tr BrJlUxnIy4yTUzMDbBidsifMpHrUF3q1nFaFmv7jhVPKqCW5zwV3dh27/WqWg3Gq 6rG89yiR2+4+X5iYkI7dDjP8s4pvawk3udXHfQzWStIEY7eGI6fjXGeJLy4htZpb WNmkkIhjKjOCfmJA65GB+dbsttHZ27R7z3JBPT2ryrxLqkl5qkyLKxgR8KmeMjjP p+NSn3Ik1HVEO2aJUguY5LcoxYeYjDG7GeD/ALo9Og5orMguZoHLwzPG/H3WIB+p FFQ1rucrbNGS0n1C5jiiQyOVIwqjgDHOew+b1xXQ/wDCvBa2zy312BIh2mKMZAPu SemOemeOARg12lho8fh+KMxw5JUOz4/eyHtgY+VcZBJ5GT0JqaewzAr3iF5WBVI1 UEITjAIz3PU8Y6kgdfTq8k6rmtmQq0lBU0lp1/rY8YmkQ6dBbKP3qTyu/PYiMD+T VV8vIx1zW/d6fHb2eqebatHcJfQqhbGY0ZZm2nBPJG08Z+719crZwelNRuTc1dVu kuLS+a0R47M6lIYQcjKNllzk+mP8msLG5Tzyea3NelmjdbPMhgS2s5MNj7xt0Hbj oOO+PfNYwBIOOcU1qho7Tw0gurRJD3GK1bS4bTLowv8AcJ3Ic1i+A7lWFxZNgMpE iD2PX9cfnXU6lYLNbcD5hyPr6V58o8srHfF80LmpBOt4p5HqKme2dFzHtbv0rkrD UX0+dUlzsBwCe31rs7K+t5oVkVkYHqc0WsNSK72K3CYlhUA88jFTqUs4N20DZ9xf U02/1GC2iJJBOOB6mvOvFfiu+M50+3PlDZmRwfm57D0/+v271yuTsKU7LUl8ZeL3 2y2Ni/7xsrJKp5T1A9/ft9enDKXlR8AfKM7fQf4D/OecTJG0rrHjljtGeOc0tu72 0yzRMFdemVDAjuCDwQRwQcg9DXS6CSsccqjbGyoY1CSIc55Medw789sf59KK6fSb HTNSdLS5uIrcyxmWGdnVBGqg7o2JLdCuF3EnY2eOBRWDoO+4uZdj0TWpyY3trWOa a6IIxGxG3K5+Zx90+mDnB9DWbquqvpkYd9kt7IeFVSVhiLDOAOe4J5G4jrwoDNV1 UWBkstMWJrjOZZZZFQRk5PLNwXPzHn3PPOeLv5Li4uYopWLyyyF2ZvnbAyM7l4YD 5sEdl7V2wppbnPdy9BLxZL2XUJpplncWcV1JIF2jeXjQYC4HAcjkdQaxsV0DW15Y WOpwX7O0otdvVmx+/gPJxjoR146d8Vgd6u25a20JdTI863lVNiXFuhxtADFB5eeC e6nrjJ5xyKpD7vP5ir16UaCxTdkx27gjKnaTKx7ezZ5559MCqmAD0496UVoUWtGv f7M1WC6BIVWw+P7p4NeuB47i3BQghhkGvGMfN1HXrXaeD9ewo065kwVH7ot/Evp+ H8vpWNeldcyN6NSzszavdNV2LDGT1qqujzRnfHK6qe6nFdBsjmXAIIpqWZXgZC/W uRJnRJIzIbMRkyysW2jJLHPFecarN9p1aefIyzkCu/8AEmorY2TxocluCc/pXnJL M5kdSrMTlT1Htz6V0UYXlcwquysRgZGCOvrzV3VIyuoyljkudxOzaCTySBgYGc4G OlV40JJIU4B55rd8UXiai1ndiZWkEbQtGD0CHIYDA4O44/HjjnrkjlvqV9JuJhZz rC7CazIvLfBzyCFdQvoVIZiO0XIxyCovD4367aW/yAXT/ZmZxkIsoMbMOeoDkj3A orLnUdGBsHUrcbnk2yky20jxtHuMjIjKWycZyWJIPUsOeuYdOuLRNWS/lj8uNEC+ UoPZQvI5zxn07kdlrq28MaZarLdC3ZI4wWZcNIo+6QcnPAx6ZOW6jGOHuJonu2mS LCMdoQnG3HQHAGePYV0qz2M1JSNnxBqEWpC9ubPBT7CEkYIcEC5jCnJI6jac46cY GMjkwa2dj22hXryI4huI1iifA2sfMRsZOSeEOcdOMnnBxATnJPFZuybLWiOjm0af UtVKw7I1FlbAl5NoUtbI3BOOpUj0yw7c1NN4FnjtRINRg3L95RFIVX7v8QU+p9uB 68aehwyxanrESa0LdLeVbVc24k3xxHYpwx4+XFXbzDvKLjxDqcsjxgK1qPIjBGeq A8nkdMVKU2tP6/ATlZnK3vhOazc+Vew3ChTwInU5z93kYzjv68e9UG0bU7S6AxEj xlXDLcIOuCCOeD754P0rvbxJ7uwCt4mfaoziO0MTKcjowcE/iT1/GqghaVHjTWPL Qqdm+1/eD/ZLZJYfeHUHJzk0+Wp0v/XyBTRQ8O61enWItKvQCxJRmZl3AhWI6cHP y/z5zXazsIbVmJwB3rjLaz0nTTHMVuZnjwyvOUHI5zwCRg84B69elO1XW5b/AEuZ IZHR0C5YdyWAJzjjAJOQOPwrKpRnZSaOinWjZoy9XuYrzxHbRXMkiWy8lVXlTkjJ Hft+dajeGrCF5by6tmEVxJvQzXAjCg9sEZ6nPJ7D3BYNO0w6i9zLbtdmTlhkxqSf TGG6ZH+Ri69to24GPSypG7JNxJgg9R97uMZH59K2hSmlt/X3nPKpd3uC+DbOaATW yXKxbR+8ikSYHoPYds/U+gxWJrmiJpeglt6yyPNFglGRkUCXIwRgg5Toe3tmuikh 0aZE8yymidW3ebFOSw6n+MkdTnGO9UtbaRdAu4odTu703KBFguASyBCsjHcSc8Rs TjHtxwRwmt1/X4iUrvc4PAPB5B4NFID/AJxRUWND/9mISwQQEQIACwUCOEuefAQL AwIBAAoJEI7YarFcK+6PPpYAnRybSOkbZSoOCjDU+MKAE+A2Q3S/AJ9uzWf0yV9/ CDewS7t6yJFBGbZl84hGBBARAgAGBQI4S57dAAoJEHhwUkaA272PZsAAn2yuBRub 9cBEyx+gkhq7C9NfiIucAJ0dY4eyayLMvZ6elVMbphQkfc+afIkBHAQQAQEABgUC OEue/gAKCRCwjmQBRtVuOSJJB/95MGrWZPcaJiM6Fp8s12aXgM/3wa7ifoOFmvNu qpeuFlKkt0ajpra0vhwdaCFb6vWxqsaiD01/LvARS2wQSEctIlLgmwZx2Z6wi6vN p/7BMarEUYx5XvyrQzBqNqW5mSCxcZPpDrt8pW2BgErGmupTkCwPNXlwHBzi6GN6 tBZrJdOoQBnv+hbcxwkCSIZUchkxZypbJUTDkcXdJpQyHKRlLhN9Y3JDysMcSUo4 ZrPsvzGt1VJyRS6wNZEWgJhShFK+Ea6ltj0BCfsgZYmnt/A1CLiNqM45noRw59XC MuCUmvQwa2ilNUhumSDhQaJKei1QM2ISEQqkAlAoryD+VndNiEYEEBECAAYFAjhL vr0ACgkQjL0cSJl/HnH8+ACeLLd8qotivnK5L0zhjnhk4ebmVYAAoOa/KeVnvz0g xN5H2dabnqvgwY3wiEYEEBECAAYFAjiMqk8ACgkQXXeCFi+zsxeJswCaA07eR0Dp 5Gq6AZoo83fHemUWoMgAoOitO+Dc1wLqBtbqGIENbuvEyTeYiEoEEBECAAoFAjjO N60DBQF4AAoJEEo3PrBJ417FOh8AoNC1qJZhT1he+e51NRa0hcFTq9UlAKDguI5G gJ3iXUr30Uu7utqRxD7qaLkEDQQ4S5cqEBAA8itD1U+CqDuSjX8lQ/23bWABR/dA aviaeJSbkPU6qKUc/dVdV6L3arXChuG+h0DC1RPTSbG4hqV5988Re5JjVCNdtzvq Rqz24cOLKyiBeGpQa7FZp0ObSSl9vluwCjMrZb0j9bhowijf15VvBf25/6lFqQof az2zzNVDqpop1VE/+a9eQqidqCbo+tTLj/OD/fkPchH5Z1BXr0w++r5A8VtY/Q1C Z9B9CPhOFfDruWXMQq7LHNzkj8gIIQucAlK04Lt2tcsd6Lr4yezYFD/dvM6CZEHH CZo12XEldR5x9zwxPeTJ3Hpz+1MB75naLcCuGOkJRv84+tq/bjQ00qAogKfzxv9K +xfB2APh/eFRuPbZTzD9YXLFLppQxRcGSSvXwXMq3TMQcQzOCGa5X3UppGopqWn/ yNfvHG5QOFceA+b71raJrebtJWJo+FMKR8Wh/Om4AWF/arYsiUdbmd8UAqogAVzz +fC7KyL2nq5Ksc5wC/hnzaMn6DaZf0mbQmb4J0BKGGhcrF6q56sOV5vt83r86j5a V6O5wA06l1LtGv2xlFivPUxNCcnGzdHtuGzx9s2Rwvg1fAPHxKgAgnSm6d2Dh40R qcWj9cK3gysL7S+3UdE9XnrMR1Qhm7o83DCWkF0LnpXSWBccnB3Om99tDKfbaoSB qOLAMs0bciV+d/EAAgIP/1zSPdcGnzlzphZBiSqVlsiQe885L5vBiLkZikbBl+jH kNxAOfIUs7r3ZR/ZH5FnoNlKSQEJdtHXC2MrVvVEtDNYLQY9aLdhn8rQRX2zecEF /ahtGycR4HkFERze3DSh4502hrH/3jxUWITsLIlUvX7BvhdMEwCD8BcRKIa7q6hV Wyk9PFXOSpL3+5bx68nYnRen2sQ1abuZNxbS3yz2yo63jXPGH3LRalFSElYxj/z4 PdT2SpOIxLoK4VyHa13JwynbXZLrbc2BwDumw6zg7Xzz9dpIG+Zc3e1rkpiTaFtg F1VclIRb+qQobFC337LBm4FyweDCNmp1Yn4mM97+Fif893j8CgtMR/x4r/ZshCz1 jPA1me576v5IKQy0TwtAAozNnoxc7nR5nXy84qmO8M7FODnDc1TCsMaBlJiR7IQP IxSIzzLUBDJsmeKHxjzUFsTLV46BpU4vbLQWB1FHT672ezjxRnH2xbixX8CHAso9 oKufiY5eqeD9q+J2HPxFdmXDz8K33gnjRLEOUCDoDZAo7foeu1HJZspGLjKgW5PE WBbOS+5+DFQj6SmBh5bkCF+pYil5i1I7jqlxK2e+g0zbS2OKgZyZPw4wCJoQ8xis 7UKV3Hg7ZWlon2kaqs4phGjU1v2fLXMcFfk12bGo1/mCpu8y7uqYgwu0keCzpl76 iEYEGBECAAYFAjhLlyoACgkQjthqsVwr7o/AVACeI180a3O6ZKHn/EJj3jlUqZUT wdkAoLkZI2jB8Mwq7FouyvOKDpbWKSdu =HC0Q -----END PGP PUBLIC KEY BLOCK----- Quand nous recevons une telle clé publique par mail, il nous faut alors L'IMPORTER (une fois pour toutes) dans notre porte clés GnuPG. Il nous suffit pour ce faire de: - Copier la totalité de la clé (bornes "BEGIN" et "END" incluses dans un fichier texte quelconque, et sauvegarder ce fichier sur le disque (par exemple: cle-copain.asc) - Importer cette clé dans notre trousseau, en tapant: gpg --import cle-copain.asc ...Nous pouvons désormais chifrer des messages à l'intention de notre "copain", en cliquant simplement sur l'icône "cadenas" de KMail. => Notre copain ne pourra chiffrer des messages pour nous, que si nous lui avons envoyé notre propre clé publique, et qu'il l'a importée de son côté. Voilà-voilà. Je n'ai pas le temps d'entrer dans plus de détails pour le moment, mais ça fait déjà de quoi commencer. Amicalement. -- michel@bouissou.net OpenPGP DH/DSS ID 0x5C2BEE8F Si vous préférez que votre e-mail privé reste... privé. Utilisez GnuPG: http://www.geocities.com/openpgp _________________________________________________________ Liste de diffusion hébergée par Internet-Quake. http://www.i-quake.com Pour tout savoir sur cette liste ou pour vous désabonner, rendez-vous sur la page web: http://sympa.i-quake.com/wws/info/pingouin Pour vous désabonner directement par mail, envoyez un e-mail vide à l'adresse sympa@sympa.i-quake.com, avec pour sujet: signoff pingouin