Abstract
Parallel implementation provides a solution for the problem of accelerating cellular automata (CA)-based secret sharing schemes and make them appropriate for bulk data sharing and real-time applications. By presenting new platforms, we need new implementation techniques to run algorithms as fast as possible on the platform. In this paper, we present a new implementation of a CA-based secret sharing scheme using the Graphic Processing Unit (GPU). We propose a new data arrangement that reduces the total number of accesses to the memories in GPU. Our algorithm further reduces the amount of data required by each thread and at the same time achieves a high cache hit rate. Also, it can achieve coalesced memory accesses to optimal use of the global memory bandwidth. The proposed method obtains speedup up to four times faster than the best previous GPU implemented CA-based multi-secret sharing schemes.
Similar content being viewed by others
References
Alvarez G, Encinas LH, Del Rey AM (2008) A multisecret sharing scheme for color images based on cellular automata. Inf Sci 178(22):4382–4395
Blakley GR et al (1979) Safeguarding cryptographic keys. In: Proceedings of the National Computer Conference. vol 48, pp 313–317
Cramer R, Damgård I, Nielsen JB (2001) Multiparty computation from threshold homomorphic encryption. In: International Conference on the Theory and Applications of Cryptographic Techniques. Springer, pp 280–300
Del Rey AM, Mateus JP, Sánchez GR (2005) A secret sharing scheme based on cellular automata. Appl Math Comput 170(2):1356–1364
Eslami Z, Ahmadabadi JZ (2010) A verifiable multi-secret sharing scheme based on cellular automata. Inf Sci 180(15):2889–2894
Faraoun KM (2014) A novel fast and provably secure (t, n)-threshold secret sharing construction for digital images. J Inf Secur Appl 19(6):331–340
Goyal V, Pandey O, Sahai A, Waters B (2006) Attribute-based encryption for fine-grained access control of encrypted data. In: Proceedings of the 13th ACM Conference on Computer and Communications Security. ACM, pp 89–98
Grosser T, Cohen A, Kelly P.H, Ramanujam J, Sadayappan P, Verdoolaege S (2013) Split tiling for GPUs: automatic parallelization using trapezoidal tiles. In: Proceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units. ACM, pp 24–31
Ha PH, Tsigas P, Anshus OJ (2010) The synchronization power of coalesced memory accesses. IEEE Trans Parallel Distrib Syst 21(7):939–953
He J, Dawson E (1995) Multisecret-sharing scheme based on one-way function. Electron Lett 31(2):93–95
Hernandez-Becerril A, Nakano-Miyatake M, Ramirez-Tachiquin M, Perez-Meana H (2013) Parallel implementation of multiple secret image sharing based on cellular automata. J Commun Comput 10:649–660
Hernandez-Becerril A, Nakano-Miyatake M, Ramirez-Tachiquin M, Perez-Meana H (2013) A parallel implementation of multiple secrete image sharing based on cellular automata with LSB steganography. In: Intelligent Software Methodologies, Tools and Techniques (SoMeT), 2013 IEEE 12th International Conference on. IEEE, pp 191–196
Hernandez-Becerril RA, Bucio-Ramirez AG, Nakano-Miyatake M, Perez-Meana H, Ramirez-Tachiquin MP (2016) A GPU implementation of secret sharing scheme based on cellular automata. J Supercomput 72(4):1291–1311
Hernandez-Becerrjl A, Nakano-Miyatake M, Perez-Meana H.M, Bucio A, Ramirez-Tachiquin M (2014) A parallel authenticated encryption sharing scheme based on cellular automata. In: Proceedings of the World Congress on Engineering and Computer Science. vol 1
Holewinski J, Pouchet L.N, Sadayappan P (2012) High-performance code generation for stencil computations on GPU architectures. In: Proceedings of the 26th ACM International Conference on Supercomputing. ACM, pp 311–320
Ito M, Saito A, Nishizeki T (1989) Secret sharing scheme realizing general access structure. Electron Commun Jpn (Part III Fundam Electron Sci) 72(9):56–64
Pang LJ, Wang YM (2005) A new (t, n) multi-secret sharing scheme based on shamirs secret sharing. Appl Math Comput 167(2):840–848
Rahman S.M.F, Yi Q, Qasem A (2011) Understanding stencil code performance on multicore architectures. In: Proceedings of the 8th ACM International Conference on Computing Frontiers. ACM, p 30
Schäfer A, Fey D (2011) High performance stencil code algorithms for GPGPUs. Procedia Comput Sci 4:2027–2036
Schoenmakers B (1999) A simple publicly verifiable secret sharing scheme and its application to electronic voting. In: Annual International Cryptology Conference. Springer, pp 148–164
Shamir A (1979) How to share a secret. Commun ACM 22(11):612–613
Shao J (2014) Efficient verifiable multi-secret sharing scheme based on hash function. Inf Sci 278:104–109
Wang D, Zhang L, Ma N, Li X (2007) Two secret sharing schemes based on boolean operations. Pattern Recognit 40(10):2776–2785
Wijaya S, Tan SK, Guan SU (2007) Permutation and sampling with maximum length CA or pseudorandom number generation. Appl Math Comput 185(1):312–321
Wolfram S (2018) Cellular automata and complexity: collected papers. CRC Press, Boca Raton
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Kabirirad, S., Fazlali, M. & Eslami, Z. High-speed GPU implementation of a secret sharing scheme based on cellular automata. J Supercomput 75, 7314–7336 (2019). https://doi.org/10.1007/s11227-019-02910-w
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-019-02910-w