<p>EncryptPad est une application de visualisation et dâédition de texte chiffré symétriquement. Grâce à son interface graphique et en ligne de commande simple, EncryptPad propose un outil pour chiffrer et déchiffrer des fichiers binaires sur le disque, tout en offrant des mesures efficaces pour protéger les informations. De plus, EncryptPad utilise le format de fichier <strong>OpenPGP</strong> <a href="https://tools.ietf.org/html/rfc4880">RFC 4880</a> qui est largement adopté pour sa qualité. Contrairement à dâautres logiciels OpenPGP dont le but principal est le chiffrement asymétrique, lâobjectif premier dâEncryptPad est le chiffrement symétrique.</p> <h2>Table des matières</h2> <ul> <li><a href="#features">Caractéristiques</a></li> <li><a href="#supported-platforms">Plateformes prises en charge</a></li> <li><a href="#why-use-encryptpad">Pourquoi utiliser EncryptPadâ?</a></li> <li><a href="#when-encryptpad">Quand ai-je besoin dâEncryptPadâ?</a></li> <li><a href="#when-can-i-not">Quand ne puis-je pas utiliser EncryptPadâ?</a></li> <li><a href="#file-types">Types de fichiers</a> <ul> <li><a href="#gpg">GPG</a></li> <li><a href="#epd">EPD</a></li> <li><a href="#feature-support">Prise en charge des fonctions</a></li> </ul> </li> <li><a href="#key-file">Quâest-ce quâun fichier clé EncryptPadâ?</a></li> <li><a href="#epd-file-format">Format de fichier EPD lors du chiffrement avec clé</a></li> <li><a href="#use-curl">Utiliser CURL pour télécharger automatiquement des clés dâun stockage distant</a></li> <li><a href="#known-weaknesses">Faiblesses connues</a></li> <li><a href="#command-line-interface">Interface en ligne de commande</a></li> <li><a href="#installing">Installer EncryptPad</a> <ul> <li><a href="#portable-exe">Exécutable portable</a></li> <li><a href="#install-on-arch">Arch Linux</a></li> <li><a href="#install-on-ubuntu">Ubuntu ou Linux Mint</a></li> </ul> </li> <li><a href="#compile-on-windows">Compiler EncryptPad sous Windows</a> <ul> <li><a href="#prerequisites">Prérequis</a></li> <li><a href="#steps">Ãtapes</a></li> </ul> </li> <li><a href="#compile-on-mac-linux">Compiler EncryptPad sous Mac/Linux</a> <ul> <li><a href="#dynamic-build">Compilation dynamique</a></li> <li><a href="#build-on-fedora">Fedora</a></li> </ul> </li> <li><a href="#portable-mode">Mode portable</a></li> <li><a href="#passphrases-in-memory">EncryptPad stocke-t-il les phrases de passe en mémoire pour rouvrir les fichiersâ?</a></li> <li><a href="#acknowledgements">Remerciements</a></li> <li><a href="#integrity-verification">Vérification de lâintégrité par EncryptPad</a> <ul> <li><a href="#openpgp-signing">Signature OpenPGP et autorité de certification</a></li> <li><a href="#verification-process">Processus de vérification étape par étape</a></li> </ul> </li> <li><a href="#license">Licence</a></li> <li><a href="#contacts">Contact et rétroaction</a></li> </ul> <div id="features"></div> <h2>Caractéristiques</h2> <ul> <li>Chiffrement <strong>symétrique</strong></li> <li>Protection par <strong>phrase de passe</strong></li> <li>Protection par <strong>fichier clé</strong></li> <li>Combinaison dâune <strong>phrase de passe et dâun fichier clé</strong></li> <li><strong>Générateur de fichiers clés</strong> aléatoires</li> <li><strong>Dépôt de clés</strong> dans un répertoire caché du dossier personnel de lâutilisateur</li> <li>Le chemin dâun fichier clé peut être stocké dans un fichier chiffré. Si cette option est activée, <strong>vous nâavez pas à indiquer le fichier clé</strong> chaque fois que vous ouvrez des fichiers.</li> <li>Chiffrement de <strong>fichiers binaires</strong> (images, vidéos, fichiers compressés, etc.)</li> <li>Mode <strong>lecture seulement</strong> pour empêcher les modifications accidentelles de fichiers</li> <li>Encodage de texte <strong>UTF8</strong></li> <li><strong>Fins de ligne configurable</strong> Windows ou Unix</li> <li>Un <strong>générateur de phrases de passe</strong> personnalisable aide à créer des phrases de passe aléatoires robustes.</li> <li>Format de fichier compatible avec <strong>OpenPGP</strong></li> <li><strong>S2K itéré et salé</strong></li> <li><strong>Les phrases de passe ne sont pas conservées en mémoire</strong> pour être réutilisées, seulement les résultats S2K (<a href="#passphrases-in-memory">plusâ¦</a>)</li> <li>Algorithmes de chiffrement : <strong>CAST5, TripleDES, AES128, AES256</strong></li> <li>Algorithmes de hachage : <strong>SHA-1, SHA-256, SHA-512</strong></li> <li>Protection de lâintégrité : <strong>SHA-1</strong></li> <li>Compression : <strong>ZLIB, ZIP</strong></li> <li>Les <strong> fichiers volumineux de plusieurs giga-octets</strong> sont pris en charge</li> </ul> <div id="supported-platforms"></div> <h2>Plateformes prises en charge</h2> <ul> <li><p>Windows</p></li> <li><p>Linux</p></li> <li><p>Mac OS</p></li> </ul> <div id="why-use-encryptpad"></div> <h2>Pourquoi utiliser EncryptPadâ?</h2> <ul> <li><p>Code base **multiplateforme : EncryptPad a été compilé sur trois systèmes dâexploitation populaires et peut être adapté à dâautres.</p></li> <li><p><strong>Portable</strong> : il suffit de copier lâexécutable sur une clé USB ou un disque réseau pour lâutiliser sur tous vos ordinateurs.</p></li> <li><p><strong>Convivial</strong> : EncryptPad est un éditeur de texte et un outil de chiffrement pour fichiers binaires, mais il enregistre des fichiers chiffrés, compressés et dont lâintégrité est protégée.</p></li> <li><p>à <strong>code source ouvert</strong> avec un code base concis : vous pouvez lire le code ou demander à quelquâun de confiance de le lire pour vous afin de vous assurer quâil nây a pas de porte dérobée et que vos informations sont en sécurité.</p></li> <li><p>Format de fichier <strong>OpenPGP</strong> : vous pouvez chiffrer un fichier avec un autre outil (gpg par exemple) qui utilise ce format, et lâouvrir ensuite avec EncryptPad, et vice versa.</p></li> <li><p><strong>Protection double</strong> : des fichiers clés générés aléatoirement en plus de phrases de passe.</p></li> </ul> <div id="when-encryptpad"></div> <h2>Quand ai-je besoin dâEncryptPadâ?</h2> <ul> <li><p>Vous avez un fichier contenant des informations délicates telles que des noms de compte, des phrases de passe ou des numéros dâidentification. Ce fichier est stocké sur un support sans protection, ou vous ne pouvez pas contrôler qui y accède, que ce soit au travail, sur un ordinateur portable lors de déplacements, une clé USB ou un disque nuagique.</p></li> <li><p>Vous devez envoyer un fichier chiffré à quelquâun avec qui vous avez prédéterminé un secret (une phrase de passe ou un fichier clé). Dans ce cas, vous devez échanger le secret en personne (pas par un protocole Internet accessible) pour que le fichier protégé soit déchiffré par le destinataire.</p></li> <li><p>You are on public transport or a common area where <strong>somebody can see your screen</strong>.</p></li> <li><p>Vous devez être protégé contre une attaque par force brute au cas où votre moyen de stockage tomberait dans les mains de quelquâun. EncryptPad permet de générer une clé et de la stocker séparément des informations chiffrées. Une personne non autorisée aurait besoin de deux secrets pour ouvrir un fichier : la phrase de passe et la clé. Examinons cet exemple : vous stockez votre fichier chiffré sur une carte mémoire flash et vous le protégez par phrase de passe. De plus, vous protégez le fichier avec un fichier clé et stockez la clé sur les ordinateurs utilisés pour ouvrir le fichier. Si la carte mémoire flash est perdue, la phrase de passe ne suffira pas pour déchiffrer vos informations. Le fichier clé est aussi exigé, et il nâest pas sur la carte mémoire flash.</p></li> </ul> <div id="when-can-i-not"></div> <h2>Quand ne puis-je pas utiliser EncryptPadâ?</h2> <ul> <li><p>Vous devez envoyer un fichier à quelquâun avec qui vous <strong>nâavez pas prédéterminé un secret partagé</strong> (une phrase de passe ou un fichier clé). Dans ce cas, il vous faut un chiffrement asymétrique avec des clés publique et privée. Heureusement, de nombreux outils pratiques sont adaptés à la tâche.</p></li> <li><p>Vous êtes dans un transport en commun ou dans un espace public où <strong>quelquâun peut voir votre écran</strong>.</p></li> <li><p>EncryptPad est inefficace sur un ordinateur infecté par un logiciel espion ou un virus. Ne lâutilisez pas sur un <strong>ordinateur public, partagé ou compromis</strong> si vous nâavez pas confiance en sa sécurité.</p></li> <li><p><strong>IMPORTANT</strong> : avant dâutiliser EncryptPad, vous devez vous assurer quâil est légal dâutiliser dans votre pays les techniques de chiffrement fournies par EncryptPad. Vous trouverez des informations pertinentes sur <a href="http://www.cryptolaw.org/">cryptolaw.org</a>.</p></li> <li><p><strong>IMPORTANT</strong> : si vous avez oublié votre phrase de passe ou si vous avez perdu un fichier clé, rien ne peut être fait pour accéder à vos informations chiffrées. Il nây a aucune porte dérobée dans les formats quâEncryptPad prend en charge. Les développeurs dâEncryptPad nâassument aucune responsabilité en cas de fichiers corrompus ou invalides, conformément à la licence.</p></li> </ul> <div id="file-types"></div> <h2>Types de fichiers</h2> <p>Le format est déterminé par lâextension du fichier. Les principales extensions des fichiers chiffrés sont GPG et EPD.</p> <div id="gpg"></div> <h3>GPG</h3> <p>Ce type de fichier se conforme au format OpenPGP et est compatible avec les autres outils OpenPGP. Utilisez-le si vous devez ouvrir un fichier où vous ne disposez pas dâEncryptPad. Le format ne prend pas en charge la protection double (fichier clé + phrase de passe). Vous devez donc choisir entre un fichier clé et une phrase de passe, mais ne pouvez pas utiliser les deux. De plus, il ne peut pas enregistrer le chemin du fichier clé dans le fichier chiffré. Cela signifie que chaque fois que vous ouvrirez un fichier chiffré avec un fichier clé, lâapplication vous demandera quel fichier clé utiliser.</p> <div id="epd"></div> <h3>EPD</h3> <p>Format propre à EncryptPad. Les autres logiciels OpenPGP ne pourront pas lâouvrir à moins que le fichier nâait été protégé que par une phrase de passe. Si seule la protection par phrase de passe a été utilisée, le fichier est en fait un fichier GPG (voir la section GPG ci-dessus). Cependant, si la protection par fichier clé est utilisée, câest un fichier GPG dans un conteneur <a href="https://fr.wikipedia.org/wiki/.wad">WAD</a>. Consulter le chapitre suivant pour plus de détails.</p> <div id="feature-support"></div> <h3>Prise en charge des fonctions</h3> <table style="border: 1px solid black"> <tr> <th>Type</th><th>Caractéristique</th><th>Prise en charge</th><th>Chemin du fichier clé\*</th><th>Compatible OpenPGP</th><th>Format de fichier</th> </tr> <tr><td>GPG</td><td>Phrase de passe</td><td>oui</td><td>n.d.</td><td>oui</td><td>Fichier OpenPGP</td></tr> <tr><td>GPG</td><td>Fichier clé</td><td>oui</td><td>non</td><td>oui</td><td>Fichier OpenPGP</td></tr> <tr><td>GPG</td><td>Fichier clé et phrase de passe</td><td>non</td><td>n.d.</td><td>n.d.</td><td>n.d.</td></tr> <tr><td>EPD</td><td>Phrase de passe</td><td>oui</td><td>n.d.</td><td>oui</td><td>Fichier OpenPGP</td></tr> <tr><td>EPD</td><td>Fichier clé</td><td>oui</td><td>oui</td><td>non</td><td>Imbriqué : WAD/OpenPGP</td></tr> <tr><td>EPD</td><td>Fichier clé et phrase de passe</td><td>oui</td><td>oui</td><td>non</td><td>Imbriqué : OpenPGP/WAD/OpenPGP</td></tr> </table> <p>* Lâemplacement du fichier clé se trouve dans lâen-tête dâun fichier chiffré afin que lâutilisateur nâait pas à lâindiquer lors du déchiffrement.</p> <div id="key-file"></div> <h2>Quâest-ce quâun fichier clé EncryptPadâ?</h2> <p>Dans un chiffrement symétrique, la même séquence est utilisée pour chiffrer et pour déchiffrer les données. Lâutilisateur ou une autre application fournie habituellement la séquence sous la forme dâune phrase de passe saisie ou dâun fichier. En plus des phrases de passe saisies, EncryptPad génère des fichiers avec des séquences aléatoires appelés « fichiers clés ».</p> <p>Quand lâutilisateur crée un fichier clé, EncryptPad génère une séquence aléatoire dâoctets, demande une phrase de passe à lâutilisateur, chiffre la séquence générée et lâenregistre dans un fichier.</p> <p>Le format du fichier est OpenPGP. Dâautres applications OpenPGP peuvent aussi créer et ouvrir les fichiers clés EncryptPad comme les lignes de commande ci-dessous le démontrent.</p> <p>Quand EncryptPad génère un nouveau fichier clé, il est approximativement équivalent à la commande <code>gpg2</code> suivante.</p> <pre><code>pwmake 1024 | gpg2 -c --armor --cipher-algo AES256 > ~/.encryptpad/foo.key </code></pre> <p><code>pwmake</code> génère une séquence aléatoire que <code>gpg2</code> chiffre à son tour. Il demandera la phrase de passe pour chiffrer la séquence.</p> <p>Quand vous utilisez cette clé pour chiffrer <code>test3.txt</code>, la commande <code>gpg</code> équivalente est comme suit :</p> <pre><code>gpg2 --decrypt ~/.encryptpad/foo.key \ | gpg2 --passphrase-fd 0 --batch -c --cipher-algo AES256 \ -o /tmp/test3.txt.gpg /tmp/test3.txt </code></pre> <p>Le premier processus <code>gpg2</code> déchiffre <code>foo.key</code> et le dirige vers le descripteur 0 du second processus par un opérateur de transfert de données . <code>gpg2</code> lit la séquence du descripteur avec <code>--passphrase-fd 0</code>.</p> <p>Quand EncryptPad ouvre le fichier chiffré protégé avec <code>foo.key</code>, les commandes <code>gpg</code> équivalentes sont</p> <pre><code>gpg2 --decrypt ~/.encryptpad/foo.key \ | gpg2 --passphrase-fd 0 --batch --decrypt \ -o /tmp/test4.txt /tmp/test3.txt.gpg </code></pre> <p>Comme vous pouvez le voir, les autres applications OpenPGP peuvent aussi utiliser les clés EncryptPad.</p> <div id="epd-file-format"></div> <h2>Format EPD lors dâun chiffrement avec clé</h2> <p>Un fichier enregistré peut avoir trois structures différentes selon le mode de protection :</p> <ol> <li><p><strong>Phrase de passe seulement</strong> (une phrase de passe est utilisée pour protéger un fichier, mais aucune clé nâest spécifiée). Le fichier est un fichier OpenPGP ordinaire.</p></li> <li><p><strong>Clé seulement</strong> (une phrase de passe nâest pas définie, mais un fichier clé est utilisé pour la protection). Le fichier est un fichier WAD. <a href="https://fr.wikipedia.org/wiki/.wad">WAD</a> est un format simple qui combine plusieurs fichiers binaires en un seul. Vous pouvez ouvrir un fichier WAD avec <a href="http://slade.mancubus.net/">Slade</a>. Il contient deux fichiers :</p> <ul> <li>Fichier OpenPGP chiffré avec la clé</li> <li><code>__X2_KEY</code> est un fichier texte en clair contenant le chemin de la clé si lâoption « Emplacement de clé persistante dans le fichier chiffré » est activée. Sinon, il a une taille de zéro.</li> </ul> </li> <li><p><strong>Protégé par phrase de passe et clé</strong>. Le fichier produit est un fichier OpenPGP contenant un fichier WAD tel que décrit en 2.</p></li> </ol> <div id="use-curl"></div> <h2>Utiliser CURL pour télécharger automatiquement des clés dâun stockage distant</h2> <p>Si une URL <strong><a href="http://curl.haxx.se/">CURL</a> est précisée dans le champ </strong>Chemin du fichier clé<strong> de la boîte de dialogue </strong>Définir une clé de chiffrement**, EncryptPad essaiera de lancer un processus curl pour télécharger la clé à partir dâun hôte distant. Si vous souhaitez utiliser cette fonction, vous devez définir le chemin de lâexécutable CURL dans les paramètres dâEncryptPad.</p> <p>Examinons un scénario dâutilisation : en voyage, vous ouvrez un fichier chiffré sur votre ordinateur portable. Si vous protégez le fichier avec une phrase de passe et une clé, et que votre portable est perdu ou volé, le malfaiteur pourra attaquer votre fichier par force brute, car la clé est aussi stockée sur lâordinateur portable. Pour empêcher cela, EncryptPad prend les mesures suivantes :</p> <ol> <li>Chiffre le fichier texte en clair avec la clé</li> <li>Copie le fichier chiffré dans un fichier WAD avec lâURL HTTPS ou SFTP non chiffrée vers le fichier clé contenant les paramètres dâauthentification.</li> <li>Chiffre le fichier WAD du point 2 avec la phrase de passe.</li> </ol> <p>Si le fichier tombe dans les mains dâun malfaiteur, il devra dâabord attaquer par force brute la phrase de passe afin dâobtenir lâURL de la clé et les paramètres dâauthentification. Dans la mesure où une attaque par force brute prend beaucoup de temps, lâutilisateur pourra retirer la clé ou changer lâauthentification afin que les paramètres précédents deviennent désuets.</p> <div id="known-weaknesses"></div> <h2>Faiblesses connues</h2> <ul> <li>EncryptPad stocke du texte non chiffré en mémoire. Si un vidage de la mémoire est effectué automatiquement après un plantage du système ou de lâapplication, ou si une partie de la mémoire est enregistrée dans le fichier dâéchange, les informations délicates se trouveront sur le disque. Il est parfois possible de configurer un système dâexploitation pour empêcher les vidages et lâutilisation dâun fichier dâéchange. Il est recommandé de fermer EncryptPad quand il nâest pas utilisé.</li> </ul> <div id="command-line-interface"></div> <h2>Interface en ligne de commande</h2> <p><strong>encryptcli</strong> est lâexécutable pour chiffrer ou déchiffrer des fichiers à partir de la ligne de commande. Exécutez-le sans arguments pour obtenir une liste des paramètres proposés. Ci-dessous un exemple de chiffrement dâun fichier avec une clé :</p> <pre><code># générer une nouvelle clé et la protéger avec la phrase de passe « clé ». # --key-pwd-fd 0 pour lire la phrase par de la clé à partir de descripteur 0 echo -n "clé" | encryptcli --generate-key --key-pwd-fd 0 ma_clé.key # chiffrer texte_clair.txt avec ma_clé.key créé ci-dessus. # La phrase de passe de la clé est envoyé par le descripteur de fichier 3 cat texte_clair.txt | encryptcli -e --key-file ma_clé.key \ --key-only --key-pwd-fd 3 -o texte_clair.txt.gpg 3< <(echo -n "clé") </code></pre> <div id="installing"></div> <h2>Installer EncryptPad</h2> <div id="portable-exe"></div> <h3>Exécutable portable</h3> <p>Des fichiers binaires portables sont proposés pour Windows et Apple. Ils peuvent être copiés sur une clé USB ou placés sur un disque réseau.</p> <div id="install-on-arch"></div> <h3>Arch Linux</h3> <p>Utiliser des empreintes pour recevoir des clés gpg pour EncryptPad et Botan</p> <pre><code>gpg --recv-key 621DAF6411E1851C4CF9A2E16211EBF1EFBADFBC gpg --recv-key 634BFC0CCC426C74389D89310F1CFF71A2813E85 </code></pre> <p>Installer les paquets AUR ci-dessous :</p> <ul> <li><a href="https://aur.archlinux.org/packages/botan-stable/">botan-stable</a><sup><small>AUR</small></sup></li> <li><a href="https://aur.archlinux.org/packages/encryptpad/">encryptpad</a><sup><small>AUR</small></sup></li> </ul> <p><code>pacaur</code> installe <code>botan-stable</code> automatiquement comme dépendance dâ<code>encryptpad</code>.</p> <div id="install-on-ubuntu"></div> <h3>Ubuntu ou Linux Mint par PPA</h3> <p>Alin Andrei de <a href="http://webupd8.org"><strong>webupd8.org</strong></a> à gentiment créé des paquets EncryptPad pour plusieurs versions de Linux. Voir les instructions dâinstallation ci-dessous :</p> <h4>Installation</h4> <p>Utiliser les commandes ci-dessous pour installer les paquets :</p> <pre><code>sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt update sudo apt install encryptpad encryptcli </code></pre> <h4>Procédure de vérification de lâintégrité</h4> <p>Ci-dessous se trouvent les étapes pour vérifier les hachages SHA-1 des fichiers sources dans <a href="https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages">Launchpad webupd8 PPA</a>, utilisés pour construire les paquets. Vous devez idéalement être familier avec les PPA.</p> <p>1. Télécharger un des fichiers <code>changes</code> ci-dessous selon votre version dâUbuntu. La version du paquet était 0.3.2.5 au moment dâécrire ceci. Veuillez la remplacer avec la version la plus récente que vous installez.</p> <ul> <li><p>Yakkety</p> <pre><code> wget https://launchpadlibrarian.net/282249531/encryptpad_0.3.2.5-1~webupd8~yakkety1_source.changes </code></pre></li> <li><p>Xenial</p> <pre><code> wget https://launchpadlibrarian.net/282249418/encryptpad_0.3.2.5-1~webupd8~xenial1_source.changes </code></pre></li> <li><p>Vivid</p> <pre><code> wget https://launchpadlibrarian.net/282249098/encryptpad_0.3.2.5-1~webupd8~vivid1_source.changes </code></pre></li> <li><p>Trusty</p> <pre><code> wget https://launchpadlibrarian.net/282247738/encryptpad_0.3.2.5-1~webupd8~trusty1_source.changes </code></pre></li> </ul> <p>2. Télécharger le fichier tarball avec le fichier « changes » et sa signature :</p> <pre><code>wget https://github.com/evpo/EncryptPad/releases/download/v0.3.2.5\ /encryptpad0_3_2_5_webupd8_ppa_changes.tar.gz wget https://github.com/evpo/EncryptPad/releases/download/v0.3.2.5\ /encryptpad0_3_2_5_webupd8_ppa_changes.tar.gz.asc </code></pre> <p>3. Obtenir et vérifier la clé de version <code>EncryptPad Release</code> :</p> <pre><code>gpg --recv-key 634BFC0CCC426C74389D89310F1CFF71A2813E85 </code></pre> <p>4. Vérifier la signature du fichier tarball :</p> <pre><code>gpg --verify encryptpad0_3_2_5_webupd8_ppa_changes.tar.gz.asc </code></pre> <p>5. Extraire le contenu :</p> <pre><code>tar -xf encryptpad0_3_2_5_webupd8_ppa_changes.tar.gz </code></pre> <p>6. Comparer le fichier « changes » pour votre version dâUbuntu avec le fichier de lâétape 1. Les hachages SHA devraient correspondre.</p> <pre><code>diff encryptpad_0.3.2.5-1~webupd8~yakkety1_source.changes \ encryptpad0_3_2_5_webupd8_ppa_changes/encryptpad_0.3.2.5-1~webupd8~yakkety1_source.changes </code></pre> <div id="compile-on-windows"></div> <h2>Compiler EncryptPad sous Windows</h2> <div id="prerequisites"></div> <h3>Prérequis</h3> <ol> <li><a href="http://www.qt.io/download-open-source/"><strong>Le cadre dâapplications Qt</strong></a> fondé sur MingW 32 bits (la dernière version a été testée avec Qt 5.3.2).</li> <li>MSYS : vous pouvez en utiliser un regroupé avec <a href="http://git-scm.com/download/win"><strong>Git pour Windows</strong></a>. Vous utilisez probablement déjà Git.</li> <li>Python : toute version récente fonctionnera</li> </ol> <div id="steps"></div> <h3>Ãtapes</h3> <ol> <li><p>Modifier la variable dâenvironnement de session <strong>PATH</strong> afin dâinclure lâensemble dâoutils Qt et Python. <strong>mingw32-make</strong>, <strong>g++</strong>, <strong>qmake</strong>, <strong>python.exe</strong> devraient se trouver dans le chemin de recherche globale de votre session bash Git. Personnellement, je modifie bash.bashrc et ajoute une ligne comme <code>PATH=$PATH:/c/Python35-32:â¦</code> afin de ne pas polluer la variable PATH à lâéchelle du système.</p></li> <li><p>Extraire les fichiers sources dâEncryptPad dans un répertoire.</p></li> <li><p>Exécuter le script <strong>configure.sh</strong> sans paramètres pour voir les options proposées. Pour tout compiler :</p> <p> ./configure.sh –all</p></li> </ol> <p>ou pour des fichiers binaires localisés</p> <pre><code>./configure.sh --all-cultures </code></pre> <p>Le système Makefiles utilise <strong>uname</strong> pour identifier le système dâexploitation et la plate-forme. Vous pourriez avoir à modifier les paramètres uname dans <strong>./deps/makefiles/platform.mak</strong> pour que cela fonctionne. Consultez la documentation Makefiles et le script configure.sh si vous éprouvez des problèmes.</p> <p>Si la compilation a réussi vous devriez voir lâexécutable <strong>./bin/release/EncryptPad.exe</strong></p> <p>Prendre note que si vous voulez quâEncryptPad fonctionne en un seul exécutable sans dll, vous devez compiler le dâapplications Qt vous-même de façon statique. Cela prend quelques heures. De nombreuses instructions décrivant comment accomplir cela se trouvent sur Internet. Lâarticle le plus populaire recommande dâutiliser un script PowerShell. Bien quâil soit très pratique (je lâai utilisé une fois), on ne veut pas toujours mettre à niveau son PowerShell et installer les lourdes dépendances qui viennent avec. Et donc, la fois dâaprès, jâai lu le script et jâai tout fait manuellement. Heureusement quâil nây avait pas trop dâétapes.</p> <div id="compile-on-mac-linux"></div> <h2>Compiler EncryptPad sous Mac ou Linux</h2> <p>Câest plus facile que de compiler sous Windows. Tout ce que vous avez à faire est dâinstaller Qt, Python et dâexécuter :</p> <pre><code>./configure.sh --all </code></pre> <div id="dynamic-build"></div> <h3>Compilation dynamique</h3> <pre><code>./configure.sh --all --use-system-libs </code></pre> <p>Compilation avec des liens dynamiques vers les bibliothèques. Elle utilise aussi <code>Botan</code> et <code>Zlib</code> installés sur le système plutôt que de compiler leur code source sous <code>deps</code>. Sous Ubuntu, installer les paquets « libbotan1.10-dev » et « zlib1g-dev » avant de compiler.</p> <div id="build-on-fedora"></div> <h3>Fedora</h3> <p>Installer les dépendances et outils :</p> <pre><code>dnf install gcc make qt5-qtbase-devel gcc-c++ python libstdc++-static glibc-static PATH=$PATH:/usr/lib64/qt5/bin/ export PATH </code></pre> <p>Ouvrir le répertoire encryptpad :</p> <pre><code>./configure.sh --all </code></pre> <p>Pour une compilation dynamique en utilisant les bibliothèques système :</p> <pre><code>dnf install botan-devel ./configure.sh --all --use-system-libs </code></pre> <p><div id="portable-mode"></dev></p> <h2>Mode portable</h2> <p>EncryptPad vérifie la présence dâun sous-répertoire nommé <code>encryptpad_repository</code> dans le répertoire de lâexécutable. Sâil existe, il est utilisé pour les paramètres et les fichiers clés. Le répertoire <code>.encryptpad</code> situé dans le profil de lâutilisateur est alors ignoré. Lâexécutable EncryptPad et <code>encryptpad_repository</code> peuvent être copiés vers un support amovible, et ainsi être utilisés sur plusieurs ordinateurs. Il convient de noter quâil est moins sécuritaire de conserver sur le même support amovible documents chiffrés et fichiers clés. Séparez-les si possible.</p> <div id="passphrases-in-memory"></div> <h2>EncryptPad stocke-t-il les phrases de passe en mémoire pour rouvrir les fichiersâ?</h2> <p>Après avoir été saisis, une phrase de passe et un sel aléatoire sont hachés avec un algorithme S2K. Le résultat est utilisé comme clé de chiffrement pour chiffrer ou déchiffrer le fichier. Une réserve de ces résultats S2K est générée chaque fois que lâutilisateur saisit une nouvelle phrase de passe. Cela permet dâenregistrer ou de charger plusieurs fois les fichiers protégés par cette phrase de passe sans lâavoir. La taille de la réserve peut-être changée dans la boîte de dialogue Préférences. Au moment dâécrire ceci, la dernière version a une valeur par défaut de 8. Cela signifie que vous pouvez enregistrer un fichier 8 fois avant quâEncryptPad ne vous demande de saisir la phrase de passe de nouveau. Vous pouvez augmenter ce chiffre, mais cela aura un impact sur les performances, car les algorithmes S2K comprenant de nombreuses itérations sont lents par nature.</p> <div id="acknowledgements"></div> <h2>Remerciements</h2> <p>EncryptPad utilise les cadres dâapplications et les bibliothèques suivants :</p> <ol> <li><a href="http://www.qt.io/"><strong>Cadre dâapplications Qt</strong></a></li> <li><a href="http://botan.randombit.net/"><strong>Botan</strong></a></li> <li><a href="http://stlplus.sourceforge.net/"><strong>stlplus</strong></a></li> <li><a href="http://stlplus.sourceforge.net/makefiles/docs/"><strong>Makefiles</strong></a></li> <li><a href="http://zlib.net/"><strong>zlib</strong></a></li> <li><a href="http://code.google.com/p/googletest/"><strong>gtest</strong></a></li> <li><a href="http://www.famfamfam.com/lab/icons/silk/"><strong>Jeu dâicônes famfamfam Silk 1.3</strong></a></li> <li><a href="https://github.com/SergiusTheBest/plog"><strong>plog</strong></a></li> </ol> <div id="integrity-verification"></div> <h2>Vérification de lâintégrité dâEncryptPad</h2> <div id="openpgp-signing"></div> <h3>Signature OpenPGP et autorité de certification</h3> <p>Tous les téléchargements associés à EncryptPad sont signés avec la clé OpenPGP suivante :</p> <p><code>EncryptPad (Releases) 2048R/A2813E85</code></p> <p><code>software@evpo.net</code></p> <p><code>Empreinte de la clé = 634B FC0C CC42 6C74 389D 8931 0F1C FF71 A281 3E85</code></p> <p>Jâai aussi un certificat de signature de code délivré par une autorité de certification (CA). Pour établir une connexion entre mon certificat CA et la clé OpenPGP ci-dessus, jâai créé un exécutable signé avec le certificat CA contenant les empreintes et la clé OpenPGP. Vous trouverez <code>ca_signed_pgp_signing_instructions</code> dans les téléchargements. Jâai en fait créé un pont de confiance entre mon certificat CA et la clé OpenPGP.</p> <p>Il y a plusieurs raisons pour lesquelles je nâai pas simplement utilisé le certificat CA :</p> <ol> <li>EncryptPad est fondée sur la norme OpenPGP et la promeut.</li> <li>La signature OpenPGP est plus souple.</li> <li>La certification CA a un coût de fonctionnement, ce qui nâest pas le cas de la signature OpenPGP.</li> </ol> <div id="verification-process"></div> <h3>Processus de vérification étape par étape</h3> <ol> <li>Télécharger les paquets et leur signature OpenPGP.</li> <li>Importer la clé EncryptPad (Releases) dans votre trousseau GPG.</li> <li>Sâassurer que câest bien la clé EncryptPad (Releases) valide en vérifiant son empreinte avec <code>ca_signed_pgp_signing_instructions</code>.</li> <li>Vérifier avec GPG les signatures des fichiers téléchargés.</li> </ol> <div id="license"></div> <h2>Licence</h2> <p>EncryptPad est un logiciel libre et gratuit : vous pouvez le redistribuer ou le modifier selon les conditions de la <a href="http://www.gnu.org/licenses/">licence générale publique GNU</a> telle que publiée par « Free Software Foundation », soit la version 2 de la licence, soit toute version ultérieure (à votre gré).</p> <p>EncryptPad est distribuée en espérant quâelle sera utile, mais SANS GARANTIE ; sans même la garantie tacite de QUALITà MARCHANDE ou DâADÃQUATION à UN BUT PARTICULIER. Voir la licence générale publique GNU pour plus de détails.</p> <div id="contact"></div> <h2>Contact et rétroaction</h2> <p>Si votre question concerne EncryptPad, veuillez lâenvoyer à la liste de diffusion <strong>encryptpad@googlegroups.com</strong> reliée au <a href="https://groups.google.com/d/forum/encryptpad">groupe public de discussion</a>.</p> <p>Gestionnaire de bogues et contributions : <a href="https://github.com/evpo/EncryptPad/issues">github.com/evpo/EncryptPad/issues</a></p> <p>Pour tout autre sujet, contacter Evgeny Pokhilko <strong>software@evpo.net</strong></p> <p><a href="http://www.evpo.net/encryptpad">http://www.evpo.net/encryptpad</a></p>