Yop

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 6 août 2013

Tests chiffrement RaspberryPi

Il y a différents moyens de chiffrer des fichiers sous GnuLinux, mais ils se classent généralement dans 2 catégories.

  • Le chiffrement où l'on créé un volume chiffré.. et on met les fichiers dedans.

On trouve par exemple:
Truecrypt
loop-AES
dm-crypt

  • Le chiffrement fichier par fichier.

On trouve par exemple:
eCryptfs
EncFS

Le but de ce billet n'est pas de comparer les avantages/inconvénients de ces différents logiciels ni de décrire leur installation... mais uniquement de lister les résultats de mes tests de vitesse d'écriture sur le disque dur (non SSD) branché en USB sur mon Raspberry Pi.

Voir ces tests de vitesse sans chiffrement.

- Sans chiffrement
dd if=/dev/zero bs=4096 count=244140 of=/data/file_1GB
999997440 octets (1,0 GB) copiés, 35,4711 s, 28,2 MB/s

- Truecrypt(AES/256)
999997440 octets (1,0 GB) copiés, 229,275 s, 4,4 MB/s

- loop-AES (AES/128)
999997440 octets (1,0 GB) copiés, 164,494 s, 6,1 MB/s

- dm-crypt(LUKS) (AES/256)
999997440 octets (1,0 GB) copiés, 653,715 s, 1,5 MB/s

- eCryptfs (AES/128/fnek)
999997440 octets (1,0 GB) copiés, 187,407 s, 5,3 MB/s

- EncFS (Expert/AES/128/Blocs 4096)
999997440 octets (1,0 GB) copiés, 308,457 s, 3,2 MB/s


lundi, 23 juillet 2007

Chiffre de Vigenère

  • La théorie

Le Chiffre de Vigenère est un système de chiffrement, publié en 1586 par Blaise de Vigenère.

Ce système de chiffrement fût une petite révolution et resta "incassable" jusqu'en 1854, année où Charles Babbage en réussit la cryptannalyse.
Les travaux de Babbage restèrent secret jusqu'au XXème siècle (en effet il travaillait pour le roi... donc on imagine l'intérêt à ne rien révéler), mais la cryptannalyse avait été également réussie et publiée par Friedrich Wilhem Kasinski en 1863.

Je laisse le lecteur allez lire comment fonctionne le chifffrement et sa cryptannalyse.


  • La pratique - Chiffrer/Déchiffrer

Un des moyens est d'utiliser gcipher qui est utilisable aussi bien en ligne de commande qu'en interface graphique.

sudo apt-get install gcipher

$ gcipher -c Vigenere -k linux
yes yes yo yo
jmf sbd gb sl
$
$ echo jmf sbd gb sl | gcipher -C Vigenere -k linux
yes yes yo yo
$

On peut constater que la "force" du chiffre de Vigenère est qu'une même lettre du texte en clair n'est pas chiffrée par la même lettre.


  • La pratique - Décrypter

Simon Liu à écrit une petite librairie python pour décrypter un texte chiffré en Vigenère. Il est préférable de "deviner" en quelle langue le texte est écrit, et de disposer d'un texte suffisament long pour fournir les répétitions nécessaires...

$ cd /usr/include/python2.5/
$ sudo wget http://smurfoncrack.com/pygenere/pygenere.py
$ python
>>> from pygenere import *

On insert la chaine chiffrée:

>>> encrypted = 'Yfi. 1cf Acg wmabcg cywhqscr si bsbcigcbi jwqpsh ch teojv sc bfdghh.[suite tronquée]

On demande à décrypter le texte (on ne connait pas la clé):

>>> print VigCrack(encrypted).set_language('FR').crack_message()
Art. 1er Les hommes naissent et demeurent libres et egaux en droits.[suite tronquée]

Si on veut afficher la clé:

>>> print VigCrack(encrypted).set_language('FR').crack_codeword()
YOPYOP
>>> print VigCrack(encrypted).set_language('FR').crack_codeword(3)
YOP
>>>

A noter:
- J'ai utilisé dans l'exemple ci-dessus uniquement les 2 premiers articles (4 phrases).

- Même sans préciser la langue (et avec le texte de l'exemple), le texte est correctement décrypté.

- Avec un texte trop court (uniquement le premier article) nous obtenons tout de même:

Led romnes natcseot et dpweusent ltlret et eglex eo droiec.


  • Conclusion

We Esmqftp hp Vkriyetp rp pgfx oopn tls upvgit oi you usfru asfr esmqftpv oeu xidscrid mctw di kw e eowe hp mgxi ceutwee rcid dg 3 dmpcnpw pt npw ceesiccjpw oe epw 3 nraaxzgtltseu aifvgyx pttp wllwpid :) Mgcgt d cgstr hlme l gqjzrv oi oeeccatgc pl cqygwuutsy dg nie atemnlg ;)

vendredi, 9 mars 2007

ssl-cert-check - Vérifier si les certificats SSL arrivent bientôt à expiration

Pour les sysadmins qui ont plusieurs certificats SSL de plusieurs domaines à gérer...

wget http://prefetch.net/code/ssl-cert-check
chmod +x ssl-cert-check

Exemple:

./ssl-cert-check -s www.gmail.com -p 443

Host - Status - Expires - Days Left
--
www.gmail.com:443 - Valid - May 16 2007 - 68

A mettre en crontab avec l'option -x pour recevoir un mail quand un certificat de la liste arrive bientôt à expiration.

La page de ssl-cert-check

dimanche, 22 octobre 2006

Schneier

Les choses que vous ne saviez pas sur Bruce Schneier :)

- Bruce Schneier's mail server only sends him the emails' hashes, just to make things a little more interesting for him.
- Bruce Schneier can decrypt your PKI message with the public key.
- Bruce Schneier knows Alice and Bob's shared secret.
- Setting SSID of an open Wi-Fi network to "bruceschneier" makes it completely secure.
...

dimanche, 28 mai 2006

Chiffrer en symétrique avec gpg

  • Introduction

J'ai régulièrement besoin d'envoyer des fichiers chiffrés à des correspondants qui répondent aux critères suivant:
- Ils sont sous Windows
- Ils sont "néophites" et il n'est pas question d'essayer de leur faire générer (en plus de l'installation d'un logiciel) des bi-clés asymétriques.

Cela requiert l'utilisation d'un logiciel qui:
-soit gratuit (et facilement installable)
-puisse être utilisé sur (mon) Linux pour chiffrer le fichier, et sur leur Windows pour le déchiffrer
-puisse chiffrer/déchiffrer en symétrique pour simplifier au maximum la procédure.

Pour cela on peut utiliser gpg (avec l'option -c pour chiffrer en symétrique)

gpg -- encryption and signing tool

-c, --symmetric
Encrypt with a symmetric cipher using a passphrase.

  • Exemple de chiffrement

[yannick@yop /tmp] echo totootototot > toto
[yannick@yop /tmp] gpg -c --cipher-algo=AES256 toto
Enter passphrase:
Repeat passphrase:
[yannick@yop /tmp] ls toto*
toto toto.gpg
[yannick@yop /tmp]
[yannick@yop /tmp] rm toto
[yannick@yop /tmp] cat toto.gpg
è¼÷-$+q`Ò?ëfW³¿1ð. Ð[<ï c<
æ$ïÉÈßN(^·®?ÙYÏ·°èáì=v/ûwc4#Ð-F!}|Tó[yannick@yop /tmp]

  • Exemple de déchiffrement sous linux

[yannick@yop /tmp] gpg toto.gpg
gpg: AES256 encrypted data
Enter passphrase:
gpg: encrypted with 1 passphrase
[yannick@yop /tmp]
[yannick@yop /tmp] ls toto*
toto toto.gpg
[yannick@yop /tmp] cat toto
totootototot
[yannick@yop /tmp]

  • Exemple de déchiffrement sous Windows

À l'écriture de ce billet, la dernière version de binaire Windows est ici:
ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.4.3.exe

Microsoft Windows XP [version 1.2.3400]
(C) Copyright 1785-2032 Microsoft Corp.

C:\Documents and Settings\Administrateur>more c:\toto.gpg
???Þ?+¸-$+q`Ê??ÙfÜW¦+?1­.áð[<´ c<?µ$´++¯N(^À«?+Y¤éÀ?¦Þßý=v/¹wc4#ð-òF!ò}ì|T¾

C:\Documents and Settings\Administrateur>
C:\Documents and Settings\Administrateur>gpg c:\toto.gpg
gpg: AES256 encrypted data
Enter passphrase:
gpg: encrypted with 1 passphrase

C:\Documents and Settings\Administrateur>
C:\Documents and Settings\Administrateur>dir c:\toto*
Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est 1234-1234
Répertoire de c:\

28/05/2006 02:58 80 toto.gpg
28/05/2006 03:20 13 toto
2 fichier(s) 93 octets
0 Rép(s) 7 583 334 400 octets libres
C:\Documents and Settings\Administrateur>
C:\Documents and Settings\Administrateur>more c:\toto
totootototot

C:\Documents and Settings\Administrateur>

  • Installation sous Windows

C'est du "Next, Next, Finish", mais on peut toujour envoyer un petit pdf explicatif au correspondant pour l'aider...

  • A faire

Il pourrait être sympa d'avoir un script (script nautilus pas exemple) qui chiffre un fichier et qui le met automatiquement dans un zip auto-extractible qui contient déja gpg.exe et qui lançe automatiquement un .bat qui cherche à déchiffrer le fichier en question... ce qui ferait que le destinataire n'aurait même pas a installer gpg....
Si ça interresse une une bonne âme (parceque j'ai pas trouvé pour Linux?) ;)

- page 1 de 2