Research paper in NRP on cryptography

Posted on September 9, 2013

ABSTRACT This project aims to provide an efficient implementation of Decentralized Ciphertext-Policy Attribute-Based Encryption for web browsers. It specifically proposes a novel method of finding the smallest collection of attributes that satisfy the Linear Secret-Sharing Scheme access matrix in polynomial time, and an algorithm which builds the access tree from prefix Boolean formulae. It also proposed a way of generating random prefix Boolean formulae for automated testing of the abovementioned algorithms. The program was developed in Java, and a profiler was used to identify hotspots in the program. The paper then discusses different optimization strategies for the critical code portions identified, including pre-processing, memoization and lazy initialization. Performance was investigated with respect to the number of user attributes, length of access policy and the total number of attributes. Results showed that the optimized encryption algorithm was on average 30%-100% faster than a straight-forward implementation. Decryption is multiple times faster depending on user attribute number using the novel attribute selection method. By translating the program into JavaScript and running the result in web browsers, a secure online file sharing system between users using attributes from different authorities is created. In addition, this paper proposes a scheduling algorithm and uses HTML5 Web Workers to parallelize the main processing portion, allowing it to fully utilize state-of-the-art multi-core processors. Performance gain from multi-threading is also investigated up to 6 concurrent threads. Lastly, this paper presents several workarounds during porting when many functions in Java are not supported and when browsers do not comply with the HTML5 standard. KEYWORDS decentralized ciphertext-policy attribute-based encryption, optimization, parallel processing, JavaScript, Google web toolkit. Full paper

Disqus Comments