Metadata-Version: 2.0
Name: libreauth
Version: 0.1.0.dev2
Summary: Python bindings to the LibreAuth library.
Home-page: https://github.com/breard-r/py-libreauth
Author: Rodolphe Bréard
Author-email: rodolphe@breard.tf
License: CeCILL
Description-Content-Type: UNKNOWN
Keywords: authentication password oath hotp totp
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Security

# Python LibreAuth

Python bindings to the LibreAuth library.
LibreAuth is a collection of tools for user authentication written in Rust.


## Features

:warning: This is a work in progress. Some features may not be available.

- Password / passphrase authentication
  - [ ] no character-set limitation
  - [ ] reasonable lenth limit ([security vs. DOS](http://arstechnica.com/security/2013/09/long-passwords-are-good-but-too-much-length-can-be-bad-for-security/))
  - [ ] strong, evolutive and retro-compatible password hashing functions
  - [ ] optional NIST Special Publication 800-63B compatibility
- HOTP - HMAC-based One-time Password Algorithm ([OATH](http://www.openauthentication.org/) - [RFC 4226](https://tools.ietf.org/html/rfc4226))
  - [ ] the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
  - [ ] customizable counter
  - [ ] customizable hash function (sha1, sha256, sha512)
  - [ ] customizable output length
  - [ ] customizable output alphabet
- TOTP - Time-based One-time Password Algorithm ([OATH](http://www.openauthentication.org/) - [RFC 6238](https://tools.ietf.org/html/rfc6238))
  - [ ] the key can be passed as bytes, an ASCII string, an hexadicimal string or a base32 string
  - [ ] customizable timestamp
  - [ ] customizable period
  - [ ] customizable initial time (T0)
  - [ ] customizable hash function (sha1, sha256, sha512)
  - [ ] customizable output length
  - [ ] customizable output alphabet
  - [ ] customizable positive and negative period tolerance
- ~~U2F - Universal 2nd Factor~~ ([FIDO Alliance](https://fidoalliance.org/specifications/download/)) :warning: Not started
  - [ ] virtual device API
  - [ ] client API
  - [ ] server API


