![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
*kitty* |
![]() ![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Женский Репутация: ![]() ![]() ![]() |
Здравствуйте! Очень нужна помощь в написании небольшой программы с большими числами.
![]() В протоколе аутентификации ФФШ секретный ключ формируется следующим образом: ищутся квадратичные вычеты по модулю n (n=p*q, где p и q – большие простые числа), далее находят их обратные значения опять же по модулю n, затем из получившегося множества выбирают k значений, из каждого значения извлекается квадратный корень по модулю n – получившийся вектор из k чисел и будет секретным ключом. В цифровой же подписи секретный ключ формируется иным образом. Вот и попала я в тупиковую ситуацию: на Си/Си++ ранее писать не приходилось, работала только на Делфи, поэтому каждый шаг дается пока с трудом, а тут такая головоломка… ![]() Библиотека, на первый взгляд, приличная, все функции снабжены кратким описанием, присутсвуют все необходимые операции модулярной арифметики: умножение, вычисление обратного значения, квадратного корня и т.д. Сама понимаю, что не справлюсь, поэтому буду очень рада помощи. Прикрепляю проект с присоединенной библиотекой, ничего не выбрасывала из кода, хотя хэш-функция мне не нужна, а для начала только процедура FFS_gen_keys. Так же выкладываю описание самого алгоритма. ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата 1) пропадает голубой цвет "clInactiveCaptionText", установленный у компонента "GroupBox1" (фон картинок с формулами подобран также под этот цвет); С этим и вторым пунктом (хотя у меня пропадает только этот, второй как раз отображается как положено, но это - скорее всего просто повезло) все просто: проблема - как раз в разных темах, как и предполагалось. Как исправить:1) в режиме Design-а, то есть, еще до запуска программы, пока ты видишь свою форму в визуальном редакторе, для всех RichEdit-ов, лежащих внутри GroupBox-а, устанавливаешь ParentColor в True (тогда цвет не будет устанавливаться вручную, а будет получаться у родительского элемента, что предпочтительнее, достаточно сменить цвет родителя, и все дочерние элементы тоже поменяют цвет). Это можно сделать и в рантайме, скажем, при создании формы, вот так: for(int i = 0; i < Form1->ComponentCount; i++), но "зачем откладывать на RunTime то, что можно сделать в DesignTime-е?" (почти цитата) 2) А вот что обязательно придется сделать в рантайме - это: void __fastcall TForm1::FormCreate(TObject *Sender). И проблема решена. А вот насчет пунктов 2 и 3 - я понимаю, что проблема возникает из-за разного разрешения экрана, что можно сделать - почитай здесь: Multi-Resolution Delphi Applications (к сожалению, тут я помочь тебе чем-то практическим вряд ли смогу, у меня на всех доступных машинах разрешения установлены в 1920х1080, сама понимаешь, что при таких числах маловероятно добиться искажения формы). Если можно - присоедини скриншот, что именно искажается, и относительно чего, тогда хотя бы можно будет посоветовать, какие Anchor-ы выставить... |
![]() ![]() |
![]() |
Текстовая версия | 22.07.2025 13:18 |