А кто может привести минимальный пример как это работает? Я знал только 1 способ загрузки файлов: input type=«file» А оно оказывается есть еще кое-что, о чем знают только боги (т.е. что создатели браузера оставили только для себя).
Вот! Это уже ближе к делу. Хоть кто-то понимает о чем речь :)
Да, в стандарте есть раздел «изменение базиса». Но ведь базис можно не изменять а сделать все операции в нормальном базисе:
1. Сложение не отличается (побитовый XOR).
2. Квадрат — это побитовый сдвиг на 1 бит
3. Нахождение обратного — уже написал — там легко.
4. А вот УМНОЖЕНИЕ — чего-то никак не можем понять как делать… И мне кажется умножение сделать не проще и не сложнее, чем изменить базис?
Т.е., если я правильно понял, нам осталось сделать только УМНОЖЕНИЕ. Альтернативный вариант — тот что вы предложили: изменить базис.
Исправьте меня, пожалуйста, если я ошибаюсь.
И еще. Операции в полиномиальном базисе выполняются над «двоичными строками длины m», а в оптимальном над «изображением элементов поля в виде двоичных векторов». Будет ли это влиять на нашу математику? Нужно ли что-то изменять в функциях сложения элементов основного поля, или оставить как для полиномиального?
Еще вопрос. Возможно вы знаете что такое «оптимальный нормальный базис»? Чем отличается от «полиномиального» и какие библиотеки его математику (оптимальный нормальный) реализуют?
Уточню, с алгоритмом с «полиномиальным базисом» — смог разобраться и помочь только NeverWalkAloner (один из участников проекта). Больше никто и в этом не разобрался.
А студенты нынче — вы сами знаете какой народ. Если 2 человека интересующихся есть на весь поток — уже хорошо.
Так может вы нам сможете подсказать что такое «оптимальный нормальный базис»? Чем отличается от «полиномиального» и какие библиотеки его математику (оптимальный нормальный) реализуют?
ЗЫ
Теоретически все такие умные. А когда дело коснулось практики — то 2 человека знакомых с математикой и криптографией не один год — вообще нифига не смогли толком сказать. Консультант наш (NeverWalkAloner) — редкий человек, и он не знает что такое «оптимальный нормальный базис».
Вроде бы обновил тему — на полиномиальном базисе реализовать удалось 100% генерацию ключей, подпись, проверку. Есть еще оптимальный нормальный базис (это второй способ подписи по стандарту). Вы случайно не знаете что это и где взять формулы для работы с ним?
Наконец удалось реализовать 100% герерации ключей, наложения подписи и проверки подписи.
Никто новый пока не присоединился (но мы все еще ждем), работали вдвоем. Ларчик открывался просто: известная библиотека BouncyCastle реализует всю математику (вначале не получалось).
Ну так раз оно сейчас засекречено — где гарантия что оно потом будет рассекречено? Сделают коммерческий продукт и будут продавать для пополнения фонда универа (а то и для пополнения чьего-либо кармана).
Если кто-то из студентов читает эту тему и не пожадничает поделиться разработками — буду благодарен.
А где же их OpenSource-разработку можно посмотреть, если она конечно OpenSource? А если она пока не OpenSource и доступна только для определенных лиц — то где гарантии что она вообще когда-нибудь станет OpenSource? Кто-то приберет к рукам, как обычно у нас бывает…
Из С в C# переводил подобные вещи. Смотря как писать — если с ассемблерными вставками — сложновато, если на голом C и поменьше указателей — совсем просто.
Ее уже 1.5. лет применяют для сдачи отчетов в налоговую и другие органы. Даже есть центры сертификации (выдают сертификаты). Для физ. лица сертификат стоит около 100 грн. К примеру, сертификат можно получить здесь: ivk.org.ua/
Сила ЭЦП приравнивается к собственноручной подписи. Теоретически с помощью ЭЦИ уже сейчас можно было бы, к примеру, свергнуть власть или устроить импичмент :) Но пока врядли наберем достаточно людей, которые имеют сертификат. А чтобы открыть свой центры сертификации — нужна библиотека. А существующие коммерческие обойдутся в несколько сотен тысяч у.е.
Оптимальный нормальный базис пришлось делать самостоятельно — ни одна из существующих открытых библиотек его не реализует.
Я имел в виду, что работая с оптимальным базисом можно не прибегать к изменению базиса а выполнять все в нормальном.
>> А умножение методом Месси-Омуры, которое применяется в нормальном базисе — это относительно тривиальная штука.
Это которое с составлением 4 шт. матриц? Пока никто даже не может понять как эти матрицы составить.
Да, в стандарте есть раздел «изменение базиса». Но ведь базис можно не изменять а сделать все операции в нормальном базисе:
1. Сложение не отличается (побитовый XOR).
2. Квадрат — это побитовый сдвиг на 1 бит
3. Нахождение обратного — уже написал — там легко.
4. А вот УМНОЖЕНИЕ — чего-то никак не можем понять как делать… И мне кажется умножение сделать не проще и не сложнее, чем изменить базис?
Т.е., если я правильно понял, нам осталось сделать только УМНОЖЕНИЕ. Альтернативный вариант — тот что вы предложили: изменить базис.
Исправьте меня, пожалуйста, если я ошибаюсь.
И еще. Операции в полиномиальном базисе выполняются над «двоичными строками длины m», а в оптимальном над «изображением элементов поля в виде двоичных векторов». Будет ли это влиять на нашу математику? Нужно ли что-то изменять в функциях сложения элементов основного поля, или оставить как для полиномиального?
В украинском штандарте 2 способа подписи: (1) алгоритм с полиномиальным базисом, (2) алгоритм с оптимальным нормальным базисом.
Первый получился. Второй не знаем как делать.
Или вы хотите сказать, что подпись будет идентичной и не важно какой базис использовать?
А студенты нынче — вы сами знаете какой народ. Если 2 человека интересующихся есть на весь поток — уже хорошо.
ЗЫ
Теоретически все такие умные. А когда дело коснулось практики — то 2 человека знакомых с математикой и криптографией не один год — вообще нифига не смогли толком сказать. Консультант наш (NeverWalkAloner) — редкий человек, и он не знает что такое «оптимальный нормальный базис».
Наконец удалось реализовать 100% герерации ключей, наложения подписи и проверки подписи.
Никто новый пока не присоединился (но мы все еще ждем), работали вдвоем. Ларчик открывался просто: известная библиотека BouncyCastle реализует всю математику (вначале не получалось).
P.S. Нужно обновить тему
Если кто-то из студентов читает эту тему и не пожадничает поделиться разработками — буду благодарен.
Она же не на продажу делается, верно? О какой конкуренции речь?
Чужими руками — было бы уместно, если бы я затем эту библиотеку продавал или объявил себя единственным автором — чего я делать не намерен.
Сила ЭЦП приравнивается к собственноручной подписи. Теоретически с помощью ЭЦИ уже сейчас можно было бы, к примеру, свергнуть власть или устроить импичмент :) Но пока врядли наберем достаточно людей, которые имеют сертификат. А чтобы открыть свой центры сертификации — нужна библиотека. А существующие коммерческие обойдутся в несколько сотен тысяч у.е.