Архитектура приложения - lanit-tercom-school/grouplock GitHub Wiki
Архитектура приложения. Схема:
Описание:
Так как реализация приложения подразумевается под несколько платформ, то все общие алгоритмы вынесены под общий язык - С++. А именно:
1. Алгоритмы шифрования
- Шифр Цезаря
- ГОСТ
- DES и пр.
2. Разделение секрета
- При шифровании
- При дешифровании
3. Тип файла для шифрования
- jpg
- txt
- pdf и пр.
При разработке на Android все алгоритмы будут связаны с приложением через JNI.
Точки связывания:
- Шифрование файла - средствами JNI файл передается в С++ вместе с параметрами. Параметрами в данном случае служит алгоритм шифрования и тип файла.
- Разделение секрета - средствами JNI в С++ передается (возможно два варианта):
- Ключ, k, n из пороговой схемы (k,n) и на выходе получаем разделенный секрет
- Ключи, степень полинома, модуль и на выходе получаем восстановленный ключ-секрет, если это возможно.
- Шифрование - средствами JNI передается в С++ информация, которую нужно зашифровать с параметром - типом алгоритма шифрования.
Таким образом, средствами JNI с помощью методов-оберток на языке Java будет осуществлено связывание работы основных алгоритмов (С++) с приложением.