clojure-czech

littleli 2022-06-07T11:49:28.963259Z

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 Brejla 2022-06-07T12:22:15.995719Z

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

littleli 2022-06-07T12:27:56.553619Z

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 Brejla 2022-06-07T12:30:55.991799Z

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 🙂

littleli 2022-06-07T12:32:37.449179Z

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 Brejla 2022-06-07T12:33:07.511679Z

vida, takhle obecne to zni zajimave 🙂

littleli 2022-06-07T12:34:07.123549Z

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.

littleli 2022-06-07T12:35:05.369019Z

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.

littleli 2022-06-07T12:35:40.757049Z

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

littleli 2022-06-07T12:36:00.825309Z

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

littleli 2022-06-07T12:37:37.582309Z

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
littleli 2022-06-07T12:38:16.340429Z

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

littleli 2022-06-07T12:39:32.774329Z

Líp to asi nevysvětlím

littleli 2022-06-07T12:47:35.678819Z

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

😀 1