update readme

This commit is contained in:
2025-03-26 09:15:40 -05:00
parent b9e144243d
commit f7d4e4411f
3 changed files with 125 additions and 117 deletions

View File

@@ -7,44 +7,44 @@
- total number of properties: 54
## Customer Cipher
- property key: [12463 12679 30383 52780 48100 5096 61398 5750 59949 16574 25395 8158
51151 56863 52932 11578 50839 38005 12741 42227 40877 7172 53174 60400
12356 13971 19389 64980 16810 26389 39074 63833 12649 64422 4920 54703
62742 25787 26216 4453 38866 27951 36713 37903 22497 4454 55622 38346
31982 51225 48698 29699 36128 33748]
- position key: [56601 6465 12615 40545 49643 37783 59315 4335 13897]
- property key: [58201 3855 47017 50828 14104 4268 29079 19099 12271 55135 54341 2465
32959 3356 36643 50702 8094 11335 39310 38981 55881 6507 22508 16345
19379 55560 52385 29733 25178 37713 59696 16347 14811 20691 101 35545
48103 63525 408 28174 57763 21416 59610 976 40160 13681 17146 54023
25410 42165 3856 59580 27726 13822]
- position key: [59066 9448 56848 58798 57675 37475 8528 34148 34468]
---
## User Cipher
- property key: [14898 49243 46261 43286 743 60989 43535 48626 62301 50822 24597 10059
48516 48141 42915 36062 3286 11914 44159 34414 20879 14779 26916 49959
52279 29970 35884 62523 22453 25290 37000 30416 6102 20665 42719 23156
54785 3366 46811 57278 42429 58327 26021 27943 614 26543 63962 45468
15599 34845 22766 44215 32257 43746]
- passcode key: [ 4981 30039 31839 45969 48275 35799 10819 2121 61259 48949]
- combined position key: [58180 35354 39081 61964 32045 26428 24571 62221 62362]
- mask key: [ 3841 58027 55280 33679 39465 22075 10291 60287 27680 15384]
- property key: [61737 49256 8018 54927 21709 65009 3885 46808 12375 11644 35339 52787
60805 49964 2754 34451 22775 9278 14454 37226 46352 60033 49123 21025
6479 60885 9059 20442 64510 63443 6758 52715 61370 9158 50160 8810
27528 11812 34328 47745 43244 9125 55623 10800 49542 55251 26390 19027
23252 5772 30639 25220 21506 59558]
- passcode key: [54682 39190 21777 53204 58859 47387 24762 19698 44816 55464]
- combined position key: [52800 11537 463 51813 36017 64303 52526 57594 11887]
- mask key: [61564 54039 23310 1396 28615 39019 39047 46821 40711 32470]
### Combined Postion Key
```mermaid
block-beta
columns 2
user_pos["user position key:\n[57725 11307 31071 28372 27611 49409 15121 51933 25996]"]
customer_pos["customer position key:\n[56601 6465 12615 40545 49643 37783 59315 4335 13897]"]
user_pos["user position key:\n[19938 59072 31217 46834 52213 218 38377 1271 54783]"]
customer_pos["customer position key:\n[59066 9448 56848 58798 57675 37475 8528 34148 34468]"]
space:2
xor(("XOR")):2
user_pos --> xor
customer_pos --> xor
space:2
comb_pos["combined position key\n[58180 35354 39081 61964 32045 26428 24571 62221 62362]"]:2
comb_pos["combined position key\n[52800 11537 463 51813 36017 64303 52526 57594 11887]"]:2
xor --> comb_pos
```
## User Keypad
- keypad example:<br/>Key 0: [18 19 2 21 31 5 6 43 17]<br/>Key 1: [ 9 46 29 30 49 32 42 52 35]<br/>Key 2: [27 10 20 48 40 14 33 34 44]<br/>Key 3: [45 28 47 12 4 23 51 25 26]<br/>Key 4: [ 0 1 38 3 22 41 24 16 53]<br/>Key 5: [36 37 11 39 13 50 15 7 8]<br/>
- user passcode indices: [6, 43, 53, 9]
- keypad example:<br/>Key 0: [27 19 38 30 31 41 6 7 26]<br/>Key 1: [36 37 11 48 4 23 51 34 44]<br/>Key 2: [45 1 20 12 49 50 15 52 53]<br/>Key 3: [18 46 47 3 22 5 33 43 35]<br/>Key 4: [ 9 28 29 21 13 14 42 16 17]<br/>Key 5: [ 0 10 2 39 40 32 24 25 8]<br/>
- user passcode indices: [30, 38, 11, 51]
## nKode Cipher
@@ -52,54 +52,54 @@ block-beta
```mermaid
block-beta
columns 2
cprop["customer_property_key\n[12463 12679 30383 52780 48100 5096 61398 5750 59949 16574 25395 8158
51151 56863 52932 11578 50839 38005 12741 42227 40877 7172 53174 60400
12356 13971 19389 64980 16810 26389 39074 63833 12649 64422 4920 54703
62742 25787 26216 4453 38866 27951 36713 37903 22497 4454 55622 38346
31982 51225 48698 29699 36128 33748]"]
uprop["user_property_key\n[14898 49243 46261 43286 743 60989 43535 48626 62301 50822 24597 10059
48516 48141 42915 36062 3286 11914 44159 34414 20879 14779 26916 49959
52279 29970 35884 62523 22453 25290 37000 30416 6102 20665 42719 23156
54785 3366 46811 57278 42429 58327 26021 27943 614 26543 63962 45468
15599 34845 22766 44215 32257 43746]"]
cprop["customer_property_key\n[58201 3855 47017 50828 14104 4268 29079 19099 12271 55135 54341 2465
32959 3356 36643 50702 8094 11335 39310 38981 55881 6507 22508 16345
19379 55560 52385 29733 25178 37713 59696 16347 14811 20691 101 35545
48103 63525 408 28174 57763 21416 59610 976 40160 13681 17146 54023
25410 42165 3856 59580 27726 13822]"]
uprop["user_property_key\n[61737 49256 8018 54927 21709 65009 3885 46808 12375 11644 35339 52787
60805 49964 2754 34451 22775 9278 14454 37226 46352 60033 49123 21025
6479 60885 9059 20442 64510 63443 6758 52715 61370 9158 50160 8810
27528 11812 34328 47745 43244 9125 55623 10800 49542 55251 26390 19027
23252 5772 30639 25220 21506 59558]"]
space:2
xor1(("XOR")):2
cprop --> xor1
uprop --> xor1
space:2
prop["combined_property_key\n[ 2598 13817 3743 55138 48519 14914 34131 3917 24848 29635 52388 57749
31090 24065 22959 61051 34121 30393 691 47015 26630 54959 13562 20862
31358 35382 39584 57405 53720 45712 49496 53667 35073 25844 36156 57792
30240 21451 23037 3839 61742 34083 35502 63962 25413 50263 31741 63116
30806 16519 51243 8712 32194 8269]"]
prop["combined_property_key\n[27145 64606 2214 956 59410 24299 43596 51759 39102 28353 20824 14874
27994 60897 60356 49474 41290 62135 52049 26214 37014 45529 43514 40298
25315 52116 23008 2744 3269 7285 34470 4311 21401 14127 50809 13541
5394 30989 34092 27076 35814 63505 33710 18123 25966 61467 19353 14805
58907 44436 41458 3440 7755 35403]"]
xor1 --> prop
pass["user_passcode_indices\n[6, 43, 53, 9]"]
pass["user_passcode_indices\n[30, 38, 11, 51]"]
space:2
sel(("select\nproperties")):2
pass --> sel
prop --> sel
space:2
passcode["user passcode properties:\n[34131 63962 8269 29635]"]:2
passcode["user passcode properties:\n[34470 34092 14874 3440]"]:2
sel --> passcode
space:2
pad["zero pad to\nmax nkode length: 10"]:2
passcode -->pad
space:2
paddedpasscode["padded passcode:\n[34131 63962 8269 29635 0 0 0 0 0 0]"]
paddedpasscode["padded passcode:\n[34470 34092 14874 3440 0 0 0 0 0 0]"]
pad --> paddedpasscode
passkey["passcode key:\n[ 4981 30039 31839 45969 48275 35799 10819 2121 61259 48949]"]
passkey["passcode key:\n[54682 39190 21777 53204 58859 47387 24762 19698 44816 55464]"]
space:2
xor2(("XOR")):2
passkey --> xor2
paddedpasscode --> xor2
space:2
cipheredpass["ciphered passcode:\n[38438 35981 23570 49234 48275 35799 10819 2121 61259 48949]"]:2
cipheredpass["ciphered passcode:\n[21308 7226 28427 49828 58859 47387 24762 19698 44816 55464]"]:2
xor2 --> cipheredpass
space:2
hash(("hash")):2
cipheredpass --> hash
space:2
cipheredhashed["hashed ciphered passcode:\n$2b$12$rF1TSRHSHfOTE4V/7ZCv3.Plqb1AysifW1KvR96K7CbC1sPt1ungK"]:2
cipheredhashed["hashed ciphered passcode:\n$2b$12$uR5ilcM4r.xjbzW4kGWf2.tbGVWSwrnqp1s6sGzqUmgcE1ncQK8UW"]:2
hash --> cipheredhashed
```
@@ -107,9 +107,9 @@ block-beta
```mermaid
block-beta
columns 3
passcode_idx["passcode indices:\n[6, 43, 53, 9]"]
comb_pos["combined position key:\n[58180 35354 39081 61964 32045 26428 24571 62221 62362]"]
cust_pos["customer position key:\n[56601 6465 12615 40545 49643 37783 59315 4335 13897]"]
passcode_idx["passcode indices:\n[30, 38, 11, 51]"]
comb_pos["combined position key:\n[52800 11537 463 51813 36017 64303 52526 57594 11887]"]
cust_pos["customer position key:\n[59066 9448 56848 58798 57675 37475 8528 34148 34468]"]
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[6, 7, 8, 0]"]
passcode_position_idx["passcode poition indices:\n[3, 2, 2, 6]"]
propidx --> passcode_position_idx
space:5
@@ -128,10 +128,10 @@ block-beta
passcode_position_idx --> pad1
space:5
posidx["Padded Passcode Position Indices:\n[6, 7, 8, 0, 1, 1, 2, 3, 0, 5]"]
posidx["Padded Passcode Position Indices:\n[3, 2, 2, 6, 1, 2, 3, 6, 8, 5]"]
pad1 --> posidx
space:1
user_pos["user position key:\n[57725 11307 31071 28372 27611 49409 15121 51933 25996]"]
user_pos["user position key:\n[19938 59072 31217 46834 52213 218 38377 1271 54783]"]
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[15121 51933 25996 57725 11307 11307 31071 28372 57725 49409]"]
passcode_pos["ordered user passcode positions:\n[46834 31217 31217 38377 59072 31217 46834 38377 54783 218]"]
sel --> passcode_pos
mask_key["mask key\n[ 3841 58027 55280 33679 39465 22075 10291 60287 27680 15384]"]
mask_key["mask key\n[61564 54039 23310 1396 28615 39019 39047 46821 40711 32470]"]
space:4
xor2(("XOR"))
mask_key --> xor2
passcode_pos --> xor2
space:5
mask["enciphered mask:\n [13328 10358 45692 25330 46594 31248 20844 34219 36189 64793]"]
mask["enciphered mask:\n [18062 43750 8959 37021 35079 57754 11893 8972 19192 32268]"]
xor2 --> mask
```
@@ -156,19 +156,19 @@ block-beta
```mermaid
block-beta
columns 3
selected_keys["selected keys:\n[0, 0, 4, 1]"]
login_keypad["login keypad:\nKey 0: [18 19 2 21 31 5 6 43 17]
Key 1: [ 9 46 29 30 49 32 42 52 35]
Key 2: [27 10 20 48 40 14 33 34 44]
Key 3: [45 28 47 12 4 23 51 25 26]
Key 4: [ 0 1 38 3 22 41 24 16 53]
Key 5: [36 37 11 39 13 50 15 7 8]
selected_keys["keys selected by user during login:\n[0, 0, 1, 1]"]
login_keypad["login keypad:\nKey 0: [27 19 38 30 31 41 6 7 26]
Key 1: [36 37 11 48 4 23 51 34 44]
Key 2: [45 1 20 12 49 50 15 52 53]
Key 3: [18 46 47 3 22 5 33 43 35]
Key 4: [ 9 28 29 21 13 14 42 16 17]
Key 5: [ 0 10 2 39 40 32 24 25 8]
"]
space:4
selectkeys(("select keys"))
mask["enciphered mask:\n [13328 10358 45692 25330 46594 31248 20844 34219 36189 64793]"]
mask_key["mask key:\n[ 3841 58027 55280 33679 39465 22075 10291 60287 27680 15384]"]
selectkeys(("filter keys"))
mask["enciphered mask:\n [18062 43750 8959 37021 35079 57754 11893 8972 19192 32268]"]
mask_key["mask key:\n[61564 54039 23310 1396 28615 39019 39047 46821 40711 32470]"]
space:2
xor1(("XOR"))
@@ -178,12 +178,12 @@ Key 5: [36 37 11 39 13 50 15 7 8]
login_keypad --> selectkeys
space:3
ordered_keys["ordered keys:\n[[18 19 2 21 31 5 6 43 17]
[18 19 2 21 31 5 6 43 17]
[ 0 1 38 3 22 41 24 16 53]
[ 9 46 29 30 49 32 42 52 35]]"]
user_position_key["user position key:\n[57725 11307 31071 28372 27611 49409 15121 51933 25996]"]
passcode_pos["ordered user passcode positions:\n[15121 51933 25996 57725 11307 11307 31071 28372 57725 49409]"]
ordered_keys["ordered keys:\n[[27 19 38 30 31 41 6 7 26]
[27 19 38 30 31 41 6 7 26]
[36 37 11 48 4 23 51 34 44]
[36 37 11 48 4 23 51 34 44]]"]
user_position_key["user position key:\n[19938 59072 31217 46834 52213 218 38377 1271 54783]"]
passcode_pos["ordered user passcode positions:\n[46834 31217 31217 38377 59072 31217 46834 38377 54783 218]"]
selectkeys --> ordered_keys
xor1 --> passcode_pos
space:8
@@ -193,7 +193,7 @@ Key 5: [36 37 11 39 13 50 15 7 8]
passcode_pos --> get_passcode_idxs
space:8
passcode_pos_idxs["padded passcode position indices:\n[6, 7, 8, 0, 1, 1, 2, 3, 0, 5]"]
passcode_pos_idxs["padded passcode position indices:\n[3, 2, 2, 6, 1, 2, 3, 6, 8, 5]"]
get_passcode_idxs --> passcode_pos_idxs
space:3
@@ -202,13 +202,13 @@ Key 5: [36 37 11 39 13 50 15 7 8]
passcode_pos_idxs --> get_presumed_idxs
space:5
passcode_prop_idxs["presumed passcode property indices:\n[6, 43, 53, 9]"]
prop["combined_property_key\n[ 2598 13817 3743 55138 48519 14914 34131 3917 24848 29635 52388 57749
31090 24065 22959 61051 34121 30393 691 47015 26630 54959 13562 20862
31358 35382 39584 57405 53720 45712 49496 53667 35073 25844 36156 57792
30240 21451 23037 3839 61742 34083 35502 63962 25413 50263 31741 63116
30806 16519 51243 8712 32194 8269]"]
cipheredhashed["hashed ciphered passcode:\n$2b$12$rF1TSRHSHfOTE4V/7ZCv3.Plqb1AysifW1KvR96K7CbC1sPt1ungK"]
passcode_prop_idxs["presumed passcode property indices:\n[30, 38, 11, 51]"]
prop["combined_property_key\n[27145 64606 2214 956 59410 24299 43596 51759 39102 28353 20824 14874
27994 60897 60356 49474 41290 62135 52049 26214 37014 45529 43514 40298
25315 52116 23008 2744 3269 7285 34470 4311 21401 14127 50809 13541
5394 30989 34092 27076 35814 63505 33710 18123 25966 61467 19353 14805
58907 44436 41458 3440 7755 35403]"]
cipheredhashed["hashed ciphered passcode:\n$2b$12$uR5ilcM4r.xjbzW4kGWf2.tbGVWSwrnqp1s6sGzqUmgcE1ncQK8UW"]
get_presumed_idxs --> passcode_prop_idxs
space:3
@@ -217,7 +217,7 @@ Key 5: [36 37 11 39 13 50 15 7 8]
prop --> sel
space:5
passcode_prop["presumed passcode properties:\n[34131 63962 8269 29635]"]
passcode_prop["presumed passcode properties:\n[34470 34092 14874 3440]"]
sel --> passcode_prop
space:5
@@ -225,7 +225,7 @@ Key 5: [36 37 11 39 13 50 15 7 8]
passcode_prop --> cipher
space:5
cipheredpass["ciphered passcode:\n[38438 35981 23570 49234 48275 35799 10819 2121 61259 48949]"]
cipheredpass["ciphered passcode:\n[21308 7226 28427 49828 58859 47387 24762 19698 44816 55464]"]
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/>[12308 62882 47658 32372 48992 54399 12124 45759 37453 46405 44209 50910
50422 57868 65036 25253 35231 22579 44748 12745 14729 61204 24030 37465
46665 65316 5772 5126 34413 53338 20944 42867 40663 13389 11235 48052
40993 24301 61222 53569 21651 26356 61195 38141 24867 41976 33319 18192
17593 51354 37061 36543 963 35503]`"]
new_prop["`new customer property key:<br/>[12463 12679 30383 52780 48100 5096 61398 5750 59949 16574 25395 8158
51151 56863 52932 11578 50839 38005 12741 42227 40877 7172 53174 60400
12356 13971 19389 64980 16810 26389 39074 63833 12649 64422 4920 54703
62742 25787 26216 4453 38866 27951 36713 37903 22497 4454 55622 38346
31982 51225 48698 29699 36128 33748]`"]
old_pos["`old customer position key:<br/>[ 569 42545 57846 40152 5878 42557 25834 14800 38422]`"]
new_pos["`new customer position key:<br/>[56601 6465 12615 40545 49643 37783 59315 4335 13897]`"]
old_prop["`old customer property key:<br/>[39712 15414 6132 54579 48351 41754 42337 31991 43241 17341 56147 62505
32991 11981 57606 18385 63933 54921 62247 63244 9606 23384 5657 53067
31660 9793 31363 17762 63291 60326 40128 56636 48163 5353 1417 5775
32410 22313 820 54085 8970 56244 23273 27899 42216 10184 11407 29574
48335 47896 54877 28660 19017 25325]`"]
new_prop["`new customer property key:<br/>[58201 3855 47017 50828 14104 4268 29079 19099 12271 55135 54341 2465
32959 3356 36643 50702 8094 11335 39310 38981 55881 6507 22508 16345
19379 55560 52385 29733 25178 37713 59696 16347 14811 20691 101 35545
48103 63525 408 28174 57763 21416 59610 976 40160 13681 17146 54023
25410 42165 3856 59580 27726 13822]`"]
old_pos["`old customer position key:<br/>[33698 52177 30782 31895 18244 64501 22727 58381 64400]`"]
new_pos["`new customer position key:<br/>[59066 9448 56848 58798 57675 37475 8528 34148 34468]`"]
xor1(("XOR"))
xor2(("XOR"))
xor_prop["`xor property key:<br/>[ 187 50213 52357 45144 1156 51095 49290 42185 30816 62971 53122 55552
825 15379 12488 20383 20232 52294 40713 38202 42532 62224 37480 31145
34317 51639 23857 59858 51143 46927 51570 24106 44990 53227 14555 28187
21815 14934 35150 49188 49985 3035 24674 242 14018 45726 23393 53978
14423 131 12031 64188 36579 2427]`"]
xor_pos["`xor position key:<br/>[57120 49008 53425 697 55069 13738 33625 10559 41055]`"]
xor_prop["`xor property key:<br/>[30841 13113 41053 5055 35783 46006 54518 13932 34566 38114 3862 64904
96 9169 28197 33247 58915 64206 27305 28489 65487 16947 16885 61586
12319 65353 46626 12615 38241 30967 30192 58087 34296 17466 1516 40022
50557 44812 684 48459 49833 34844 45619 28459 14344 4793 28277 41089
57229 8109 55629 34632 9735 22291]`"]
xor_pos["`xor position key:<br/>[25880 61241 42542 39225 42511 27030 31127 24937 32052]`"]
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/>[57725 11307 31071 28372 27611 49409 15121 51933 25996]`"]
old_user_prop["`property key:<br/>[14898 49243 46261 43286 743 60989 43535 48626 62301 50822 24597 10059
48516 48141 42915 36062 3286 11914 44159 34414 20879 14779 26916 49959
52279 29970 35884 62523 22453 25290 37000 30416 6102 20665 42719 23156
54785 3366 46811 57278 42429 58327 26021 27943 614 26543 63962 45468
15599 34845 22766 44215 32257 43746]`"]
old_user_pos["`combined position key:<br/>[19938 59072 31217 46834 52213 218 38377 1271 54783]`"]
old_user_prop["`property key:<br/>[61737 49256 8018 54927 21709 65009 3885 46808 12375 11644 35339 52787
60805 49964 2754 34451 22775 9278 14454 37226 46352 60033 49123 21025
6479 60885 9059 20442 64510 63443 6758 52715 61370 9158 50160 8810
27528 11812 34328 47745 43244 9125 55623 10800 49542 55251 26390 19027
23252 5772 30639 25220 21506 59558]`"]
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/>[15460 13674 18456 61621 43568 21142 56482 55858 21445]`"]
inter_user_prop["`property key:<br/>[14985 1150 30768 6478 1635 10666 27269 6459 35645 13181 44951 65099
48829 32798 38763 49985 17374 58060 13174 4948 63403 51883 64332 47758
19002 48293 53533 7657 36978 54661 23034 10490 47208 40786 40452 13423
33590 14192 16277 8090 26364 59404 1479 28117 13476 54577 41659 25414
1208 34974 30225 22027 61666 41881]`"]
inter_user_pos["`combined position key:<br/>[43864 49704 42977 21340 10942 37561 46265 33171 21339]`"]
inter_user_prop["`property key:<br/>[35152 62289 48911 50480 57098 20039 56283 32948 46929 47518 34077 13243
60901 57597 25831 1868 48852 57072 21215 65059 19167 43186 65046 41651
10576 4764 38209 32413 28319 36644 28566 12044 27202 26620 50716 48700
44789 33064 33972 1994 27205 43961 27508 17691 63886 50538 2403 60114
34137 2337 44770 58828 29189 49077]`"]
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/>[47033 63959 2503 19274 39057 42505 33376 18119 33917]`"]
new_user_prop["`property key:<br/>[39652 18270 5028 34303 6339 45092 14652 39608 18788 7857 4800 6775
27243 640 51816 11487 16139 34341 38485 4249 44601 62920 30209 8343
19333 26092 3947 16867 32616 6792 36914 19857 1483 51567 23049 15969
48502 8758 26851 13558 39754 23725 1217 61491 64601 5714 32155 53045
11055 63186 5924 56720 60612 13766]`"]
new_user_pos["`combined position key:<br/>[ 6533 37152 58679 48102 36450 2846 47432 25286 7670]`"]
new_user_prop["`property key:<br/>[46243 7833 58428 7967 9894 32124 48453 54560 26021 20475 10880 7429
26439 31401 37980 56964 32338 15187 9442 19302 53060 31276 34465 43143
33088 8587 47204 47532 45177 35842 11142 47055 40284 49647 9306 58542
63251 40940 32915 53183 16853 43890 60339 30610 6078 59395 7618 59221
44934 37153 10149 59493 8228 59563]`"]
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}}"]
selected_keys["keys selected by user during login:\n{{selected_keys}}"]
login_keypad["login keypad:\n{{login_keypad}}"]
space:4
selectkeys(("select keys"))
selectkeys(("filter keys"))
mask["enciphered mask:\n {{mask}}"]
mask_key["mask key:\n{{mask_key}}"]
space:2