From f7d4e4411fb168201254f01401b2a007cbbe8c1c Mon Sep 17 00:00:00 2001 From: Donovan Date: Wed, 26 Mar 2025 09:15:40 -0500 Subject: [PATCH] update readme --- README.md | 16 +- docs/encipher_decipher_renew_nkode.md | 222 +++++++++--------- .../encipher_decipher_renew_nkode.template.md | 4 +- 3 files changed, 125 insertions(+), 117 deletions(-) diff --git a/README.md b/README.md index 2e4efd7..6b9e6b6 100644 --- a/README.md +++ b/README.md @@ -52,10 +52,18 @@ jupyter notebook jupyter lab ``` +## Explore the Docs +1. [nKode Enrollment](docs/enrollment_diagram.md) +2. [nKode Login](docs/login_diagram.md) +3. [Encipher nKode](docs/encipher_decipher_renew_nkode.md#nkode-cipher) +4. [Valid nKode](docs/encipher_decipher_renew_nkode.md#validate-nkode) +5. [Renew nKode](docs/encipher_decipher_renew_nkode.md#renew-nkode) + ## Exploring the Tutorials 1. Navigate to the `/notebooks` directory in the Jupyter interface -2. Open the tutorials in the following recommended order: - - `Enrollment_Login_Renewal.ipynb` - Learn how to manage user accounts in nkode - - `Dispersion.ipynb` - Understand the basic concepts of dispersion in nkode - - `Split_Shuffle.ipynb` - Explore the split shuffle functionality +2. Recommended order: + - [Enrollment_Login_Renewal_Simplified.ipynb](notebooks/Enrollment_Login_Renewal_Simplified.ipynb) - Learn the basics of the nKode API + - [Enrollment_Login_Renewal_Detailed.ipynb](notebooks/Enrollment_Login_Renewal_Detailed.ipynb) - Learn the nKode API in detail + - [Dispersion.ipynb](notebooks/Dispersion.ipynb)- Understand the basic concepts of dispersion in nkode + - [Split_Shuffle.ipynb](notebooks/Split_Shuffle.ipynb) - Explore the split shuffle functionality diff --git a/docs/encipher_decipher_renew_nkode.md b/docs/encipher_decipher_renew_nkode.md index 04e3067..5a0400b 100644 --- a/docs/encipher_decipher_renew_nkode.md +++ b/docs/encipher_decipher_renew_nkode.md @@ -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:
Key 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]
-- user passcode indices: [6, 43, 53, 9] +- keypad example:
Key 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]
+- 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:
[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:
[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:
[ 569 42545 57846 40152 5878 42557 25834 14800 38422]`"] - new_pos["`new customer position key:
[56601 6465 12615 40545 49643 37783 59315 4335 13897]`"] + old_prop["`old customer property key:
[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:
[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:
[33698 52177 30782 31895 18244 64501 22727 58381 64400]`"] + new_pos["`new customer position key:
[59066 9448 56848 58798 57675 37475 8528 34148 34468]`"] xor1(("XOR")) xor2(("XOR")) - xor_prop["`xor property key:
[ 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:
[57120 49008 53425 697 55069 13738 33625 10559 41055]`"] + xor_prop["`xor property key:
[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:
[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:
[57725 11307 31071 28372 27611 49409 15121 51933 25996]`"] - old_user_prop["`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]`"] + old_user_pos["`combined position key:
[19938 59072 31217 46834 52213 218 38377 1271 54783]`"] + old_user_prop["`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]`"] 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:
[15460 13674 18456 61621 43568 21142 56482 55858 21445]`"] - inter_user_prop["`property key:
[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:
[43864 49704 42977 21340 10942 37561 46265 33171 21339]`"] + inter_user_prop["`property key:
[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:
[47033 63959 2503 19274 39057 42505 33376 18119 33917]`"] - new_user_prop["`property key:
[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:
[ 6533 37152 58679 48102 36450 2846 47432 25286 7670]`"] + new_user_prop["`property key:
[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 diff --git a/docs/templates/encipher_decipher_renew_nkode.template.md b/docs/templates/encipher_decipher_renew_nkode.template.md index ef36513..57cd368 100644 --- a/docs/templates/encipher_decipher_renew_nkode.template.md +++ b/docs/templates/encipher_decipher_renew_nkode.template.md @@ -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