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.1.tar.gz (8.0 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.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fhemp-0.3.1.tar.gz
  • Upload date:
  • Size: 8.0 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.1.tar.gz
Algorithm Hash digest
SHA256 a4b6bd1261619297f711be0977a334a38b1f6f82a3c303ed94a5c006a3a09375
MD5 f96293de0585feae624f23c99c293440
BLAKE2b-256 ad0ced655f43bfe9596e72672f206caa41aad587d325becbd096fadc2848bc41

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fhemp-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4bf3937c7ef7bd28b50805ef7af2a0b88f2448a719466ab24adac88f58a37d23
MD5 f6c2599eecc51a9639e2000c0ab7801c
BLAKE2b-256 98e4557402f0dabe9680761d68e2c6b3e58fe2b859e47c7b309afe889c23b99e

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