# Okay to post homework # Ryan Badi, April 21, 2024, Homework 24 FieldTripAvailability := proc(): return {}: end: AliceToBobG := proc(ListM, Nbob, eBob, Nalice, dAlice, H) local x, M1, S, M: M1 := [seq(M&^eBob mod Nbob, M in ListM)]: x := add(M&^3, M in ListM) mod H: S := x&^dAlice mod Nalice: return [M1, S]: end: BobReadAliceG := proc(MS, Nbob, dBob, Nalice, eAlice, H) local M1, S, M, X, x, X1, Mi, Mj: M1 := MS[1]: S := MS[2]: M := [seq(Mi&^dBob mod Nbob, Mi in M1)]: X := [seq(Mj&^3 mod H, Mj in M)]: X1 := S&^eAlice mod Nalice: if {seq(x, x in X)} <> {X1} then printf("Incorrect signature.\n"): fi: return M: end: # I have sent four messages (three to those immediately following me in the mailing list, and one to Himanshu, whose name was omitted). The following are my results: # Ramesh: Correctly determined my birthday and verified I authored the message. # Shaurya: Correctly determined my birthday and verified I authored the message. # Pablo: Correctly determined my birthday and determined someone fraudulently signed the message with my name. # Himanshu: Correctly determined my birthday and verified I authored the message. # I have received two messages. # Alex Valentino: I have not received a message. # Alex Varjabedian: Correctly determined his birthday and verified he authored the message. # Kaylee: Correctly determined her birthday and determined someone fraudulently signed the message with her name.