Cхема разделения секрета Асмута – Блума в кольце целых чисел
Общая постановка задачи:
Необходимо разработать библиотеку на языке С (возможно использование элементов С++, но реализация должна быть функциональная, а не объектно-ориентированная), реализующую схему разделения секрета (СРС) Асмута – Блума в кольце целых чисел:
В реализацию должны входить все используемые алгоритмы в виде исходных кодов (работа с большими числами, теоретико-числовые алгоритмы и пр.).
Возможно использование сторонних библиотек (open source), при этом в состав проекта должен быть включен исходный код частей библиотек, использованных в проекте, с исключением всех неиспользованных частей.
Библиотека СРС должна работать с секретами размера 128, 196 и 256 бит.
Реализация библиотеки СРС должна быть платформенно независимая.
Как пример реализации подобной схемы и пример интерфейса библиотеки можно рассмотреть реализацию схемы Асмута - Блума в кольце многочленов из библиотеки Bee2. (https://github.com/agievich/bee2)
Предлагаемый общий порядок разработки библиотеки следующий:
1. Разработка и согласование требований к библиотеке (референсная модель реализации, интерфейс, и пр.); методик тестирования и критериев завершенности работы; определение этапов работы; оценка сроков работы; оценка стоимости работы;
2. Разработка и согласование внутреннего дизайна библиотеки (состав функций, их интерфейсов, структура данных и пр.), уточнение этапности работы;
3. Разработка программного кода библиотеки (поэтапная разработка);
4. Тестирование и сдача работ (поэтапная).
Требование к разработчику – обязательно наличие опыта программирования теоретико-числовых задач.
Язык общения – Русский.
Дополнительные замечания – Интерес представляет завершенная библиотека СРС, а не реализация отдельного этапа. В связи с этим приемлемая схема оплаты будет стимулировать разработчика довести задачу до конца.
-
Хорошая задачка чтобы попрактиковаться в программировании с числами. Сделаю - выложу на GitHub.
-
Current freelance projects in the category C & C++
Reverse engineering of console utilities for querying SSD controllers (Flash ID)1. Purpose of the work Extraction of the application programming interface (API) for interaction with SSD/NVMe controllers from the provided set of console utilities (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron, etc.). The result should be working code in C/C++… C & C++, Desktop Apps ∙ 9 days 17 hours back ∙ 6 proposals |
Development of a Minecraft Java Seed Map / Seed Viewer for the websiteDevelopment of Minecraft Java Seed Map / Seed Viewer for the websiteProject Description A browser-based tool Minecraft Java Seed Map / Seed Viewer needs to be developed, which will work on our website and allow the user to enter a seed from Minecraft Java Edition and view an… C & C++, HTML & CSS ∙ 9 days 23 hours back ∙ 16 proposals |