Home 5. brute force
Post
Cancel

5. brute force

brute force

브루트 포스. 직역 하면 무식한 힘이라는 뜻이다.
머리가 나쁘면 몸이 고생한다는 것처럼 어떤 문제에 대해 모든 경우의 수를 시도하는 방법이다.

이렇게 보면 비효율적이고 무식한 방법이라고 생각할 수 있지만 의외로 많이 쓰인다.
우선 모든 경우의 수를 해보기 때문에 시간과 자원만 된다면 성공률이 100%이다.
노가다라고도 부르고 완전 탐색이라고도 부르는 그런 방법이다.

image

이와 같은 방법이다..

가장 떠올리기 쉬운 방법이기도 하지만 가장 큰 문제점은 시간과 자원이다.
숫자로 이뤄진 4자리 비밀번호를 맞추는 것에는 10^4 횟수의 시도가 필요하다
그 정도면 충분히 해볼 수 있겠지만 2배인 8자리가 된다면 1억번의 시도가 필요해진다.

브루트포스는 백준 같은 알고리즘 문제보다는 암호학 쪽에서 많이 쓰이는 것 같다.
컴퓨터가 발전하면서 시간 당 연산의 속도가 빨라지고 DES같은 56bit를 키로 쓰는 암호나
MD5같은 해시 암호는 뚫려버린 것이 옛날 이야기다.

사실 알고리즘이라고 부르기에도 애매하다고 생각하긴 합니다..
CTF를 풀다보면 가끔씩 필요하다.
가장 먼저 떠오르는 방법이기도 하고, 적용하기도 쉬워서 아무 생각 없이 써보기엔 좋은 방법이다.

This post is written by PRO.