PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Prosta zaszyfrowana biblioteka arytmetyczna (SEAL) i pieczęć::Zmienna zaszyfrowanego tekstu

Krótka odpowiedź brzmi, że nie ma innych sposobów dostępu do danych szyfrogramu w SEAL. Wskaźnik zwrócony przez Ciphertext::data da Ci bezpośredni dostęp do danych zaszyfrowanego tekstu i w tym sensie pozwoli Ci na wykonywanie na nich dowolnych obliczeń, np. konwertowanie na ciąg czytelny dla człowieka, jeśli z jakiegoś powodu chciałbyś to zrobić.

Oczywiście, aby zrobić cokolwiek zrozumiałego, musisz znać układ danych zaszyfrowanego tekstu. W schemacie BFV zaszyfrowany tekst składa się z pary wielomianów (c0 , c1 ) z dużymi (rozmiar coeff_modulus ) współczynniki. Ponieważ operowanie na wielomianach o tak dużych współczynnikach jest niewygodne, SEAL 2.3.1 używa zamiast tego złożonego coeff_modulus i przechowuje oba c0 i c1 modulo każdy z czynników pierwszych określonych w coeff_modulus (oznacz te czynniki q1 ,q2 ,...,qk ). Każde qi pasuje do 64-bitowego słowa, więc wszystkie te wielomiany 2k mają współczynniki rozmiaru słowa.

Układ danych współczynnika szyfrogramu jest następujący (ciągły w pamięci):

[ c0 mod q1 ][ c0 mod q2 ]...[ c0 mod qk ][ c1 mod q1 ][ c1 mod q2 ]...[ c1 mod qk ]

gdzie każdy [ ci mod qj ] wygląda jak

[ c0 [0] mod qj ][ c1 [0] mod qj ]...[ cn-1 [0] mod qj ]

Tutaj użyłem ci [k] oznacza współczynnik stopnia k ci . Zauważ, że każdy współczynnik jest przechowywany w uint64_t .

Ciphertext::data zwraca wskaźnik do stałego współczynnika c0 wielomian w odniesieniu do pierwszego modułu w twoim coeff_modulus , czyli do c0 [0] mod q1 . Oprócz tych danych współczynników, szyfrogram zawiera kilka innych pól, które można odczytać za pomocą funkcji składowych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prawidłowe wstawienie nazwy tabeli

  2. Wielokrotne używanie tej samej kolumny w klauzuli WHERE

  3. Problemy z ustawieniem własnego klucza podstawowego w migracji Rails 4

  4. BŁĄD:odmowa zezwolenia dla sekwencji cities_id_seq przy użyciu Postgres

  5. PostgreSQL:Auto-inkrementacja w oparciu o wielokolumnowe unikatowe ograniczenie