메인메뉴 바로가기
본문바로가기

과학이야기 재미있고 다양한 과학이야기를 읽어보세요

스마트폰의 패턴 잠금은 모두 몇 가지 경우일까?
조회 1,294 2020.11.30 신고

 

1

 

얼마 전 ‘n번 방’ 사건은 많은 이들의 공분을 사며 큰 사회적 파장을 일으켰다. 당시, 경찰에서 확보한 피의자의 스마트폰은 패턴 잠금이 되어 있었으며, 이 암호를 해독하는데 무려 두 달의 시간이 소요되기도 하였다. 일반적으로 스마트폰의 패턴 잠금은 최소 4개에서 최대 9개의 점을 선택하여 연결한다. 9개의 점에 숫자를 ①, ②, ③, …, ⑧, ⑨와 같이 대응시킨 후 패턴 잠금의 경우의 수에 대해 알아보도록 하자.

 

패턴 잠금의 경우의 수는 모두 몇 가지일까?

 

우선, 스마트폰에서 패턴을 만드는 규칙을 이해하자.

 

규칙#1. 패턴은 최소 4개의 점에서 최대 9개의 점을 한 번씩만 연결할 수 있다.
규칙#2. 일직선에 놓인 세 개의 점에 대하여,가운데 점의 경유 없이 양 끝점을 연결할 수 없다.

             (단, 가운데의 점을 이미 경유 한 경우에는 양 끝점을 연결할 수 있다.)

 

이를 표로 정리해보면 다음과 같다.

 

2

 

4

 

 

 


이제, 패턴의 모든 경우의 수를 구해보자!

 

1단계. 4개~9개의 격자점을 연결하는 모든 경우의 수

 

우선, 규칙과 상관없이 ①~⑨까지의 숫자 중, 서로 다른 4~9개를 선택해서 나열(연결)되는 경우의 수를 구해보자.

 

서로 다른 4개의 숫자를 나열하는 경우의 수 = 9×8×7×6 = 3,024
서로 다른 5개의 숫자를 나열하는 경우의 수 = 9×8×7×6×5 = 15,120
서로 다른 6개의 숫자를 나열하는 경우의 수 = 9×8×7×6×5×4 = 60,480
서로 다른 7개의 숫자를 나열하는 경우의 수 = 9×8×7×6×5×4×3 = 181,440
서로 다른 8개의 숫자를 나열하는 경우의 수 = 9×8×7×6×5×4×3×2 = 362,880
서로 다른 9개의 숫자를 나열하는 경우의 수 = 9×8×7×6×5×4×3×2×1 = 362,880

 

이를 모두 더하면 985,824가지나 된다. 이를 프로그래밍으로 구해본 결과는 아래와 같다.      

 

 

4

 


2단계. 규칙에 맞는 패턴의 모든 경우의 수

 

1단계에서 얻은 모든 경우의 수에서,패턴의 규칙에 맞지 않는 부분을 제외해야 한다. 이 부분은 경우의 수를 이용하여 세는 것이 매우 까다롭기에, 컴퓨터 프로그래밍을 이용하여 계산해 보았다. 아래의 그림 중, 첫 번째 점선 부분985,824가지의 격자점을 연결하는 모든 경우 중에서 「…, ①, ③, …」 같이 나열된 패턴들을 제외(Except)하되 「…, ②, …, ①, ③, …」 처럼 ①, ③ 앞에 ②가 있는 패턴은 보존하기 위한 프로그래밍 코드로‘사전에 ②의 경유 없이, ①↔③을 연결할 수 없다.’라는 규칙이 적용된 것만을 추출하기 위함이다.

 

 5

 

6

 

 


이처럼 컴퓨터로 프로그래밍을 통하여 규칙에 맞지 않는 것들을 제외하고 얻어낸 패턴으로 만들 수 있는 모든 경우의 수는 389,112가지다. 다음은 389,112가지의 모든 패턴에 대한 YouTube 동영상이다.

 

 

 

 

 

이 글에서 소개한 내용은 세계적으로 유명한 Mathematica 소프트웨어로 구현한 것이며, 이는 파주여고 이장훈 선생님의 홈페이지 수학생각(http://www.mathought.com)의 수학실험실에서 Dynamic한 실험과 조작을 통하여 더욱 즐겁게 관찰할 수 있다. 단, 공개프로그램인 Wolfram CDF Player를 설치한 PC에서 작동이 가능하다.


바로가기
3×3 패턴 잠금에 대한 모든 경우의 수(소스 코드)

 

 

0 댓글1
추천콘텐츠
댓글 1개
댓글 쓰기

가능한 경우를 수가 얼마나 있는지 생각도 해보지 않았는데 389,112가지나 된다니, 하루에 한번씩만 바꾼다고 해도 1000년이 넘게 걸리겠는데요.^^ 다양한 패턴으로 잠금을 할 수 있어서 보안적인 측면에서는 정말 좋은 아이디어 인 거 같습니다.

2020.12.02
TOP으로 이동