DOI QR코드

DOI QR Code

Efficient Accessing and Searching in a Sequence of Numbers

  • Seo, Jungjoo (Department of Computer Science and Engineering, Seoul National University) ;
  • Han, Myoungji (Department of Computer Science and Engineering, Seoul National University) ;
  • Park, Kunsoo (Department of Computer Science and Engineering and Korea Institute of Computer Technology, Seoul National University)
  • Received : 2014.12.24
  • Accepted : 2015.02.17
  • Published : 2015.03.30

Abstract

Accessing and searching in a sequence of numbers are fundamental operations in computing that are encountered in a wide range of applications. One of the applications of the problem is cryptanalytic time-memory tradeoff which is aimed at a one-way function. A rainbow table, which is a common method for the time-memory tradeoff, contains elements from an input domain of a hash function that are normally sorted integers. In this paper, we present a practical indexing method for a monotonically increasing static sequence of numbers where the access and search queries can be addressed efficiently in terms of both time and space complexity. For a sequence of n numbers from a universe $U=\{0,{\ldots},m-1\}$, our data structure requires n lg(m/n) + O(n) bits with constant average running time for both access and search queries. We also give an analysis of the time and space complexities of the data structure, supported by experiments with rainbow tables.

Keywords

References

  1. M. Curtiss, I. Becker, T. Bosman, S. Doroshenko, L. Grijincu, T. Jackson, et al., "Unicorn: a system for searching the social graph," Proceedings of the VLDB Endowment, vol. 6, no. 11, pp. 1150-1161, 2013.
  2. A. C. C. Yao, "Should tables be sorted?" Journal of the ACM, vol. 28, no. 3, pp. 615-628, 1981. https://doi.org/10.1145/322261.322274
  3. M. L. Fredman, J. Komlos, and E. Szemeredi, "Storing a sparse table with 0(1) worst case access time," Journal of the ACM, vol. 31, no. 3, pp. 538-544, 1984. https://doi.org/10.1145/828.1884
  4. A. Brodnik and J. I. Munro, "Membership in constant time and almost-minimum space," SIAM Journal on Computing, vol. 28, no. 5, pp. 1627-1640, 1999. https://doi.org/10.1137/S0097539795294165
  5. R. Pagh, "Low redundancy in static dictionaries with constant query time," SIAM Journal on Computing, vol. 31, no. 2, pp. 353-363, 2001. https://doi.org/10.1137/S0097539700369909
  6. L. Foschini, R. Grossi, A. Gupta, and J. S. Vitter, "When indexing equals compression: experiments with compressing suffix arrays and applications," ACM Transactions on Algorithms, vol. 2, no. 4, pp. 611-639, 2006. https://doi.org/10.1145/1198513.1198521
  7. R. Raman, V. Raman, and S. R. Satti, "Succinct indexable dictionaries with applications to encoding k-ary trees, prefix sums and multisets," ACM Transactions on Algorithms, vol. 3, no. 4, article no. 43, 2007.
  8. P. Ferragina, G. Manzini, V. Makinen, and G. Navarro, "Compressed representations of sequences and full-text indexes," ACM Transactions on Algorithms, vol. 3, no. 2, article no. 20, 2007.
  9. J. C. Na, J. E. Kim, K. Park, and D. K. Kim, "Fast computation of rank and select functions for succinct representation," IEICE Transactions on Information and Systems, vol. E92, no. 10, pp. 2025-2033, 2009.
  10. S. Vigna, "Broadword implementation of rank/select queries," in Proceedings of the 7th International Conference on Experimental Algorithms, Provincetown, MA, 2008, pp. 154-168.
  11. A. Biryukov, A. Shamir, and D. Wagner, "Real time cryptanalysis of A5/1 on a pc," in Proceedings of the 7th International Workshop on Fast Software Encryption, New York, NY, 2001, pp. 1-18.
  12. J. Hong and S. Moon, "A comparison of cryptanalytic tradeoff algorithms," Journal of Cryptology, vol. 26, no. 4, pp. 559-637, 2012. https://doi.org/10.1007/s00145-012-9128-3
  13. S. M. Ross, A First Course in Probability, 6th ed., Upper Saddle River, NJ: Prentice Hall, 2002.
  14. P. Elias, "Efficient storage and retrieval by content and address of static files," Journal of the ACM, vol. 21, no. 2, pp. 246-260, 1974. https://doi.org/10.1145/321812.321820
  15. R. M. Fano, On the Number of Bits Required to Implement an Associative Memory, MIT Project MAC Computer Structures Group, 1971.
  16. D. Belazzougui, P. Boldi, R. Pagh, and S. Vigna, "Theory and practice of monotone minimal perfect hashing," Journal of Experimental Algorithmics, vol. 16, article no. 3.2, 2011.
  17. R. Grossi and J. S. Vitter, "Compressed suffix arrays and suffix trees with applications to text indexing and string matching," SIAM Journal on Computing, vol. 35, no. 2, pp. 378-407, 2005. https://doi.org/10.1137/S0097539702402354
  18. D. Okanohara and K. Sadakane, "Practical entropy-compressed rank/select dictionary," in Proceedings of the 9th Workshop on Algorithm Engineering and Experiments (ALENEX), 2007, pp. 60-70.
  19. F. Claude and G. Navarro, "Practical rank/select queries over arbitrary sequences," in String Processing and Information Retrieval, Lecture Notes in Computer Science vol. 5280, Heidelberg: Springer, pp. 176-187, 2009.
  20. G. Navarro and E. Providel, "Fast, small, simple rank/select on bitmaps," in Experimental Algorithms, Lecture Notes in Computer Science vol. 7276, Heidelberg: Springer, pp. 295-306, 2012.
  21. S. Gog, "SDSL-Lite," https://github.com/simongog/sdsl-lite.