PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Проста криптирана аритметична библиотека (SEAL) и променливата seal::Ciphertext

Краткият отговор е, че няма други начини за достъп до данните за шифровани текстове в SEAL. Указателят, върнат от Ciphertext::data ще ви даде директен достъп до данните за шифрования текст и в този смисъл ви позволява да правите всякакъв вид изчисление върху тях, напр. преобразуване в четим от човека низ, ако по някаква причина искате да го направите.

Разбира се, за да направите нещо разбираемо, трябва да знаете разположението на данните на шифрования текст. В схемата BFV шифротекстът се състои от двойка полиноми (c0 , c1 ) с голям (размер coeff_modulus). ) коефициенти. Тъй като работата с полиноми с такива големи коефициенти е неудобна, SEAL 2.3.1 вместо това използва съставен coeff_modulus и съхранява и двете c0 и c1 модул на всеки от основните фактори, посочени в coeff_modulus (означете тези фактори q1 ,q2 ,...,qk ). Всяко qi се вписва в 64-битова дума, така че всички тези 2k полиноми имат коефициенти за размер на думата.

Оформлението на данните за коефициента на шифротен текст е както следва (последователно в паметта):

[ c0 мод q1 ][ c0 мод q2 ]...[ c0 мод qk ][ c1 мод q1 ][ c1 мод q2 ]...[ c1 мод qk ]

където всеки [ ci мод qj ] изглежда като

[ c0 [0] мод qj ][ c1 [0] мод qj ]...[ cn-1 [0] мод qj ]

Тук използвах ci [k] за означаване на коефициента на степен k на ci . Имайте предвид, че всеки коефициент се съхранява в uint64_t .

Ciphertext::data връща указател към постоянния коефициент на c0 полином по отношение на първия модул във вашия coeff_modulus , т.е. до c0 [0] мод q1 . В допълнение към тези данни за коефициента, шифрованият текст съдържа няколко други полета, които можете да прочетете с помощта на функциите-членове.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Променете типа на колоната и задайте не нула

  2. Получавате стойностите по подразбиране на колоните на таблицата в Postgres?

  3. Postgres:проверете дали полето на масива съдържа стойност?

  4. По-добре ли е да използвате няколко бази данни с по една схема всяка или една база данни с множество схеми?

  5. PostgreSQL следващата стойност на последователностите?