Punchscan - Punchscan

Punchscan
Punchscan logo.png
Geliştirici (ler)Richard Carback, David Chaum, Jeremy Clark, Aleks Essex, ve Stefan Popoveniuc.
Kararlı sürüm1.0 (2 Kasım 2006) [±]
Önizleme sürümü1.5 (16 Temmuz 2007) [±]
YazılmışJava
İşletim sistemiÇapraz platform
Uyguningilizce
Türoy sayma sistemi
LisansRevize BSD lisansı
İnternet sitesihttp://punchscan.org/

Punchscan bir optik tarama oy sayma sistemi tarafından icat edildi kriptograf David Chaum. Punchscan, bütünlük, gizlilik ve şeffaflık sağlamak için tasarlanmıştır. Sistem seçmen tarafından doğrulanabilir, bir uçtan uca (E2E) denetim mekanizma ve sorunlar a oy pusulası her seçmen için. Sistem 2007'de büyük ödülü kazandı Üniversite Oylama Sistemleri Yarışması.

bilgisayar yazılımı Punchscan'ın dahil olduğu açık kaynak; kaynak kodu 2 Kasım 2006'da revize edilmiş BSD lisansı.[1] Ancak, Punchscan yazılımdan bağımsızdır; güvenliğini ... kriptografik güvenmek yerine işlevler yazılım güvenliği sevmek DRE oylama makineleri. Bu nedenle, Punchscan üzerinde çalıştırılabilir. kapalı kaynak işletim sistemleri, sevmek Microsoft Windows ve yine de koşulsuz bütünlüğü koruyun.

Ek katılımcılar ile birlikte Punchscan ekibi o zamandan beri gelişti Yeterlilik.

Oylama prosedürü

İşaretli bir Punchscan oy pusulası. Tam oy pusulası (üstte), ayrı oy pusulası (altta).

Bir Punchscan oy pusulası iki kat kağıda sahiptir. Üst katmanda adaylar ile listelenir sembol veya mektup adlarının yanında. Aday listesinin altında, oy pusulasının üst katmanında bir dizi yuvarlak delik bulunmaktadır. Alt katmandaki deliklerin içine karşılık gelen semboller yazdırılır.

Bir adaya oy vermek için, seçmen adayın yanındaki sembole karşılık gelen sembolün bulunduğu boşluğu bulmalıdır. Bu delik bir ile işaretlenmiştir Bingo kasıtlı olarak delikten daha büyük olan stil mürekkep lekesi. Seçmen daha sonra oy pusulasını ayırır, üst veya alt katmanı seçer. fiş, ve parçalar diğer katman. Makbuz tarandı sandık merkezinde tablo.

Aday adlarının yanındaki sembollerin sırası oluşturulur rastgele her bir oy pusulası için ve dolayısıyla oy pusulasından sandığa farklılık gösterir. Aynı şekilde deliklerdeki sembollerin sırası için. Bu nedenle makbuz, oylamanın hangi adaya verildiğini belirlemeye yetecek kadar bilgi içermiyor. Üst katman tutulursa, sembollerin deliklerdeki sırası bilinmemektedir. Alt katman tutulursa, aday adının yanındaki sembollerin sırası bilinmemektedir. Bu nedenle seçmen nasıl oy kullandığını başka birine kanıtlayamaz, bu da oy satın alma veya seçmen sindirme.

Tablolama prosedürü

Örnek olarak, iki aday seçimini düşünün. Kola ve Pepsi, önceki diyagramda gösterildiği gibi. Adayların isimlerinin yanındaki harflerin sırası A ve sonra B veya B ve sonra A olabilir. Buna sıralama adını vereceğiz. ve izin ver = 0 önceki sipariş için ve = 1 ikincisi için. Bu nedenle,

: aday listesinin yanındaki sembollerin sırası,

.

Aynı şekilde bir oy pusulasının diğer bölümleri için de genelleme yapabiliriz:

: deliklerdeki sembollerin sırası,

.

: hangi delik işaretlidir,

.

: oy pusulasının sonucu,

.

Adayların adlarının sırasının tüm oy pusulalarında sabitlendiğine dikkat edin. Bir oy pusulasının sonucu doğrudan şu şekilde hesaplanabilir:

(Denklem 1)

Ancak, oy pusulasının bir tabakası parçalandığında, veya yok edildi. Bu nedenle, hesaplanacak yeterli bilgi yok makbuzdan (taranan). Seçim sonuçlarını hesaplamak için elektronik veri tabanı kullanıldı.

Seçimden önce, veritabanı bir dizi sütunla oluşturulur. Veritabanındaki her satır bir oy pusulasını temsil eder ve oy pusulalarının veritabanında saklanma sırası şöyledir: karıştırılmış (kullanarak şifreleme anahtarı her adayın yapabileceği katkıda bulunmak ). İlk sütun, , seri numaralarının karışık sırasına sahiptir. sözde rasgele içerir bit akışı anahtardan üretilir ve bir kesintisiz şifreleme. bir ara sonucu saklayacaktır. şu şekilde bir parça içerir:

Her oy pusulasının sonucu ayrı bir sütunda saklanacak, , oy pusulalarının sırasının yeniden dağıtılacağı yer. Böylece satır numarasını içerir sonucun yerleştirileceği sütun.

Seçim yapıldıktan sonra değerler tarandı, şu şekilde hesaplanır:

Ve sonuç şu şekilde hesaplanır:

Bu denklem 1'e eşdeğerdir,

Sonuç sütunu yayınlanır ve oy pusulaları karıştırılmışsa (iki kez), sonuçlar sütununun sıralaması hangi sonucun hangi sandık numarasından olduğunu göstermez. Dolayısıyla seçim otoritesi oyları seri numarasına kadar izleyemez.

Genelleştirilmiş form

İle bir seçim için adaylar, yukarıdaki prosedür kullanılarak izlenir modulo -n denklemler.

Temel denetim prosedürleri

Seçmenin sandık dekontu, seçmenin sandığını hangi adaya verdiğini göstermez ve bu nedenle gizli bilgi değildir. Seçimden sonra, seçim otoritesi her makbuzun resmini çevrimiçi olarak yayınlayacaktır. Seçmen seri numarasını yazarak oy pusulasına bakabilir ve seçim idaresinin elinde tuttuğu bilgilerin sandıklarına uyup uymadığını kontrol edebilir. Bu şekilde seçmen, oy pusulalarının amaçlandığı gibi atmak.

Herhangi bir seçmen veya ilgili taraf, sonuçların doğru hesaplandığından emin olmak için veritabanının bir bölümünü de inceleyebilir. Tüm veritabanını inceleyemezler, aksi takdirde oyları sandık seri numaralarına bağlayabilirler. Bununla birlikte, veritabanının yarısı gizliliği bozmadan güvenli bir şekilde incelenebilir. Açılış arasında rastgele bir seçim yapılır veya (bu seçim gizli anahtardan veya bir gerçek rastgele gibi kaynak zar[2] ya da Borsa[3]). Bu prosedür, seçmenlerin tüm oy pusulalarının geçerli olduğundan emin olmasını sağlar. döküm olarak sayıldı.

Tüm oy pusulaları döküm olarak sayıldı ve amaçlandığı gibi atmako zaman tüm oy pusulaları amaçlandığı gibi sayıldı. Bu nedenle, seçimin bütünlüğü çok yüksek bir olasılıkla ispatlanabilir.

Ek güvenlik

Bir Punchscan seçiminin bütünlüğünü daha da artırmak için, tamamen yozlaşmış bir seçim otoritesine karşı koruma sağlamak için birkaç adım daha atılabilir.

Çoklu veritabanları

Dan beri , , ve Veritabanındaki tümü sözde rastgele oluşturulur, bu sütunlar için farklı rasgele değerler ile birden fazla veritabanı oluşturulabilir. Her veritabanı diğerlerinden bağımsızdır ve bazı veritabanlarının ilk yarısının açılmasına ve incelenmesine, diğerlerinin ikinci yarısına izin verir. Her veritabanı aynı son çetele oluşturmalıdır. Bu nedenle, bir seçim otoritesi son çeteleyi çarpıtmak için veri tabanını kurcalarsa, veri tabanlarının her birini kurcalaması gerekir. Bağımsız veri tabanlarının sayısı arttıkça, tahrifatın denetimde ortaya çıkma olasılığı artar.

Taahhütler

Seçimden önce, seçim otoritesi oy pusulalarını yazdırır ve veri tabanını / veritabanlarını oluşturur. Bu oluşturma sürecinin bir kısmı şunları içerir: taahhüt her oy pusulasında ve veri tabanlarında bulunan benzersiz bilgilere. Bu, bir kriptografik uygulama ile gerçekleştirilir. tek yönlü işlev bilgi için. Bu işlevin sonucu olan taahhüt kamuoyuna açıklansa da, taahhüt edilen asıl bilgiler mühürlenmeye devam eder. İşlev tek yönlü olduğu için, yalnızca kamuya açık bir şekilde yayınlanan taahhüdü verilmiş olan mühürlü oy pusulasındaki bilgileri belirlemek sayısal olarak mümkün değildir.

Oy pusulası denetimi

Bir seçim öncesinde, seçimde kullanılması amaçlanan sayının iki katı kadar sandık çıkarılır. Bu oy pusulalarının yarısı rastgele seçilir (veya her aday oy pusulalarının bir kısmını seçebilir) ve açılır. Bu seçilen oy pusulalarına karşılık gelen veri tabanındaki satırlar, hesaplamaların doğru olduğundan ve kurcalanmadığından emin olmak için kontrol edilebilir. Seçim otoritesi bilmediği için Önsel hangi oy pusulalarının seçileceği, bu denetimi geçmek, veri tabanının çok yüksek olasılıkla iyi biçimlendirildiği anlamına gelir. Ayrıca, sandık taahhütlerinin doğruluğunu yüksek olasılıkla sağlamak için oy pusulaları taahhütlerine karşı kontrol edilebilir.

Ayrıca bakınız

Referanslar

Dış bağlantılar