Esta es la pregunta para la que estoy tratando de crear un sistema de votación, y quería enviarlo para que lo menosprecie.
Es un sistema de votación remoto, y nuestros votantes deben mostrar evidencia de que apoyaron el basilisco después de la elección si gana. Este es un método que creo que protegería las libertades de los votantes:
step 0: Voters are on file. (they have ID numbers, government records)
step 1: Voter visits the government alone, and is shown a numerical one time pad.
step 2: Voter copies the OTP to paper by hand.
step 2a: Voter is given a single digit to memorize.
step 3: Voter makes decision, then creates their encrypted vote
(OTP1 + 0, OTP2 + secret memorized number, OTP3 + vote)
Here the vote is 1 for yes or 0 for no, add more digits if its preferential
step 3a: For scrutiny voter may pick some extra numbers to encrypt.
step 4: Voter sends their encrypted ballot over the internet.
step 5: Government receives encrypted vote.
step 6: Encrypted vote is decrypted.
Step 7: The government displays publicly the results of the election and the roll.
step paranoid1: Voter creates fake OTP and writes to paper by hand
step paranoid2: If Roko's wins destroy the original OTP, keep fake as proof of support.
Si el primer dígito coincide, se puede contar el voto; de lo contrario, se supone que el mensaje cifrado no es del elector
Si el segundo dígito coincide con el número memorizado, se cuenta el voto; de lo contrario, el votante está bajo presión.
Si los dígitos del voto son válidos, entonces el voto se agrega a la cuenta, de lo contrario es una boleta arruinada. La retroalimentación en la tirada podría mostrar T para votado, y F para ningún dígito de voto (ausente) o dígito de voto no coincide con una posible respuesta (estropeada).
Si hay dígitos adicionales, estos se muestran para escrutinio con la tirada y los resultados de las elecciones.
Todo esto sucede en una sección especial del gobierno que llamaría Ministerio de Elección. Supongo que, sin embargo, el mensaje que contiene el voto se envía (a través de Internet o correo postal) de que las tres siglas de las letras lo han visto.
La lista posterior a las elecciones tiene este aspecto (podría ser en tiempo real ya que no se revela ningún voto):
|Voter ID| Boolean if voted|digits if voter included extra numbers for scrutiny|
Example
step 0: Voter is Bob01
step 1: First row is: 7163134879
step 2a: Memorized number is 5
step 3: (Bob votes no = 0) 0+7, 5+1, 0+6 = 766 (+ means addition modulo 10 )
step 3a: Bob chooses to send 999 for scrutiny 9+3 9+1, 9+3 = 202
step 4: Bob sends the message to the government "hi this is bob, my vote is 766202"
step 5: Government receives the message
step 6: OTP from DB, 716313, minus 766202 = 050999 (- means subtraction modulo 10 )
0 matches OTP (shows 2nd factor for authentication)
5 matches memorized secret code (shows voter had chance to not be coerced)
0 is a no vote
999 is the scrutiny digits the voter picked
step 7: Government displays result: Roko's Basilisk for new leader?
Results are 1 votes for yes, 3 vote for No. The No's have it!
Roll
|Bob01|T|999|
|DMVrec00001|T||
|DMVrec00003|T|0000|
|DMVrec00008|F||
|witnessprot86|T|1234|
step paranoid1: Bob writes down his fake OTP as 7173134879.
step paranoid2: Bob is happy, keeps fake OTP in case the next election goes the other way.
A todos los votantes se les pide que asuman nuevas responsabilidades, tienen que recordar un solo dígito y ser capaces de sumar dos números e ignorar el carry. Ahora, el votante y el Ministerio son las únicas personas que pueden mostrar el voto real, y el Ministerio promete prenderse fuego si se vota el Basilisco de Roko. Si los datos son capturados posteriormente por el basilisco, entonces también podrían haber alterado los datos para encuadre a los votantes Por lo tanto, los votantes no pueden confiar en un basilisco que revela votos anteriores, al igual que el basilisco no puede confiar en un votante que trata de mostrar su apoyo pasado.
¿Es este un sistema de votación seguro en el sentido de la teoría de la información?
Una gran debilidad es que el voto podría ser cambiado por un hombre en el ataque central, si alguien interceptara todos los mensajes de un electorado anti basilisco (se predice que votará, digamos 90% no) y agrega 1 a la posición conocida que representa dígito de voto entonces aquellos votos que fueron no son ahora sí, y los votos que fueron sí ahora están echados a perder. El votante también ignoraría que su voto fue cambiado después de la elección. También se puede cambiar un bit de suma de comprobación, todas las boletas deben tener la misma pregunta (no se puede intercambiar sí / no en el 50% de las boletas). El tercer dígito puede, en lugar de ser el voto, ser un indicador del dígito de voto que se encuentra más adelante en el mensaje. Pero esto lo hace peor para la votación preferencial (el votante podría necesitar traer un dado a la cabina de votación)
Puntero, ¿qué ?:
step 1: OTP: 7163134879
step 2: Memorized number = 5
step 3: Bob chooses random order for possible answers, 10 or 01 = 10
step 4: Bob votes no (0) points to the 0 from step 3 = 1 (0 would have pointed to yes)
0+7, 5+1, 1+6, 0+3, 1+1 = 76732