Skip to main content

Гомоморфное шифрование на основе матричных полиномов

Project description

Гомоморфное шифрование на основе матричных полиномов

Описание

Библиотека содержит алгоритм гомоморфного шифрования на основе матричных полиномов. Подходит для создания систем, в которых можно выполнятьвычисления над зашифрованными данными без их расшифровки.

Возможности

Библиотека "FHEMP" поддерживает функции:

  1. Генерация ключей: секртеный ключ, секретный вектор, ключ вычислений;
  2. Шифрование целых чисел;
  3. Расшифровка с использованием секретного ключа и вектора;
  4. Гомоморфне операции: сложение и умножение зашифрованных данных.

Установка

pip install FHEM=="версия"

Пример использования

Перед началом работы необходимо определится с параметрами криптосистемы, такими как N, размерность матрицы, p, модуль по которому будут проходить вычисления, и 4 переменные λ, γ, δ и ψ, они влият на степень матричных полиномов. Для удобства можно записать эти переменные перед вызовом функций, что бы не прописывать их по несколько раз для каждой функции отдельно.

Важное примечение. p — должно быть больше максимального возможного значения результата после гомоморфных операций, иначе расшифровка будет приводить к некоректному резульату.

generate_secret_key(N,p,lam,omega,delta, save_dir).

Для работы необходимо указать выбранные ранее параметры и путь до папки в которую они сохраняться после генерации. файлы будут иметь формат json и названия secret_key, secret_vector и evalition_key.

Для выполнения шифрования необходимо вызвать функцию

encrypt(secret_key_file, vector_file, message, N, p, lam, psi, output_file)

в которой для работы небходимо укзать путь до файлов содержащего секретный ключ и секретный вектор, далее необходимо указать само сообщение которое нужно зашифровать, переменные и путь с названием сохраняемого файла, формат так же json.

Для выполнения операций сложений и умножения необходимо вызвать функию

operate(ciphertext_file1, ciphertext_file2, operation, p, output_file, evaluation_key_file=None)

В ней необходимо указать путь и названия двух файлов с которыми нужно выполнить операцию, далее идет выбор операции "add", для сложения, и "mul", для умножения, далее указываем значение модуля, файл куда необходимо сохранить результат. При выполнении умножения необхомо указать путь до файла содержащего ключ вычислений.

Последней функцией является функция расшифровки

decrypt(ciphertext_file, secret_key_file, vector_file, p)

В ней необходимо указать файл содрежащий зашифрованный текст, секретный ключ, секретный вектор и значение модуля.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fhemp-0.3.2.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fhemp-0.3.2-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file fhemp-0.3.2.tar.gz.

File metadata

  • Download URL: fhemp-0.3.2.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fhemp-0.3.2.tar.gz
Algorithm Hash digest
SHA256 a9f3bd9da25cb4844db5a54827e88de35da868e3db31b11ea17e39970f50ab48
MD5 8187176f7f83b64b791376393e5c6067
BLAKE2b-256 1150caf8f1cd463bdd615b3129bbc26c9357396d80cdec01131f579b4535a529

See more details on using hashes here.

File details

Details for the file fhemp-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: fhemp-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for fhemp-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8742901c22ef313a0b5ce89bbeafa66b82233e6d1064e81c5b95189ba651f371
MD5 64e9500527683c41a9d1b1f0ca36262b
BLAKE2b-256 6e1239bfe281ed170580038db39959713b9eb49d0bd2d50d703a927a7930ae23

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page