Archives 2012

GcaptchaZ

Monday, 19 November 2012
|
Écrit par
Grégory Soutadé

GcaptchaZ est un petit soft qui permet de générer des CAPTCHA en ligne de commande. C'est la transcription en C du générateur PHP de Logz avec quelques modifications. Je trouve que les CAPTCHA générés sont beaucoup plus sympa et compréhensibles que les reCAPTCHA de Google et c'est 'à priori' le seul générateur en ligne de commande, les CAPTCHA étant normalement générés de manière dynamique et utilisés une seule fois.

Au début je voulais l'intégrer dans Dynastie, l'idée étant de générer un nombre fixe de CAPTCHA pour les commentaires, en gardant la correspondance fichier <--> résultat. Pour cela j'utilise une petite astuce : le nom du fichier devait être le résultat du CAPTCHA chiffré en AES 128 avec le MD5 d'une passphrase (ce qui évite aussi de lister les captchas si on les nomme avec un id incrémental). La seconde étape consiste à les répartir aléatoirement dans les commentaires et de vérifier qu'une adresse IP ne résout pas plus de trois fois le même CAPTCHA (en modifiant l'id dans le formulaire des commentaires).

Finalement il ne sera pas intégré (du moins pour le moment). En effet, lors de mes recherches je suis tombé sur une astuce plus intelligente. Le but des CAPTCHA est de n'être déchiffré que par un humain, ce qui a le désavantage d'énerver les utilisateurs quand ils sont incompréhensibles. Donc un CAPTCHA n'arrêtera pas un humain qui veut spammer un forum/blog... Par contre, les robots spammeurs remplissent automatiquement le formulaire de commentaire, l'astuce consiste donc à mettre un champ email invisible et de vérifier côté serveur s'il est rempli ou non.

Logo GcaptchaZ

Reality

Monday, 19 November 2012
|
Écrit par
Grégory Soutadé

Affiche du film Reality

Depuis qu'Enzo est passé dans l'émission de télé réalité "Il Grande Fratello" (le loft story Italien, qui existe depuis 2000), il est devenu une star. Il est riche, tout le monde se l'arrache. De l'autre côté de l'échelle il y à Luciano qui tient une poissonerie dans un quartier pauvre de Naples. Avec sa femme et son ami/employé, ils organisent un trafic de robot ménager pour pouvoir finir le mois. Un jour, ses trois enfants le poussent à passer un casting pour la nouvelle saison de "Il Grande Fratello". Son premier essai étant concluant, il est convié à un second casting à Rome. C'est alors que Luciano commence à perdre pied. Persuadé qu'il va être rappelé pour entrer dans la Maison, il va peu à peu détruire sa vie et sa famille.

"Reality" a obtenu le Grand Prix lors du 65ème festival de Cannes (2012) et ce n'est que juste récompense pour le réalisateur/co-producteur et co-scénariste Matteo Garrone. Plus encore depuis le début de la crise économique de 2007, "Reality" est en phase avec son époque : sur-médiatisation générale, besoin de reconnaissance, crise et argent facile. Il faut vendre du rêve ! Si d'un point de vue réalisation, Garrone livre une pépite, ce n'est pas le cas pour le fond. En effet, les 1h55 de film paraissent très très longues. Sans être complexe, l'histoire met du temps à se poser. De plus, il faut faire un effort incroyable pour arriver à associer les personnages et les actions à l'histoire. La lenteur de l'action qu'impose la dimension dramatique du projet ne fait qu'amplifier cet effet de lourdeur. La représentation des acteurs est néanmoins très bonne. De l'autre côté, il y a la réalisation, et, pour le coup, c'est un gros point fort du film. Matteo Garrone nous offre de très beau plans et des angles de vue vraiment intéressants. Le jeu qu'il peut faire avec les ombres est recherché et les flous sont enfin utilisés de manière pertinentes. Les deux seuls points négatifs sont l'utilisation un peu trop fréquente de la caméra portée ainsi que la scène de la boîte de nuit qui fera exploser les yeux ou la tête (ou les deux) du spectateur. Bref, "Reality" est un bon film, mais il ne faut pas le mettre entre toutes les mains.

Configuration Novembre 2012

Monday, 12 November 2012
|
Écrit par
Grégory Soutadé
COOLER MASTER Silencio 650 							 109.90 €
Alimentation COOLER MASTER GX 450W						  49.90 €
INTEL i5-3550 3.3GHz - 6Mo cache - TurboBoost - Graphic HD 2500			 188.84 €
ASUS P8Z77-V LK									 126.90 €
Crucial Ballistix Elite 8Go (2x4Go) PC12800 1600MHz CL8 			  49.90 €
SAPPHIRE ATI Radeon HD7850 OC							 184.89 €
CORSAIR SSD Force 3 - 2.5 pouces - 120 Go - SATA III 				  94.99 €
WESTERN DIGITAL Caviar Green - 500 Go - SATA 6Go/s - 64 Mo cache		  59.99 €
LG BH10LS38 SATA 								  69.99 €
LOGITECH Wired Keyboard K120							  11.99 €
LOGITECH Mouse M500 								  25.90 €
ALTEC LANSING VS2721 - Ensemble 2.1 						  36.99 €

Total :										1010.18 €

En sus
PHILIPS 273P3LPHEB 								 299.00 €

JM2L 2012

Monday, 05 November 2012
|
Écrit par
Grégory Soutadé

Bannière JM2L 2012

Comme chaque année revient les Journées Méditerranéennes du Logiciel Libre : un salon informatique accès autour des logiciels libres et qui se déroule dans les locaux de Polytech'Nice à Sophia-Antipolis (06). L'entrée est gratuite et ouverte à tous pendant les deux jours (23 et 24 novembre 2012) de conférences/ateliers/bonne humeur. Le programme est disponible ici. N'hésitez pas à venir nombreux !

Fast software DES implementation

Wednesday, 31 October 2012
|
Écrit par
Grégory Soutadé

This is a fast software DES implementation for 64 bits machines thats supports intel SSE instructions (SSE, SSE2, SSE3 and SSSE3). The x86_64 architecture lacks support for bit manipulation and the ones introduced by AMD are not used here. The main SSE instruction used is "pmovmskb" that will extract the most significant bit of each byte inside an XMM register. That allows to do linear permutations with few instructions, but for random permutations a simple mask-shift is used. The next generation of processors with AVX2 should includes some bit manipulation instructions that will even more speed up DES computation.

Currently, my implementation is about 10 times faster than the one in OpenSSL 1.0.1c, assembly optimized but 32 bits centered. The package includes a basic implementation in full C (des.c) for algorithm comprehension and the fast implementation in fast_des.c. fast_des.c is linked with the libcrypto.a of OpenSSL (configured with linux-x86_64) to do benchmarks. The benchmark is to do 1 000 000 full DES computation. I obtained these values :

fast_des.c Init value 123456789abcdef Fast des Time 0 29333426 85e813540f0ab405 Des Time 0 362639005 85e813540f0ab405 des.c : Init value 123456789abcdef Time 0 236431885 85e813540f0ab405

My configuration is compounded by an intel core i5 m450 @ 2.4Ghz, 4Gb of RAM, Linux 64, gcc 4.7.1. One funny thing is that if I compile fast_des.c with -O3 flag, performances dramatically falls just under OpenSSL implementation. On an core 2 duo E7500 @ 2.93GHz :

Init value 123456789abcdef Fast des Time 0 110037322 85e813540f0ab405 Des Time 0 352010444 85e813540f0ab405

Source file can be found here.