본문 바로가기
Python/브루트 포스

[Algorithm] Brute Force(브루트 포스)

by 유일리 2024. 1. 5.
브루트 포스란?

 

조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다. 완전 탐색이라고도 한다.

예를 들어, 4자리 비밀번호 자물쇠가 있을 때 0000~9999까지 모든 수를 대입해서 푸는 것을 말한다.

 

브루트 포스의 특징
  • 이론적으로 가능한 모든 경우의 수를 다 검색해 보는 것이라 정확도 100%를 보장한다.
  • 거의 완벽하게 병렬 작업이 가능하다.
  • 문제의 복잡도에 매우 민감하여 조금만 복잡해져도 매우 비효율적이다.
브루트 포스의 종류
  • 선형 구조 : 순차 탐색
  • 비선형 구조 : 백트래킹, BFS, DFS
브루트 포스 구현 방법
  • for/while loop 사용
  • 순열
  • 재귀

댓글