5

Scenario: a class that is not mandatory. The teacher wants a protocol that will satisfy the following requirements:

  1. It must record each student's attendance.
  2. A student X should not be able to say that another student Y went to the lecture.
  3. The teacher should not be able to know who attended the lessons and who didn't until the end of the term.
  4. It must provide integrity and non-repudiation.
  5. It must be simple and fast.

This is what I thought:

Suppose that there are N students enroled.

Each class:

  • The teacher generates N random numbers, stores them somewhere safe, and writes them down on a separate piece of paper.
  • He gives one of these to each of the students that attend a class. He asks them to sign the reverse of the paper.
  • The students sign, and give the piece of paper to the teacher.
  • The teacher can check whether a student invented a number.

At the end of the semester:

  • The teacher asks for ID of each of the enroled students (or any other document that contains the signature), so he can now know who attended each class and who didn't.

Are there any visible flaws?

  • say = "provide evidence" $:$ or $:$ say = "learn from the protocol" $:$? $;;;$ –  Jun 28 '13 at 05:35
  • @D.W. attendance, sorry. – Maria Ines Parnisari Jun 29 '13 at 02:54
  • @RickyDemer, if you are refering to the second requirement, it means that a student should not "sign" in the name of another student. – Maria Ines Parnisari Jun 29 '13 at 02:55
  • 1
    You haven't fixed the title. $:$ For the third requirement, the teacher needs to learn some $\hspace{.78 in}$ information at the end of the term. $:$ For the fourth requirement, the students need $\hspace{1.42 in}$ to get something from the teacher each class. $;;;$ –  Jun 29 '13 at 03:27
  • 2
    I'm skeptical that a feasible protocol can be designed because here you're facing the possibility of every student cheating the protocol with every other student. – pg1989 Jun 29 '13 at 07:28
  • How are you going to keep the teacher from just looking at the students to see who's present? – Ilmari Karonen Jun 30 '13 at 06:28
  • @IlmariKaronen, the teacher may recognize their faces but not know each of their names. – Maria Ines Parnisari Jun 30 '13 at 17:31
  • OK, so how about just having the teacher make up nicknames for each student, then, and verifying visually which students are present in each class. Or, if there are too many students for that, mount a camera in the classroom and use facial recognition software to track which students are present, assigning an arbitrary random ID to each face. At the end of the semester, each student shows up with photo ID to link their real name (or official student ID) to their face. Seems kind of silly, but also seems to satisfy your requirements (and a face is a lot harder to forge than a signature). – Ilmari Karonen Jul 01 '13 at 02:30
  • @IlmariKaronen, I also thought about taking pictures, but where do you store them? – Maria Ines Parnisari Jul 01 '13 at 02:33
  • On a disk? Or a USB stick, if you prefer. Why is that a problem, anyway? Disk space is cheap nowadays. Or is there some hidden requirement here? In any case, I don't think most modern face recognition programs actually store images of the faces (unless told to do so e.g. for review purposes), but only relatively compact abstract representations of the facial features of the subject. – Ilmari Karonen Jul 01 '13 at 07:24
  • @IlmariKaronen, on who's disk? If you store them just on the teacher's disk, he may "cheat" and see who attended the class. – Maria Ines Parnisari Jul 01 '13 at 19:40
  • The teacher can see the students in the classroom when he's teaching, right? So he cannot gain any information by looking at the pictures that he couldn't gain equally well just by looking at the students himself (and having a good memory for faces). And you implied that was acceptable above. – Ilmari Karonen Jul 01 '13 at 20:39

1 Answers1

1

Facing the same problem in an undergraduate class of about seventy students, I know of someone who came up with the following simple and effective solution because signing a paper had proven to be an undependable method for recording attendance:

In front of one of the four assistant instructors, he had the students present their IDs at the front desk as they came in, and an AI actually checked the photo of each student prior to scanning. Students were not allowed to scan themselves in, and he used an OpenOffice Calc spreadsheet to record their data. This made things reliable--the bar code reader populated the spreadsheet in front of an AI. It also made it easy to record lateness. Names were not recorded, only ID numbers, which the AIs did not know. He did not know anyone's ID number off the top of his head, but he could find out all of them.

For this to work in the way you wish, you would need to map each ID number to a new, class-specific number, and only let the certain people in the administration have access to a student's real ID number.

Or you could make an attendance card for each student in your class with a photo and bar code/ QR code, and use a good pseudo-random number generator to create their temporary, class-specific ID number.

Your most difficult parameter looks to be #3:

The teacher should not be able to know who attended the lessons and who didn't until the end of the term.

This is not realistic, even in a large class. You are asking a teacher not to remember faces and not notice empty seats.

At the end of the semester when grading, he sorted out the numbers and names and assigned attendance grades, etc. It worked, and it was fast. Come to think of it, you could use public-key cryptography to have the instructor(s) sign the completed attendance document, thereby giving you non-repudiation for that too.

Patriot
  • 3,132
  • 3
  • 18
  • 65
  • I used to just assign homework everyday and I guaranteed a "C" if you did all of the homework. Interestingly (and obviously), if you did every homework, you ended up with an "A". – b degnan Jul 22 '19 at 15:10
  • @b degnan I hear you. What I did not say in the answer was how many students decided to walk out the back door after they had signed in at the front. – Patriot Jul 22 '19 at 15:15
  • I'm pretty much the harbinger of failure if you don't go to my classes. I cannot say that I've every had anyone leave after arriving. It's the arriving thing that's a challenge. I liked teaching 0800 classes. :P – b degnan Jul 22 '19 at 15:22
  • @b degan I know what you mean. 0830 is now normal for me. Non-attendance is a death sentence. – Patriot Jul 22 '19 at 15:31