Nicolas Boulay a écrit 15823 commentaires

  • [^] # Re: Quelques trucs pour la timidité

    Posté par  (site web personnel) . En réponse au journal J-7 avant de faire mes premières conférences. Évalué à 7.

    "-Répète ton speech 2-3 fois, même dans une salle vide. Pas plus que ça sinon ça va faire mécanique."

    C'est important ça, cela enlève tout les "euh" qui double le temps de la conf :)

    "La première sécurité est la liberté"

  • # layout de répertoire ?

    Posté par  (site web personnel) . En réponse à la dépêche Paperwork 1.0. Évalué à 5.

    Est-ce que tu comptes vraiment sur une stabilité de la forme de tes répertoires de données ?

    J'ai vraiment mal vécu la gestion "je mets des trucs partout" ou "j'ai un format rien qu'à moi" des gestionnaires de photo d'il y a 10 ans. Depuis c'est moi qui décide, et c'est toujours lisible et utilisable, 10 ans plus tard ou presque.

    J'imagine bien que ce genre de format est un peu spécial mais as-tu prévu que cela soit encore utilisable dans 10 ans, même si ton outil ne fonctionne plus ? (format txt et pas binaire, image "normal"…)

    "La première sécurité est la liberté"

  • [^] # Re: Temporaire pour toujours

    Posté par  (site web personnel) . En réponse au journal Un autre pouvoir de Google. Évalué à 3.

    "imprimer le dossier" depuis un page internet, J'ai bien lu ?

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    Si quand même. C'est pour cela qu'il y plusieurs "tour" en interne, souvent les attaques se font sur des versions simplifiées. En cas de collision par exemple, rajouter un tour, rend l'attaque beaucoup plus complexe à exploiter.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 0.

    L’intérêt du triple hash est aussi que des bits de poids faible (donc avec peu d'effet) soit réutilisé ensuite pour générer des bits de poids fort. Mais bon, si cela a un intérêt, cela serait pour palier une faiblesse de sha512. Donc, oui, cela revient presque au même.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    Tu peux utiliser des 'T' avec des rotations, cela fera une serie de dessin par combinaison entre eux :
    oxo
    oxo
    xxx

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    Tu peux peut être essayer avec des symboles plus "gros". Genre au lieu d'avoir un bit pour un pixel, tu utilises 4 bits à piocher dans 16 symboles différents. Cela sera un peu mieux.

    "La première sécurité est la liberté"

  • [^] # Re: à quoi ça sert ?

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    Discerner que j'ai la même image dans le coin en haut à droite (qui fait donc 10x10 pixels), mais que les 3 autres coins sont différents de d'habitude, mais c'est moi quand même, c'est beaucoup moins simple.

    Je n'ai pas dis que le problème était simple :) J'ai dis qu'une solution pourrait être utile.

    "La première sécurité est la liberté"

  • [^] # Re: à quoi ça sert ?

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2. Dernière modification le 08 novembre 2016 à 15:30.

    L'identité secrète peut être un hash de l'ip ou d'une empreinte du navigateur.

    D'ailleurs, je pense que cela peut être utile d'avoir un hash "multiple". L'ip d'un utilisateur n'est pas forcément unique, il n'utilise pas forcément toujours le même navigateur, il ne conserve pas forcément ces cookies.

    On peut faire ce genre de choses avec 4 images, pour faire des trucs qui se ressemble "presque".

    Si ghash est utilisé je regarderais un moyen de faire ce genre d'image ayant plusieurs sources. Cela me semble plus utile que de complexifier le générateur pour atteindre les 2256 images possibles.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 5.

    Peux-tu expliciter les 3 hashs ? Le premier ok, j'imagine que tu fabriques les autres à partir du premier ?

    oui c'est ça, un hash, un hash de hash et un hash de hash de hash.

    mais y a-t-il quelque chose qui te fait dire qu'on ne peut pas faire facilement de collisions graphiques approximatives à part tes tests ?

    Oui, c'est facile : le nombre d'images visuellement différentes possiblement produit par le générateur. Pour ça j'ai vérifié que chacune des 22 paramètres changent l'image "visiblement". C'est vrai pour une modification de +0.01 en partie, et vrai pour tous les paramètres pour +0.1.

    je suis pas spécialiste du domaine, mais ça me parait identique en terme de risque à faire sa fonction de hashage perso.

    Oui un peu. Mais il y a quand même le premier étage à passer (sha512) et le temps de génération, qui n'est pas négligeable. Pour être vraiment "solide", je devrais dépasser les 264 images possibles (le brute force commençant à être irréaliste sauf pour la NSA), l'idéal étant 2128 voir 2256.

    Pourquoi ne pas tout simplement s'en servir pour créer une image monochrome de 48 x 32 pixels par exemple ?

    Parce que l’œil est sensible aux formes. Chaque image sera une bouilli grisâtre, identique à toutes les images de bouillis grisâtre.

    "La première sécurité est la liberté"

  • [^] # Re: à quoi ça sert ?

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 7.

    Historiquement, les premiers identicons ont été fait pour représenter des adresses IP d'utilisateur. github les utilise comme avatars à partir des adresses mail.

    Moi, je pensais plus à une représentation sympathique de clef publique gpg. On identifie ensuite tout de suite un changement de clef.

    Beaucoup de système d'identification fort ont besoin de vérification de hash de clef. Ici, j'essaye de rendre cette vérification "triviale". C'est moins sûr qu'une vérification complète, mais c'est mieux que de ne rien faire.

    Quand on charge un fichier sur ftp, il est souvent accompagné d'un fichier.md5 ou fichier.sha256 qui contient son hash (bizarre qu'aucun client ftp ne propose de vérification automatique d'ailleurs). Ici, cela serait possible de montrer l'image et de la régénérer en local pour vérification.

    En gros, partout où tu utilises un hash type sha256 'à la main', tu pourrais utiliser ghash.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 5.

    Tu écris un long poste alors que tu ne semble même pas avoir lu les 10 lignes du readme du projet, ni les autres commentaires sur le sujet. J'ai déjà répondu plein de fois sur le sujet.

    Je peux quand même en rajouter une couche :
    - je n'invente pas de crypto j'utilise sha512 3 fois (pas de seed de random, pas de hash custom, pas de lfsr)
    - Avec les 3 hashs je ne réutilise aucun bit pour éviter toute collision
    - chaque réel utilise 4 bytes, mais je n'imprime que 5 chiffres
    -> donc les 22 nombres réels entre 0 et 1.0 sont mathématiquement indistinct d'un random sauf si sha512 est cassé

    Ensuite, il faut être sûr que le générateur de dessin propose suffisamment de dessins différents pour éviter les collisions visuelles. L'option -test permet de le vérifier pour des exemples. Il génère une image normalement, et génère 22 images de plus en ajoutant 0.01 à chaque paramètre (invisible pour les couleurs, j'ai fait aussi des testes avec 0.1, ce qui marche bien, d'où mon 1022).

    Pour faire les choses correctement, il faudrait injecter du random dans ghash, générer les 20 images, puis faire un test comme -psnr de gmic (ou compare) pour trouver un valeur supérieur à 30 entre 2 images, par exemple. L'idée est de trouver des collisions graphiques. Je n'ai pas fait cette étape de "brute force". Cela serait à faire pour prouver la solidité du truc, c'est un sorte de "fuzzing".

    Comme dit ailleurs, trouver une collision consiste à faire la même chose, en ajoutant du random à une string fixe, et comparer l'image d'origine à la nouvelle image. Mais avec 200 ms par image, cela sera trèèèèèès long.

    "La première sécurité est la liberté"

  • [^] # Re: en bash

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 3.

    PS: d'ailleurs tu le donnes pas l'exe ou j'ai loupé un truc ? Donc il faut bien compiler le go.

    Il y a une release v1Alpha dans github, ou alors j'ai raté un truc.

    "La première sécurité est la liberté"

  • [^] # Re: en bash

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    golang ? ghash est un exe sans aucune dépendance. ./gh ne sert qu'au debug. J'ai du mal à vérifier ta génération des nombres entre 0 et 1.0 mais elle est primordiale dans la sécurité. Il ne faut surtout pas jouer avec.

    "La première sécurité est la liberté"

  • [^] # Re: En python :

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    Cela dépend de Random() beaucoup de générateur pseudo aléatoire utilise une seed de 32 bits uniquement. Cela donne 232 test à faire seulement.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 1. Dernière modification le 07 novembre 2016 à 19:23.

    " alors ça me semble assez facile d'imaginer de générer des images aux propriétés vaguement similaires qui pourraient tromper un utilisateur occasionnel. "

    Je ne pense pas que cela soit si facile de trouver des collisions justement.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 3. Dernière modification le 07 novembre 2016 à 18:00.

    Je n'ai pas d'idée précise. gmic utilise openMP et doit bénéficier de l'autovectorisation automatique. La différence entre les cartes graphiques et les cpu intel ne sont plus de 1000x mais plutôt 10x dans le meilleur des cas (code numérique + cpu bound)

    Donc le pire des cas, cela sera 1000 plus rapide au mieux.

    Par exemple l'algorithme de hash bcrypt dans hashcat fonctionne à ~1K/s ce qui doit être seulement 10x plus rapide que l'implémentation de référence.

    "La première sécurité est la liberté"

  • [^] # Re: Vérification/réconciliation

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 5.

    J'ai compris ta question :)

    Le but est que cela soit ton oeil/cerveau qui le fait. Imagines que ton navigateur génère des petites images pour icône de fichier à charger, ton navigateur de fichier pourrais les régénérer depuis ton disque local, et tu verrais immédiatement un problème si besoin.

    On peut imaginer aussi proposer un avatar unique par personne (depuis l'adresse mail). Github le fait avec son propre système.

    "La première sécurité est la liberté"

  • [^] # Re: Vérification/réconciliation

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 2.

    image proposé ? Comment ça ?

    ghash fonctionne comme sha512 sauf qu'il y a une image en sorti et non une string en hexa.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 4.

    Oui bien sûr c'est possible.

    Pour trouver 2 images similaires, tu fais un brute force, avec un test comme le -psnr qui tu cherche sous un certaine seuil.

    Sauf que :
    - Il y a 22 paramètres ayant un effet très visible à 10% de variation et plus ou moins visibles à 1% (soit entre 1022 et 10022 images différentes)
    - générer une image prend 200ms, même en recodant tout en c++, difficile de passer sous 10ms, ce qui veut dire 100 test/s, hashcat attaques sha256 a 1GK/s (10 millions de fois plus)
    - L'usage de sha512 garantie une répartition des bits qui empêche d'utiliser des raccourcies.

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 9.

    $ echo linuxfrorg | ./ghash -o linuxfrorg.jpg

    linuxfrorg

    "La première sécurité est la liberté"

  • [^] # Re: Les différences

    Posté par  (site web personnel) . En réponse au journal ghash: génération d'image à partir d'un hash. Évalué à 4.

    ça change complètement tout, sha512 est utilisé en interne.

    "La première sécurité est la liberté"

  • [^] # Re: Lecture

    Posté par  (site web personnel) . En réponse au journal Comme d'habitude, l'UMP l'a voulu, le PS l'a fait, et vice versa. Évalué à 3.

    Ce n'est pas politique, mais bien cynique en version Starwars mixé avec des pingouins mixé avec des SSII:

    http://tnemeth.free.fr/fmbl/linuxsf/index.html

    "La première sécurité est la liberté"

  • [^] # Re: alternative crédible

    Posté par  (site web personnel) . En réponse au journal Le courage de l'innovation. Évalué à 1.

    Sony SVP, tout ce que tu dis pour autour de 1kg.

    sony svp 13"

    "La première sécurité est la liberté"

  • [^] # Re: Effacement des doublons

    Posté par  (site web personnel) . En réponse à la dépêche Effacement des doublons et historique complet pour Fim 1.2.2. Évalué à 2.

    Dans ton cas, tu peux utilisez un softlink ou un hard.

    Mais en général, tu veux sauver de la place : photos dupliqués : COW ou pas, logiquement tu ne les modifies pas. Mais en cas d'erreur d'effacement ou d'écrasement, avec le COW tu as encore ta photo.

    Idem avec un bout de code, tu peux le modifier sans en modifier la source d'origine avec le COW.

    "La première sécurité est la liberté"