비번을 길게, 문자 섞어써야 되는 이유

by Vermond posted Apr 26, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

계산의 편리성을 위해서 조건을 제한합니다



계산 전에 필요한 지식들


오토 비번 뚫기 프로그램은 가능한 모든 경우의 수를 직접 컴퓨터가 입력한다고 가정합니다

(실제 비번 입력제한이 없는 경우 위와 같은 프로그램을 쓰기도 합니다)


실제 진행 속도는 잘 모르나 1ms = 0.001 초 마다 하나의 비번을 처리한다고 봅니다


아래의 진한 숫자는 컴퓨터가 최대로 처리할때 걸릴 것으로 예상되는 기간


-----------------------------------

길이에 따른 문자 복합성

------------------------------------


- 숫자만 사용한다고 가정했을때


숫자 4자리


경우의 수 : 10의 4승 = 1천

처리 시간 : 1천 x 0.001초 = 1초



숫자 6자리


경우의 수 : 10의 6승 = 10만

처리 시간 : 10만 x 0.001초 = 100초 = 1분 40초



숫자 8자리


경우의 수 : 10의 8승 = 1000만

처리 시간 : 1000만 x 0.001초 = 10000초 = 약 167분


숫자 10자리


경우의 수 : 10의 10승 = 10억

처리 시간 : 10억 x 0.001초 = 1000000초 = 약 16667분




-------------------------------------------

문자 조합에 따른 복잡성

-------------------------------------------


편의를 위해 8자로 고정



숫자만 사용할 경우

(숫자 개수)의 8승 = 10의 8승 = 1000만 => 1000만 x 0.001초 = 약 167분


알파벳 소문자만 사용할 경우

(알파벳 개수)의 8승 = 26의 8승 = 2088 2706 4576 =>약 3480451분 => 6.6년


숫자 + 알파벳 소문자

(숫자 개수 + 알파벳 개수)의 8승 = 36의 8승 = 2 8211 0990 7456 => 약 47018498분 =>89.4년


숫자 + 알파벳 소문자 + 특수문자

대략 68의 8승 => 457 1632 3965 3376 => 14496년


위의거 + 대문자

94의 8승 => 193293년







덧붙여서 설명



저 위의 건 그냥 재미삼아 구한 이론적인 수치일 뿐입니다

위의 식에선 사실 자세히 보면 확 보이는 오점이 있는데

뭐냐면 저 식의 경우 해당 자리수만 구하는게 됩니다

실제 단계별로 입력하는 식의 암호풀기 알고리즘의 경우 1자리부터 하게 되니

8자리 계산의 경우 1자리계산하고 2자리 계산하고 쭉 계속 그렇게 가는 식이기 때문에

음 뭐 모르겠으면 걍 넘어가도 됩니다


게다가 실제로 대소문자가 별 차이없는 경우도 있고

일부 특문을 허용하지 않는 곳도 있고

비번 글자수를 작게 제한하는 곳도 있다보니 좀 애매하긴 한데....



Who's Vermond

profile
Twinkle, twinkle, little star, How I wonder what you are.
Up above the world so high, Like a diamond in the sky.
Twinkle, twinkle, little star, How I wonder what you are!

Articles