Skip to content

Commit

Permalink
Translate xpass (#1960)
Browse files Browse the repository at this point in the history
  • Loading branch information
Fan2Shrek authored Dec 21, 2024
1 parent 9c408aa commit 32d5667
Show file tree
Hide file tree
Showing 7 changed files with 682 additions and 0 deletions.
44 changes: 44 additions & 0 deletions reference/xpass/book.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7b9d57fa44e5085ad1a68b96798da65f36754349 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<book xml:id="book.xpass" xmlns="http://docbook.org/ns/docbook">
<?phpdoc extension-membership="pecl" ?>
<title>Xpass</title>
<titleabbrev>Xpass</titleabbrev>

<preface xml:id="intro.xpass">
&reftitle.intro;
<simpara>
Cette extension apporte des algorithmes de hachage de mots de passe utilisés par les distributions
Linux, en utilisant la bibliothèque crypt étendue.
</simpara>
<simpara>
Elle fournit également des fonctions supplémentaires de libxcrypt manquantes dans PHP.
</simpara>
</preface>

&reference.xpass.setup;
&reference.xpass.constants;
&reference.xpass.reference;

</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
266 changes: 266 additions & 0 deletions reference/xpass/constants.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,266 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f6678a706bcd7f991616e2fba32eedda3821f385 Maintainer: Fan2Shrek Status: ready -->
<!-- Reviewed: yes -->
<appendix xml:id="xpass.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
&extension.constants;

<simpara>
L'extension Xpass fournit divers ensembles de constantes.
Les méthodes de hachage (CRYPT_PREFIX_) pour le paramètre de préfixe de <function>crypt_gensalt</function>.
Les codes d'erreur (CRYPT_SALT_) retournés par <function>crypt_checksalt</function>.
Les algorithmes de mots de passe (PASSWORD_) pour le paramètre algo de <function>password_hash</function>.
</simpara>

<variablelist xml:id="xpass.constants.algo">
<title>Méthodes de hashage</title>
<varlistentry xml:id="constant.crypt-prefix-std-des">
<term>
<constant>CRYPT_PREFIX_STD_DES</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
La méthode de hachage originale de Unix V7, basée sur le chiffrement par bloc DES.
Etant donné que DES est peu coûteux sur le matériel moderne,
qu'il n'y a que <literal>4096</literal> sels possibles et 2**56 passphrases distinctes,
qui sont tronquées à 8 caractères,
il est possible de trouver n'importe quel mot de passe haché avec cette méthode.
Elle ne devrait être utilisée que pour supporter les anciens systèmes d'exploitation
qui ne supportent aucun autre algorithme de génération de hachage, en raison de la faiblesse des hachages DES.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-ext-des">
<term>
<constant>CRYPT_PREFIX_EXT_DES</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Une extension du DES traditionnel, qui élimine la limite de longueur,
augmente la taille du sel et rend le coût temporel réglable.
Elle provient de BSDI BSD/OS et est également disponible sur au moins NetBSD,
OpenBSD et FreeBSD en raison de l'utilisation de la bibliothèque FreeSec de David Burren.
Elle est bien meilleure que les hachages DES traditionnels et bigcrypt,
mais ne devrait toujours pas être utilisée pour de nouveaux hachages.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-md5">
<term>
<constant>CRYPT_PREFIX_MD5</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Un hachage basé sur l'algorithme MD5, développé à l'origine par Poul-Henning Kamp pour FreeBSD.
Supporté sur la plupart des Unix libres et les versions plus récentes de Solaris.
Pas aussi faible que les hachages basés sur DES ci-dessous,
mais MD5 est si peu coûteux sur le matériel moderne qu'il ne devrait pas être utilisé pour de nouveaux hachages.
Le coût de traitement n'est pas ajustable.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-blowfish">
<term>
<constant>CRYPT_PREFIX_BLOWFISH</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Un hachage basé sur le chiffrement par bloc Blowfish, modifié pour avoir un calendrier de clés extra-coûteux.
Développé à l'origine par Niels Provos et David Mazieres pour OpenBSD et également supporté sur les versions récentes
de FreeBSD et NetBSD, sur Solaris 10 et plus récent, et sur plusieurs distributions GNU/*/Linux.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-sha256">
<term>
<constant>CRYPT_PREFIX_SHA256</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Un hachage basé sur SHA-2 avec une sortie de 256 bits, développé à l'origine par Ulrich Drepper pour GNU libc.
Supporté sur Linux mais pas courant ailleurs.
Acceptable pour de nouveaux hachages.
Le paramètre de coût de traitement par défaut est <literal>5000</literal>,
ce qui est trop faible pour le matériel moderne.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-sha512">
<term>
<constant>CRYPT_PREFIX_SHA512</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Un hachage basé sur SHA-2 avec une sortie de 512 bits, développé à l'origine par Ulrich Drepper pour GNU libc.
Supporté sur Linux mais pas courant ailleurs.
Acceptable pour de nouveaux hachages.
Le paramètre de coût de traitement par défaut est <literal>5000</literal>,
ce qui est trop faible pour le matériel moderne.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-scrypt">
<term>
<constant>CRYPT_PREFIX_SCRYPT</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Scrypt est une fonction de dérivation de clé basée sur un mot de passe créée par Colin Percival,
à l'origine pour le service de sauvegarde en ligne Tarsnap.
L'algorithme a été spécifiquement conçu pour rendre coûteux les attaques matérielles
personnalisées à grande échelle en nécessitant de grandes quantités de mémoire.
En 2016, l'algorithme scrypt a été publié par l'IETF en tant que RFC 7914.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-gost-yescrypt">
<term>
<constant>CRYPT_PREFIX_GOST_YESCRYPT</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Gost-yescrypt utilise la sortie de yescrypt comme message d'entrée pour HMAC avec
la fonction de hachage GOST R 34.11-2012 (Streebog) avec un digest de 256 bits.
Ainsi, les propriétés cryptographiques de yescrypt sont supplantées par celles de la fonction de hachage GOST.
Cette méthode de hachage est utile dans les applications qui nécessitent un hachage de mot de passe moderne,
mais doivent s'appuyer sur des algorithmes GOST.
La fonction de hachage GOST R 34.11-2012 (Streebog) a été publiée par l'IETF en tant que RFC 6986.
Acceptable pour de nouveaux hachages si nécessaire.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-prefix-yescrypt">
<term>
<constant>CRYPT_PREFIX_YESCRYPT</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
Yescrypt est un schéma de hachage de mot de passe évolutif conçu par Solar Designer,
qui est basé sur le scrypt de Colin Percival.
Bien que la force de yescrypt contre les attaques de devinettes de mot de passe provienne de sa conception d'algorithme,
sa sécurité cryptographique est garantie par son utilisation de SHA-256 sur la couche externe.
La fonction de hachage SHA-256 a été publiée par le NIST dans le FIPS PUB 180-2
(et ses révisions ultérieures telles que le FIPS PUB 180-4) et par l'IETF en tant que RFC 4634
(et par la suite RFC 6234).
Recommandé pour de nouveaux hachages.
</simpara>
</listitem>
</varlistentry>
</variablelist>

<variablelist xml:id="xpass.constants.error">
<title>Code d'erreur</title>
<varlistentry xml:id="constant.crypt-salt-ok">
<term>
<constant>CRYPT_SALT_OK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Pas d'erreur.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-salt-invalid">
<term>
<constant>CRYPT_SALT_INVALID</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Méthode de hachage inconnue ou paramètres invalides.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-salt-method-disabled">
<term>
<constant>CRYPT_SALT_METHOD_DISABLED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Méthode de hachage n'est plus autorisée à être utilisée.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-salt-method-legacy">
<term>
<constant>CRYPT_SALT_METHOD_LEGACY</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Méthode de hachage n'est plus considérée comme suffisamment forte.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.crypt-salt-too-cheap">
<term>
<constant>CRYPT_SALT_TOO_CHEAP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Coût des paramètres considéré comme trop faible.
</simpara>
</listitem>
</varlistentry>
</variablelist>

<variablelist xml:id="xpass.constants.password">
<title>Algorithme de mot de passe</title>
<varlistentry xml:id="constant.password-sha512">
<term>
<constant>PASSWORD_SHA512</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
<constant>PASSWORD_SHA512</constant> est utilisé pour créer de nouveaux hachages
de mot de passe en utilisant l'algorithme <constant>CRYPT_SHA512</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.password-yescrypt">
<term>
<constant>PASSWORD_YESCRYPT</constant>
(<type>string</type>)
</term>
<listitem>
<simpara>
<constant>PASSWORD_YESCRYPT</constant> est utilisé pour créer de nouveaux hachages
de mot de passe en utilisant l'algorithme <constant>CRYPT_YESCRYPT</constant>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
Loading

0 comments on commit 32d5667

Please sign in to comment.