greenhelix
greenhelix
greenhelix
05-16 03:43
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

Brute_Force Algorithm :: 브루트 포스 알고리즘 (완전탐색)
Algorithm/Algorithm

Brute_Force Algorithm :: 브루트 포스 알고리즘 (완전탐색)

2021. 1. 17. 20:26

이 게시물은 개인적으로 알고리즘 공부한 내용과 이곳 저곳 검색하여 얻은 정보, 잡지식을 꾸준히 쌓아가는 글입니다. 출처는 최하단에 남겨두겠습니다. 자료나 궁금한점은 댓글로 질문해주세요.^^ 


Brute Force Algorithm
브루트 포스 알고리즘 

 

조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법.

영어로 brute는 "짐승같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 오래 걸리는 데다 자원이 엄청나게 깨져서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 점에서 암호 해독법 중 가장 확실하고 무서운 방법이다. 이론적으로 가능한 모든 경우의 수를 다 검색해 보는 것이라 정확도 100%가 항상 보장되니, 암호학에서는 가장 확실한 방법으로 통용되고 있다.

 

브루트 포스 방법에는 문제의 복잡도(Complexity)에 매우 민감하다는 치명적인 단점을 가지고 있다.

암호를 대입할 때 a, b, c, .... aa, ab, ac..... ba, bb, bc, .... 와 같은 모든 가능한 조합을 대입하는 방법 대신 abcd, 1234, qwert, q1w2e3 등 가장 많이 쓰이는 문자열만 모아서 대입하는 방법도 많이 쓰이는데, 이를 사전 공격(Dictionary attack)이라고 한다.

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Algorithm' 카테고리의 다른 글

😤 백준 1753번 최단경로 풀이 (Dijkstra Algorithm)  (0) 2021.01.25
[코딩 테스트] : #01 :: 기본적 이해  (0) 2021.01.07
Floyd_Warshall Algorithm :: 플로이드-와샬 알고리즘  (0) 2020.10.10
    'Algorithm/Algorithm' 카테고리의 다른 글
    • 😵 백준 9184번 신나는 함수 실행 풀이 ( Dynamic Programming, Memoization)
    • 😤 백준 1753번 최단경로 풀이 (Dijkstra Algorithm)
    • [코딩 테스트] : #01 :: 기본적 이해
    • Floyd_Warshall Algorithm :: 플로이드-와샬 알고리즘
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바