18268 >> Josh Benaloh: Welcome back. I think we're ready to start this afternoon's session. I think this morning we had a great opportunity to frame a lot of the issues. This afternoon is going to be more free form. We're going to explore some of the details of the front end, largely, what the voter sees and how the voter can participate in a verifiable process, without, hopefully, it being too onerous on the voter so it really is practical, and see some real instances of this. This is going to be started by Ron Rivest, who will talk about some work that has actually been fielded for Scantegrity and municipal election. Ron, I guess, is sort of a typical example of somebody who needs no introduction. But, of course, when one says that an introduction is then obligatory. So Ron is the R of RSA, which is used by everyone today when they use credit cards online and such. Has invented many systems. RC-2, 4, 5. MD-2, 4 and 5, I think. MD-6. And many, many other things. Not the least of which is the last few years he's focused some of his attention on voting systems, and we'll hear about Scangtegrity has gone on now. >> Ron Rivest: Thanks, Josh. Pleasure to be here. Great to have a voting workshop. Thanks for putting this together. I think it's great to get together and talk about voting. It's an exciting area, and it's been hard. And I think we're making progress on it. I'd like to report today on some progress, what happens when a bunch of academics get out of the ivy tower and get their hands dirty and really try to help run an election with one of these systems. So it actually worked pretty well. I'll tell you about that. So the goal here -- can we have a screen here? Do I need to do something? There we go. The goal is to explain to this particular system and explain to you what happened. Mostly good stuff at the Tacoma Park election November 3rd this past November where the mayor of Tacoma Park got elected with one of these systems and six county members. This is a system with a whole lot of people. David Chalm is the lead and the main innovator of this and I'm one of the participants in this. And the key idea of the interface, just to give you a heads up, I think this works. There we go. So the key thing is when you mark the oval on your op scan ballot, you see a confirmation code appear here. You see 631 appear there. That's the main innovation as far as the voter user interface appears. That gets wrapped in the systems behind the scene to make the accounting verifiable and so on and so forth. But in some sense that 631 is the encryption of your vote. So the end-to-end systems are the truly variable systems have been explained are systems that typically involve a website where stuff gets posted. Stuff that doesn't reveal exactly how you voted but allow you to check that your vote was recorded correctly and also allows anybody to check that the tally is correct. We don't want people selling their votes. You can't post the votes bare form, unless we give up on privacy altogether and some cryptography is used. Cryptography here tends to be less mathematical than the stuff that Ben talked about, as you'll see. I'd like to think of the verification as involving three parts. If you want to verify all the way from the voter's head to the other end where the tally is, you want to verify effectively three things. One that the votes were cast as intended, and the voter can do that because she knows what she intends. But collected as cast. Some kind of verifiable chain of custody. And that their count is collected. This is the tally that needs to be verified as well. Anybody can do the last two, or last one anyway and the voter can check that her vote was collected as cast. Voter verified paper trails only checks the first of these. You can see your vote is correct on the paper. But after that you're depending on the election officials and so on. The end-to-end systems provide this buzzword software independence and also verify the chain of custody and a verifiable tally. So Ben gave a nice overview of the general properties. This is a restatement of those. So Scangtegrity, this is second iteration of this. I'll just talk about the second version. So the key philosophy here is you take a standard voting system that voters are familiar with and you add a layer of mechanism that gives you this additional verification capability. So, by and large, this all feels very familiar to the voters. They're taking the ballots. They're marking ovals. Things get dark when they mark the ovals, and, by and large, it all works -- in fact one of the problems it was too familiar. Voters didn't notice the differences in many cases. They just thought that this was their traditional op scan ballots and the little numbers that appeared, who cares whatever they are. I don't know. So we didn't do enough education of the voters about the differences. So it feels very much like an optical scan system. The new things are it's got invisible ink for the confirmation code so when you mark the ovals you're using a special pen that has special ink in it. When you mark the oval, the ballots are preprinted and sort of reverse font here so that you have a confirmation code of some sort that appears in the oval. So you can't mark outside of the ovals in fact. The pens don't make any mark. You can't circle the candidate's name like you were talking about, Paul, or anything like that. It's nice in that sense. Gives a nice solid oval when you swipe them. We had a pen with two tips on it. One was the chisel tip you see here, allows you to swipe the oval one swipe, makes a nice dark mark. The other was the fine tip, at the other end, you could turn it around for write-in ballot. We had write-ins on this election as well. But the main point is this is like an Op Scan ballot. If you're an election official that doesn't want to know anything about this new mechanism stuff, you can say can I get all my traditional stuff? Yes, you can. You can do hand counts. We did a full hand count afterwards. You can do random sampling and auditing. You can treat these as ordinary op scan ballots fully and then the additional mechanisms give you this verification capabilities that we talked about. So we had a connection with the city of Tacoma Park, which is a very progressive neighborhood north of Washington D.C. They were looking for ways of -- they have complicated elections. They've got IRV and things like that. So they need some interesting technology to support that. There was a connection with one of the team members with carve-back with the election officials and that grew into a relationship where we agreed to try a pilot. And we had a trial election in April and then a -- mock election. Then a full real election this past November. So the main thing, as I said, were the interfaces that the special pen marks, the oval, and shows this confirmation code. So there's some special -- Gallic acid and some other stuff, special inks that David Chalm can tell you more about. We're trying to formulate the ink so they don't damage the print heads. We had problems printing the ballots a little bit. We had Epson ink jet printers. Took the cartridges and filled up the cartridges with our inks instead of the standard inks. That worked pretty well, but the print heads tended to die fairly quickly. We went through a few print heads like that. I think with the new formulation that will be fixed. These are the things you learn by doing elections. Confirmation codes are random. The voter can copy and take them home. Those are encryptions of her choices, if you like. I think that's the simplest way with what Ben said. Confirmation codes can be used as encryption unique per ballot. Each ballot has an identifying number and the combination of the ballot number and the confirmation code is an encryption of some candidate's name. The official's post the revealed confirmation codes and the voters can look on the website after the election closes to see that the ballot, first of all, is recorded as having been scanned and, second of all, what the confirmation codes that the voter should have seen. Now, what's the point of having these confirmation codes revealed like this? The point is that if the voters sees something that's incorrect, they can protest. There's a protest protocol. The voter says: You show this confirmation code instead of that confirmation code. Voters can be malicious here. They can protest to discredit the election. And so you'd like to be able to distinguish between a protest where a voter is just being a troublemaker and a protest where the voter's got a legitimate complaint. You can tell here with a system like this that the voter has a legitimate complaint because they know the confirmation code they shouldn't have been able to know without having actually marked the ballot. That's the point of having the confirmation code. They're only revealed when you mark them. The voter only sees confirmation codes that they actually voted for. The fact that they know the confirmation code is good evidence they actually voted for them and it should have been posted. And we had a lot of data how long the confirmation code should be, three digits, two digits, four digits, six digits, we ended up with three digit codes. Any questions about that sort of ->>: What happens if someone ruins a ballot, can't take another one because the confirmation code didn't get counted. >> Ron Rivest: Spoiling ballots, the usual procedures apply. You turn the ballot in. It's recorded as spoiled and -- there's also another part of the auditing procedure where we'll spoil the ballots. >>: Maybe what wasn't clear is probably the codes are close to one ballot is not going to be valid for another. >> Ron Rivest: That was behind your question. I didn't understand. Yes, the confirmation codes are unique. The random -- I should have said on that line -and unique per ballot, too. In fact, unique across different races. The same confirmation code doesn't appear on different races on the same ballot. So there's the limits of my PowerPoint skills. We actually had -- at one point we had a letter and digit. We switched the three digits. Seemed like it could be easier for voters to get used to. So here's the behind-the-scenes stuff. So you see in the interface. So there's this website. There's this encryption process. The encryption really is a random encryption, if you will. The confirmation codes are random. So how do they get decoded, if you will, how do you verify that the decryption is being done properly, that the tally is right? Here's step one, here's what happens before the scenes before the election starts. And I guess -- there's a data structure created. Here's the data structure. It's got a column here for the ballot. This is a ballot serial number. Another ballot serial number. Within a ballot there's various confirmation codes that might appear on these slides I'm using two little digit combinations and the actual election we had three digit. One in each confirmation code. Corresponds to the ballots print. We have some intermediate nodes sort of random numbers. Then we have a final column which has one entry for every ballot entry. So if there's a Tom and a Dick on the ballot there would be a Tom and Dick that correspond. The correspondence is indirect, and it goes through this data structure. The first confirmation code on ballot 251 corresponds to Tom. And the second confirmation code on ballot 251 corresponds to Dick. This is the correspondence. The edges in the graph are committed to ahead of time cryptographically by election officials. We have a cryptographic encryption procedure. It's basically encryption. You take the pair of things which is the confirmation code and the ballot number together with this number and you just encrypt them altogether with a key that's unique to that encryption. And you can open it later. You're putting it in an envelope. It has two protocols. One is committing to and the other is encrypting. The other is opening and you can open it later see what's inside. So we can see that this edge is there later on. But we're going to hide all these data structure. And we had a threshold encryption scheme set up. The election officials, we had four shares. There were four election officials on the board of elections. They each had to have a password to open their thing. We had a threshold of two. One of them actually forgot their password. So we only had three active election officials. But two was all we needed to make it work. That was fine. It was scary if we lost one. So this is the data structure. Any questions about this data structure? So then before the election, this is all committed to. The pile of commitments is there but the connections are no longer visible anymore. They have to be open to reveal them. And the ballots are printed, and there's more to say about the printing process. That needs to be secret as well, right? Because the printer knows the correspondence here. So that these are underneath the invisible ink. You can't see them here. But we worried about people being able to tell what the confirmation codes are without having to reveal them. There's chemicals or special light you can shine on the ballots. Seems to be pretty good against those kinds of attacks, but more research could be done there. Anyway, this is the start of the election. So everything's posted on the Web, all the commitments are posted. The ballots are printed and we're off and running. Then the voters vote. The ballots are scanned. The ballots, the scanner is a traditional Fujitsu desktop scanner. Doesn't do OCR on the confirmation codes. It just looks at where the ovals are marked. Those get translated into then positions on the ballots that are posted. So the confirmation codes that should have been revealed are check marked and decrypted on the website. So the website, you can see ballot 251 should have revealed F-7. The voter, when she looks up her ballot, can see that this is the confirmation she should have seen. So the voter, after she goes home, she's written down on a separate piece of paper the confirmation code she saw. Took that home. She's got the ballot number and confirmation code. She looks it up and says they've got my confirmation number correct. They've recorded the confirmation number I saw. I'm happy with that. They've got essentially the encrypted value for my vote. They've got the F7 and voter 302 has her encrypted confirmation code posted correctly. At this stage the voters have done their part. We've verified that the vote is intended so the voter knows they marked the oval next to the candidate name that they liked, and the website is now posting the correct confirmation code. So we've got the first two steps of verifiability the vote is collected and cast as intended and collected as cast. And now we want to do the tally. So this involves essentially a mixed net kind of computation like Ben talked about. A little bit different. So if you view this thing as a mixed net. This graph structure maps this F7 to someplace over here. So the election officials who know the graph structure, or when they combine their thresholds, we compute this graph structure, know what ought to be checked. If we take the path from F7 to some candidate whatever it was you can check the node along the path. So the election officials post those check marks, there's some path that goes from F-7 to one of the candidates. I've checked the vertex along that path. Some path that goes to this checkmark to this candidate. I've checked every vertex along that path. We've got to be careful. We don't want to tell the world how each particular voter voted. So we can't reveal these links. So the voter who had 251 can see that, yes, indeed this is the path. This is the edge that corresponds to that, this is the edge that corresponds to that because if you could trace those paths, all the way across, anybody could sell their vote. You can see that F7 corresponds to Dick. You're here in case of the small sample, you know everybody voted for Dick in this election. But there's only two voters, but you know what I mean. So here we want to confirm that these two checkmarks here correspond to the end points of these paths coming from these two checkmarks over here that go through these two checkmarks without revealing what the paths are. So we want to have some path checking process that works without showing what the paths are. So every edge in this graph needs to be checked, either both end points should be checked or not. So how do we do that without revealing the paths? So this is a process called randomized partial checking that Ari Jewels and Marcus Jacobs and I worked on. And it works as follows. So we -- I guess before we get to that, you know it's clear once you've got the checkmarks around, you can do the tally. You can Tom got no notes and Dick got two votes. So we know that's the alleged tally for this election. Assuming that the checkmarks are lined up properly, but we have to check that the checkmarks are lined up properly. So how do we do that? We start off like this and we go through the middle nodes one by one. And each middle node is a middle of a path. If it's unchecked it should connect on the left side to some unchecked node. If it's on the right, it should also connect to some unchecked node. If it's a checked node it should connect to a checked mark on each side. We're going to check for each node half of that so we don't reveal the paths. So we can check the first node. We actually use stock market prices on the day of the election to generate pseudo random numbers. And so we took the stock market of the Dow Jones average in half and hashed that with shot 256 or something and got a bunch of random bits. So we -- you can argue about whether that's the best thing to do or not. So that's what we did. We had a bunch of zeros and ones and the first one was a 1. So this first node we checked the right-hand side. And so that was a commitment was open. So we can see now where this edge goes, from this node over to Tom and so both are unchecked. This is unchecked and that's unchecked so that's cool. We don't know where it goes the other way, that's okay. So now this node we got a 1. We look this way. We see it goes down to Dick and this is checked and this is checked and we go down through all of these nodes, and we're checking essentially half the edges in this graph. Checking they had checkmarks on both ends or checkmarks on either end. And the assertion then is that if somebody was trying to cheat this process, and have these edges go in screwy ways. Or put the checkmarks down in a screwy way, so the edges didn't have this property were checked on both ends or checked on either end, then we would have a pretty good chance of detecting problems. One edge was wrong. We've got a half a chance every edge has a half a chance of being examined. So we would have a good chance of detecting one, if there's more than one, there would be an overwhelming chance that you'd check them. So this gives us confidence that the overall tally is correct. We see what's posted. This is -- these checkmarks are posted. These are opened up. These edges are opened up. We see where half the edges go. We can check the checkmarks on both ends of the end points and we can see that everything looks cool. That the checkmarks seem to be great. But we're not seeing how anybody voted. We're getting high confidence that this process with the tally is giving us the right answer without actually seeing how anybody voted. This is F7 checked. This could have been -- again, we have the small sample. But maybe I should have done it with a Tom and Dick switched or something. But you get the idea. Any questions about that? So that's the verification of the tally. So we have cast as intended. You can see your ballot was marked as you intended. There's a step here I need to talk about the printing of the ballots a little more. I will. Collected as cast. The voter can check that her ballots are posted. Confirmation codes are posted correctly. So the encrypted choices that she made make it properly to the website. And then counted as cast. That was the last thing I explained was how the checking what's posted on the website you can confirm the tally and see that everything is cool there. So let me talk about the ballot production, printing, because that also needs checking. So there's an issue here, ballots are different. They have confirmation codes on them. They have serial numbers on them. And the voter is trusting that when she marks a particular confirmation code that it's associated with the correct candidate. And so you actually need to audit that as well. If the printer was to switch the confirmation codes in a given ballot you'd have problems. Or switch the names of the candidates because the voter doesn't see the paths going through the data structure either and can't check the marks that she sees on her ballot going all the way to tend. You need to check that the ballots are printed properly. And so we had the Lilly Coney from the Electronic Privacy Information Center randomly pick ballots during the day, Mark all of the ovals and then we would spoil that ballot so it's marked officially as spoiled. And then on the website we would open all of the commitments and see what went on for those ballots. You could trace through all the choices for that. You could check that the data structure is entirely consistent with those battle lots there. We did it for about 50 ballots during the day. Enough to see if there's any major issues happening there. So we did a ballot production check. The checkmark consistency check I talked about, public tally we talked about there. So that's really what you need to verify the correctness of the election outcome. We've got cast as intended, collected as cast. Tallied as collected. Any questions on -- so a lot of elections, decided by dividing voter intent, and in this system, given this physical mark on paper, I'm wondering in this election did you run into any problems where the oval were marked and both of them were sort of marked? >> Ron Rivest: These were scanned by Fujitsu scanners. We had -- and so they were looking for darkened ovals. There was a few cases. We also had write-ins and things like that. So I mean the voter intent was more along the lines of somebody checked off a candidate and then also wrote their name in on the write-in line and checked the write-in box ovals which is a little different. >>: People were saying that was a squiggly kind of close to the oval. >> Ron Rivest: One of the nice things about this you can't write outside the ovals. And you had the chisel tip for writing inside the ovals broad swath. A little of that maybe one ballot. >>: The follow-up question is could this system work electronically where there's two copies were printed with the codes and used the voter had a chance to compare their receipt they were going to take home with what the computer printed and that's the [indiscernible] to give them a choice. >> Ron Rivest: It would be nice analog sometimes because you have a lot of issues there. But every piece of equipment you add to a system to make it more digital in some sense, piece of system you've audited and checked. For example, the recording of the confirmation codes here we decided to do, have the voters do that by hand on a separate little piece of paper they had a pad of in the voting booth and rather than have it printed out because you have to verify that the printer was doing the right thing another complicated piece of equipment. The answer is can you do Xs probably yes as a generic answer but you have to see what extra layers of the system you have to check the parts. Push to keep it simple. Enough mechanism to verify all the way through. So more comments. The ballot production is sensitive you need to keep the PDF files that are secret that the printer -- trusting the printing process. It's not a question of integrity here. It's a question of privacy. So the ballot printing needs to be private, because they're unique ballots and you don't want to leak out which code numbers ended up on which ballots. We talked about the ballot production being audited. Cony did. And you can imagine another attack where people, you have to think of all the different ways somebody might attack the system. As David was going through. Printing duplicate ballots. It's detectable. Voters both got the same ballot. And they both checked online T but they happen to vote differently, then one of them would protest. Things like this you need to think through. So we actually had a real election. It was great. This is the first U.S. governmental binding election for one of these end-to-end schemes. There have been a lot of others as David talked about and Ben mentioned where we've had organizations. But this is a governmental binding election. There's one poll site. Six wards. 1722 voters. Just 1 poll site there, so it was a small jurisdiction 66 voters verified online. Which is enough to give some confidence that all the parts are working as well. I think a lot of voters, we did some post election surveys. A lot of voters didn't actually realize they could verify online until later. We had this mock election I told you and they said what's the problem with this system, because is it really going to work for voters. And they decided the problem is me. I'm serious. They had me up in the front desk explaining how the system worked to voters as they came in. That took far too long. So that was about eight minutes per voter. So here we got it down to two minutes per voter by cutting me out of the loop. The consequence was the voters didn't actually understand what they were doing anymore they didn't get this nice lecture ahead of time explaining. So far too many of them didn't realize they could verify online and stuff like that, even though we had signs up and explanations and things like that. >>: Could you explain eight minutes for voter it would take you a week. >> Ron Rivest: Groups like this, stuff like that. >>: How were absentees. >> Ron Rivest: Absentees they don't use opinions. But we could have -- great question does this system work with mail in you could mail them out with the special pens and then everything's pretty much the same except for the fact you don't have protection against coercion locally when the voter's voting because you always have a mail in. The voter can check on line. >>: You get some information that could got from -- if the white part really comes out white and you scan it. Can't you probe randomly learn some information what the numbers are. >> Ron Rivest: This is the opinion attack, you have various attacks for banks, kind of pens that are mailed out where people have taken pens and probed under the scratch surface to see what the font is there. We jittered the positioning of the confirmation code. This is all sort of academics going overboard on some of this. But you can actually protect against some of those things. The real question is whether the technology we've got for printing this invisible really works against -- it won't work eventually. You can always have some kind of attack. Mass spectrometer and take micrograms of stuff out of it. The question is how well does it work. If there's good chemists that want to play with it, we'd be happy to -- Josh. >>: Did the final verified tally personally match the op scan tally? >> Ron Rivest: I think the hand tally, we had a couple of cases where there was a voter intent issue. Where the op scan the machine said it was illegal voted twice voting for the candidate and writing in the candidate's name write in. I haven't talked much about write in. We handled interesting complications when you get into real elections there's the ST ballots. Early vote so people went early downtown to vote. Using the pens. Provisional vote. You had to be able to handle voters who weren't clearly qualified at first then later were. Spoiled ballots, voters would make mistakes and need to come back and get another ballot. So you have to mark them as spoiled and we had the ballot audits, class of spoiled ballots. Privacy sleeves. David Chalm is a fanatic about privacy, cares that voters not be able to walk around with a bare ballot. They had to go in a folding black cardboard thing that got stuck in the scanner. The scanner sucked it out of that. Not something I am used to in Massachusetts. But protects privacy while you're in a poll site from anybody seeing anything. Write-in ballots. Special phase after the ballots were scanned to be able to interpret the write-in. So it was a program there that said this is a ballot with a write-in. There was a pixel image in the write-in field. And somebody could type in what the interpretation of that was. And that gets posted, too. You can see what that is. IRV, instant run-off voting, which is not my favorite election system. But they wanted to use it there. And so you marked first choice, second choice, third choice and there's a process of figuring out who wins the election. External auditors. Ben was one of our external auditors. Ben did a fantastic job at writing code, understanding all of the system. Writing code. Looked at everything on the website and checked that it all made sense. And you can look at his website and see the auditing process. It's all public. It's on the website. So anybody can look at it and do these checks. And Ben was one of the official auditors. Phil Surgursky also did some of the similar checks. We had two scanners with higher through-put. Spanish and English printed on the ballots, et cetera, et cetera. This is David Chalm with the ballot box. So this is big sort of laundry bins we bought for ballot boxes after ballot boxes. This is a desktop Fujitsu scanner hidden in here. This is a custom piece of mechanism that David got engineered for the things. You slide the slide the ballot with the privacy sleeve on it. It falls down here. There's a little button that keeps the privacy sleeve from sliding into the scanner. The ballot goes to the scanner. It falls into the box. Laptop in this box that does the recording. There's a seal of the city of Tacoma Park. And a locked ballot box, whatever. So that was -- this is the ballot itself. So we had, you can see the -- one thing that wasn't so great was the font on these. The font didn't have as high a resolution as you like. The one complaint that we had that seemed like it might be sort of legit or whatever, understandable, was somebody couldn't tell 0 from an 8. So it was like only one pixel difference from there. So that needs a little improvement. But I think that's all doable. Somebody's marking first choice, second choice. Third choice. If you mark your third choice, you can do a write-in. These are alignment marks for the scanner. This is the bar code for the serial number, as well. This is the human readable version of the serial number for the ballot. Instructions in English. Instructions in Spanish. So you can see this was also -the yellow regions are the ones that are sensitive to the special ink. Write-in area you could write in. You couldn't write out of that area or the oval. Some of the issues with ballot printing was challenging. As I mentioned I think the inks weren't friendly to the print heads. A lot of the voters didn't understand they could verify online. Long-haired professors talking too much. I take responsibility. That was the Bach election, though. No special pens for absentee voters. So the absentee voters could not check online. Other than the fact that their ballot was -- they couldn't see the confirmation codes. They filled it in with an ordinary pencil. They could see there were confirmation codes posted. They were treated like that because the posting of the confirmation codes on the website didn't depend on doing OCR on the ballots, looking for where the ovals were dark and translating them back. And so -- but I think if you wanted to do it, mail in Washington, you would mail in everybody a PIN or something like that. I think we're not as good as we could be. If somebody marked the ballots post-casting, if somebody didn't fill in a ballot, just wanted to cast a blank ballot, or left it blank and somebody filled it in later, the voter doesn't have a credible way of protesting that, because we don't have a confirmation code that said I didn't vote for anybody. So if you had a none-of-the-above choice maybe that would take care of that. Large team. David Chalm was the lead. Irv Carback was the graduate student of Maryland, first contact with Tacoma Park. Jeremy Clark, graduate students. Stefan Nist working on voting. Peter Ryan, inventor of printer votae. And Allen Sherman, University of Maryland, worked really hard from the George Washington University, making it all hang together. Tacoma Park officials, Board of Election. Four-way team that had threshold crypto, four election officials that the board of election folks actually worked with us directly and managed some of -- they took a special role in the managing of the crypto keys. And Ben did a great job with the auditing of the information that was posted on the website. Laconie did the ballot audits. Phil Sikorski also looked at the information that was posted and the checking on that and Lynn Bowmeister did some of the surveys we had. We have a separate paper coming out on some of the survey data from this. So that's basically what I wanted to say. It really worked. The election worked. The voters seemed satisfied with it. I think there's some minor glitches here and there. But this extra layer of mechanism didn't seem to cause any undue problems. People who could check seemed to like it and a lot of people didn't get the information that they could check soon enough. So it already cast their vote, and they said, oh, I can check on line. It was too late to get their confirmation codes. But I think this is a very promising election. It says that these kinds of end-to-end verifiable elections really can work in the field in practice. You can provide this level of integrity guarantees on ordinary political elections. I mean, the scalability of this system, the business aspects are sort of not there yet. But to make the printing work better and have a business organization. This was just a bunch of academics working with Tacoma Park. But there should be some process for making this work. And one part I didn't say, Ben didn't say either, I think you should understand that there's a bit of a trade-off here between privacy and integrity. These systems are improving integrity because you have an additional layer of mechanism. But there's an additional risk to privacy because you've got crypto keys which if they got disclosed could reveal how people voted. If you had a state constitution that said you absolutely have to indistinguishable ballots and total voter privacy, something like this, this system doesn't have that because we're introducing a risk to privacy here. But threshold encryption and stuff like that, I think it's a very reasonable trade-off myself. So that's all I wanted to say. >> Josh Benaloh: Thank you. [applause] >> Ron Rivest: Happy to take questions. >> Josh Benaloh: Any further questions of the actual Tacoma Park process and Scantegrity process and how it's going in before we sort of get into the different issues. >>: Did you have any challenges, because people wrote their numbers down wrong? They wrote down [indiscernible]. >> Ron Rivest: This one fellow wrote down the 8-0 thing. He agreed that he probably wrote it down, or he wasn't sure at the time what it was. He wrote down a 0 and the website said an 8. That was the only challenge we had. >>: From an operational standpoint, what do you think the increased cost per ballot is, the pens and those things. >> Ron Rivest: It's not very much. Compared to having DREs, the nice this about having an op scan and the per voter cost, is just the cost of printing the ballot. Here the ballots need to be unique. That's not a big deal. This is graduate student time, and we had students filling up the ink cartridges, syringes, stuff like that. It's hard to measure exactly what that is if you're doing a commercial operation. This technology would have to be refined and get real cost estimates. >>: There's no real cost component ->> Ron Rivest: It's cheap. The printing has got to be unique. You have to make sure the ink works on those printers. You've got a website to run. That's about it. >>: Do they want you back. >> Ron Rivest: Pardon. >>: Do they want you back for the ->> Ron Rivest: They do, actually. >>: Great. >> Ron Rivest: So I'm not sure when we're going to do that or if we're going to do that. But they do want us back. >>: Okay. So I wanted to hit process a little bit here. We agreed beforehand that we wanted to try to focus on open issues and questions and things that improved. So in the spirit here of your most critical of those you love in some sense, really do like Scantegrity a lot, I propose -- I came up with a list of about half a dozen things that seem to me open issues that can have improvement and hopefully there will be others -- maybe the best thing to do is to read it at this point. So the first thing I find difficult is something that came up explaining the system, the conceptual complexity. I actually find this more difficult than explaining, to encrypt and as Ben described this morning, the process of encrypting and go through a mixed net or [indiscernible] decrypt. Because it's not quite encryption. Even though it's mathematically simpler, the graph -- I haven't found a good way to explain it to people yet. I don't know if there is a good way for ->> Ron Rivest: I agree. I think as we experiment with different systems and as we experiment with the explanations of these systems they'll get better. But you're adding new mechanism that's got a certain level of complexity to it. Somebody wants to understand what's going on has to digest a somewhat complicated explanation, and maybe there's better systems to choose for that reason or better ways of explaining this system. >>: Next on my list is the issue of the linkage between the verified and the traditional tally, which seemed pretty close here. I'm always concerned about a system where we've got these two tallies and they're not exactly the same and how do you reconcile them. So I like the linkage to be as tight as possible. >> Ron Rivest: The reconciliation between the ->>: Op scan tally and the verify tally. >>: It was very close. >>: It was very close. >>: Very close. >>: Which is very good. >>: And all of them were explained by there were some absentee ballots. They were all accounted for. >>: Good. >> Ron Rivest: The process was very comfortable for the election officials, I think, in terms of understanding that there were some -- there's always discrepancies and you have to go through and try and figure out what's going on and here you've got good solid records of that. But there were no really new categories of issues introduced, I think. >>: Third thing on my list was issues with a corrupt or malicious printer who knows the codes. Somebody has to print it. Some machine has to print the codes. If you do know the codes, you can create spurious challenges ->> Ron Rivest: That's right. If somebody knows the codes ahead of time that's exactly what they can do, they can challenge and seem credible for that. You can always go back and look at the ballots, if somebody said I voted for X and you're showing Y or whatever, these ballots have serial numbers. You can go back in the back room and pull it out. There's been work that Alex and others have looked at trying to separate the printing out, you can have printing in stages, have different layers of printing and stuff like this, where the ink is mixed in different layers somehow. Maybe the serial number goes on it. I don't know if I understand these proposals very well yet. But there is a single point of failure there with this design, which is at the printing stage and it's a failure, it fails for voter privacy or for the ability to protest. >>: Ron, what you were just saying, the printing in layers, is there any -- it seems like combining David Chalm's visual [indiscernible] with potentially some things that can become active only when both have been printed. >> Ron Rivest: Yes, there's room for research figuring out ways of mitigating this. >>: It does seem like that's the one thing that's a little bit -- probably can be resolved, that's even better. >>: I'll edit forth and we can stop there. The fourth thing I'd like to mention is full voter verifiability in the sense that I trust [indiscernible] but maybe there's somebody out there what doesn't. As an individual, very suspicious voter, how do I have assurance in the integrity of the ballots? Am I allowed to spoil a bunch of ballots myself? Is there another process. >> Ron Rivest: That was designed -- this is the first time this rolled out. We wanted to keep things simple for the voters. And the best, purest solution to this is to have voters get a choice of ballots and spoil one and cast the other or something like that. And so we thought about that. Throughput was an issue getting the voters through and complexity for the voters. They had to understand. They had this option. Asking voters to randomly -- randomly pick a ballot, pick two ballots, randomly pick one to cast and one to -- the election officials decided they didn't want to get into that. So we had a process where we had designated representative to act as essentially a proxy for the voters to check on the ballots. But there's nothing in principle for whether it couldn't have been done or an ad hoc basis. As this continued to be used as people got familiar with it, I imagine sliding into that discretionary basis for some of the voters or all of the voters if they wanted to. No reason you can't. It's sort of managing voter understanding of what's going on. For those that don't care about this, they don't care about verifying this aspect of it. >>: Any other issues. >>: Let's see, this is going to be a little long. First start by saying that it falls into what they have in the end about as far as little compromise on privacy side when we do these things. But the example that you gave of keys being revealed, that really requires all or most of the election officials to participate in that. And I guess I've always been of the opinion that if you've gotten to that point you've got bigger problems than running elections. So that one is a little less of a concern to me. But in this situation, as I understand it. You have some opportunity for insider coercion attack, right? I mean, if there's still access to the ballots for the purposes of recount, after the fact, right, and the coercer can force the voter to reveal his codes before, he can go through and look for a ballot that happens to have that particular ->> Ron Rivest: Paper ballots by state law or federal law kept for 22 months, federal law, right. >>: For federal elections, yes. >> Ron Rivest: Federal election. I'm not sure what the law was here. The paper ballots are identifiable and the voter could be coerced conceivably because an election official said I had access to the ballots. >>: In fact ->> Ron Rivest: On principle, the voter has some choice about which ballot they get. So there's no table linking voter names to ballot numbers. Right? So ->>: That's not important if you can give them the sequence of codes that you revealed when you voted them, right? So ->> Ron Rivest: They are posted on the Web. As soon as the election's over, the ballot -- anybody knows those numbers. As soon as the election closes ->>: I understand. But if I, on my way out, before it ever gets posted, if I'm on my way out, I reveal to a coercer, I'm asked to reveal to a coercer what my sequence of choices were that will eventually link me back to a particular ballot, paper ballot in the accounting process, right. >> Ron Rivest: Yes, that's correct. >>: And I guess the reason I bring this up is I'm aware of certain, of real world coercion tacts and most of them from the city of Albany. And all of them I'm aware of is ->> Ron Rivest: Albany, New York. >>: Yes. >> Ron Rivest: I grew up in Schenectady. >>: So, I mean, I think we need to be careful. I guess what I'm getting at -summing this all up, I think it's safe to say that we're building our assumptions of privacy on the assumption that not all election officials are simultaneously corruptible. But to build your assumption of privacy on the notion that no one will ever be corruptible is a slightly regrouped assumption. >> Ron Rivest: I guess that's a fair comment, yeah. The fact that these ballots exist, they have serial numbers on them and are uniquely, you can go back and look at them, increases the risk to privacy and coercion attacks. I agree. >>: We'll thank you again, Ron. >> Ron Rivest: Sure. [applause]