문자열 재구성 알고리즘 및 멱승문제 응용

A String Reconstruction Algorithm and Its Application to Exponentiation Problems

  • 심정섭 (인하대학교 컴퓨터공학부) ;
  • 이문규 (인하대학교 컴퓨터공학부) ;
  • 김동규 (한양대학교 전자컴퓨터공학부)
  • 발행 : 2008.10.15

초록

대부분의 문자열 문제들과 이들에 대한 알고리즘들은 패턴 매칭, 데이타 압축, 생물정보학 등의 분야에 응용되어 왔다. 그러나 문자열 문제와 암호화 문제의 관련성에 대한 연구는 거의 진행되지 않았다. 본 논문에서는 다음과 같은 문자열 재구성 문제들에 대해 연구하고 이 결과들이 암호학에 응용될 수 있음을 보인다. 유한 알파벳으로 구성된 길이 n인 문자열 x와, 길이 $k({\leq}n)$ 이내의 문자열의 집합 W가 주어졌을 때, 첫 번째 문제는 내의 문자열들 중 일부 문자열들을 최소의 회수로 연결하여 x를 재구성할 수 있는 연결 순서를 찾는 문제이다. 이 문제에 대해 O(kn+L)-시간 알고리즘을 제시한다. 이때, L은 W 내의 모든 문자열들의 길이의 합을 표시한다. 두 번째 문제는 첫 번째 문제의 동적 버전이며 이에 대해 $O(k^3n+L)$시간 알고리즘을 제시한다. 마지막으로 암호학과 관련된 멱승문제와 위에 제시된 재구성 문제들과의 관련성을 보이고 멱승문제를 해결하는 새로운 알고리즘을 제시한다.

Most string problems and their solutions are relevant to diverse applications such as pattern matching, data compression, recently bioinformatics, and so on. However, there have been few works on the relations between string problems and cryptographic problems. In this paper, we consider the following string reconstruction problems and show how these problems can be applied to cryptography. Given a string x of length n over a constant-sized alphabet ${\sum}$ and a set W of strings of lengths at most an integer $k({\leq}n)$, the first problem is to find the sequence of strings in W that reconstruct x by the minimum number of concatenations. We propose an O(kn+L)-time algorithm for this problem, where L is the sum of all lengths of strings in a given set, using suffix trees and a shortest path algorithm for directed acyclic graphs. The other is a dynamic version of the first problem and we propose an $O(k^3n+L)$-time algorithm. Finally, we show that exponentiation problems that arise in cryptography can be successfully reduced to these problems and propose a new solution for exponentiation.

키워드

참고문헌

  1. M. Crochemore, An optimal algorithm for computing the repetitions in a word, Information Processing Letters 12, 5 (1981), 244-250 https://doi.org/10.1016/0020-0190(81)90024-7
  2. A. Apostolico and F.P. Preparata, Optimal off-line detection of repetitions in a string, Theoretical Computer Science 22 (1983), 297-315 https://doi.org/10.1016/0304-3975(83)90109-3
  3. M.G. Main and R.J. Lorentz, An algorithm for finding all repetitions in a string, Journal of Algorithms 5 (1984), 422-432 https://doi.org/10.1016/0196-6774(84)90021-X
  4. D.E. Knuth, J.H. Morris, and V.R. Pratt, Fast pattern matching in strings, SIAM Journal on Computing 6, 1 (1977), 323-350 https://doi.org/10.1137/0206024
  5. A. Apostolico, M. Farach, and C.S. Iliopoulos, Optimal superprimitivity testing for strings, Information Processing Letters 39, 1 (1991), 17-20 https://doi.org/10.1016/0020-0190(91)90056-N
  6. D. Moore and W.F. Smyth, A correction to "An optimal algorithm to compute all the cover of a string," Information Processing Letters 54, 2 (1995), 101-103 https://doi.org/10.1016/0020-0190(94)00235-Q
  7. Y. Li and W.F. Smyth, An optimal on-line algorithm to compute all the covers of a string, preprint
  8. C.S. Iliopoulos, D.W.G. Moore and K. Park, Covering a string, Algorithmica 16 (1996), 288-297 https://doi.org/10.1007/BF01955677
  9. C.S. Iliopoulos and W.F. Smyth, On-line algorithms for -covering, in: Proc. 9th Australasian Workshop on Combinatorial Algorithms (1998), 97-106
  10. S.S. Skiena and G. Sundaram, Reconstructing Strings from Substrings, Journal of Computational Biology 2 (1995), 333-353 https://doi.org/10.1089/cmb.1995.2.333
  11. W. Bains and G. Smith, A novel method for nucleic acid sequence determination, Journal of Theoretical Biology 135, 3 (1988), 303-307 https://doi.org/10.1016/S0022-5193(88)80246-7
  12. S. Fodor, J. Read, M. Pirrung, L. Stryer, A. Lu, and D. Solas, Light-directed, spatially addressable parallel chemical synthesis, Science 251 (1991), 767-773 https://doi.org/10.1126/science.1990438
  13. P.A. Pevzner and R.J. Lipshutz, Towards DNA sequencing by hybridization, in: 19th Symp. on Mathem. Found. of Comp. Sci., LNCS 841 (1994), 143-258
  14. E.M. McCreight, A space-economical suffix tree construction algorithm, Journal of ACM 23 (1976), 262-272 https://doi.org/10.1145/321941.321946
  15. P. Weiner, Linear pattern matching algorithms, Proc. 14th IEEE Symp. Switching and Automata Theory (1973), 1-11
  16. E. Ukkonen, On-Line Construction of Suffix Trees, Algorithmica 14, 3 (1995), 249-260 https://doi.org/10.1007/BF01206331
  17. D. Gusfield, Algorithms on Strings, Trees, and Sequences, Cambridge Univ. Press 1997
  18. R. L. Rivest, A. Shamir and L. Adleman, A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM 21 ,2 (1978), 120-126 https://doi.org/10.1145/359340.359342
  19. T. ElGamal, A public key cryptosystem and a signature scheme based on discrete logarithms, IEEE Transactions on Information Theory 31, 4 (1985), 469-472 https://doi.org/10.1109/TIT.1985.1057074
  20. National Institute of Standards and Technology, Digital Signature Standard, FIPS Publication 186 (1994)
  21. D.M. Gordon, A Survey of Fast Exponentiation Methods, Journal of Algorithms 27, 1 (1998), 129- 146 https://doi.org/10.1006/jagm.1997.0913
  22. Y. Yacobi, Fast exponentiation using data compresseio, SIAM Journal on Computing 28, 2 (1998), 700-703 https://doi.org/10.1137/S0097539792234974
  23. C.S. Park, M.-K. Lee and D.K. Kim, New computation paradigm for modular exponentiation using a graph model, in: Stochastic Algorithms: Foundations and Applications (SAGA 2005), LNCS 3777 (2005), 170-179 https://doi.org/10.1007/11571155_14
  24. D. E. Knuth, The art of computer programming: Seminumerical algorithms, Volumn 2, 2nd edition, Addison-Wesley, Reading, MA (1981) 461-485
  25. C. K. Koc, Analysis of sliding window techniques for exponentiation, Computers and Mathematics with Application 30, 10 (1995) 17-24