Прочете също така
Вероятност за засичане на измама при контролното преброяване на машинния вот
26.11.2022
Автори: Никола Тулечки Лаура Толоси
Обобщение
Колко избирателни секции трябва да се проверят за да се засече скрита в кода на машините манипулация на вота?
Докато стилът на този пост е шеговит, той сериозно илюстрира как дори и минимален извадков контрол на бележките от машините за гласуване би засякъл скрит в софтуеъра опит за манипулация на вота
Нека проиграем следния сценарии: Тео има неограничен достъп до кода на машините за гласуване. Достатъчно сръчен е да може да го пренапише така, че той да прави каквото си поиска. Твърдо решен е да се възползва злонамерено от този свой достъп, за да подобри резултата на любимата си партия (ЛБ).
Тео ще добави няколко реда код, които да “бутнат” резултата на ЛБ с десет процента. За да стане това, всяка машина ще трябва да подмени автоматично вота на всеки десети гласоподавател и вместо за партията за която е гласувал, да запише един глас повече за ЛБ.
Дотук добре, но Тео знае, че освен записа в паметта, машината разпечатва и бележка,
която гласоподавателят пуска в кутията.
Ако той я погледне и на нея пише ЛБ вместо партията за която наистина е гласувал,
той ще се оплаче на членовете на комисията и планът за подмяна ще бъде провален.
Затова Тео решава да инструктира машината да разпечата бележка с истинския вот на избирателя, но да запише глас за ЛБ в паметта. Така гласоподавателят бива успешно заблуден и за да бъде засечена измамата, трябва да се сравнят бележките в кутията с данните в паметта на машината.
Тео знае, че такава проверка няма да се направи във всички секции и затова решава да сметне каква е вероятността, при проверка на даден брой секции на случаен принцип неговата манипулация да бъде засечена. Очевидно ако всяка машина е компрометирана вероятността е 100%, защото дори една секция да бъде проверена, разликата между протокола и бележките ще бъде засечена.
Дали обаче няма някакъв начин да се добави едно условие в кода, което да намали броя на машините, в които има подмяна, така че вероятността да бъдат засечени при проверка да е приемливо малка.
Тео разбира се е много добър по математика (както и в търсенето в Гугъл). Той бързо намира отговор на въпроса си в този пост в StackExchange.
Тео научава че, дистрибуцията на определени избрани елементи (в случая компрометирани секции) в случайна извадка без повтаряне е хипергеометрична. Тя може да се сметне със следното уравнение
$\mathsf P(W=k) = \dfrac{\dbinom{K}{k}~\dbinom{N-K}{n-k}}{\dbinom{N}{n}} \qquad \Big[0\leq k\leq \min(K, n) \leq \max(K, n) \leq N\Big]$
Където:
- $N$ e популацията (общ брой секции = 13000)
- $K$ е общия брой избрани елементи (компрометирани секции)
- $n$ e размера на извадката
- $k$ e броя избрани елементи в извадката, (в случая 0)
- $P(W=k)$ е вероятността да има $k$ елемента в извадката
На Тео даже не му се налага да го смята на ръка. Той може да използва този хипергеометричен калкулатор, за да сметне различните сценарии:
Тео обича риска и решава да провери при колко машини вероятността да бъде заловен е по-малка от тази да не бъде заловен или $P(W=k)>0.5$.
Ето резултатите:
- При 10% извадков контрол, $K=1300$ максималния брой секции които може да компрометира е 6
- При 5% извадков контрол, $K=650$ максималния брой секции е 14
- Дори и само 1% от секциите да се проверяват $K=130$, ако Tео компрометира повече от 70 секции, вероятността да го хванат е по-голяма от 50%
Тео въобще не е доволен от резултата и бързо си дава сметка, че е безсмислено да се занимава повече с това.