Skip to main content
QUICK REVIEW

[논문 리뷰] Parallel algorithms for SAT in application to inversion problems of some discrete functions

Alexander Semenov, Oleg Zaikin|arXiv (Cornell University)|2011. 02. 17.
Cellular Automata and Applications참고 문헌 25인용 수 4
한 줄 요약

이 논문은 다항식으로 계산 가능한 이산 함수의 역함수 문제를 해결하기 위한 병렬 SAT 기반 기술을 제시한다. 특히 암호 분석 분야에서의 응용을 중심으로 한다. 역함수 문제를 SAT 문제로 환원하고 예측 함수를 통해 거대한 병렬 처리를 구현함으로써, 저자들은 고유한 그리드 시스템을 활용하여 A5/1 키스트림 생성기의 첫 번째 완전한 암호 분석을 성공적으로 수행하였으며, 단 144비트의 키스트림만으로도 16일간의 계산을 통해 비밀 키를 복원하였다.

ABSTRACT

In this article we consider the inversion problem for polynomially computable discrete functions. These functions describe behavior of many discrete systems and are used in model checking, hardware verification, cryptanalysis, computer biology and other domains. Quite often it is necessary to invert these functions, i.e. to find an unknown preimage if an image and algorithm of function computation are given. In general case this problem is computationally intractable. However, many of it's special cases are very important in practical applications. Thus development of algorithms that are applicable to these special cases is of importance. The practical applicability of such algorithms can be validated by their ability to solve the problems that are considered to be computationally hard (for example cryptanalysis problems). In this article we propose the technology of solving the inversion problem for polynomially computable discrete functions. This technology was implemented in distributed computing environments (parallel clusters and Grid-systems). It is based on reducing the inversion problem for the considered function to some SAT problem. We describe a general approach to coarse-grained parallelization for obtained SAT problems. Efficiency of each parallelization scheme is determined by the means of a special predictive function. The proposed technology was validated by successful solving of cryptanalysis problems for some keystream generators. The main practical result of this work is a complete cryptanalysis of keystream generator A5/1 which was performed in a Grid system specially built for this task.

연구 동기 및 목표

  • 다항식 시간으로 계산 가능한 이산 함수의 어려운 역함수 문제를 해결하기 위한 확장성 있고 분산된 계산 방법을 개발하기 위해.
  • 일반적인 컴퓨팅 인fra를 활용하여 A5/1와 같은 스트림 암호의 실용적 암호 분석을 가능하게 하기 위해.
  • SAT 환원과 병렬 처리를 통해 최소한의 키스트림 조각으로도 비밀 키를 복원할 수 있음을 입증하기 위해.
  • 저성능 클러스터와 전용 그리드 시스템에서의 구현을 통해 이 방법의 효율성을 검증하기 위해.

제안 방법

  • 이산 함수의 계산을 논리적 인코딩을 통해 부울 만족 가능성(SAT) 문제로 환원함으로써, 이산 함수의 역함수 문제를 SAT 문제로 변환하기 위해.
  • SAT 공식 내에서 입력 변수를 식별하여 문제를 저차원의 부분 문제로 분해할 수 있도록 하기 위해.
  • 전체 계산 시간을 최소화하기 위해 분해 전략을 최적화하기 위해 예측 함수를 사용하기 위해.
  • 클러스터나 그리드 환경의 계산 노드에 부분 문제를 분산 배포함으로써 거대한 병렬 처리를 실현하기 위해.
  • 분해된 문제 공간에서 만족할 수 있는 할당을 탐색하기 위해 BNB (Branch-and-Bound) SAT 솔버를 사용하기 위해.
  • A5/1 암호 분석에 필요한 대규모 계산을 처리하기 위해 전용 그리드 시스템(BNB-Grid)을 구축하기 위해.

실험 결과

연구 질문

  • RQ1다항식 시간으로 계산 가능한 이산 함수의 역함수 문제를 효과적으로 SAT 문제로 환원할 수 있는가?
  • RQ2이러한 함수에서 유도된 SAT 문제를 분산 병렬 실행을 위해 효율적으로 분해할 수 있는가?
  • RQ3예측 함수를 활용해 거대한 병렬 처리에서 총 계산 시간을 최소화할 수 있는가?
  • RQ4공개 접근이 가능한 그리드 환경에서 소량의 키스트림 조각만으로 A5/1의 완전한 암호 분석을 수행할 수 있는가?
  • RQ5A5/1에서 첫 144비트 키스트림 조각에 대해 동일한 결과를 생성하는 동치 키(충돌)는 몇 개인가? 그리고 이를 완전히 열거할 수 있는가?

주요 결과

  • A5/1 키스트림 생성기의 첫 번째 완전한 암호 분석이 단 144비트의 키스트림만으로 수행되었으며, 그리드 시스템에서 56시간의 계산으로 비밀 키가 복원되었다.
  • 이 방법은 동일한 144비트 키스트림 조각을 생성하는 세 개의 서로 다른 비밀 키를 성공적으로 식별하여, A5/1에서 충돌이 존재한다는 것을 확인하였다.
  • 첫 144비트 키스트림에 대해 A5/1의 모든 충돌을 완전히 탐색하는 데 16일간의 그리드 시스템 계산이 소요되었으며, 정확히 세 개의 해를 도출하였다.
  • 계산 작업량은 0에서 최대 5,568개의 코어까지 변동되었으며, 실험 전반에 걸쳐 평균적으로 2,000~3,000개의 코어가 사용되었다.
  • 이 방법은 저성능 클러스터에서 다른 생성기(임계값, 합계, Gifford)의 암호 분석을 성공적으로 수행하여, 이 방법의 일반적 적용 가능성을 입증하였다.
  • 결과적으로 A5/1는 전용 하드웨어 없이도 공개 접근 가능한 계산 환경에서 암호 분석이 가능하며, 이는 A5/1의 보안 가정에 도전하는 바이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.