|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.08.2013, 20:20 | #1 |
Новичок
Джуниор
Регистрация: 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. Причина: Ошибочно пытался вставить теги, не заметив, что это фриланс... |
19.08.2013, 00:48 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 639
|
Ставите JDK (свободно качается и ставится буквально в один клик) и пишите одну простую команду для компиляции
ICQ: 677936656 Gmail: ekEmbed@gmail.com
|
19.08.2013, 00:49 | #3 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
На С напрямую не получится, нужно какую-нибудь библиотеку для длинной арифметики подключать. Вам всё равно какую?
На Java много описок, у Вас есть исходный код почище? Если еще актуально, напишите мне на мыло black.fregat@gmail.com |
24.08.2013, 06:53 | #4 |
Новичок
Джуниор
Регистрация: 17.08.2013
Сообщений: 0
|
Извиняюсь не подскажите при компиляции javac RSABackDoor.java выскакивает ошибка на последнюю строку backdoor.getWeakKeys(); а без строки компилируется,пробовал всячески изменить,может что то добавить спасибо.
Последний раз редактировалось coldin; 24.08.2013 в 07:02. |
24.08.2013, 12:52 | #5 |
Пользователь
Регистрация: 10.08.2013
Сообщений: 67
|
может все таки так:
RSABackDoor backdoor = new RSABackDoor(Integer.parseInt(args[0]) / 2); backdoor.getWeakKeys(); |
24.08.2013, 18:06 | #6 |
Новичок
Джуниор
Регистрация: 17.08.2013
Сообщений: 0
|
asmprog
Спасибо получилось! |
31.08.2013, 20:22 | #7 |
Новичок
Джуниор
Регистрация: 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. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |