Categories
Life

Nouveau petit projet

Un nouveau projet débute. Pour une fois cela n’a pas grand chose à voir avec de l’informatique et c’est tout de même quelque chose que j’attends depuis de très longues années (avec même un raté, d’une certaine manière). Le projet a commencé à se concrétiser il y a maintenant environ 18 mois. J’ai un peu hésité à en parler ici car c’est assez personnel et important pour moi. Il y a encore beaucoup de travail à réaliser et donc j’ai le temps de me rattraper pour écrire plus à ce sujet. Nul besoin de faire durer le suspense, nous allons construire une maison.

Si tout va bien le chantier débutera cette semaine. Je compte bien faire ce que je peux avec mes mains (pas trop le choix vu les prix dans la région…) et prendre le temps qu’il faudra (dans la mesure du possible). Comme vous pouvez l’imaginer, beaucoup de travail a déjà été réalisé en amont afin de pouvoir commencer concrètement. Je ne vais pas refaire l’historique de la recherche du terrain, en passant par les plans de la maison, le choix des artisans, jusqu’au dossier bancaire, etc. C’était long et intéressant. Nous nous occupons de la maîtrise d’ouvrage. À ce stade je suis prêt pour affronter les obstacles qui vont forcément bientôt se pointer. Disons donc que nous entrons en phase d’implémentation (et nous allons éviter de trop nous inspirer de la méthode PMF, certes bien connue pour ses qualités dans le domaine du logiciel). Puis vous verrez, le résultat sera un peu différent de ces anciens plans 😉

Je pourrai déjà vous donner plus d’informations mais je préfère laisser un peu de mystère et ne pas épuiser toutes mes idées pour la suite. J’ai quelques surprises pour vous. Je pense qu’il y aura aussi des surprises pour moi. Bref, il y aura de quoi raconter.

Pour les curieux qui veulent déjà en savoir un petit peu plus, sachez que des informations sont cachées dans la photo (je ne change pas beaucoup). Et comme je suis gentil voici comment les révéler (vous pouvez remplacer pipx par pip si vous préférez):

$ pipx install stegano
$ wget https://blog.cedricbonhomme.org/wp-content/uploads/2019/06/terrain.png
$ stegano-lsb-set reveal -i terrain.png -g LFSR

Pour certaines personnes il sera assez facile de deviner où se situe le terrain. Inutile de le mentionner ici.

Je donnerai des nouvelles sur l’évolution de ce petit projet. La quantité et fréquence dépendra en partie de votre intérêt.

Categories
Technology

Le fameux nouvel ordinateur, 8 ans après

Et bien il est toujours aussi bien. Et même encore mieux, voyez:

  • CPU : Intel Core i7-2600 (3.4 Ghz / 3.8 GHz Turbo – Cache 8Mo – 4 coeurs avec hyper threading);
  • RAM: 16 Go – DDR3L-1600 UDIMM (sans registre);
  • GPU: NVIDIA GeForce GT 545 – 1.5Go;
  • DD: SSD de 1To (SATA 6.0 Gb/s) – Serial ATA 3Gb/s (SATA II).

Démarrage complet en 8 secondes et arrêt en 3 secondes chrono. Une fluidité extraordinaire. Bien plus rapide que lorsqu’il était neuf. Il devrait consommer un petit peu moins d’électricité.

Le processeur est toujours aussi bon. La carte graphique est toujours aussi pourrie. L’écran me semble de plus en plus petit.

Et la cerise sur le gâteau, le Cooler MasterKeys S PBT Cherry MX Blue que j’ai depuis quelques temps.

P.S.: Comme vous pouvez le constater le blog n’est plus très actif. Je n’ai plus le temps. Et pourtant il y a du changement dans ma vie… Devrais-je publier ici plus souvent? En tout cas, il est possible d’avoir des nouvelles, un peu moins personnelles, via Mastodon. Je n’aime toujours pas le microblogging, mais c’est plus rapide. Et plus con.

Categories
Programming Python

pipenv

Stegano utilise maintenant pipenv, le nouvellement recommandé (à prendre avec des pincettes) outil Python de packaging.

Si vous n’utilisez pas encore pipenv, je vous conseil de lire cette documentation. Et pourquoi pas ce petit billet.

Et si vous êtes un peu perdu avec les outils de packaging Python, j’ai commencé ce petit historique.

Categories
Photography

Masarykovo nábřeží

Masarykovo nábřeží
Masarykovo nábřeží – Prague, Czechia – February 18th 2018 – Canon EOS 6D Mark II, 70mm ƒ/5.0

Categories
Photography

Walk to Apach

Walk to Apach
Walk to Apach – Apach France, January 7th 2018 – Canon EOS 6D Mark II, 28mm ƒ/3.5

Categories
Photography

What is love?

What is love?
What is love? – Brussels Belgium, October 7th 2017 – Canon EOS 500D, 44mm ƒ/4

Categories
Photography

Where you end

Where you end
Where you end – Liège Belgium, January 22nd 2018 – Canon EOS 6D Mark II, 28mm ƒ/3.5

Categories
Photography

Stage de macro-photographie

Il y aura un stage de macro-photographie à Montenach le 25 juin 2017. J’y serai. Le cadre est vraiment sympa. C’est limité à 6 personnes (c’est dans une réserve naturelle), mais je sais qu’il reste encore des places.

Categories
Programming

Une nouvelle fonctionnalité pour Newspipe

Newspipe propose une nouvelle fonctionnalité: la gestion de marque-pages. J’utilise depuis des années l’excellent service Pinboard pour gérer mes marque-pages. Aujourd’hui je ne prétends surtout pas le remplacer, mais je pense que cette fonctionnalité a bien sa place dans Newspipe.

Comme vous pouvez le constater sur la capture ci-dessous, tous les marque-pages que je conserve depuis des années sur Pinboard sont maintenant sur Newspipe. Il est en effet possible d’importer un fichier d’export JSON de Pinboard. Pratiquement toutes les données sont récupérées (je me suis inspiré de ce schéma de données).

Newspipe - bookmarks

Un bookmarklet est également disponible afin de rapidement marquer une page Web.

Il sera également bientôt possible de marquer une page Web provenant d’un article récupéré via un flux RSS/ATOM. Cette fonctionnalité fera un peu doublon avec le fait d’ajouter un article aux favoris. Mais la gestion des marque-pages va au-delà de la gestion des flux RSS/ATOM.

Categories
Cryptography

Une histoire d’arithmétique modulaire

Bob était amoureux d’Alice. Il voulait lui envoyer une déclaration d’amour. Mais Bob avait peur que cette déclaration puisse tomber dans les mains d’une autre personne. Par exemple le méchant Oscar. Par chance Alice qui aimait bien les maths connaissait RSA. Elle disposait tout naturellement d’une clé publique (b, n) et d’une clé privé (a, n).
Bob utilisa donc la clé publique d’Alice pour protéger son message:
        secret = message˄b mod n
Une fois le message réceptionné par Alice (IP par transporteurs aviaires), elle utilisa la clé privée afin de découvrir le message:
        message = secret˄a mod n

Mais comment a fait Alice pour avoir de telles clés?

Une des premières choses à faire était de trouver (à la main et avec le test de primalité de Miller-Rabin) deux très grands nombres premiers p et q tels que:

        (1)   Φ(n) = (p - 1) * (q - 1), l’indicateur d’Euler
        (2)   n = p * q

n, le modulus, est donc le produit de deux grands nombres premiers.

Nous avons également:
        (3)   a = b˄-1 mod Φ(n)
(Si tu veux comprendre un peu plus en détail: 1 et 2. Et si vraiment Euler ne te dis plus rien, tu peux aussi réviser ton arithmétique modulaire de terminale. Le bon vieux temps.)

Ensuite nous devons trouver un entier b tel que:
        pgcd(b, Φ) = 1
Et finalement l’exposant privé a sera l’inverse de b mod Φ. (Pareil, revoir les cours de terminale. Désolé.)

Mais au bout de tout ça, quelles données sont utiles à Alice ? Et bien uniquement l’exposant public b, l’exposant privé a et le modulus n. C’est tout. p et q ne sont plus utiles puisque nous connaissons n.
De même pour Φ, il ne faut pas le garder car il permet de retrouver p et q. (J’aimais bien faire ça, en seconde…)

Bref attaquer RSA n’est pas plus facile que de factoriser le modulus.

Si Oscar avait connu p et q il aurait facilement pu calculer Φ (avec 1). Puis l’exposant privé a (avec 3) qui est donc l’inverse modulaire de b et Φ. Un cauchemar pour Bob. Une chance pour les victimes de WannaCry.