Steganographie & rsa, swt

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

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.