Skip to main content
deleted 4 characters in body
Source Link
simbo1905
  • 665
  • 5
  • 14

You shouldn't use advanced crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use that to secure your own voting web page; students authenticate to the college system with their college password and your web page is secured via a standard authentication API.
  4. If all students have a college email address create a unique randomnessrandom ID per student and email them a link to vote that uses their unique ID.p in the link. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

You shouldn't use advanced crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use to secure your own voting web page.
  4. If all students have a college email address create a unique randomness ID per student and email them a link to vote that uses their unique ID. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

You shouldn't use advanced crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML you can use that to secure your own voting web page; students authenticate to the college system with their college password and your web page is secured via a standard authentication API.
  4. If all students have a college email address create a unique random ID per student and email them a link to vote that uses their unique ID.p in the link. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

deleted 4 characters in body
Source Link
simbo1905
  • 665
  • 5
  • 14

You shouldn't be looking at customuse advanced crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use to secure your own voting web page.
  4. If all students have a college email address create a unique randomness ID per student and email them a link to vote that uses their unique ID. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system the they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

You shouldn't be looking at custom crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use to secure your own voting web page.
  4. If all students have a college email address create a unique randomness ID per student and email them a link to vote that uses their unique ID. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system the they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

You shouldn't use advanced crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use to secure your own voting web page.
  4. If all students have a college email address create a unique randomness ID per student and email them a link to vote that uses their unique ID. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.

Source Link
simbo1905
  • 665
  • 5
  • 14

You shouldn't be looking at custom crypto nor specialist algorithms here else you will be seriously over engineering and actually increasing the risks you face not reducing them. Seasoned security engineers would strongly recommend the "KISS principle". It's better to do something simple with a low error rate than attempt something complex and maybe have a bug whereby there is a huge flaw in your approach that you miss and an attacker finds. With a real world public election the eligible voters are a class of citizens; registering them to vote and giving them secure credentials is hard. You know the exact population of eligible voters and they are already registered on and using the college network where they have set their own passwords already. So you have none of the complications of a real election and you have only a basic authentication problem; is the person casting the vote authenticated as a college student. This problem should already been solved by your college.

The most important outcome is confidence in the election results with maximum participation. That's not the same success criteria as a "perfect vote count". Let's say you use some complex techniques and some noisy looser of the election declares that the complex algorithm was badly implemented and led to a flawed outcome when infact it all worked perfectly: you will have a world of pain and a likely outcome is that you are fired and the election is rerun as a paper election. That may or may not vindicate you as the publicity around the claims that the original election was unfair may boost the vote of the candidate who claimed the original vote was bad. That's a form of social engineering attack. She can claim "victory" no matter what the actual facts of the matter and increase her vote share. So it is better that you do something "low tech" that people have confidence was properly implemented the do anything complex and novel.

Here is a list of ways to solve your problem:

  1. If your college has a way that sudents can login and submit course work just have them login and submit the name of the candidate they are voting for; and you are done. Counting the votes is a bit more complex as they may be bad submissions but you can publish all the submissions anonymised and anyone can validate them or recount them and the outcome of the election won't be in dispute.
  2. If your college has a system were users can login and answer multiple choice questions then use that.
  3. If your college systems use a single sign-on API such as SAML that you can use to secure your own voting web page.
  4. If all students have a college email address create a unique randomness ID per student and email them a link to vote that uses their unique ID. Ensure that page at the link only allows one vote to be cast per student.

Sure some students will have obtained the network password of other students (such is life) and can steal a few votes. Yet if a noisy looser says "the vote was stolen" when you used the colleges authentication system the they are challenging the integrity of the college authentication systems and ability to stop cheating etc so the college will robustly investigate and defend the outcome. The cheater risks being expelled from college for subverting the college authentication systems so that's a deterrent; but they may think it's a safe game to attack a custom system you built. If caught they can claim that they are a hero white hat hacker improving the world by testing your system and that they always intended to tell the world that they rigged the vote after the results were declared giving you longer to discover their playful attack.