Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.77/91: Рейтинг темы: голосов - 91, средняя оценка - 4.77
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116

ГОСТ 3410 / Работа с длинными числами

01.10.2008, 12:20. Показов 19313. Ответов 75
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Начал делать курсовик по реализации ЭЦП по ГОСТ 34.10 (и соответственно 34.11 и 28147 ). В качестве среды разработки выбрал C++ Builder.
Возник вопрос: Как работать с большими числами размером в 256,512,1024 бит? Они, ведь, ни в один тип данных не лезут (int только 32 бита). В контрольком примере дано число 5789604461865809771178549250434395392663 4992332820282019728792003956564821041.
P.S Чужая реализация 3410-01 Но, есть сильное подозрение а то, что препода "кинули" - подсунили ему в место ГОСТ 3410-2001, забугорский ECDSA.
Мой курсовик:
Недостатки:
1) Результат проверки не совпадает с генерированой подписью. Проблема в математике.
2) Нет создания хэша функции по ГОСТ 3411
3) Нет вычисленя параметров ЭК.
4) Длительное время работы (прога не зависла - она считает)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.10.2008, 12:20
Ответы с готовыми решениями:

Работа с длинными числами
Не работает программа с длинными числами...подскажите как поправить (3ab-4c) / d^2 .model small .stack 100h .data a db 10 ...

Работа с длинными числами
Мне нужно прочитать из файла 22-х значные целые числа для количественного сравнения. int и long int не сохраняют полную длину числа. Какой...

Работа с длинными числами
Здравствуйте! На программировании в вузе дали индивидуальную задачу которая предусматривает работу с большими числами: 1 <= N...

75
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
17.11.2008, 15:05  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от WooDooMan Посмотреть сообщение
погоди, ну так на глаз - у тебя же цикл с 1 начинается, а вообще трассировать надо, мутноватый у тебя лог, если честно
А при чем здесь это? Я ведь ни где в BufMas1[0] нуль не присваиваю?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
17.11.2008, 16:23
догнал, хотя все это странно выходит... почему он 0, слей проект, потрассировать надо, так сказать что-то сложно...
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
17.11.2008, 16:51  [ТС]
WooDooMan, вот - http://slil.ru/26340978
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
17.11.2008, 17:18
честно говоря, я не могу понять, как это оно у тебя обнуляло в суммировании второе число, потом гляну, но я кое-какие внес изменения в прикрепленном архиве - глянь, так должно работать или нет?
Вложения
Тип файла: rar 3410.rar (12.5 Кб, 67 просмотров)
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
17.11.2008, 18:50  [ТС]
WooDooMan, Спасибо, тоже помогло. Я сам просто создал новую переменную и передавал значение через нее, обходя проблемный код.
Code
1
memset(BufMas1, 0, sizeof(int)*100);
Эта строчка просто выделяет память под массив или обнуляет массив? Если первое, то как можно обнулить массив без использования цикла for?
0
0 / 0 / 0
Регистрация: 17.11.2008
Сообщений: 12
17.11.2008, 19:10
мучаюсь с ГПСЧ.
long поддерживает 8значные числа насколько знаю, но надо умножить 2 восьмизначных числа, насколько я понимаю в переменную типа long это не влезет?
может кто-нибудь посоветовать как это сделать?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.11.2008, 09:34
Code
1
memset(BufMas1, 0, sizeof(int)*100);
- забивает память нулями или чем захочешь

Добавлено через 24 секунды
deathklaat, длинная африметика вам в помощь
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
18.11.2008, 16:57  [ТС]
WooDooMan, Как можно узнать какое наибольшее число влезает в тип int?
Я знаю, что 4294967295, но мне интересно как это можно узнать.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
18.11.2008, 18:43
опытным путем, впиши максимальное и инкрементируй и глянь, что получится
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
20.11.2008, 10:34  [ТС]
WooDooMan, еще несколько вопросов:
1) Как можно провести табуляцию (сдвиг) сразу для всего текста кода?
2) Как можно копировать из одного массива в другой без цикла for?
3) Как можно быстро увеличить размер всех элементов форм в 1,5 раза?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.11.2008, 10:51
1) shift + alt позволяют выделять полоски, их можно использовать как табуляции
2)
Code
1
memmove(fib0, fib1, sizeof(int)*N);
3) а вот с этим сложнее, тут разве что пробежать в цикле по всем компонентам и увеличить их размеры, других способов не знаю
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
20.11.2008, 13:37  [ТС]
WooDooMan, езще вопрос:
4) как лучше сделать индикатор, показывающий, что программа работает и не зависла? ProgressBar не очень подходит т.к используетя много функций и нет единного счетчика.
5) Как показать время работы программы т.е сколько потребовалось ей времени для расчета?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
20.11.2008, 14:00
4) ты во всех длительных операциях не забывай вставлять Application->ProcessMessages или такие операции в отдельные процессы отправляй...
5) ну это просто запоминаешь в tdatetime begin = now(); в конце кода tdatetime end = now();, а потом label1->text = timetostr(end - begin);
0
IS
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
06.12.2008, 19:22  [ТС]
WooDooMan, Спасибо за помощь.
0
 Аватар для QenT
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
30.01.2009, 20:26
Знать алгоритмы с большими числами, полезно, но может кто нибудь уже нашел тип переменной, больше(unsigned __int64)? Буду очень благодарен тому, кто скажет!!!
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
31.01.2009, 01:27
в принципе я видел библиотеку, в которой уже алгоритмы реализованы... но к сожалению, я ее не использовал и ее название кануло в лету... сам все писал... поэтому гугль вам поможет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.01.2009, 01:27

Работа с длинными числами (Delphi 7)
подскажите как написать программу в делфи 7 длинные числа(произведение)!плз!!

Функция с++ (работа с длинными числами - вывод результата в файл)
У меня есть проэкт с++ который использует динамическую библиотеку для работы с длинными числами. В проэкте я перегружаю операторы +,-,...

Действия с длинными числами
Ребята, нужна помощь. Информации нигде нет. Задача такова. Нужно провести арифметичексие действия с целыми числами не превышающие 30 цифр....

Сочетания с длинными числами
Нужно создать программу, которая вычисляла бы количество комбинаций для сочетания без повторения. По сути, сочетания C=n!/(m!(n-m)!)....

Операции с длинными числами
Друзья! Помогите пожалуйста. Мне надо составить программу, которая будет вычислять (сложить, вычитать, умножать) длинных чисел до 50 цифр. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
76
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru