This commit is contained in:
2025-03-26 08:59:13 -05:00
parent 407916e30c
commit 8376fe7e87
2 changed files with 115 additions and 115 deletions

View File

@@ -7,44 +7,44 @@
- total number of properties: 54
## Customer Cipher
- property key: [17384 21071 64263 14173 48872 51553 28021 45694 56555 33805 2625 64735
26395 23421 5291 64801 27594 45755 18570 21108 24021 32654 60698 36958
32655 8083 48743 18902 2050 58888 49782 53855 6539 61094 11244 16942
26841 50742 36717 15708 51338 47424 44243 62691 15630 41373 14725 34483
9141 48067 10942 13010 44634 40143]
- position key: [26845 24321 52293 19187 29228 61277 32841 51235 34682]
- property key: [17433 57572 21505 8444 45652 40584 48852 43446 5599 62405 28323 40256
47776 49892 26386 48063 8519 55431 26581 11344 39650 4798 19208 64337
33689 12686 45679 3132 40090 40966 37000 33485 30170 45501 20844 20464
53748 19697 19768 4387 39395 35315 9619 28777 48707 30931 62584 35610
46036 40873 63440 33641 852 11131]
- position key: [38077 51455 31958 23938 20630 60053 9765 10657 7626]
---
## User Cipher
- property key: [ 6859 23873 43509 63326 38209 4681 6549 58196 20386 45543 7213 10665
59595 37675 38733 28230 18106 11839 217 58358 45503 9119 13711 47091
2477 4601 12968 25412 57571 1504 36875 36008 22596 65108 20334 57220
57449 9749 48916 23941 16493 45581 22735 8888 45253 44959 47418 52406
38448 31290 22494 51292 26944 44318]
- passcode key: [61110 58124 49630 7713 65071 1473 10319 26443 24286 22]
- combined position key: [17105 6226 55543 52110 63357 65173 47236 36681 52804]
- mask key: [ 5981 20544 34128 22101 9735 7951 7840 53333 61565 214]
- property key: [24983 41762 20840 27438 7273 19213 38577 61466 23138 47314 23998 50092
273 14037 34702 41428 64080 27332 13490 12880 55541 24199 778 9414
29001 19211 3074 60661 6134 25585 30166 41331 20480 63833 34395 54478
26155 58076 18811 43725 18545 28882 15969 25829 22807 22588 35663 41312
34398 20904 148 47345 50354 38166]
- passcode key: [29182 58569 45520 52787 7372 34618 40716 38549 23700 43116]
- combined position key: [55717 12248 3398 52977 52974 12019 47318 59100 12380]
- mask key: [51996 30221 59877 58879 34382 22287 31520 64981 60412 37143]
### Combined Postion Key
```mermaid
block-beta
columns 2
user_pos["user position key:\n[15348 25802 2932 35759 37505 7088 5681 24341 39057]"]
customer_pos["customer position key:\n[26845 24321 52293 19187 29228 61277 32841 51235 34682]"]
user_pos["user position key:\n[41859 3923 32291 54686 34461 59585 18017 7286 34891]"]
customer_pos["customer position key:\n[38077 51455 31958 23938 20630 60053 9765 10657 7626]"]
space:2
xor(("XOR")):2
user_pos --> xor
customer_pos --> xor
space:2
comb_pos["combined position key\n[17105 6226 55543 52110 63357 65173 47236 36681 52804]"]:2
comb_pos["combined position key\n[55717 12248 3398 52977 52974 12019 47318 59100 12380]"]:2
xor --> comb_pos
```
## User Keypad
- keypad example:<br/>Key 0: [ 0 1 2 21 4 5 24 16 44]<br/>Key 1: [36 46 38 3 49 23 33 43 35]<br/>Key 2: [18 37 20 39 40 50 42 25 26]<br/>Key 3: [45 19 47 48 31 41 51 52 53]<br/>Key 4: [27 28 11 12 22 32 15 7 17]<br/>Key 5: [ 9 10 29 30 13 14 6 34 8]<br/>
- user passcode indices: [16, 23, 45, 41]
- keypad example:<br/>Key 0: [36 28 38 21 4 41 15 43 26]<br/>Key 1: [ 0 19 47 12 49 14 33 16 17]<br/>Key 2: [ 9 37 2 39 40 50 51 52 44]<br/>Key 3: [27 46 29 30 31 5 24 25 35]<br/>Key 4: [18 10 20 48 22 23 42 34 53]<br/>Key 5: [45 1 11 3 13 32 6 7 8]<br/>
- user passcode indices: [1, 32, 34, 5]
## nKode Cipher
@@ -52,54 +52,54 @@ block-beta
```mermaid
block-beta
columns 2
cprop["customer_property_key\n[17384 21071 64263 14173 48872 51553 28021 45694 56555 33805 2625 64735
26395 23421 5291 64801 27594 45755 18570 21108 24021 32654 60698 36958
32655 8083 48743 18902 2050 58888 49782 53855 6539 61094 11244 16942
26841 50742 36717 15708 51338 47424 44243 62691 15630 41373 14725 34483
9141 48067 10942 13010 44634 40143]"]
uprop["user_property_key\n[ 6859 23873 43509 63326 38209 4681 6549 58196 20386 45543 7213 10665
59595 37675 38733 28230 18106 11839 217 58358 45503 9119 13711 47091
2477 4601 12968 25412 57571 1504 36875 36008 22596 65108 20334 57220
57449 9749 48916 23941 16493 45581 22735 8888 45253 44959 47418 52406
38448 31290 22494 51292 26944 44318]"]
cprop["customer_property_key\n[17433 57572 21505 8444 45652 40584 48852 43446 5599 62405 28323 40256
47776 49892 26386 48063 8519 55431 26581 11344 39650 4798 19208 64337
33689 12686 45679 3132 40090 40966 37000 33485 30170 45501 20844 20464
53748 19697 19768 4387 39395 35315 9619 28777 48707 30931 62584 35610
46036 40873 63440 33641 852 11131]"]
uprop["user_property_key\n[24983 41762 20840 27438 7273 19213 38577 61466 23138 47314 23998 50092
273 14037 34702 41428 64080 27332 13490 12880 55541 24199 778 9414
29001 19211 3074 60661 6134 25585 30166 41331 20480 63833 34395 54478
26155 58076 18811 43725 18545 28882 15969 25829 22807 22588 35663 41312
34398 20904 148 47345 50354 38166]"]
space:2
xor1(("XOR")):2
cprop --> xor1
uprop --> xor1
space:2
prop["combined_property_key\n[ 3998 21572 55042 58365 40151 56917 7146 59748 41624 5784 34350 32869
53395 9331 14458 19129 53918 11036 33943 47140 13973 55881 48429 60127
51683 5313 42763 50259 48824 61851 14521 48287 21836 28900 38175 36849
53395 56365 51787 3932 9457 4434 50392 35667 65060 8394 57404 19291
36039 26883 24085 29399 24324 41103]"]
prop["combined_property_key\n[ 9552 31208 37587 40095 45072 12350 32006 2925 11611 34589 36849 42561
26580 61891 26520 39789 65017 7624 63974 8702 9646 62493 54967 42708
52347 11714 29071 28123 11157 34826 4115 53992 58115 20982 19018 55103
48003 8472 18407 52180 52783 23938 12226 59018 22734 31178 30431 34796
35730 22961 11250 19920 45688 49980]"]
xor1 --> prop
pass["user_passcode_indices\n[16, 23, 45, 41]"]
pass["user_passcode_indices\n[1, 32, 34, 5]"]
space:2
sel(("select\nproperties")):2
pass --> sel
prop --> sel
space:2
passcode["user passcode properties:\n[53918 60127 8394 4434]"]:2
passcode["user passcode properties:\n[31208 58115 19018 12350]"]:2
sel --> passcode
space:2
pad["zero pad to\nmax nkode length: 10"]:2
passcode -->pad
space:2
paddedpasscode["padded passcode:\n[53918 60127 8394 4434 0 0 0 0 0 0]"]
paddedpasscode["padded passcode:\n[31208 58115 19018 12350 0 0 0 0 0 0]"]
pad --> paddedpasscode
passkey["passcode key:\n[61110 58124 49630 7713 65071 1473 10319 26443 24286 22]"]
passkey["passcode key:\n[29182 58569 45520 52787 7372 34618 40716 38549 23700 43116]"]
space:2
xor2(("XOR")):2
passkey --> xor2
paddedpasscode --> xor2
space:2
cipheredpass["ciphered passcode:\n[15400 2515 57620 3955 65071 1473 10319 26443 24286 22]"]:2
cipheredpass["ciphered passcode:\n[ 2070 1994 64410 65037 7372 34618 40716 38549 23700 43116]"]:2
xor2 --> cipheredpass
space:2
hash(("hash")):2
cipheredpass --> hash
space:2
cipheredhashed["hashed ciphered passcode:\n$2b$12$4ew1R/6AXYkPuF4PO4CpQeCEEGMuoo7N8Rnj1yAGOGenJ8vc689ge"]:2
cipheredhashed["hashed ciphered passcode:\n$2b$12$mSfxfqokaUYYc8CHnj1nV.3fz.FUkMo4dNreWfUUO4zdgN0LQQ2Tm"]:2
hash --> cipheredhashed
```
@@ -107,9 +107,9 @@ block-beta
```mermaid
block-beta
columns 3
passcode_idx["passcode indices:\n[16, 23, 45, 41]"]
comb_pos["combined position key:\n[17105 6226 55543 52110 63357 65173 47236 36681 52804]"]
cust_pos["customer position key:\n[26845 24321 52293 19187 29228 61277 32841 51235 34682]"]
passcode_idx["passcode indices:\n[1, 32, 34, 5]"]
comb_pos["combined position key:\n[55717 12248 3398 52977 52974 12019 47318 59100 12380]"]
cust_pos["customer position key:\n[38077 51455 31958 23938 20630 60053 9765 10657 7626]"]
space:3
propidx(["Get Position Idx:\nmap each to element mod props_per_key"])
@@ -120,7 +120,7 @@ block-beta
cust_pos --> xor1
space:3
passcode_position_idx["passcode poition indices:\n[7, 5, 0, 5]"]
passcode_position_idx["passcode poition indices:\n[1, 5, 7, 5]"]
propidx --> passcode_position_idx
space:5
@@ -128,10 +128,10 @@ block-beta
passcode_position_idx --> pad1
space:5
posidx["Padded Passcode Position Indices:\n[7, 5, 0, 5, 6, 3, 1, 2, 8, 5]"]
posidx["Padded Passcode Position Indices:\n[1, 5, 7, 5, 7, 2, 8, 1, 7, 1]"]
pad1 --> posidx
space:1
user_pos["user position key:\n[15348 25802 2932 35759 37505 7088 5681 24341 39057]"]
user_pos["user position key:\n[41859 3923 32291 54686 34461 59585 18017 7286 34891]"]
xor1 --> user_pos
space:4
@@ -139,15 +139,15 @@ block-beta
user_pos --> sel
posidx --> sel
space:5
passcode_pos["ordered user passcode positions:\n[24341 7088 15348 7088 5681 35759 25802 2932 39057 7088]"]
passcode_pos["ordered user passcode positions:\n[ 3923 59585 7286 59585 7286 32291 34891 3923 7286 3923]"]
sel --> passcode_pos
mask_key["mask key\n[ 5981 20544 34128 22101 9735 7951 7840 53333 61565 214]"]
mask_key["mask key\n[51996 30221 59877 58879 34382 22287 31520 64981 60412 37143]"]
space:4
xor2(("XOR"))
mask_key --> xor2
passcode_pos --> xor2
space:5
mask["enciphered mask:\n [18504 19440 48804 19941 12342 38048 31338 56097 26860 7014]"]
mask["enciphered mask:\n [50255 40652 62867 3390 39480 10540 62315 62086 63370 40516]"]
xor2 --> mask
```
@@ -156,34 +156,34 @@ block-beta
```mermaid
block-beta
columns 3
selected_keys["selected keys:\n[0, 1, 3, 3]"]
login_keypad["login keypad:\nKey 0: [ 0 1 2 21 4 5 24 16 44]
Key 1: [36 46 38 3 49 23 33 43 35]
Key 2: [18 37 20 39 40 50 42 25 26]
Key 3: [45 19 47 48 31 41 51 52 53]
Key 4: [27 28 11 12 22 32 15 7 17]
Key 5: [ 9 10 29 30 13 14 6 34 8]
pass["user_passcode_indices\n[1, 32, 34, 5]"]
login_keypad["login keypad:\nKey 0: [36 28 38 21 4 41 15 43 26]
Key 1: [ 0 19 47 12 49 14 33 16 17]
Key 2: [ 9 37 2 39 40 50 51 52 44]
Key 3: [27 46 29 30 31 5 24 25 35]
Key 4: [18 10 20 48 22 23 42 34 53]
Key 5: [45 1 11 3 13 32 6 7 8]
"]
space:4
selectkeys(("select keys"))
mask["enciphered mask:\n [18504 19440 48804 19941 12342 38048 31338 56097 26860 7014]"]
mask_key["mask key:\n[ 5981 20544 34128 22101 9735 7951 7840 53333 61565 214]"]
selectkeys(("user"))
mask["enciphered mask:\n [50255 40652 62867 3390 39480 10540 62315 62086 63370 40516]"]
mask_key["mask key:\n[51996 30221 59877 58879 34382 22287 31520 64981 60412 37143]"]
space:2
xor1(("XOR"))
mask --> xor1
mask_key --> xor1
selected_keys --> selectkeys
pass --> selectkeys
login_keypad --> selectkeys
space:3
ordered_keys["ordered keys:\n[[ 0 1 2 21 4 5 24 16 44]
[36 46 38 3 49 23 33 43 35]
[45 19 47 48 31 41 51 52 53]
[45 19 47 48 31 41 51 52 53]]"]
user_position_key["user position key:\n[15348 25802 2932 35759 37505 7088 5681 24341 39057]"]
passcode_pos["ordered user passcode positions:\n[24341 7088 15348 7088 5681 35759 25802 2932 39057 7088]"]
ordered_keys["ordered keys:\n[[45 1 11 3 13 32 6 7 8]
[45 1 11 3 13 32 6 7 8]
[18 10 20 48 22 23 42 34 53]
[27 46 29 30 31 5 24 25 35]]"]
user_position_key["user position key:\n[41859 3923 32291 54686 34461 59585 18017 7286 34891]"]
passcode_pos["ordered user passcode positions:\n[ 3923 59585 7286 59585 7286 32291 34891 3923 7286 3923]"]
selectkeys --> ordered_keys
xor1 --> passcode_pos
space:8
@@ -193,7 +193,7 @@ Key 5: [ 9 10 29 30 13 14 6 34 8]
passcode_pos --> get_passcode_idxs
space:8
passcode_pos_idxs["padded passcode position indices:\n[7, 5, 0, 5, 6, 3, 1, 2, 8, 5]"]
passcode_pos_idxs["padded passcode position indices:\n[1, 5, 7, 5, 7, 2, 8, 1, 7, 1]"]
get_passcode_idxs --> passcode_pos_idxs
space:3
@@ -202,13 +202,13 @@ Key 5: [ 9 10 29 30 13 14 6 34 8]
passcode_pos_idxs --> get_presumed_idxs
space:5
passcode_prop_idxs["presumed passcode property indices:\n[16, 23, 45, 41]"]
prop["combined_property_key\n[ 3998 21572 55042 58365 40151 56917 7146 59748 41624 5784 34350 32869
53395 9331 14458 19129 53918 11036 33943 47140 13973 55881 48429 60127
51683 5313 42763 50259 48824 61851 14521 48287 21836 28900 38175 36849
53395 56365 51787 3932 9457 4434 50392 35667 65060 8394 57404 19291
36039 26883 24085 29399 24324 41103]"]
cipheredhashed["hashed ciphered passcode:\n$2b$12$4ew1R/6AXYkPuF4PO4CpQeCEEGMuoo7N8Rnj1yAGOGenJ8vc689ge"]
passcode_prop_idxs["presumed passcode property indices:\n[1, 32, 34, 5]"]
prop["combined_property_key\n[ 9552 31208 37587 40095 45072 12350 32006 2925 11611 34589 36849 42561
26580 61891 26520 39789 65017 7624 63974 8702 9646 62493 54967 42708
52347 11714 29071 28123 11157 34826 4115 53992 58115 20982 19018 55103
48003 8472 18407 52180 52783 23938 12226 59018 22734 31178 30431 34796
35730 22961 11250 19920 45688 49980]"]
cipheredhashed["hashed ciphered passcode:\n$2b$12$mSfxfqokaUYYc8CHnj1nV.3fz.FUkMo4dNreWfUUO4zdgN0LQQ2Tm"]
get_presumed_idxs --> passcode_prop_idxs
space:3
@@ -217,7 +217,7 @@ Key 5: [ 9 10 29 30 13 14 6 34 8]
prop --> sel
space:5
passcode_prop["presumed passcode properties:\n[53918 60127 8394 4434]"]
passcode_prop["presumed passcode properties:\n[31208 58115 19018 12350]"]
sel --> passcode_prop
space:5
@@ -225,7 +225,7 @@ Key 5: [ 9 10 29 30 13 14 6 34 8]
passcode_prop --> cipher
space:5
cipheredpass["ciphered passcode:\n[15400 2515 57620 3955 65071 1473 10319 26443 24286 22]"]
cipheredpass["ciphered passcode:\n[ 2070 1994 64410 65037 7372 34618 40716 38549 23700 43116]"]
cipher --> cipheredpass
space:7
@@ -250,26 +250,26 @@ nKode renewal is a three step process:
```mermaid
flowchart
subgraph Renew Customer Keys
old_prop["`old customer property key:<br/>[ 5461 2309 32503 5283 2454 52252 639 2608 60730 42879 39427 43468
14424 46936 44855 9471 37924 1315 33870 23506 34602 63958 34978 23852
49230 1336 38307 42775 24155 62587 43186 12343 3336 36528 55921 20597
12538 64056 30047 21209 25756 41823 39959 43499 20193 36693 22790 34797
6903 4921 2507 47755 13892 3473]`"]
new_prop["`new customer property key:<br/>[17384 21071 64263 14173 48872 51553 28021 45694 56555 33805 2625 64735
26395 23421 5291 64801 27594 45755 18570 21108 24021 32654 60698 36958
32655 8083 48743 18902 2050 58888 49782 53855 6539 61094 11244 16942
26841 50742 36717 15708 51338 47424 44243 62691 15630 41373 14725 34483
9141 48067 10942 13010 44634 40143]`"]
old_pos["`old customer position key:<br/>[31013 31896 54147 16417 26108 58661 44725 53340 22229]`"]
new_pos["`new customer position key:<br/>[26845 24321 52293 19187 29228 61277 32841 51235 34682]`"]
old_prop["`old customer property key:<br/>[17607 56010 50107 63409 44153 31539 60343 64375 30521 16335 53839 26093
26309 50966 57366 15033 1961 30476 52564 5038 64859 43674 54717 33298
48434 26313 32141 33070 15459 60411 26053 29595 45827 43183 52241 1009
56744 50116 3740 24857 34398 11600 4515 33391 473 8694 64912 9868
3532 2073 11110 62753 30410 22058]`"]
new_prop["`new customer property key:<br/>[17433 57572 21505 8444 45652 40584 48852 43446 5599 62405 28323 40256
47776 49892 26386 48063 8519 55431 26581 11344 39650 4798 19208 64337
33689 12686 45679 3132 40090 40966 37000 33485 30170 45501 20844 20464
53748 19697 19768 4387 39395 35315 9619 28777 48707 30931 62584 35610
46036 40873 63440 33641 852 11131]`"]
old_pos["`old customer position key:<br/>[31270 8331 29541 7023 18547 50738 65207 64170 47127]`"]
new_pos["`new customer position key:<br/>[38077 51455 31958 23938 20630 60053 9765 10657 7626]`"]
xor1(("XOR"))
xor2(("XOR"))
xor_prop["`xor property key:<br/>[22205 23370 34288 9214 46974 1405 28426 47182 12753 9074 36930 21779
24387 60453 48028 55774 65518 47000 52420 2470 56063 34392 26040 52594
49089 6827 11204 61121 22105 4723 27332 57960 5251 24598 61853 4699
22563 15374 64050 28549 44054 6687 12484 23816 29679 11976 24707 350
14658 43258 9077 34905 38942 37214]`"]
xor_pos["`xor position key:<br/>[ 4600 9113 8134 2770 6096 2680 12028 6271 53679]`"]
xor_prop["`xor property key:<br/>[ 222 14894 38842 55117 7725 58811 21859 21185 25318 52234 48364 63661
56421 1522 34564 33030 9966 44939 43649 16382 26553 47140 40629 31043
16043 22343 53218 36114 41209 19453 62797 61782 50905 6418 40317 19457
3164 36661 17316 28730 8125 42147 13360 61958 49050 22821 2536 44438
48664 38832 56502 30280 30110 32081]`"]
xor_pos["`xor position key:<br/>[61083 59508 4019 18157 6373 11431 55442 54027 42461]`"]
old_prop --> xor1
new_prop --> xor1
xor1 --> xor_prop
@@ -283,12 +283,12 @@ nKode renewal is a three step process:
users --> eachuser
subgraph eachuser [for each user]
subgraph old user keys
old_user_pos["`combined position key:<br/>[15348 25802 2932 35759 37505 7088 5681 24341 39057]`"]
old_user_prop["`property key:<br/>[ 6859 23873 43509 63326 38209 4681 6549 58196 20386 45543 7213 10665
59595 37675 38733 28230 18106 11839 217 58358 45503 9119 13711 47091
2477 4601 12968 25412 57571 1504 36875 36008 22596 65108 20334 57220
57449 9749 48916 23941 16493 45581 22735 8888 45253 44959 47418 52406
38448 31290 22494 51292 26944 44318]`"]
old_user_pos["`combined position key:<br/>[41859 3923 32291 54686 34461 59585 18017 7286 34891]`"]
old_user_prop["`property key:<br/>[24983 41762 20840 27438 7273 19213 38577 61466 23138 47314 23998 50092
273 14037 34702 41428 64080 27332 13490 12880 55541 24199 778 9414
29001 19211 3074 60661 6134 25585 30166 41331 20480 63833 34395 54478
26155 58076 18811 43725 18545 28882 15969 25829 22807 22588 35663 41312
34398 20904 148 47345 50354 38166]`"]
old_renew["renew: False"]
end
xor3(("XOR"))
@@ -300,12 +300,12 @@ nKode renewal is a three step process:
xor_prop --> xor4
xor4 --> inter_user_prop
subgraph inter_user[intermediate user keys]
inter_user_pos["`combined position key:<br/>[21289 15307 50993 49500 57517 62701 38520 38710 8171]`"]
inter_user_prop["`property key:<br/>[19574 1547 11269 54432 8767 5940 30367 23322 32371 37525 35951 31930
46984 32526 11473 47000 47444 39335 52253 59984 27456 42439 20535 31361
46700 2898 6508 36229 46778 6035 64207 28352 19655 40514 48883 52703
47178 6683 17702 12800 60539 43026 26635 32688 49962 33111 55737 52712
44914 53952 29867 16389 61790 15424]`"]
inter_user_pos["`combined position key:<br/>[14142 51116 757 34844 54795 596 24644 13783 38273]`"]
inter_user_prop["`property key:<br/>[24905 39180 50898 48227 580 44726 50130 41691 14468 29912 57682 15105
56692 13095 138 8402 56510 50511 40499 3502 48972 59043 40383 23941
20450 7244 50144 25063 46863 10252 32923 20517 38617 57419 6950 39119
27255 28137 2783 56055 22476 54385 2641 38627 59021 281 33447 3318
14406 50712 56354 52921 45356 59463]`"]
inter_renew["renew: True"]
end
end
@@ -316,12 +316,12 @@ nKode renewal is a three step process:
login["First login post renew"]
inter_user --> login
subgraph new_user [New User Keys]
new_user_pos["`combined position key:<br/>[65323 43160 15313 31589 56469 63324 16779 58877 46813]`"]
new_user_prop["`property key:<br/>[ 4877 339 2263 7952 818 48661 46131 56267 23637 56219 31553 4783
17734 11957 16009 8164 58199 21329 25805 42484 63685 33425 4845 26086
45993 37895 46700 19583 28941 36895 52143 15209 11188 569 60851 63329
33273 55731 2564 42007 14482 45812 39063 18143 15261 56200 36966 9873
43332 61052 51872 65507 42946 33203]`"]
new_user_pos["`combined position key:<br/>[23942 46252 53843 37910 7611 30257 63826 52812 27525]`"]
new_user_prop["`property key:<br/>[12027 59464 45926 15881 63336 21673 37395 23025 6329 62833 48208 18116
21253 58416 65368 58683 20373 46352 59037 5050 28807 6687 11647 25865
62465 1781 2953 15931 16596 36975 19053 5585 53652 10011 18034 31490
25501 8993 19946 5980 35552 33588 63303 2644 62898 12532 3981 16334
9471 17209 53533 43576 41327 37349]`"]
new_renew["renew: False"]
end
login --> new_user

View File

@@ -136,11 +136,11 @@ block-beta
```mermaid
block-beta
columns 3
selected_keys["selected keys:\n{{selected_keys}}"]
pass["user_passcode_indices\n{{user_passcode_idxs}}"]
login_keypad["login keypad:\n{{login_keypad}}"]
space:4
selectkeys(("select keys"))
selectkeys(("user"))
mask["enciphered mask:\n {{mask}}"]
mask_key["mask key:\n{{mask_key}}"]
space:2
@@ -148,7 +148,7 @@ block-beta
xor1(("XOR"))
mask --> xor1
mask_key --> xor1
selected_keys --> selectkeys
pass --> selectkeys
login_keypad --> selectkeys
space:3