Fork me on GitHub
#clojure-czech
<
2022-06-07
>
littleli11:06:28

Demonstrace a implementace částečně-homomorfního šifrování (PHE, Paillier) v Clojure v notebooku. Možná jste to ode mě už někdo viděl, tak se případně omlouvám, ale spíš si myslím, že to zapadlo. https://nextjournal.com/littleli/homomorphic-encryption-in-clojure/

❤️ 1
Tomas Brejla12:06:15

byl by nejaky lidsky srozumitelny use-case, k cemu to pouzivas? 🙏 🙂

littleli12:06:56

Ta omezená algebra většinu sofistikovaných aplikací v zásadě znemožňuje. Ale experimentoval jsem s tím v souvislosti s ochranou osobních údajů.

Tomas Brejla12:06:55

jelikoz me nikdy nepotkalo neco jako matfyz, tak mi ani definice zde: https://en.wikipedia.org/wiki/Paillier_cryptosystem vubec nic nerika a nedovedu si moc predstavit, co to kruci je a k cemu by to kruci mohlo byt dobre 🙂

littleli12:06:37

Klíčová vlastnost homomorfního šifrování je nejspíš ta, že dokážeš dělat matematiku nad tím zašifrovaným obsahem, aniž bys ho rozkryl

👍 2
Tomas Brejla12:06:07

vida, takhle obecne to zni zajimave 🙂

littleli12:06:07

Extrémní aplikace takového šifrování je (a bohužel Paillier není ani blízko), že protože máš algebru kompletní, tak bys byl schopen vytvořit například Turingův stroj, který je schopný dělat výpočty nad obsahem, který není schopný sám vidět.

littleli12:06:05

klient by dodal vstup, dodal by co se má spočítat a takový stroj, by provedl výpočet pomocí homomorfních vlastností... vypadl by výsledek a ten by si přečetl klient, aniž by stroj vůbec věděl, co spočítal.

littleli12:06:40

Někdy se to označuje za zlatý grál kryptografie...

littleli12:06:00

Realita je a bude samozřejmě složitější 🙂

littleli12:06:37

Můj debilní příklad: Privacy protecting survey Imagine you have to organize a survey where you're asking about employees' salaries in the organization. You want to know the average salary in the company. Also, you want to keep each responder's answer undisclosed to the other employees. If you have additive homomorphic encryption at hand, you can structure this task accordingly: Having a pair of public and private keys gives the public key to each employee to form a chain. In this chain, the first participant encrypts the answer and passes this ciphertext to the second. The second participant uses homomorphic addition and adds his response to the previous employee, handing it to the next employee. Apply this procedure to the rest of the respondents. In the end, pass the result to the collector, who can decrypt the final sum using his private key. The last step necessary is to divide it by the number of participants in the survey. And the average salary is born without exposing each employee's salary. Addition operation effectively erases intermediate results. C1 = E(x1) C2 = E(x2) /+/ C1 C3 = E(x3) /+/ C2 C4 = E(x4) /+/ C3 C5 = E(x5) /+/ C4 avg = D(C5) / 5

❤️ 1
littleli12:06:16

kde /+/ je operátor homomorfního součtu

littleli12:06:32

Líp to asi nevysvětlím

littleli12:06:35

Jinak teda podle mého je to normálně monáda 😄

😀 1