|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 3, 2004 21:18:21 Привет. А что это за программа, если не секрет ? :) Не Shadow Security Scanner случаем ? :) Заранее благодарен. ;) |
|
|
Дата: Ноя 3, 2004 22:08:35 Нет. Программка для фотографов , стоимостью 45 $. Просто для такой дешевой программы всё было сделано весьма красиво. |
|
|
Дата: Ноя 3, 2004 22:26:10 · Поправил: bogrus В base64 используется такой ряд: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ А у того фотографа в хелпе вычитал, что вроде используется такой: +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz Т.е. получается там "A"=0..."/"=63, а там "+"=0..."z"=63 ? Может ты лучше сдампишь в отладчике нормальный хекс? |
|
|
Дата: Ноя 3, 2004 23:51:28 Так у этой программы имя есть ? :x Как же она называется ? |
|
|
Дата: Ноя 4, 2004 00:21:31 ** Может ты лучше сдампишь в отладчике нормальный хекс? ** во-во, я это сразу предлагал. В общем хекс-представление параметров в студию. |
|
|
Дата: Ноя 4, 2004 09:33:00 Да , внимательней надо мне было help читать. И я никак не думал , что программеры компонента выдумают свой ряд для base 64. Ламернулся :) Bogrus Ты же скачал компонент , как я понял , можешь ли вывести соответствие их кодировки и той которая должна быть , компильнув пример. Не могу понять механизм конвертации - он вроде бы лежит в функции MakeKeyPair ? И действительно дело в кодировке , потому что для проверки простоты числа разработчики использовали тесты Миллера-Рабина и Соловея-Штрассера и скорей всего никакой лажи не допустили. Спасибо всем за помощь. |
|
|
Дата: Ноя 4, 2004 10:08:38 bogrus Ты же скачал компонент , как я понял Хе, скачать то скачал RSA_free.zip, но эта х. не обнаружила у меня борландовских продуктов и ничего кроме хелпа не поставила :) |
|
|
Дата: Ноя 4, 2004 15:56:25 Накидал программу для перевода из их кодировки в каноническую :) Вот 16-ричный код - 34BD4FE379A60DA747815CDBCD9BD12F11C8F4074143F658D391CF4 3A0239DBD38A150FE01B492F245B4C25EA48C95A5A8F5B068A6B475 5AE38C64159759C4B Всё равно RSATool раскладывает число на 3 простых. |
|
|
Дата: Ноя 4, 2004 16:24:25 Приведенные тобой и те и эти числа недотягивают до 512 бит, в хексе должно быть 64 (40h) байт (128 символов) Лучше ищи в отладчике (судя по хелпу рой в сторону EConvertError), там должно быть ясно какая экспонента и какой modulus после конвертации, хотя... врядли это чем-то поможет разложить RSA512 :) |
|
|
Дата: Ноя 4, 2004 19:53:15 2 Bogrus Согласен , я привёл ключ из реальной программы (для фотографов) , но если взять ключ из Examples установленного компонента , то там 100 пудов 512-битный ключ.Если скомпилируешь этот Example , то программа тоже генерирует ключи. И в обоих случаях ключи 512-битные ,но опять же они факторизуются на 3 и более простых числа. Я менял порядок байтов на инверсный ,но RSATool факторизует предлагаемый modulus на раз. В конце концов речь ведь не о 45 баксовой программе , а конкретно об этом компоненте и о возможно ошибочной реализации RSA. И главное о том , какие выводы (в первую очередь) можно сделать и какие "дивиденты" из этого можно поиметь. Скомпилируй и убеди меня , что это не кривые руки программеров , а мои кривые мозги :) С уважением , man0war. |
|
|
Дата: Ноя 4, 2004 22:51:30 Скомпилируй Блин, у меня полтора часа ушло поставить дельфи, научится компилировать в нем маленькие exe'шки :) Вот архивчик по TRSA, надо будет поразбираться в ихнем BASE64 и BigNum, может завтра ... procedure TfrmRSATest.btnCreateKeyClick(Sender: TObject);
var
SeedP: BigNum; // holds the seed for the random search of Prime1
SeedQ: BigNum; // holds the seed for the random search of Prime2
PrimeLength: Integer; // holds the number of significant 32 bit words
i: integer; // loop counter
begin
{** get a random seed for the search - your routine
should use a high quality RNG to fill this seed **}
// get the number of words in the BigNum for the currently selected key length
PrimeLength := RSA1.GetPrecision;
// fill the random numbers which will seed the search engine
for i := 0 to PrimeLength do
begin
SeedP.Contents[i] := Random($FFFFFFFF);
SeedQ.Contents[i] := Random($FFFFFFFF);
end;
RSA1.MakeKeyPair(SeedP, SeedQ); // create the key pair _1628218834__trsa.rar |
|
|
Дата: Ноя 5, 2004 09:52:22 Зачем обязательно Delphi ставить , если Pascal не знаешь, то поставь Builder , это же не принципиально. Есть вопрос , если modulus раскладывается на 3 и более множителя , то естественно , что Encrypt/Decrypt работать не будет и верификация тоже , но в примере у них всё работает. Что-то я совсем запутался. |
|
|
Дата: Ноя 5, 2004 13:02:32 Запутался потому, что надо ихний base64 преобразовать точно так, как это делает прога, иначе неправильный modulus будет разлаживатся не на два простых числа, а на всякую ерунду Короче я пока сделал так: Ввел в прогу твой public key "++11IE:pGQKLK-NACiKpFfdc-PxcKOZAGeL0HPFm97h-sDIVWHjRC0c1xQYHXZx13o-oX Q2j2xaBjBL-SodBMOSXzIjo+", нажал Set Entered Key, потом бряки-кряки и в отладчике появился такой хекс: 5D1627D5EB305960E91AD596A1FD16A02A31A566D1360997076DB2C82486D483A8E074 EF4E24D70F5D0C7D390437D20136664FBCED0557F39E863529D02FF58F Переворачиваем: 8FF52FD02935869EF35705EDBC4F663601D23704397D0C5D0FD7244EEF74E0A883D486 24C8B26D07970936D166A5312AA016FDA196D51AE9605930EBD527165D Меняем number base: 7539679715254555336427901656902588117692097765901830952359442316635707 0830310610697188556473784736230294790299127578758798866606922707100238 72991415703133 Теперь можешь впихнуть это в Cryptool,RSA Tool и ждать ...Ж) 326807967___00D00000.mem |
|
|
Дата: Ноя 5, 2004 13:56:56 C modulus мне всё понятно , янеправильно конверировал , а exponenta какая ? |
|
|
Дата: Ноя 5, 2004 14:41:47 · Поправил: bogrus 20931 забыл перевернуть хекс, вот 50001 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063 |