reduce columns
This commit is contained in:
@@ -7,44 +7,44 @@
|
|||||||
- total number of properties: 54
|
- total number of properties: 54
|
||||||
|
|
||||||
## Customer Cipher
|
## Customer Cipher
|
||||||
- property key: [42782 22411 58796 11465 49503 56275 38775 38081 7026 16254 14654 36893
|
- property key: [29187 8204 6047 64047 53525 11867 18824 35538 45077 33932 37992 15962
|
||||||
55835 42117 397 53181 30070 49716 9591 26367 43862 44491 15032 6140
|
59642 23909 18198 52159 28347 8078 22066 56398 46985 41696 7084 56103
|
||||||
27166 25935 32851 1343 59160 16484 19970 19858 51729 7378 38465 28158
|
1625 31453 7418 15303 35465 27310 46695 8365 45388 58929 11384 64368
|
||||||
54598 17069 55468 61288 4228 11257 1486 8676 38279 55278 49181 18796
|
30936 44282 62811 22160 20933 21499 61363 9180 47285 5021 18129 20570
|
||||||
24775 6931 20611 57138 59596 36232]
|
42619 30657 56801 14839 11286 38709]
|
||||||
- position key: [12647 30491 17139 56844 38964 47773 48376 30998 47349]
|
- position key: [57791 55443 47428 9481 40757 62312 55581 59207 31500]
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## User Cipher
|
## User Cipher
|
||||||
- property key: [33847 39397 2529 4886 18590 30214 36385 48387 45829 57638 20358 47401
|
- property key: [63039 13937 22392 22556 23851 13063 2277 14453 60483 59297 53238 50783
|
||||||
15283 40354 57184 4978 23666 27711 53811 25217 41251 28914 39980 49243
|
40759 12966 14543 64414 12752 61149 16294 38792 40555 32560 54274 26845
|
||||||
50901 59505 64895 1640 29549 35643 5917 44770 1327 40377 63154 42643
|
8408 516 5126 11787 51712 48283 7084 25997 13305 51796 59458 333
|
||||||
27727 34100 38270 40653 59421 61433 33944 52893 5800 59979 60549 28886
|
50546 46819 29676 41112 7589 39340 7270 40439 32 16909 4097 47405
|
||||||
65479 26388 12482 30070 62886 928]
|
901 23033 12446 65486 41796 14649]
|
||||||
- passcode key: [39941 46272 6788 28608 6629 37858 57195 10700 63193 44873]
|
- passcode key: [ 3917 18489 51928 19673 27451 11243 32524 43956 43333 45897]
|
||||||
- combined position key: [17324 5420 26420 62365 37521 21226 5241 59891 59082]
|
- combined position key: [65378 4217 1730 61114 26857 28326 25595 30504 39366]
|
||||||
- mask key: [59295 36535 38305 40214 13117 40275 7336 42576 57021 2814]
|
- mask key: [28481 57972 43388 58568 3652 19285 25255 14159 35285 18802]
|
||||||
|
|
||||||
### Combined Postion Key
|
### Combined Postion Key
|
||||||
```mermaid
|
```mermaid
|
||||||
block-beta
|
block-beta
|
||||||
columns 2
|
columns 2
|
||||||
user_pos["user position key:\n[29387 25143 9671 11665 2725 59511 43137 37093 24127]"]
|
user_pos["user position key:\n[ 7901 51434 49030 52147 63452 40398 47846 36975 58058]"]
|
||||||
customer_pos["customer position key:\n[12647 30491 17139 56844 38964 47773 48376 30998 47349]"]
|
customer_pos["customer position key:\n[57791 55443 47428 9481 40757 62312 55581 59207 31500]"]
|
||||||
space:2
|
space:2
|
||||||
xor(("XOR")):2
|
xor(("XOR")):2
|
||||||
user_pos --> xor
|
user_pos --> xor
|
||||||
customer_pos --> xor
|
customer_pos --> xor
|
||||||
space:2
|
space:2
|
||||||
comb_pos["combined position key\n[17324 5420 26420 62365 37521 21226 5241 59891 59082]"]:2
|
comb_pos["combined position key\n[65378 4217 1730 61114 26857 28326 25595 30504 39366]"]:2
|
||||||
xor --> comb_pos
|
xor --> comb_pos
|
||||||
```
|
```
|
||||||
|
|
||||||
## User Keypad
|
## User Keypad
|
||||||
- keypad:
|
- keypad:
|
||||||
- user passcode indices: [8, 47, 15, 26]
|
- user passcode indices: [16, 34, 51, 12]
|
||||||
|
|
||||||
## nKode Cipher
|
## nKode Cipher
|
||||||
|
|
||||||
@@ -52,54 +52,54 @@ block-beta
|
|||||||
```mermaid
|
```mermaid
|
||||||
block-beta
|
block-beta
|
||||||
columns 2
|
columns 2
|
||||||
cprop["customer_property_key\n[42782 22411 58796 11465 49503 56275 38775 38081 7026 16254 14654 36893
|
cprop["customer_property_key\n[29187 8204 6047 64047 53525 11867 18824 35538 45077 33932 37992 15962
|
||||||
55835 42117 397 53181 30070 49716 9591 26367 43862 44491 15032 6140
|
59642 23909 18198 52159 28347 8078 22066 56398 46985 41696 7084 56103
|
||||||
27166 25935 32851 1343 59160 16484 19970 19858 51729 7378 38465 28158
|
1625 31453 7418 15303 35465 27310 46695 8365 45388 58929 11384 64368
|
||||||
54598 17069 55468 61288 4228 11257 1486 8676 38279 55278 49181 18796
|
30936 44282 62811 22160 20933 21499 61363 9180 47285 5021 18129 20570
|
||||||
24775 6931 20611 57138 59596 36232]"]
|
42619 30657 56801 14839 11286 38709]"]
|
||||||
uprop["user_property_key\n[33847 39397 2529 4886 18590 30214 36385 48387 45829 57638 20358 47401
|
uprop["user_property_key\n[63039 13937 22392 22556 23851 13063 2277 14453 60483 59297 53238 50783
|
||||||
15283 40354 57184 4978 23666 27711 53811 25217 41251 28914 39980 49243
|
40759 12966 14543 64414 12752 61149 16294 38792 40555 32560 54274 26845
|
||||||
50901 59505 64895 1640 29549 35643 5917 44770 1327 40377 63154 42643
|
8408 516 5126 11787 51712 48283 7084 25997 13305 51796 59458 333
|
||||||
27727 34100 38270 40653 59421 61433 33944 52893 5800 59979 60549 28886
|
50546 46819 29676 41112 7589 39340 7270 40439 32 16909 4097 47405
|
||||||
65479 26388 12482 30070 62886 928]"]
|
901 23033 12446 65486 41796 14649]"]
|
||||||
space:2
|
space:2
|
||||||
xor1(("XOR")):2
|
xor1(("XOR")):2
|
||||||
cprop --> xor1
|
cprop --> xor1
|
||||||
uprop --> xor1
|
uprop --> xor1
|
||||||
space:2
|
space:2
|
||||||
prop["combined_property_key\n[ 9001 52846 60493 16351 35265 44501 6486 10690 43127 56920 30392 10548
|
prop["combined_property_key\n[33852 5757 16615 41523 35902 7516 16749 45735 23638 25389 23454 63493
|
||||||
57768 14631 57069 56527 10500 44555 63300 1150 2677 56633 42644 55207
|
30669 28611 32729 12321 24427 61779 27028 19398 10722 56784 53166 46074
|
||||||
44235 36158 32044 855 38005 52063 22815 58224 53054 33131 24819 52077
|
9857 30937 2300 5580 16521 54837 44491 17696 33461 11365 50234 64061
|
||||||
47369 51097 19922 29093 63641 50176 33110 61305 33583 15781 11416 14778
|
48554 6681 34487 62984 19552 51799 62421 48683 47253 20880 22224 59767
|
||||||
40704 31751 24641 43588 7530 36392]"]
|
42494 11832 60799 50745 36690 44556]"]
|
||||||
xor1 --> prop
|
xor1 --> prop
|
||||||
pass["user_passcode_indices\n[8, 47, 15, 26]"]
|
pass["user_passcode_indices\n[16, 34, 51, 12]"]
|
||||||
space:2
|
space:2
|
||||||
sel(("select\nproperties")):2
|
sel(("select\nproperties")):2
|
||||||
pass --> sel
|
pass --> sel
|
||||||
prop --> sel
|
prop --> sel
|
||||||
space:2
|
space:2
|
||||||
passcode["user passcode properties:\n[43127 14778 56527 32044]"]:2
|
passcode["user passcode properties:\n[24427 50234 50745 30669]"]:2
|
||||||
sel --> passcode
|
sel --> passcode
|
||||||
space:2
|
space:2
|
||||||
pad["zero pad to\nmax nkode length: 10"]:2
|
pad["zero pad to\nmax nkode length: 10"]:2
|
||||||
passcode -->pad
|
passcode -->pad
|
||||||
space:2
|
space:2
|
||||||
paddedpasscode["padded passcode:\n[43127 14778 56527 32044 0 0 0 0 0 0]"]
|
paddedpasscode["padded passcode:\n[24427 50234 50745 30669 0 0 0 0 0 0]"]
|
||||||
pad --> paddedpasscode
|
pad --> paddedpasscode
|
||||||
passkey["passcode key:\n[39941 46272 6788 28608 6629 37858 57195 10700 63193 44873]"]
|
passkey["passcode key:\n[ 3917 18489 51928 19673 27451 11243 32524 43956 43333 45897]"]
|
||||||
space:2
|
space:2
|
||||||
xor2(("XOR")):2
|
xor2(("XOR")):2
|
||||||
passkey --> xor2
|
passkey --> xor2
|
||||||
paddedpasscode --> xor2
|
paddedpasscode --> xor2
|
||||||
space:2
|
space:2
|
||||||
cipheredpass["ciphered passcode:\n[13426 36218 50763 4844 6629 37858 57195 10700 63193 44873]"]:2
|
cipheredpass["ciphered passcode:\n[20518 35843 3297 15124 27451 11243 32524 43956 43333 45897]"]:2
|
||||||
xor2 --> cipheredpass
|
xor2 --> cipheredpass
|
||||||
space:2
|
space:2
|
||||||
hash(("hash")):2
|
hash(("hash")):2
|
||||||
cipheredpass --> hash
|
cipheredpass --> hash
|
||||||
space:2
|
space:2
|
||||||
cipheredhashed["hashed ciphered passcode:\n$2b$12$n5xAQRuWhK3MiLsQHYiRu.p2Mam48sH7W/L7BojTBkyoQuUGa6/sO"]:2
|
cipheredhashed["hashed ciphered passcode:\n$2b$12$wC7VFWUqOhklJsvhVukMWeGtlHhsuLL58TFxVqahBTvMuyBiLInXW"]:2
|
||||||
hash --> cipheredhashed
|
hash --> cipheredhashed
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -107,9 +107,9 @@ block-beta
|
|||||||
```mermaid
|
```mermaid
|
||||||
block-beta
|
block-beta
|
||||||
columns 3
|
columns 3
|
||||||
passcode_idx["passcode indices:\n[8, 47, 15, 26]"]
|
passcode_idx["passcode indices:\n[16, 34, 51, 12]"]
|
||||||
comb_pos["combined position key:\n[17324 5420 26420 62365 37521 21226 5241 59891 59082]"]
|
comb_pos["combined position key:\n[65378 4217 1730 61114 26857 28326 25595 30504 39366]"]
|
||||||
cust_pos["customer position key:\n[12647 30491 17139 56844 38964 47773 48376 30998 47349]"]
|
cust_pos["customer position key:\n[57791 55443 47428 9481 40757 62312 55581 59207 31500]"]
|
||||||
|
|
||||||
space:3
|
space:3
|
||||||
propidx(["Get Position Idx:\nmap each to element mod props_per_key"])
|
propidx(["Get Position Idx:\nmap each to element mod props_per_key"])
|
||||||
@@ -120,7 +120,7 @@ block-beta
|
|||||||
cust_pos --> xor1
|
cust_pos --> xor1
|
||||||
|
|
||||||
space:3
|
space:3
|
||||||
passcode_position_idx["passcode poition indices:\n[8, 2, 6, 8]"]
|
passcode_position_idx["passcode poition indices:\n[7, 7, 6, 3]"]
|
||||||
propidx --> passcode_position_idx
|
propidx --> passcode_position_idx
|
||||||
|
|
||||||
space:5
|
space:5
|
||||||
@@ -128,10 +128,10 @@ block-beta
|
|||||||
passcode_position_idx --> pad1
|
passcode_position_idx --> pad1
|
||||||
|
|
||||||
space:5
|
space:5
|
||||||
posidx["Padded Passcode Position Indices:\n[8, 2, 6, 8, 8, 3, 8, 6, 3, 7]"]
|
posidx["Padded Passcode Position Indices:\n[7, 7, 6, 3, 2, 8, 6, 1, 1, 4]"]
|
||||||
pad1 --> posidx
|
pad1 --> posidx
|
||||||
space:1
|
space:1
|
||||||
user_pos["user position key:\n[29387 25143 9671 11665 2725 59511 43137 37093 24127]"]
|
user_pos["user position key:\n[ 7901 51434 49030 52147 63452 40398 47846 36975 58058]"]
|
||||||
xor1 --> user_pos
|
xor1 --> user_pos
|
||||||
|
|
||||||
space:4
|
space:4
|
||||||
@@ -139,15 +139,15 @@ block-beta
|
|||||||
user_pos --> sel
|
user_pos --> sel
|
||||||
posidx --> sel
|
posidx --> sel
|
||||||
space:5
|
space:5
|
||||||
passcode_pos["ordered user passcode positions:\n[24127 9671 43137 24127 24127 11665 24127 43137 11665 37093]"]
|
passcode_pos["ordered user passcode positions:\n[36975 36975 47846 52147 49030 58058 47846 51434 51434 63452]"]
|
||||||
sel --> passcode_pos
|
sel --> passcode_pos
|
||||||
mask_key["mask key\n[59295 36535 38305 40214 13117 40275 7336 42576 57021 2814]"]
|
mask_key["mask key\n[28481 57972 43388 58568 3652 19285 25255 14159 35285 18802]"]
|
||||||
space:4
|
space:4
|
||||||
xor2(("XOR"))
|
xor2(("XOR"))
|
||||||
mask_key --> xor2
|
mask_key --> xor2
|
||||||
passcode_pos --> xor2
|
passcode_pos --> xor2
|
||||||
space:5
|
space:5
|
||||||
mask["enciphered mask:\n [47520 43888 15648 49961 27906 45250 17047 3793 62252 39451]"]
|
mask["enciphered mask:\n [65326 29211 5018 12155 45506 43423 55361 65445 16703 48814]"]
|
||||||
xor2 --> mask
|
xor2 --> mask
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -155,90 +155,89 @@ block-beta
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
block-beta
|
block-beta
|
||||||
columns 4
|
columns 3
|
||||||
selected_keys["selected keys:\n[3, 2, 2, 0]"]
|
selected_keys["selected keys:\n[3, 0, 1, 1]"]
|
||||||
login_keypad["login keypad:\nKey 0: [ 9 19 38 39 31 5 24 25 26]
|
login_keypad["login keypad:\nKey 0: [27 19 20 48 40 32 6 34 35]
|
||||||
Key 1: [18 1 20 12 13 50 6 34 53]
|
Key 1: [ 9 37 29 12 13 23 51 7 17]
|
||||||
Key 2: [36 37 47 21 40 41 15 43 17]
|
Key 2: [18 46 2 21 31 41 42 43 26]
|
||||||
Key 3: [ 0 10 2 3 4 23 42 7 8]
|
Key 3: [36 28 38 39 22 50 33 16 44]
|
||||||
Key 4: [45 46 11 30 22 32 51 16 35]
|
Key 4: [ 0 10 11 3 49 14 24 25 8]
|
||||||
Key 5: [27 28 29 48 49 14 33 52 44]
|
Key 5: [45 1 47 30 4 5 15 52 53]
|
||||||
"]
|
"]
|
||||||
mask["enciphered mask:\n [47520 43888 15648 49961 27906 45250 17047 3793 62252 39451]"]
|
|
||||||
mask_key["mask key:\n[59295 36535 38305 40214 13117 40275 7336 42576 57021 2814]"]
|
|
||||||
space:4
|
space:4
|
||||||
|
|
||||||
selectkeys(("select keys"))
|
selectkeys(("select keys"))
|
||||||
|
mask["enciphered mask:\n [65326 29211 5018 12155 45506 43423 55361 65445 16703 48814]"]
|
||||||
|
mask_key["mask key:\n[28481 57972 43388 58568 3652 19285 25255 14159 35285 18802]"]
|
||||||
space:2
|
space:2
|
||||||
|
|
||||||
xor1(("XOR"))
|
xor1(("XOR"))
|
||||||
mask --> xor1
|
mask --> xor1
|
||||||
mask_key --> xor1
|
mask_key --> xor1
|
||||||
selected_keys --> selectkeys
|
selected_keys --> selectkeys
|
||||||
login_keypad --> selectkeys
|
login_keypad --> selectkeys
|
||||||
space:4
|
space:3
|
||||||
|
|
||||||
ordered_keys["ordered keys:\n[[ 0 10 2 3 4 23 42 7 8]
|
ordered_keys["ordered keys:\n[[36 28 38 39 22 50 33 16 44]
|
||||||
[36 37 47 21 40 41 15 43 17]
|
[27 19 20 48 40 32 6 34 35]
|
||||||
[36 37 47 21 40 41 15 43 17]
|
[ 9 37 29 12 13 23 51 7 17]
|
||||||
[ 9 19 38 39 31 5 24 25 26]]"]
|
[ 9 37 29 12 13 23 51 7 17]]"]
|
||||||
space:1
|
user_position_key["user position key:\n[ 7901 51434 49030 52147 63452 40398 47846 36975 58058]"]
|
||||||
user_position_key["user position key:\n[29387 25143 9671 11665 2725 59511 43137 37093 24127]"]
|
passcode_pos["ordered user passcode positions:\n[36975 36975 47846 52147 49030 58058 47846 51434 51434 63452]"]
|
||||||
passcode_pos["ordered user passcode positions:\n[24127 9671 43137 24127 24127 11665 24127 43137 11665 37093]"]
|
|
||||||
selectkeys --> ordered_keys
|
selectkeys --> ordered_keys
|
||||||
xor1 --> passcode_pos
|
xor1 --> passcode_pos
|
||||||
space:7
|
space:8
|
||||||
|
|
||||||
get_passcode_idxs(("recover passcode\nposition indices"))
|
get_passcode_idxs(("recover passcode\nposition indices"))
|
||||||
user_position_key --> get_passcode_idxs
|
user_position_key --> get_passcode_idxs
|
||||||
passcode_pos --> get_passcode_idxs
|
passcode_pos --> get_passcode_idxs
|
||||||
space:7
|
space:8
|
||||||
|
|
||||||
passcode_pos_idxs["padded passcode position indices:\n[8, 2, 6, 8, 8, 3, 8, 6, 3, 7]"]
|
passcode_pos_idxs["padded passcode position indices:\n[7, 7, 6, 3, 2, 8, 6, 1, 1, 4]"]
|
||||||
get_passcode_idxs --> passcode_pos_idxs
|
get_passcode_idxs --> passcode_pos_idxs
|
||||||
space:4
|
space:3
|
||||||
|
|
||||||
get_presumed_idxs(("recover passcode\nproperty indices"))
|
get_presumed_idxs(("recover passcode\nproperty indices"))
|
||||||
ordered_keys --> get_presumed_idxs
|
ordered_keys --> get_presumed_idxs
|
||||||
passcode_pos_idxs --> get_presumed_idxs
|
passcode_pos_idxs --> get_presumed_idxs
|
||||||
space:7
|
|
||||||
|
|
||||||
passcode_prop_idxs["presumed passcode property indices:\n[8, 47, 15, 26]"]
|
|
||||||
space:1
|
|
||||||
prop["combined_property_key\n[ 9001 52846 60493 16351 35265 44501 6486 10690 43127 56920 30392 10548
|
|
||||||
57768 14631 57069 56527 10500 44555 63300 1150 2677 56633 42644 55207
|
|
||||||
44235 36158 32044 855 38005 52063 22815 58224 53054 33131 24819 52077
|
|
||||||
47369 51097 19922 29093 63641 50176 33110 61305 33583 15781 11416 14778
|
|
||||||
40704 31751 24641 43588 7530 36392]"]
|
|
||||||
cipheredhashed["hashed ciphered passcode:\n$2b$12$n5xAQRuWhK3MiLsQHYiRu.p2Mam48sH7W/L7BojTBkyoQuUGa6/sO"]
|
|
||||||
get_presumed_idxs --> passcode_prop_idxs
|
|
||||||
space:5
|
space:5
|
||||||
|
|
||||||
|
passcode_prop_idxs["presumed passcode property indices:\n[16, 34, 51, 12]"]
|
||||||
|
prop["combined_property_key\n[33852 5757 16615 41523 35902 7516 16749 45735 23638 25389 23454 63493
|
||||||
|
30669 28611 32729 12321 24427 61779 27028 19398 10722 56784 53166 46074
|
||||||
|
9857 30937 2300 5580 16521 54837 44491 17696 33461 11365 50234 64061
|
||||||
|
48554 6681 34487 62984 19552 51799 62421 48683 47253 20880 22224 59767
|
||||||
|
42494 11832 60799 50745 36690 44556]"]
|
||||||
|
cipheredhashed["hashed ciphered passcode:\n$2b$12$wC7VFWUqOhklJsvhVukMWeGtlHhsuLL58TFxVqahBTvMuyBiLInXW"]
|
||||||
|
get_presumed_idxs --> passcode_prop_idxs
|
||||||
|
space:3
|
||||||
|
|
||||||
sel(("select\nproperties"))
|
sel(("select\nproperties"))
|
||||||
passcode_prop_idxs --> sel
|
passcode_prop_idxs --> sel
|
||||||
prop --> sel
|
prop --> sel
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
passcode_prop["presumed passcode properties:\n[43127 14778 56527 32044]"]
|
passcode_prop["presumed passcode properties:\n[24427 50234 50745 30669]"]
|
||||||
sel --> passcode_prop
|
sel --> passcode_prop
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
cipher(("encipher"))
|
cipher(("encipher"))
|
||||||
passcode_prop --> cipher
|
passcode_prop --> cipher
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
cipheredpass["ciphered passcode:\n[13426 36218 50763 4844 6629 37858 57195 10700 63193 44873]"]
|
cipheredpass["ciphered passcode:\n[20518 35843 3297 15124 27451 11243 32524 43956 43333 45897]"]
|
||||||
cipher --> cipheredpass
|
cipher --> cipheredpass
|
||||||
space:8
|
space:7
|
||||||
|
|
||||||
|
|
||||||
comp(["compare"])
|
comp{"compare"}
|
||||||
cipheredpass --> comp
|
cipheredpass --> comp
|
||||||
cipheredhashed --> comp
|
cipheredhashed --> comp
|
||||||
space:7
|
space:7
|
||||||
|
|
||||||
suc(("valid"))
|
suc(("success"))
|
||||||
fail(("invalid"))
|
fail(("fail"))
|
||||||
comp --> suc
|
comp --"Equal"--> suc
|
||||||
comp --> fail
|
comp --"Not Equal"--> fail
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -135,77 +135,76 @@ block-beta
|
|||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
block-beta
|
block-beta
|
||||||
columns 4
|
columns 3
|
||||||
selected_keys["selected keys:\n{{selected_keys}}"]
|
selected_keys["selected keys:\n{{selected_keys}}"]
|
||||||
login_keypad["login keypad:\n{{login_keypad}}"]
|
login_keypad["login keypad:\n{{login_keypad}}"]
|
||||||
mask["enciphered mask:\n {{mask}}"]
|
|
||||||
mask_key["mask key:\n{{mask_key}}"]
|
|
||||||
space:4
|
space:4
|
||||||
|
|
||||||
selectkeys(("select keys"))
|
selectkeys(("select keys"))
|
||||||
|
mask["enciphered mask:\n {{mask}}"]
|
||||||
|
mask_key["mask key:\n{{mask_key}}"]
|
||||||
space:2
|
space:2
|
||||||
|
|
||||||
xor1(("XOR"))
|
xor1(("XOR"))
|
||||||
mask --> xor1
|
mask --> xor1
|
||||||
mask_key --> xor1
|
mask_key --> xor1
|
||||||
selected_keys --> selectkeys
|
selected_keys --> selectkeys
|
||||||
login_keypad --> selectkeys
|
login_keypad --> selectkeys
|
||||||
space:4
|
space:3
|
||||||
|
|
||||||
ordered_keys["ordered keys:\n{{ordered_keys}}"]
|
ordered_keys["ordered keys:\n{{ordered_keys}}"]
|
||||||
space:1
|
|
||||||
user_position_key["user position key:\n{{user_position_key}}"]
|
user_position_key["user position key:\n{{user_position_key}}"]
|
||||||
passcode_pos["ordered user passcode positions:\n{{ordered_user_position_key}}"]
|
passcode_pos["ordered user passcode positions:\n{{ordered_user_position_key}}"]
|
||||||
selectkeys --> ordered_keys
|
selectkeys --> ordered_keys
|
||||||
xor1 --> passcode_pos
|
xor1 --> passcode_pos
|
||||||
space:7
|
space:8
|
||||||
|
|
||||||
get_passcode_idxs(("recover passcode\nposition indices"))
|
get_passcode_idxs(("recover passcode\nposition indices"))
|
||||||
user_position_key --> get_passcode_idxs
|
user_position_key --> get_passcode_idxs
|
||||||
passcode_pos --> get_passcode_idxs
|
passcode_pos --> get_passcode_idxs
|
||||||
space:7
|
space:8
|
||||||
|
|
||||||
passcode_pos_idxs["padded passcode position indices:\n{{pad_user_passcode_idxs}}"]
|
passcode_pos_idxs["padded passcode position indices:\n{{pad_user_passcode_idxs}}"]
|
||||||
get_passcode_idxs --> passcode_pos_idxs
|
get_passcode_idxs --> passcode_pos_idxs
|
||||||
space:4
|
space:3
|
||||||
|
|
||||||
get_presumed_idxs(("recover passcode\nproperty indices"))
|
get_presumed_idxs(("recover passcode\nproperty indices"))
|
||||||
ordered_keys --> get_presumed_idxs
|
ordered_keys --> get_presumed_idxs
|
||||||
passcode_pos_idxs --> get_presumed_idxs
|
passcode_pos_idxs --> get_presumed_idxs
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
passcode_prop_idxs["presumed passcode property indices:\n{{user_passcode_idxs}}"]
|
passcode_prop_idxs["presumed passcode property indices:\n{{user_passcode_idxs}}"]
|
||||||
space:1
|
|
||||||
prop["combined_property_key\n{{combined_property_key}}"]
|
prop["combined_property_key\n{{combined_property_key}}"]
|
||||||
cipheredhashed["hashed ciphered passcode:\n{{code}}"]
|
cipheredhashed["hashed ciphered passcode:\n{{code}}"]
|
||||||
get_presumed_idxs --> passcode_prop_idxs
|
get_presumed_idxs --> passcode_prop_idxs
|
||||||
space:5
|
space:3
|
||||||
|
|
||||||
sel(("select\nproperties"))
|
sel(("select\nproperties"))
|
||||||
passcode_prop_idxs --> sel
|
passcode_prop_idxs --> sel
|
||||||
prop --> sel
|
prop --> sel
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
passcode_prop["presumed passcode properties:\n{{user_passcode_props}}"]
|
passcode_prop["presumed passcode properties:\n{{user_passcode_props}}"]
|
||||||
sel --> passcode_prop
|
sel --> passcode_prop
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
cipher(("encipher"))
|
cipher(("encipher"))
|
||||||
passcode_prop --> cipher
|
passcode_prop --> cipher
|
||||||
space:7
|
space:5
|
||||||
|
|
||||||
cipheredpass["ciphered passcode:\n{{ciphered_passcode}}"]
|
cipheredpass["ciphered passcode:\n{{ciphered_passcode}}"]
|
||||||
cipher --> cipheredpass
|
cipher --> cipheredpass
|
||||||
space:8
|
space:7
|
||||||
|
|
||||||
|
|
||||||
comp(["compare"])
|
comp{"compare"}
|
||||||
cipheredpass --> comp
|
cipheredpass --> comp
|
||||||
cipheredhashed --> comp
|
cipheredhashed --> comp
|
||||||
space:7
|
space:7
|
||||||
|
|
||||||
suc(("valid"))
|
suc(("success"))
|
||||||
fail(("invalid"))
|
fail(("fail"))
|
||||||
comp --> suc
|
comp --"Equal"--> suc
|
||||||
comp --> fail
|
comp --"Not Equal"--> fail
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user