Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2013, 20:20   #1
coldin
Новичок
Джуниор
 
Регистрация: 17.08.2013
Сообщений: 0
По умолчанию преобразовать код java в C

Здраствуйте помогите чайнику,есть код на java если можно скомпилируйте или тот же код на C спасибо.

> begin of Windows Clipboard
package rsabackdoor;
/**
*
Title: Back door for RSA. Sample.</p>
*
Description: RSA back door. Sample.</p>
*
Copyright: Copyright © 2005</p>
*
Company: Reshetov & Co</p>
* @author Yury V. Reshetov
* @version 1.0
*/
import java.awt.*;
import java.math.*;
import java.util.*;
public class RSABackDoor {
private int bits;
private BigInteger p = null;
private BigInteger q = null;
private BigInteger one = new BigInteger("1");
//Construct the application
public RSABackDoor(int bits) {
this.bits = bits;
}
private void getPrimes() {
Random r = new Random();
p = new BigInteger(bits, bits, r);
do {
q = new BigInteger(bits, bits, r);
} while (q.equals(p));
}
private void getWeakKeys() {
BigInteger d = one;
BigInteger e = BigInteger.ZERO;
BigInteger n = one;
do {
do {
this.getPrimes();
n = p.multiply(q);
long l = n.longValue();
Random r = new Random(l);
BigInteger c = new BigInteger(bits, r);
try {
d = c.modInverse(p.subtract(one).multip ly(new BigInteger(bits, new
Random())));
} catch (Exception ex) {}
} while ((d.bitLength() < bits)||(d.getLowestSetBit() > 0));
try {
e = d.modInverse(p.subtract(one).multip ly(q.subtract(o ne)));
} catch (Exception ex) {
e = BigInteger.ZERO;
}
System.out.println();
} while (e.equals(BigInteger.ZERO));
System.out.println("Public key: " d);
System.out.println("Private key: " e);
System.out.println("Common number: " n);
System.out.println("factor p = " p);
this.hack(d, n);
}
private void hack(BigInteger d, BigInteger n) {
System.out.println("Start hacking: " new Date());
BigInteger x = new BigInteger(32, new Random());
long l = n.longValue();
Random r = new Random(l);
BigInteger c = new BigInteger(bits, r);
BigInteger factor = x.modPow(c.multiply(d).subtract(one ),
n).subtract(one).gcd(n);
System.out.println("Finish hacking: " new Date());
System.out.println("Calculate factor: " factor);
}
//Main method
public static void main(String[] args) {
new RSABackDoor(Integer.parseInt(args[0]) / 2);
backdoor.getWeakKeys();
}
}
> end of Windows Clipboard


Прожка запускается с командной строки,пытался сам извилин маловато,спасибо.

Последний раз редактировалось Serge_Bliznykov; 19.08.2013 в 09:15. Причина: Ошибочно пытался вставить теги, не заметив, что это фриланс...
coldin вне форума Ответить с цитированием
Старый 19.08.2013, 00:48   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Ставите JDK (свободно качается и ставится буквально в один клик) и пишите одну простую команду для компиляции
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 19.08.2013, 00:49   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

На С напрямую не получится, нужно какую-нибудь библиотеку для длинной арифметики подключать. Вам всё равно какую?

На Java много описок, у Вас есть исходный код почище?

Если еще актуально, напишите мне на мыло black.fregat@gmail.com
Black Fregat вне форума Ответить с цитированием
Старый 24.08.2013, 06:53   #4
coldin
Новичок
Джуниор
 
Регистрация: 17.08.2013
Сообщений: 0
По умолчанию

Извиняюсь не подскажите при компиляции javac RSABackDoor.java выскакивает ошибка на последнюю строку backdoor.getWeakKeys(); а без строки компилируется,пробовал всячески изменить,может что то добавить спасибо.

Последний раз редактировалось coldin; 24.08.2013 в 07:02.
coldin вне форума Ответить с цитированием
Старый 24.08.2013, 12:52   #5
asmprog
Пользователь
 
Регистрация: 10.08.2013
Сообщений: 67
По умолчанию

может все таки так:
RSABackDoor backdoor = new RSABackDoor(Integer.parseInt(args[0]) / 2);
backdoor.getWeakKeys();
asmprog вне форума Ответить с цитированием
Старый 24.08.2013, 18:06   #6
coldin
Новичок
Джуниор
 
Регистрация: 17.08.2013
Сообщений: 0
По умолчанию

asmprog
Спасибо получилось!
coldin вне форума Ответить с цитированием
Старый 31.08.2013, 20:22   #7
coldin
Новичок
Джуниор
 
Регистрация: 17.08.2013
Сообщений: 0
По умолчанию

Еще проблемка компилировал прожка работает,думал попробывать по статье http://viaccessfree.biz/forum/showthread.php?t=18966 только не понятно,как подставить модуль (открытый ключ) а bits понятно 2048,думал подделать ключ RSA для открытого сертификата безопасности для прошивки коммутатора,может у кого мысли есть?Прожку прилепить к сообщению http://www.programmersforum.ru/attachment.php?attachmentid=62583&s tc=1&d=1377966321 запуск java -jar RSABackDoor.jar 2048 "bits",спасибо за любой ответ.

Последний раз редактировалось coldin; 31.08.2013 в 20:36.
coldin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Java,преобразовать тип al-udmi Помощь студентам 0 24.04.2012 15:43
преобразовать в код С++ daniil2010 Помощь студентам 2 22.04.2010 15:33
Преобразовать код... CodeExpert Помощь студентам 3 09.11.2009 16:00
Как преобразовать код SeRhy HTML и CSS 1 17.08.2008 15:50