Professional Documents
Culture Documents
minConnect = 4;
maxConnect = 10;
"checky" checks the possibility for a jump between two non-adjacent nodes
if isinstance(inp, list):
else:
if (toTouch == 0):
return 1;
else:
return 0;
ways = 0;
visit[cur] += 1;
visit[cur] -= 1;
return ways;
"waysOfConnection" returns number of pattern with minimum 'm' and maximum 'n'
connections
visit = [0]*N;
Note: One can also take advantage of the symmetry associated with a given network
Below is the illustration associated with the classic mobile lock pattern
Mentioned although not relevant due to its profound relevance to the problem statement in Q2
jump_android[1][3] = jump_android[3][1] = 2;
jump_android[7][9] = jump_android[9][7] = 8;
jump_android[1][7] = jump_android[7][1] = 4;
jump_android[3][9] = jump_android[9][3] = 6;
jump_a[1][3] = jump_a[3][1] = 2;
jump_a[3][5] = jump_a[5][3] = 4;
jump_a[3][7] = jump_a[7][3] = 6;
jump_c[1][3] = jump_c[3][1] = 2;
jump_c[3][6] = jump_c[6][3] = 7;
In [24]: maxVisit_a = 1
print("Total possible permutations for the classic mobile lock pattern = ",waysOfConnection(
jump_android, minConnect, maxConnect,maxVisit_a),end = "\n\n")
Total possible permutations for the classic mobile lock pattern = 389112
In [25]: %%time
maxVisit_b = 2
print("Total possible permutations for the classic mobile lock pattern = ",waysOfConnection(
jump_android, minConnect, maxConnect,maxVisit_b),end = "\n\n")
Total possible permutations for the classic mobile lock pattern = 379054512
c) One cannot conclude that higher the possible permutations for a pattern higher is the security level based on our
following arguments:
Given a sample dusted with fingerprint powder (prepared via any mode), one could heist an information extraction attack
via several available image processing techniques that discerns the password input of a touchscreen device such as a cell
phone or tablet computer from fingerprint smudges. It is least probable that one directly arrive at the correct password rather
one could (at best case) arrive at the correct nodes and edges between them in the target password. If the pattern involves lot
of jumping restrictions (associated with points lying in a straight line), one could easily crack the password since the number
of possible passwords that could be generated with the hints about nodes and edges will be relatively less (thus decreasing
the security level) than a pattern with very less jumping restrictions that has a better security level.
'c' has higher degree of jumping restrictions ie., 5 points lying in two straight lines!
'a' has three sets of three points in a line and two free points
'b' has no jumping restrictions ie., every nine point is a free point which means there is no restriction to go from one point
to any point in the pattern