from hashlib import sha512 # IMA Int. Conf. 1999: a = "Patrick G. Farrell and Seyed H. Razavi: Graph Decoding of Array Error-Correcting Codes. (1999)" # Des. Codes Cryptogr. 9(1): 105-114 b = "Tran van Trung: A Generalization of a Theorem of Dehon for Simple t-Designs. (1996)" # EUROCRYPT 2001 c = "William Aiello, Yuval Ishai and Omer Reingold: Priced Oblivious Transfer: How to Sell Digital Goods. (2001)" # Des. Codes Cryptogr. 86(9): 2091-2113 d = "Yun Fan and Bangteng Xu: Fourier transforms and bent functions on finite groups. (2018)" # WEWoRC 2005 e = "Alexandre Ruiz and Jorge Luis Villar: Publicly Verfiable Secret Sharing from Paillier's Cryptosystem. (2005)" # ACNS 2014 f = "Céline Blondeau, Andrey Bogdanov and Meiqin Wang: On the (In)Equivalence of Impossible Differential and Zero-Correlation Distinguishers for Feistel- and Skipjack-Type Ciphers. (2014)" # Cryptologia 34(3): 211-224 g = "Jacob Konikoff and Seth Toplosky: Analysis of Simplified DES Algorithms. (2010)" # EUROCRYPT 2012 h = "Abhishek Banerjee, Chris Peikert and Alon Rosen: Pseudorandom Functions and Lattices. (2012)" # IJACT 1(1): 32-46 i = "Gaëtan Leurent: Message Freedom in MD4 and MD5 Collisions: Application to APOP. (2007)" # ACNS 2005 j = "Sencun Zhu, Chao Yao, Donggang Liu, Sanjeev Setia and Sushil Jajodia: Efficient Security Mechanisms for Overlay Multicast-Based Content Distribution. (2005)" # Cryptologia 25(2): 91-94 k = "Jonathan Winkler: From the Archives Early Corporate espionage amid World War I Censorship. (2001)" # CRYPTO 2003 l = "Matthew Cary and Ramarathnam Venkatesan: A Message Authentication Code Based on Unimodular Matrix Groups. (2003)" def H(s): return int.from_bytes(sha512(s.strip().encode('utf8')).digest(), byteorder='big') assert (H(a) & H(b) & H(c) & H(d)) ^ (H(e) & H(f) & H(g) & H(h)) ^ (H(i) & H(j) & H(k) & H(l)) == 0