Voir les messages
|
Pages: [1]
|
2
|
Programmation / Langages compilés / Re : [C] Lire sur l'entrée standard
|
le: 05 Avril 2009 à 10:50:44
|
Pour pouvoir lire l'entrée standard caractère par caractère en obtenant aussi tous les caractères de contrôle, il faut configurer le descripteur de STDIN avec l'ensemble des fonctions TERMIOS. En désactivant le mode canonique (ICANON), l'echo (ECHO) et en paramétrant la taille du buffer d'entrée (VMIN) à 1, tu devrais pouvoir utiliser read() comme tu le souhaite. Plus d'infos: http://www.sim07.net/man/francais/man3/cfsetospeed.3.phpIl y a de bons paragraphes sur le mode non-canonique et le mode brut.
|
|
|
4
|
Général / Général / Re : Freenet
|
le: 28 Août 2008 à 17:59:08
|
Soyons constructif Folcan.
Freenet assure l'anonymat dans un réseau "parallèle". Venusos a abordé (un peu maladroitement) le problème de préservation de l'anonymat des "utilisateurs". Et enfin toi même tu as parlé de services typiques du web (forums en particulier), que Freenet n'est pas vraiment en mesure de fournir. C'est pourquoi j'estime qu'il est en rapport avec la discussion de rappeler que des architectures comme TOR permettent de protéger les utilisateurs du web (mais pas les fournisseurs de contenu).
Je ne comprend pas ton dédain, j'ai apporté des précisions sur Freenet avant de dévier un chouilla du sujet, un peu d'ouverture ne fait pas de mal.
|
|
|
5
|
Général / Général / Re : Re : Freenet
|
le: 27 Août 2008 à 17:26:03
|
En effet, pour le moment, c'est strictement limité à des pages HTML pouvant contenir du CSS. On oublie donc le PHP, le javascript, l'asp, les bases de données, et tous ces languages qui font que aujourd'hui l'internet est agréable à utiliser car dynamique et interactif.
Par la même, il est donc impossible d'avoir : des forums, des chats etc... Simplement du texte, du brute
Ca peut paraitre décevant de prime abord. Mais freenet n'est autre qu'une table de hashage distribuée. S'il est facile de rajouter du contenu à cette table géante, il faut déjà un certain temps pour qu'il se réplique et soit accessible à tous. La mise à jour de contenu est encore plus compliquée, si on introduit un nouveau contenu sous une clé existante (mise à jour dans une table de hashage), et bien l'ancienne version du contenu peut subsister dans certaines parties du réseau malgré le système de diffusion par réplication. Un forum devient inimaginable puisqu'il pourrait coexister plusieurs versions dans le réseau. Freenet n'est tout simplement pas adapté au contenu dynamique. Par contre, connaissez vous TOR: The Onion Router ? Le principe est intéressant mais pas infaillible.
|
|
|
6
|
Général / Général / Re : Challenges
|
le: 27 Août 2008 à 17:10:17
|
Salut, Je suis tenté de proposer des épreuves de programmation, mais faut-il absolument utiliser le Php pour les énoncés/vérifications ? J'y suis terriblement allergique et préférerai utiliser Ruby ou C. J'aime beaucoup le principe de ce site, et aussi beaucoup Ruby  peut-être qu'il est envisageable de créer une passerelle vers ce langage ? Note aux admins: ne partez pas en vrille sur ce message genre "oh il nous a pris pour qui le newbie on va pas s'y mettre pour ces beaux yeux", c'est une simple question/suggestion et je propose mon aide si le concept vous séduit.
|
|
|
7
|
Général / Général / Re : [CRYPTAGE]Proposition d'epreuve
|
le: 27 Août 2008 à 16:54:05
|
Les applications injectives et surjectives sont deux cas différents et les bijectives sont en fait à la fois injectives et bijectives. Pour le visualiser géométriquement dans un espace à deux dimensions, tu peux prendre l'axe des abscisses (x) comme ensemble de départ et l'axe des ordonnées comme ensemble d'arrivé. f(x) = x est clairement bijective, tu prends n'importe quelle valeur en ordonnée, il n'y strictement qu'une valeur correspondante en abscisse. f(x) = x^2 est injective dans R (par exemple, x^2 = -1 n'a aucune solution), mais est surjective dans R+ (x^2 = 0 a une solution, toute les autres images sur l'ordonnée trouvent deux antécédents sur l'abscisse).
mmh à quoi bon chiffrer des données avec un algo faible si l'on sait qu'une personne vraiment mal intentionnée peut se casser la tête et réussir à tout déchiffrer ?
Petit supplément questions, qui pourront peut-être t'orienter sur des pistes quant à l'attitude à adopter pour déchiffrer ton algorithme:
Moi j'essaie d'abord de voir si je peux rapporter ton algorithme à quelque chose de connu, car j'ai la chance de pouvoir discuter avec son auteur. Dans un coin de ma tête, je sais que de grands mathématiciens travaillent sur le chiffrement depuis toujours, et qu'une application injective a peu de chances de leur avoir échappé.
Comme on peut chiffrer un message de plusieurs manières différentes, comment ton algorithme arrive-t-il à produire une solution plutôt qu'une autre ? en gros ton algorithme est-il non-déterministe ? as-tu introduit un élément aléatoire ?
- si tu n'a pas introduit d'élément aléatoire, alors la même solution sera toujours utilisée pour coder un message donné. ce qui me laisse penser qu'il y a bien un élément aléatoire.
- si tu as introduit un élément aléatoire, peux-t'il assurer de ne JAMAIS produire deux fois le même résultat en fonction du message crypté ? si tel n'est pas le cas, je pense que l'algorithme est équivalent à un algorithme à clé privée et pour lequel on tenterait d'utiliser des synonymes (malheureusement la langue ne propose pas une infinité de mots donc de synonymes) pour les mots que l'on aurait déjà chiffré auparavant avec le même algorithme.
Avec une masse suffisante de messages codés, on devrait pouvoir utiliser les méthodes classiques d'attaques d'algos à clé privée/symétrique).
Je ne pense pas que l'on puisse assurer de ne jamais produire deux fois le même résultat pour un message donné. Si l'ensemble d'arrivée de ton algo est effectivement infini, tu ne l'épuisera effectivement jamais, par contre, tu risques rapidement d'épuiser les ressources de ta machine pour chiffrer le moindre message.
Qu'en penses-tu ?
|
|
|
8
|
Général / Général / Re : [CRYPTAGE]Proposition d'epreuve
|
le: 27 Août 2008 à 15:41:10
|
Salut,
D'un point de vu mathématique, on a bien à faire à une fonction (ou application), mais elle est injective: tout élément de l'ensemble d'arrivé de f possède au plus un antécédent dans l'ensemble de départ par f. La définition que tu donnes ne définie pas une application mais tu faisais peut-être référence à une application bijective: tout élément de son ensemble d'arrivé a un antécédent et un seul dans l'ensemble de départ. Il existe aussi des application surjectives, mais elles sont pas adaptées au chiffrement car elles font perdre de l'information (ce sont les fonctions de hashage).
D'un point de vu sécuritaire, rappelle bien à tes étudiants que la méthode que tu leur montre n'assure vraiment pas un haut niveau de sécurité et que seul la méthode d'attaque peux présenter un intéret:
Tu proposes un chiffrement basé sur le secret de l'algorithme, ce qui est plutôt risqué, car si quelqu'un découvre l'algorithme, tu peux le jeter aux oubliettes contrairement aux système modernes à clés. Il suffit donc d'une attaque réussie pour rendre caduque la méthode de chiffrement.
|
|
|
9
|
Challenges / Aide Hacking / Re : Hacking - Espace 'admin'
|
le: 16 Août 2008 à 12:32:07
|
Bonjour, je viens de passer cette épreuve. Effectivement, même si je tenais la bonne solution dès le début (une solution qui aurait fonctionné en temps normal), j'ai dû tester plusieurs alternatives avant de trouver la bonne. A mon avis le script de vérification devrait être plus permissif, une simple expression régulière permet de traiter de nombreuses variations dues aux caractères blancs, aux diverses syntaxes de commentaires et à la possibilité d'utiliser ou non le ';' à la fin des requêtes SQL.
Bonne continuation tout le monde.
|
|
|
|