Odelit lze minimalne tyto entity: * Vydavani anonymizovanych ID oproti identifikaci (coz muze delat but smartkarta, czechpoint nebo volebni komise c. 1) * anonymizované ID je jen náhodné UUID, anebo i obsahuje unikátní privátní klíč (či JE tímto klíčem), kterým podepíšu ve volební budce obálku s hlasem? * Volebni server (shromazduje seznam ID s pravem volby, poskytuje informace o volbe, shromazduje odevzdane listky, provadi soucet a rozkodovany soucet, publikuje vysledky, vydava volebni obalky) * jaká je komunikace mezi volebním serverem a vydavatelem anonIDs? Vydavatel zná párování "reálný člověk <-> anonID", volební systém toto nesmí vědět. Jakou má volič záruku, že vydavatel nepošle toto párování volebnímu serveru (seznam vydaných anonIDs poslat musí, ne?)? * jaká by byla (teoretická) specifikace volební obálky? nějaké UUID podepsané privátním klíčem volebního serveru? * Auditovaci centrum (publikuje vysledky auditovanych neodevzdanych listku) * co technicky dělá? dostává útržky, na nich dělá jaký výpočet? * Provozovatel volebni budky (umoznuje z volebni obalky vyrobit hlas a ustrizek) * budka tedy bude FOSS aplikace která 1) si z voleb.serveru vyžádá novou voleb.obálku, 2) podepíše zvolenou stranu a obálku (a timestamp?) priv.klíčem z anonID, 3) odešle volebnímu serveru, 4) co dělá s ústřižkem a s audit.centrem? * jaká je specifikace utržku? podpis soukromým klíčem hlasujícího pod odevzdanou obálku s hlasem? * jak zabránit podvodným aplikacím vydávajících se za tu oficiální, ale hlasující jinak? * Trusties (osoby, kteri nezavisle na sobe musi na souctu spocitat parcialni vysledek za pomoci sveho privatniho klice a vysledek poslat na volebni server) * jak a s kým komunikují? má jít o fyzické osoby kterým všichni důvěřují (např. členové ústřední volební komise plus zástupci všech stran?)? * jak si volič ověří, že jeho hlas byl započítán? A jak si ověří KTERÝ hlas byl započítán? (abych si ověřil že když pod svou identitou hlasuji v 11 dopoledne, že pak pod mou identitou nikdo nehlasoval ve 12 a "nepřebil" moje hlasování)? * jak si volič ověří, že někdo v jeho voleb.okrsku hlasoval tak jako on (viz. jak se dnes kroužkuje na nepřímé ověření že voleb.komise můj hlas započítala)? Fungovani s papirovymi listky: * Kazdy volebni okrsek obdrzi dvojice hashu, dvojice jsou zaroven ulozeny na volebnim serveru. * kdo ty hashe generuje? vydavatel anonIDs nebo volební server? * Dvojice hashů zajistí funkci anonID ve volební místnosti? A jde o hash čeho? (hash je funkce, resp. výsledek funkce - co je jejím definičním oborem? nebo na tom nezáleží a jde o 2 náhod.čísla?) * všechny dvojice hashů jsou navzájem různé? * Do kazda vydane obalky je nahodne vlozena jedna z dvojic. Aby mistni volebni komise nemela pristup ke znalosti dvojice se da resit tak, ze se dvojice distribuuje jako stiraci los. * Za plentou krom listku do obalky vlozim prvni z hashu. * Druhy hash odevzdam po vhozeni obalky do urny komisi a ta hash nalepi vedle jmena v seznamu volicu, nebo jeste lepe jej online odesle k prirazeni k vydavateli anonymizovanych ID, ten dohleda ID a posle hash na volebni server (cimz potom muzu prijit kolikrat chci, dochazejici hashe by se dovezli stejne jako listky dneska). * tzn. vydavatel anonIDs řekne volebnímu serveru "toto anonID hlasuje s touto druhou půlkou hashe" * Po otevreni urny volebni komise listky zadava uplne stejne jako by nekdo provadel volbu, nepouziva se ale anonymizovane ID, ale hash z obalky. * takže fyzická volba bude vždy "ta poslední volba"? Tedy když dám hlas fyzicky a pak zahlasuji elektronicky, započítá se fyzický hlas (odeslaný volebnímu serveru až později, po uzavření voleb.místností i el.hlasování)? Pokud jo, kupčení s hlasy to dost omezí (stačí kdykoliv dojít do voleb.místnosti a pak zahrát divadlo že volím elektronicky) * takže párování hashů musí znát volební server, protože on dostane první část s hlasem a druhou část od vydavatele anonIDs a to musí spárovat pro započítání fyzického hlasu * takže žádný člen voleb.komise nesmí mít přístup na voleb.server. Protože člen voleb.komise zná párování reálná osoba <-> druhá půlka hashe, a voleb.server zná párování 2.půlka hashe<->1.půlka hashe<->odevzdaný hlas. So far so good. * asi by šlo i zabránit znalosti komise "párování reálná osoba <-> druhá půlka hashe" při součinnosti hlasujícího