Je cherche un programme de cryptage RSA

Fermé
ficam1 - Modifié le 10 mai 2008 à 16:42
nabil_joeseph
Messages postés
6
Date d'inscription
mercredi 6 mars 2013
Statut
Membre
Dernière intervention
21 mai 2013
- 21 mai 2013 à 12:16
salut
j ai besoin d un progaramme (c/c++)de cryptage et decryptage qui utilise la methode RSA et je vous en serai tres reconnaissant si la clé est codée sur 128bits et merci bp

14 réponses

bonjour,package myrsa;
import java.io.*;
import java.math.*;
import javax.crypto.*;
import java.security.*;
import java.security.spec.*;
import java.security.interfaces.*;
import java.math.BigInteger;


/**
* Cette classe propose des méthodes permettant de crypter et décrypter des
* messages avec l'algorithme RSA. Le message doit cependant être plus petit
* que KEY_SIZE.
*/


/**
*
* @author kerim
*/
public class MyRsa {public final static int KEY_SIZE = 1024; // [512..2048]

private RSAPublicKey publicKey;
private RSAPrivateKey privateKey;


public MyRsa() {
}


public RSAPublicKey getPublicKey() {
return publicKey;
}


public byte[] getPublicKeyInBytes() {
return publicKey.getEncoded();
}


public RSAPrivateKey getPrivateKey() {
return privateKey;
}


public byte[] getPrivateKeyInBytes() {
return privateKey.getEncoded();
}


public void setPublicKey(RSAPublicKey publicKey) {
this.publicKey = publicKey;
}


public void setPublicKey(byte[] publicKeyData) {
try {
X509EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(publicKeyData);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
publicKey = (RSAPublicKey)keyFactory.generatePublic(publicKeySpec);
}
catch (Exception e) {System.out.println(e);}
}


public void setPrivateKey(RSAPrivateKey privateKey) {
this.privateKey = privateKey;
}


public void setPrivateKey(byte[] privateKeyData) {
try {
PKCS8EncodedKeySpec privateKeySpec = new PKCS8EncodedKeySpec(privateKeyData);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
privateKey = (RSAPrivateKey)keyFactory.generatePrivate(privateKeySpec);
}
catch (Exception e) {System.out.println(e);}
}


public void generateKeyPair() {
try {
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
keyPairGen.initialize(KEY_SIZE, new SecureRandom());
KeyPair kp = keyPairGen.generateKeyPair();
publicKey = (RSAPublicKey)kp.getPublic();
privateKey = (RSAPrivateKey)kp.getPrivate();



}
catch (Exception e) {System.out.println(e);}
}


public byte[] crypt(byte[] plaintext) {
return crypt(new BigInteger(addOneByte(plaintext))).toByteArray();

}


public byte[] crypt(String plaintext) {
return crypt(plaintext.getBytes());
}


public byte[] decryptInBytes(byte[] ciphertext) {
return removeOneByte(decrypt(new BigInteger(ciphertext)).toByteArray());
}


public String decryptInString(byte[] ciphertext) {
return new String(decryptInBytes(ciphertext));
}


/**
* Cette méthode permet de tester le bon fonctionnement des autres.
*/
public static void main(String[] args) {
String plaintext = "issam";
System.out.println("plaintext = " + plaintext);
MyRsa rsa = new MyRsa();
rsa.generateKeyPair();

byte[] publicKey = rsa.getPublicKeyInBytes();
byte[] privateKey = rsa.getPrivateKeyInBytes();

byte[] ciphertext = rsa.crypt(plaintext);

System.out.println("ciphertext = " + new BigInteger(ciphertext));

// rsa.setPublicKey(publicKey);
// rsa.setPrivateKey(privateKey);
String plaintext2 = rsa.decryptInString(ciphertext);
System.out.println("plaintext2 = " + plaintext2);
if (!plaintext2.equals(plaintext)) System.out.println("Error: plaintext2 != plaintext");
}


private BigInteger crypt(BigInteger plaintext) {
return plaintext.modPow(publicKey.getPublicExponent(), publicKey.getModulus());
}


private BigInteger decrypt(BigInteger ciphertext) {
return ciphertext.modPow(privateKey.getPrivateExponent(), privateKey.getModulus());
}


/**
* Ajoute un byte de valeur 1 au début du message afin d'éviter que ce dernier
* ne corresponde pas à un nombre négatif lorsqu'il sera transformé en
* BigInteger.
*/
private static byte[] addOneByte(byte[] input) {
byte[] result = new byte[input.length+1];
result[0] = 1;
for (int i = 0; i < input.length; i++) {
result[i+1] = input[i];
}
return result;
}


/**
* Retire le byte ajouté par la méthode addOneByte.
*/
private static byte[] removeOneByte(byte[] input) {
byte[] result = new byte[input.length-1];
for (int i = 0; i < result.length; i++) {
result[i] = input[i+1];
}
return result;
}}
11
salut karim

merci beacoup pour votre programme qui ça marche trés bien

just pouvez vous m'envoyer qlq commentre sur votre programme pour je puisse compendre comment ça marche

bonne journée
0
Davidlouiz
Messages postés
3
Date d'inscription
dimanche 1 juillet 2007
Statut
Membre
Dernière intervention
5 avril 2011
1
Modifié par Davidlouiz le 5/04/2011 à 01:01
Tu peux utiliser la bibliothèque RSA en C++, tout simplement.
0
comment lire le contenue du fichier texte"texte crypte"et l'afficher dans un texte box puis l'include dans un image,enfin faire l'extraction du texte crypte(mel image).
0
Bonjour,
je veux implémenter une attaque sur RSA, et je n sais comme le faire.
est ce que tu peux m'aider.
Merci
0
nabil_joeseph
Messages postés
6
Date d'inscription
mercredi 6 mars 2013
Statut
Membre
Dernière intervention
21 mai 2013

21 mai 2013 à 12:16
mais ta pas citer comment ton generateur de clés RSA fonctionne
0
sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 653
20 mai 2004 à 23:20
Hello.

Je pense que tu trouvera ce qu'il te faut dans la librairie OpenSSL.
Les sources sont disponibles et elle contient l'algo RSA.

http://www.openssl.org/
2
Je cbherche un programme de cryptage et de décryptage RSA en langage java
2
salut
moi aussi je travail sur le RSA , j ai programmer algoritme mais je trove toujour des difficulter pour le decryptage , defois il crypte tres bien defois non , je ne sais pas ou est il le probleme
SVP aider moi
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
salut
moi aussi je cherche le meme programme , bon j'ai programmaer l'algorithme RSA en c++ , mais il ne decrypte pas correctement (defois)
SVP aider moi
1
salut,

en quoi souhaites-tu l'implémenté ? j'en ai un en C sur NT mais il faut savoir qu'il est très nul également... au fait c'est celui du site en mieux.
0
mitzic
Messages postés
6
Date d'inscription
jeudi 23 mars 2006
Statut
Membre
Dernière intervention
3 avril 2006
2
24 mars 2006 à 09:12
salut
je travaille actuellement sur le cryptage par rsa.
Je suis proche de le réaliser.
dans deux ou trois jours je le méttrai en ligne.
c'est un code en c.
bon courage
1
Salut,
Je cherche moi aussi a décrypter du texte (j'ai la clef privée sur 2048 bits, mot de passe et clef publique avec un algo RSA), mais je n'arrive pas a trouver un utilitaire sympa pour faire ça simplement.
T'as pu finir ton progr en C? si oui, t'es prets partager les sources et l'exe?

Je sais que le post date un peu, mais un petit coup de main serait bienvenue
Merci,
Ced.
0
salut je cherche une librairie ou solution Java gratuite pour crypter en RSA
j'ai vu ton post d'il y a quelques années sur commentcamarche, je me permet de te contacter pour te demander de l'aide ou des conseils

je sais que t'avais fait le programme en C mais merci d'avance pour toute aide
0
arth
Messages postés
9368
Date d'inscription
mardi 27 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2016
1 362
24 mars 2006 à 09:30
Dis moi il m'intéresse ton programme rsa, mais je voulais savoir comment tu as fait pour générer des grands nombres premiers et quelle biblio tu as utilisé pour les gérer. Si tu le mets éffectivement en ligne, bah si tu peux dire ou ce serait sympa : )
1
je cherche un programme en language C qui realise le RSA
et la signature
merci
0
je cherche des document sur le rsa sertout operateur arirhmetique pour rsa j'ai bosoin et je suis presse
1
sebsauvage
Messages postés
32844
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 653
28 mars 2008 à 16:37
0
asmai
Messages postés
1
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
30 avril 2008
1
30 avril 2008 à 16:12
salut
j ai besoin d un progaramme (c ou bien java)de cryptage et decryptage avec l'algorithme RSA pour completer mon projet de fin d'etude.
et merci...
1
salut a tous
il ya un bon tuto sur ca c'est sur http://www.siteduzero.com/tutoriel-3-2170-la-cryptographie-asymetrique-rsa.html
1
svp ,je cherche un programme de cryptage RSA en java
1
hicham bouras
24 mars 2010 à 23:20
Je cherche une application de cryptage et de décryptage RSA en langage java
0
Je cherche une application de cryptage qui converti une lettre en chiffre compliqué.... en langage c++
0
Salut à tous,

je cherche à implémenter des attaques sur RSA, est ce que quelqu'un à déjà réaliser ça.

Merci
1
hannougr
Messages postés
13
Date d'inscription
lundi 13 octobre 2008
Statut
Membre
Dernière intervention
8 mars 2012
1
21 févr. 2012 à 00:20
salut ;

supposons qu'on veux crypter/decrypter un fichier!!! comment on procéde dans ce cas?
quelles sont les modifications à faire dans le prog MyRSA proposé ci dessus?

merci
1
merci
je vous 1 programme de cryptage de un fichier basé sur la chiffrement par décalage merci et je veux la réponse plus vite stp
0
pacorabanix
31 oct. 2009 à 01:16
Bonjour, votre message est hors sujet, et peu respectueux, veuillez lire la charte svp avant de poster.
bonne soirée
0