Steganographie & rsa, swt

Soyez le premier à donner votre avis sur cette source.

Vue 8 936 fois - Téléchargée 989 fois

Description

Cet utilitaire permet d'insérer des données dans une image bit map.

Il propose aussi de chiffrer les données via RSA avant de les insérer.

Le code de l'ihm swt n'est pas commenté en revanche, l'utilitaire utilisé pour la steganographie (org.stegano.utils.StegaManager) et celui pour RSA (org.stegano.utils.RSAManager) sont bien documenté et peuvent être réutilisé.

Pour utiliser l'utilitaire, vous devez ajouter dans une repertoire lib/ le jar xerces et le jar de la swt ( présent dans votre install d'eclipse ).

PS: N'oubliez pas la restriction sur la taille des clefs imposée par la loi française ( 512 bit max pour les algo asynchrone comme RSA ).

Have fun ;-)

Pierrick

Source / Exemple :


// Test du RSA Manager.
String fileContent = sb.toString();
System.out.println("fileContent = " + fileContent);

RSAManager rsa = new RSAManager();

rsa.generateKeyPair();

byte[] publicKey = rsa.getPublicKeyInBytes();
System.out.println("publicKey = " + new BigInteger(publicKey));
byte[] privateKey = rsa.getPrivateKeyInBytes();
System.out.println("privateKey = " + new BigInteger(privateKey));

// Encode the content
String encodedString = rsa.codeFullStringInString(fileContent);
System.out.println("encodedString = " + encodedString);

// Decode the content
String decodedString = rsa.decodeStringInString(encodedString);
System.out.println("decodedString2 = " + decodedString);

if (!fileContent.equals(decodedString))
	System.out.println("TEST 2 Error: fileContent != decodedString");
else
	System.out.println("TEST 2 done successfully");

// Test du stegano manager
StegaManager stegaManager = new StegaManager();
String l = ClassLoader.getSystemClassLoader().getResource("").getPath();
stegaManager.setImage(new ImageData(l + "org/stegano/data/couvZola.bmp"));
stegaManager.insertBytes("This is a message [&é#'(})$^]".getBytes());
System.out.println(new String( stegaManager.extractBytes() ));

Conclusion :


Je mettrai à jour cette source pour gérer des fichier plutôt que de simple message.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
25
Date d'inscription
mercredi 2 février 2011
Statut
Membre
Dernière intervention
22 janvier 2015
1
merci pour le code bon travail mais j'ai cette erreur:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3139 in java.library.path
Messages postés
1
Date d'inscription
mercredi 22 septembre 2010
Statut
Membre
Dernière intervention
4 octobre 2010

Bonjour,

voila un gros déterrage de post!
j'aimerais utilisé votre logiciel de cryptage, mais je n'arrive pas a le lancer.
j'effectue tous les opération préciser précédemment mas je n'arrive pas a le lancer.
pouvez vous m'aidez???

merci d'avance
Messages postés
177
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
16 janvier 2009
1
Le jar de xerces est disponible ici :
http://archive.apache.org/dist/xml/xerces-j/Xerces-J-bin.1.4.4.tar.gz

Le jar de la swt contenant les librairies natives est celui-ci:
%ECLIPSE_HOME%\\plugins\\org.eclipse.swt.win32.win32.x86_3.3.1.v3346i.jar

Vous avez juste à copier ces archives dans un répertoire lib au même endroit que le bat ( que vous avez préalablement renomé ).

A noter que le petit plus apporté par la classe RSA Manager est qu'elle permet de chiffrer des tableau de bytes de longueur quelconque même supérieur à la taille de la clé.
En revanche, je ne suis pas mathématiquement sure qu'en partageant le message en chaines de bites égales, le message reste indécryptible... A prouver.

Cordialement,
Pierrick

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.