|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|
ГОСТ 3410 / Работа с длинными числами01.10.2008, 12:20. Показов 19308. Ответов 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
|
|
| 01.10.2008, 12:20 | |
|
Ответы с готовыми решениями:
75
Работа с длинными числами Работа с длинными числами Работа с длинными числами |
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
||||||
| 21.10.2008, 15:40 [ТС] | ||||||
|
*bkmz, Вот нашел
http://slil.ru/26258183 - распознаный ГОСТ 34.10-94 http://slil.ru/26258197 - методичка какой-то конторы по шифрам Добавлено через 7 минут 24 секунды Еще пара вопросов: 1) Есть ли константа (или чего-то еще) с названием NULL? 2) Чем отличаются (__int64) T, от __int64 T;? 3) Макрос #define MakeLong (A,B) ((A)|((__int64)(B)<<m)); при его вызове выдает ошибки [C++ Error] Unit1_math.cpp(161): E2451 Undefined symbol 'B' - мол не знаю, что за B. Потом исправил на #define MakeLong ( A,int B) ((A)|((__int64)(B)<<m));. Выдает ошибку [C++ Error] Unit1_math.cpp(161): E2188 Expression syntax. Вот, код функции:
0
|
||||||
|
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
|
|
| 21.10.2008, 16:10 | |
|
IS, Ну все же там есть вещи которые настораживают.. например пункт 7 в процедуре A(Генерация простых чисел), где 2 возводится в 161 степень.
Методичка кокой-то конторы по шифрам - это вещь!!!
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 21.10.2008, 17:01 | |
|
IS, 1) NULL есть
2) отличие в том, что в первом случае - это приведение переменно к типу __int64, а во втором - это объявление переменной 3) покажи текст, где ты макрос объявляешь, потому что вставил твой первый вариант, билдер нормально съел...
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
||||||
| 21.10.2008, 17:15 [ТС] | ||||||
|
Это?
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
||||||
| 21.10.2008, 17:45 | ||||||
|
у меня прошел такой вариант:
0
|
||||||
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|
| 21.10.2008, 19:15 [ТС] | |
|
Вы новый код использовали? У меня не работает
0
|
|
|
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
|
|
| 22.10.2008, 01:25 | |
|
IS, У тебя 34.10-2001 (эллиптические кривые) или 34.10-94?
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
||||||||||||||||||||||||||
| 22.10.2008, 08:16 [ТС] | ||||||||||||||||||||||||||
|
*bkmz, у меня эллиптические кривые, гост 2001 года. Кстати, какая у тебя специальность?
Добавлено через 5 минут 12 секунд WooDooMan, если нельзя устранить проблему с макросом #define MakeLong (A,B) ((A)|((__int64)(B)<<m));,то, может, его можно заменить аналогичным по смыслу кодом? А в этом цикле:
И здесь тоже:
Еще проблема. Не очень понятно, что хотели сделать авторы следующим циклом:
И, что за постфиксная запись q-? в коде:
P.S Коды в книге приведены на языке C.
0
|
||||||||||||||||||||||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 22.10.2008, 09:40 | |
|
IS, прикрепи свой код в посте, а то я уже запутался, что там у тебя и где... а вообще можно просветить, что это за госты-то такие, вы где, товарисчи, учитесь?
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|||||||||||
| 22.10.2008, 09:55 [ТС] | |||||||||||
|
Последная версия кода:
Unit1_math.h
О ГОСТе Р 34.10-2001: Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем. Стандарт разработан взамен ГОСТ Р 34.10-94. Необходимость разработки настоящего стандарта вызвана потребностью в повышении стойкости ЭЦП к несанкционированным изменениям. Стойкость ЭЦП основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11.
0
|
|||||||||||
|
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
|
|
| 22.10.2008, 10:06 | |
|
Петербургский государственный университет путей сообщения,
специальность "090105 - Комплексное обеспечение информационной безопасности автоматизированных систем" 34.10 - государственный стандарт реализации электронно-цифровой подписи. (ныне действует версия 2001 года, хотя есть много систем где осталась версия 94 года, например Банк-Клиент). 34.11 - стандарт, описывающий HASH функцию. (Она нужна при выработке подписи, так как подписывается и проверяется именно ее значение) 28147 - старенький стандарт симметричного шифрования, нужен при работе функции хеширования. ---- Повторился про госты, ну не страшно. IS, да у нас одинаковые специальности как я вижу!)
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 22.10.2008, 10:47 | |
|
точки с запятой после макросов ставить не надо
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|
| 23.10.2008, 10:19 [ТС] | |
|
WooDooMan, не помогло
. Может, какие-то настройки надо изменить?Добавлено через 1 минуту 51 секунду *bkmz, предмет по которому курсовик называется КМЗИ - криптографические методы защиты нформации?
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 23.10.2008, 10:28 | |
|
не понимаю я ЧЕГО-то, у меня эти макросы нормально компилятся
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|
| 23.10.2008, 13:07 [ТС] | |
|
WooDooMan, Сможешь выложить свой проект?
0
|
|
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 23.10.2008, 13:29 | |
|
прикрепи свой, а я его компильну
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
||||||
| 23.10.2008, 14:03 [ТС] | ||||||
|
WooDooMan, Спасибо, но уже не надо. Я плюнул на этот макрос и заменил его соответствующим текстом.
Например:
0
|
||||||
|
Почетный модератор
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
|
|
| 23.10.2008, 14:19 | |
|
IS, ну тоже вариант, лишь бы корректно работало)))
0
|
|
|
1 / 1 / 0
Регистрация: 21.10.2008
Сообщений: 25
|
|
| 23.10.2008, 14:23 | |
|
IS, да, именно так
0
|
|
|
13 / 13 / 2
Регистрация: 01.10.2008
Сообщений: 116
|
|
| 24.10.2008, 09:49 [ТС] | |
|
WooDooMan, скажите, как можно узнать, сколько элементов в массиве?
0
|
|
| 24.10.2008, 09:49 | |
|
Работа с длинными числами (Delphi 7) Функция с++ (работа с длинными числами - вывод результата в файл) Действия с длинными числами Сочетания с длинными числами Операции с длинными числами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
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: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|