---
# System prepended metadata

title: Context

---

# Context
## Introduction

* Introduction/Contexte
** Signature numérique explication
** Fonction de hashage
* Algo OTS (One-Time-Signature)
** Principe
** Description de l'algo de Lamport
** Cas d'usage
** Avantages/Inconvénients
* Signatures à base de fonction de hashage
** Arbre de Merkle (principe)
** Principe + Exemple (XMSS)
** Avantages/Inconvénients
* Demonstration

### Signature numérique

La signature numérique est un mécanisme permettant de garantir lintégrité, la non-répudiation d'un document électronique et d'en authentifier l'auteur, par analogie avec la signature manuscrite d'un document papier. 



### L'inventeur
The Lamport signature cryptosystem was invented in 1979 and named after its inventor, Leslie Lamport.[1]

### La méthode
Lamport signature or Lamport one-time signature scheme is a method for constructing a digital signature. Lamport signatures can be built from any cryptographically secure one-way function; usually a cryptographic hash function is used. 


# Algo one time signature
One-time signatures (OTS) are called one-time, because the accom-
panying security reductions only guarantee security under single-message attacks. It provides cryptographic digital signatures without relying on the
conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions.
Avantages:
    Très rapide
    Peut etre utilisé avec n'import quel fonction "one way"
    Vérification de signature rapide
Inconvénients:
    Taille de signature et de clefs problématique 
            voir shéma: https://www.researchgate.net/publication/347126372_On_the_Efficiency_of_the_Lamport_Signature_Scheme
        algo usuel 160bits de clefs 
        algo OTS 1000bits de clefs 
    Ne sert que pour 1 message, vu que la signature revel 50% de la clef privé
       
## Description de l'algo
Le schéma de signature de Lamport est composé de trois algorithmes : génération de clés, signature et vérification. 

- Génération de clés
- Signature
- Vérification



# Arbres de Merkel
## Utilité

- L'arbre de Merkel permet d'utiliser plusieurs fois les algo OTS en créant un arbre dans lequel toute les sous clef publique peuvent être validé par la clef publique "principale"(tout en conservant un usage unique sur chaque clef publique)

---

Sources:
https://www.geeksforgeeks.org/lamport-one-time-signature-scheme/
https://varrette.gforge.uni.lu/teachings/crypto/hachage.pdf
https://peakd.com/hive-161707/@pibara/a-practical-introduction-into-hash-based-signatures-using-python-part-one
https://zacharyratliff.org/Lamport-Signatures/



