Compare commits

..

9 Commits

8 changed files with 57 additions and 38 deletions

View File

@ -1,7 +1,6 @@
+++ +++
title = "Home" title = "Home"
template = "index.html" template = "index.html"
date = 2023-11-01
sort_by = "weight" sort_by = "weight"
+++ +++

View File

@ -1,6 +1,5 @@
+++ +++
title = "Research" title = "Research"
date = 2023-11-01
weight = 10 weight = 10
+++ +++

View File

@ -12,7 +12,7 @@ primitives cryptographiques.
**Travaux pratiques:** Lundi ou mardi. **Travaux pratiques:** Lundi ou mardi.
Une description plus détaillée du cours est disponible [[ici]](http://perso.univ-lyon1.fr/fabien.rico/site/projet:2018:pri:start). Une description plus détaillée du cours, organisé par Fabien Rico (✝) nest plus disponible.
Le but de ce cours est de mener à bien un projet collaboratif. Les sujets que je propose sont principalement orientés autour de la cryptologie : cryptographie et cryptanalyse. Le but de ce cours est de mener à bien un projet collaboratif. Les sujets que je propose sont principalement orientés autour de la cryptologie : cryptographie et cryptanalyse.
@ -35,7 +35,7 @@ Un exemple d'interface pour la cryptographie est gpg, qui même si elle n'est pa
Au delà de l'interface d'utilisation et de déboggage, il reste la question des méthodes cryptographiques à utiliser. Pour cela, je propose aux groupes de choisir parmi les schémas qui suivent : Au delà de l'interface d'utilisation et de déboggage, il reste la question des méthodes cryptographiques à utiliser. Pour cela, je propose aux groupes de choisir parmi les schémas qui suivent :
* L'[IBE de Cocks](http://joye.site88.net/papers/Joy16gcocks.pdf). Qui repose sur de l'arithmétique modulaire (comme [RSA](https://fr.wikipedia.org/wiki/Chiffrement_RSA) par exemple). Nécessite de manipuler des grands entiers, et donc de passer par une bibliothèque de calcul multiprécision, comme [GMP](https://gmplib.org/). * L'[IBE de Cocks](https://www.iacr.org/archive/pkc2016/96140177/96140177.pdf). Qui repose sur de l'arithmétique modulaire (comme [RSA](https://fr.wikipedia.org/wiki/Chiffrement_RSA) par exemple). Nécessite de manipuler des grands entiers, et donc de passer par une bibliothèque de calcul multiprécision, comme [GMP](https://gmplib.org/).
* L'[IBE de Boneh et Franklin](https://crypto.stanford.edu/~dabo/papers/bfibe.pdf). Qui repose sur une structure un peu plus velue que l'arithmétique modulaire : les couplages. Ceux-ci reposent sur des calculs un peu poussés sur les courbes elliptiques. Une bibliothèque pour la manipulation des couplages serait [Relic](https://github.com/relic-toolkit). * L'[IBE de Boneh et Franklin](https://crypto.stanford.edu/~dabo/papers/bfibe.pdf). Qui repose sur une structure un peu plus velue que l'arithmétique modulaire : les couplages. Ceux-ci reposent sur des calculs un peu poussés sur les courbes elliptiques. Une bibliothèque pour la manipulation des couplages serait [Relic](https://github.com/relic-toolkit).
* L'[IBE de Gentry, Peikert et Vaikuntanathan](https://people.csail.mit.edu/vinodv/GentryPeikertV-STOC2008.pdf). Qui est construit sur les réseaux euclidiens. La partie technique est la manipulation des distributions de probabilités sur les réseaux. Une bibliothèque pour manipuler les réseaux pourrait être [HElib](https://github.com/shaih/HElib). * L'[IBE de Gentry, Peikert et Vaikuntanathan](https://people.csail.mit.edu/vinodv/GentryPeikertV-STOC2008.pdf). Qui est construit sur les réseaux euclidiens. La partie technique est la manipulation des distributions de probabilités sur les réseaux. Une bibliothèque pour manipuler les réseaux pourrait être [HElib](https://github.com/shaih/HElib).
@ -46,7 +46,7 @@ Parmi ces choix, la manipulation des opérations de base sur les différentes st
**Autres ressources** : **Autres ressources** :
* [Comment écrire une extension pour thunderbird](https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_extensions/Building_a_Thunderbird_extension). * [Comment écrire une extension pour thunderbird](https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Developing_WebExtensions_for_Thunderbird).
* Répertoire <tt>git</tt> d'enigmail: <git://git.code.sf.net/p/enigmail/source> * Répertoire <tt>git</tt> d'enigmail: <git://git.code.sf.net/p/enigmail/source>
* [rfc5408 Identity-Based Encryption Architecture and Supporting Data Structures](https://tools.ietf.org/html/rfc5408) * [rfc5408 Identity-Based Encryption Architecture and Supporting Data Structures](https://tools.ietf.org/html/rfc5408)

View File

@ -19,5 +19,5 @@ Lecture notes are available [here](https://fmouhart.epheme.re/documents/M2CySec.
* About cryptography in general (will not be covered by the course, but it is still useful in general to understand the topics covered during the course: * About cryptography in general (will not be covered by the course, but it is still useful in general to understand the topics covered during the course:
* Jonathan Katz and Yehuda Lindell, * Jonathan Katz and Yehuda Lindell,
[Introduction to Modern Cryptography](http://www.cs.umd.edu/~jkatz/imc.html): A very resourceful book about cryptography. [Introduction to Modern Cryptography](http://www.cs.umd.edu/~jkatz/imc.html): A very resourceful book about cryptography.
* The lectures of Dan Boneh on [coursera](https://fr.coursera.org/learn/crypto#syllabus), also available on [youtube](https://www.youtube.com/watch?v=LHKeOkD6gMQ&list=PLbzglpgjus5F71Q24JMxF2O1YmVsB7R5g). * The lectures of Dan Boneh on [coursera](https://fr.coursera.org/learn/crypto), also available on [youtube](https://www.youtube.com/playlist?list=PL58C6Q25sEEHXvACYxiav_lC2DqSlC7Og).
* M. Bellare, D. Micciancio, B. Warinschi. Foundations of group signatures: formal definitions, simplified requirements, and a construction based of general assumptions. [[pdf]](https://cseweb.ucsd.edu/~daniele/papers/BMW.pdf) * M. Bellare, D. Micciancio, B. Warinschi. Foundations of group signatures: formal definitions, simplified requirements, and a construction based of general assumptions. [[pdf]](https://cseweb.ucsd.edu/~daniele/papers/BMW.pdf)

View File

@ -1,8 +1,11 @@
+++ +++
title="Teaching" title="Teaching"
date = 2023-11-01
weight = 30 weight = 30
sort_by = "date" sort_by = "date"
+++ +++
# Teaching # Teaching
This page presents a list of the classes I gave as a teacher or as a teaching
assistant. As they are mostly intended for the student of these past courses,
the full page and summary are in the corresponding language of the class.

View File

@ -1,13 +1,14 @@
$light-fonts: "Fira Sans Light", sans-serif; $light-fonts: "Fira Sans Light", sans-serif;
$normal-fonts: "Fira Sans", sans-serif; $normal-fonts: "Fira Sans", sans-serif;
$mono-fonts: "Fira Mono", monospace; $mono-fonts: "Fira Mono", monospace;
$page-width: 800px; $page-width: 65ch;
$primary-color: #333; $primary-color: #333;
$bg-color: #eee; $bg-color: #eee;
$page-color: #ddd; $page-color: #ddd;
$header-bg: #1d3c67; $header-bg: #1d3c67;
$header-fg: #ffffff; $header-fg: #ffffff;
$link-color: #33f; $link-color: #33f;
$footer-link-color: #3455db;
$link-hover: #00d; $link-hover: #00d;
$menu-bg: #231d67; $menu-bg: #231d67;
$menu-fg: #e8e9f3; $menu-fg: #e8e9f3;
@ -17,11 +18,6 @@ $menu_btn-size: 10px;
html { html {
background-color: $page-color; background-color: $page-color;
} }
@media only screen and (min-width: $page-width){
html {
padding:10px;
}
}
@font-face { @font-face {
font-family: "Fira Sans Light"; font-family: "Fira Sans Light";
font-style: normal; font-style: normal;
@ -41,10 +37,12 @@ html {
src: local("Fira Mono"), local("FiraMono-Regular"), url("fonts/FiraMono-Regular.woff2") format("woff2"); src: local("Fira Mono"), local("FiraMono-Regular"), url("fonts/FiraMono-Regular.woff2") format("woff2");
} }
body { body {
font-size: 16pt;
max-width: $page-width; max-width: $page-width;
margin: auto; margin: auto;
font-family: $light-fonts; font-family: $light-fonts;
background-color: $bg-color; background-color: $bg-color;
box-shadow: 0 1px 10px #888;
} }
header { header {
height: 150px; height: 150px;
@ -59,6 +57,19 @@ header {
color: $header-fg; color: $header-fg;
text-shadow: black 0px 0px 0.1em; text-shadow: black 0px 0px 0.1em;
} }
h1 {
font-size: 20pt;
}
}
@media only screen and (min-width: $page-width){
html {
padding:10px;
}
header {
h1 {
font-size: 32pt;
}
}
} }
#header-logo { #header-logo {
background: url('img/logo.png') top; background: url('img/logo.png') top;
@ -69,33 +80,35 @@ header {
background-position: bottom; background-position: bottom;
} }
h1 { h1 {
font-size: 28pt; font-size: 32pt;
} }
h2 { h2 {
font-size: 22pt; font-size: 26pt;
} }
h3 { h3 {
font-size: 18pt; font-size: 22pt;
} }
p, h1, h2, h3, pre { p, h1, h2, h3, pre {
padding: 0px 10px 3px 10px; padding: 0px 10px 3px 10px;
} }
p, ul { p, ul {
font-size: 14pt;
color: $primary-color; color: $primary-color;
} }
p { p {
text-align: justify; text-align: justify;
} }
ul {
width:90%;
}
footer { footer {
font-size: 8pt; font-size: 12pt;
text-align: center; text-align: center;
color: #555; color: #555;
padding: 10px; padding: 10px;
} }
footer a, footer a,
footer a:visited { footer a:visited {
color: #66f; color: $footer-link-color;
} }
a, a,
a:visited { a:visited {
@ -113,12 +126,14 @@ li {
} }
nav { nav {
display: flex; display: flex;
flex-direction: column;
background-color: $menu-bg; background-color: $menu-bg;
menu { menu {
padding: 0px; padding: 0px;
display:block;
margin: 0px; margin: 0px;
width: 100%; width: 100%;
display: flex;
flex-direction: row;
} }
li { li {
a { a {
@ -141,7 +156,6 @@ nav {
margin: 0px; margin: 0px;
padding: $menu_btn-size 0px $menu_btn-size 0px; padding: $menu_btn-size 0px $menu_btn-size 0px;
list-style-type: none; list-style-type: none;
float: left;
} }
} }
strong { strong {

View File

@ -9,6 +9,8 @@
{% endblock %} {% endblock %}
{% block main %} {% block main %}
<article>
<h1>{{ page.title | safe }}</h1> <h1>{{ page.title | safe }}</h1>
<p>{{ page.content | safe }}</p> <p>{{ page.content | safe }}</p>
</article>
{% endblock %} {% endblock %}

View File

@ -1,6 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
{% block main %} {% block main %}
<main>
{{ section.content | markdown(inline = true) | safe }} {{ section.content | markdown(inline = true) | safe }}
<div class="pages"> <div class="pages">
{% for sub in section.pages %} {% for sub in section.pages %}
@ -12,4 +13,5 @@
</article> </article>
{% endfor %} {% endfor %}
</div> </div>
</main>
{% endblock %} {% endblock %}