diff --git a/config.toml b/config.toml index 2e8a520..b4cd135 100644 --- a/config.toml +++ b/config.toml @@ -10,6 +10,9 @@ minify_html = false author = "tuxmain" +# Do not copy assets in each locale, use hard links instead +hard_link_static = true + [slugify] paths = "off" taxonomies = "off" diff --git a/content/_index.md b/content/_index.md index b1d0ee3..d2c2c41 100644 --- a/content/_index.md +++ b/content/_index.md @@ -8,7 +8,7 @@ title = "homepage" * Human being until proven otherwise; * a.k.a. Pascal Engélibert; -* Libre developper, PhD student at INSA Lyon; +* Libre developer, PhD student at INSA Lyon; * Master degree of cryptology & computer security; * Rust, C, Python, PHP, web, French, English, Spanish, Esperanto; * Prefers tabulations; diff --git a/content/blog/flash-filesystem-encryption/index.md b/content/blog/flash-filesystem-encryption/index.md index 84e711c..02f4d54 100644 --- a/content/blog/flash-filesystem-encryption/index.md +++ b/content/blog/flash-filesystem-encryption/index.md @@ -51,7 +51,7 @@ $$C = E(K, P)$$ This mode of operation is called ECB for Electronic Code Book. It has, however, fatal flaws: * If two blocks are identical, an adversary can spot them and learn information. -* A adversary who has access to an encryption oracle (i.e. they can obtain the ciphertext from a plaintext, that could happen if you store incoming messages in the encrypted files) can try different values and decrypt other blocks by bruteforcing well-known formats. +* An adversary who has access to an encryption oracle (i.e. they can obtain the ciphertext from a plaintext, that could happen if you store incoming messages in the encrypted files) can try different values and decrypt other blocks by bruteforcing well-known formats. ECB alone is almost never a good idea. @@ -184,15 +184,15 @@ Here are the benchmark results (encrypting 100 times 128kB): | XTS | unaligned u128 LE | 8 | 2499 | 2448 | | XTS | unaligned u128 LE | 16 | 2399 | 2445 | | XTS | unaligned u128 LE | 32 | 2373 | 2420 | -| XTS | unaligned u128 LE | 64 | 2361 | 2408 | +| XTS | unaligned u128 LE | 64 | 2361 | **2408** ⭐ | | XTS | aligned u128 | 8 | 2549 | 2447 | | XTS | aligned u128 | 16 | 2449 | 2445 | | XTS | aligned u128 | 32 | 2424 | 2420 | -| XTS | aligned u128 | 64 | 2412 | 2408 | +| XTS | aligned u128 | 64 | 2412 | **2408** ⭐ | | XTS | [u32; 4] | 8 | 2495 | 2493 | | XTS | [u32; 4] | 16 | 2395 | 2490 | | XTS | [u32; 4] | 32 | 2370 | 2465 | -| XTS | [u32; 4] | 64 | 2357 | 2453 | +| XTS | [u32; 4] | 64 | **2357** ⭐ | 2453 | The fastest is XTS with one key (and salted sector number) and long sectors. @@ -202,7 +202,9 @@ Sectors must not be too long, however, as random access to block j needs computi Damn, I forgot to tell about erasing and programming flash memories! -Flash memories work in a peculiar way: you first have to erase some part of the memory (by filling it with ones) then you can write data by replacing some zeros with ones. But that's not all. Each operation has a minimum size. You can generally (it depends on the chip) program down to 16 bytes, but you can only erase by chunks of (again, generally) 512 bytes! +Flash memories work in a peculiar way: you first have to erase some part of the memory (by filling it with ones) then you can write data by replacing some ones with zeros (that's called "programming"). But that's not all. Each operation has a minimum size. You can generally (it depends on the chip) program down to 16 bytes, but you can only erase by chunks of (again, generally) 512 bytes! + +Therefore, the AES 16-byte blocks minimize useless writes. That's ideal. ## The key diff --git a/content/links/illustration.webp b/content/links/illustration.webp new file mode 100644 index 0000000..3d8890e Binary files /dev/null and b/content/links/illustration.webp differ diff --git a/content/links.fr.md b/content/links/index.fr.md similarity index 96% rename from content/links.fr.md rename to content/links/index.fr.md index a452280..902f60e 100644 --- a/content/links.fr.md +++ b/content/links/index.fr.md @@ -3,6 +3,10 @@ title = "Liens intéressants" insert_anchor_links = "left" +++ +![Illustration picture: aligned arch doors and bookshelves with old books in a library](illustration.webp) + +_Illustration: CC By-SA 3.0 par [Linsengericht sur Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Kulissenbibliothek_Franckesche_Stiftungen_1.JPG)_ + Voici plein de trucs chouette. Cherchez un mot-clé avec `CTRL+F`. Mots-clés : astronomie, BD, blog, féminisme, fun, histoire, maths, philo, physique, podcast, politique, santé, scepticisme, science, sociologie, technologie, vidéo diff --git a/content/links.md b/content/links/index.md similarity index 95% rename from content/links.md rename to content/links/index.md index 993a475..06cdb24 100644 --- a/content/links.md +++ b/content/links/index.md @@ -3,6 +3,10 @@ title = "Cool links" insert_anchor_links = "left" +++ +![Illustration : alignement d'arches entre des étagères pleines de vieux livres reliés](illustration.webp) + +_Illustration: CC By-SA 3.0 par [Linsengericht sur Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Kulissenbibliothek_Franckesche_Stiftungen_1.JPG)_ + Here is some cool stuff. Use search (`CTRL+F`) to filter by keyword. Existing keywords: astronomy, blog, comic strip, fun, health, history, mathematics, philosophy, physics, podcast, politics, tech, science, skepticism, video