· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.CRYPTOGRAPHY —› Прошу совета у знатоков криптографии и RSA в частности.

<< . 1 . 2 . 3 . 4 . >>

Посл.отвђт Сообщен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

<< . 1 . 2 . 3 . 4 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.063