diff --git a/docs/encipher_decipher_renew_nkode.md b/docs/encipher_decipher_renew_nkode.md
index 2c15365..f25c2a4 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: [40493 16536 22567 8632 16931 48077 38465 62133 61510 60074 30483 15029
- 32328 35555 12264 4839 56666 52299 23010 54024 11530 38809 33384 9334
- 53340 25808 36388 7068 48724 2963 19292 41164 31037 24848 7109 29039
- 26458 18532 7462 19458 51071 45191 60228 22739 41943 36765 29356 35589
- 3387 28997 31698 23822 30837 4299]
-- position key: [ 8625 16938 65018 7492 24125 667 1225 54737 47670]
+- property key: [12683 37623 46427 24232 53244 25444 34138 18278 52542 17394 45705 57706
+ 22403 60684 20477 13672 47069 29025 8419 8211 36163 21756 45607 31517
+ 44312 19522 17814 41879 18325 2622 43956 30841 59391 52171 51029 44917
+ 28846 25756 24212 4239 11940 31284 58701 7692 31504 25629 20378 35504
+ 45861 59860 4819 52686 62304 58952]
+- position key: [29587 60364 47856 53105 61491 65374 34021 4048 33167]
---
## User Cipher
-- property key: [57486 43228 16207 60359 59029 6255 7588 52492 24710 2551 40990 56898
- 56863 1051 48892 2945 40292 31660 45216 53538 40537 15451 52595 37467
- 3706 19342 38794 33132 21407 3639 12679 9190 10068 50771 64668 35246
- 60714 28831 4623 8674 56989 23715 57671 23914 51409 36438 10577 34976
- 29440 9581 47915 29410 39979 5656]
-- passcode key: [21257 32848 55275 58059 52662 31196 41361 14925 10153 11854]
-- combined position key: [34963 12677 35658 5478 60936 17345 54640 40685 50309]
-- mask key: [23832 11427 59440 48739 10483 30872 4800 48753 55621 53879]
+- property key: [14398 56125 29659 36184 61716 58844 42259 48679 36351 53209 63475 35295
+ 1927 35139 48674 32220 3724 62784 11332 63262 61320 62990 59038 61659
+ 31829 24135 49167 50519 23410 2470 22259 32544 30127 27527 18620 39840
+ 105 31222 38444 37307 58991 39926 16285 42364 843 30922 30467 43324
+ 13596 3432 28064 33665 35252 8733]
+- passcode key: [43892 51915 3968 29221 4 52573 20838 48052 39138 14671]
+- combined position key: [40967 35807 54041 52517 31281 56961 42242 11385 1018]
+- mask key: [57731 56088 1801 26915 40765 22438 9693 31860 17942 7993]
### Combined Postion Key
```mermaid
block-beta
columns 2
- user_pos["user position key:\n[58068 33848 20979 58547 24202 53969 27574 25558 64861]"]
- customer_pos["customer position key:\n[ 8625 16938 65018 7492 24125 667 1225 54737 47670]"]
+ user_pos["user position key:\n[24890 2120 45550 47291 61945 28551 49488 49734 20771]"]
+ customer_pos["customer position key:\n[29587 60364 47856 53105 61491 65374 34021 4048 33167]"]
space:2
xor(("XOR")):2
user_pos --> xor
customer_pos --> xor
space:2
- comb_pos["combined position key\n[34963 12677 35658 5478 60936 17345 54640 40685 50309]"]:2
+ comb_pos["combined position key\n[40967 35807 54041 52517 31281 56961 42242 11385 1018]"]:2
xor --> comb_pos
```
## User Keypad
- keypad:
-- user passcode indices: [22, 34, 45, 43]
+- user passcode indices: [12, 4, 51, 33]
## nKode Cipher
@@ -52,54 +52,54 @@ block-beta
```mermaid
block-beta
columns 2
- cprop["customer_property_key\n[40493 16536 22567 8632 16931 48077 38465 62133 61510 60074 30483 15029
- 32328 35555 12264 4839 56666 52299 23010 54024 11530 38809 33384 9334
- 53340 25808 36388 7068 48724 2963 19292 41164 31037 24848 7109 29039
- 26458 18532 7462 19458 51071 45191 60228 22739 41943 36765 29356 35589
- 3387 28997 31698 23822 30837 4299]"]
- uprop["user_property_key\n[57486 43228 16207 60359 59029 6255 7588 52492 24710 2551 40990 56898
- 56863 1051 48892 2945 40292 31660 45216 53538 40537 15451 52595 37467
- 3706 19342 38794 33132 21407 3639 12679 9190 10068 50771 64668 35246
- 60714 28831 4623 8674 56989 23715 57671 23914 51409 36438 10577 34976
- 29440 9581 47915 29410 39979 5656]"]
+ cprop["customer_property_key\n[12683 37623 46427 24232 53244 25444 34138 18278 52542 17394 45705 57706
+ 22403 60684 20477 13672 47069 29025 8419 8211 36163 21756 45607 31517
+ 44312 19522 17814 41879 18325 2622 43956 30841 59391 52171 51029 44917
+ 28846 25756 24212 4239 11940 31284 58701 7692 31504 25629 20378 35504
+ 45861 59860 4819 52686 62304 58952]"]
+ uprop["user_property_key\n[14398 56125 29659 36184 61716 58844 42259 48679 36351 53209 63475 35295
+ 1927 35139 48674 32220 3724 62784 11332 63262 61320 62990 59038 61659
+ 31829 24135 49167 50519 23410 2470 22259 32544 30127 27527 18620 39840
+ 105 31222 38444 37307 58991 39926 16285 42364 843 30922 30467 43324
+ 13596 3432 28064 33665 35252 8733]"]
space:2
xor1(("XOR")):2
cprop --> xor1
uprop --> xor1
space:2
- prop["combined_property_key\n[62032 50130 36776 54558 8506 61182 6770 6684 21325 58903 51619 53457
- 24017 10096 25891 36737 43828 60364 23965 63299 43548 43762 63289 61210
- 16490 21923 14215 6365 4383 48550 62830 53206 5237 2426 49278 33751
- 21542 2104 49342 42984 62776 19754 59167 25211 60 58461 118 9841
- 52387 3482 40915 54740 30225 8961]"]
+ prop["combined_property_key\n[32565 54767 5127 26787 61372 9024 10051 31192 36215 25953 63643 7907
+ 34275 49131 65253 35224 52025 49525 36214 22719 57589 6411 46986 50058
+ 38701 701 36150 6894 36770 58151 63226 62425 5898 2177 3529 29703
+ 30896 41755 9016 47283 14611 18887 54104 55155 32367 2577 31449 39233
+ 18953 7162 61412 6044 61623 4668]"]
xor1 --> prop
- pass["user_passcode_indices\n[22, 34, 45, 43]"]
+ pass["user_passcode_indices\n[12, 4, 51, 33]"]
space:2
sel(("select\nproperties")):2
pass --> sel
prop --> sel
space:2
- passcode["user passcode properties:\n[63289 49278 58461 25211]"]:2
+ passcode["user passcode properties:\n[34275 61372 6044 2177]"]:2
sel --> passcode
space:2
pad["zero pad to\nmax nkode length: 10"]:2
passcode -->pad
space:2
- paddedpasscode["padded passcode:\n[63289 49278 58461 25211 0 0 0 0 0 0]"]
+ paddedpasscode["padded passcode:\n[34275 61372 6044 2177 0 0 0 0 0 0]"]
pad --> paddedpasscode
- passkey["passcode key:\n[21257 32848 55275 58059 52662 31196 41361 14925 10153 11854]"]
+ passkey["passcode key:\n[43892 51915 3968 29221 4 52573 20838 48052 39138 14671]"]
space:2
xor2(("XOR")):2
passkey --> xor2
paddedpasscode --> xor2
space:2
- cipheredpass["ciphered passcode:\n[42032 16430 13238 32944 52662 31196 41361 14925 10153 11854]"]:2
+ cipheredpass["ciphered passcode:\n[11927 9591 6172 31396 4 52573 20838 48052 39138 14671]"]:2
xor2 --> cipheredpass
space:2
hash(("hash")):2
cipheredpass --> hash
space:2
- cipheredhashed["hashed ciphered passcode:\n$2b$12$c62ezzyLW3QzUMjYUPSioexdMtSuJKzSM4KLkdKhWIiuNzcxOfT8m"]:2
+ cipheredhashed["hashed ciphered passcode:\n$2b$12$Jf48A5rmjkxb0II7CkuD8.Qg3GCuROgbS99pMbthC2gXt9szx9gmm"]:2
hash --> cipheredhashed
```
@@ -107,9 +107,9 @@ block-beta
```mermaid
block-beta
columns 3
- passcode_idx["passcode indices:\n[22, 34, 45, 43]"]
- comb_pos["combined position key:\n[34963 12677 35658 5478 60936 17345 54640 40685 50309]"]
- cust_pos["customer position key:\n[ 8625 16938 65018 7492 24125 667 1225 54737 47670]"]
+ passcode_idx["passcode indices:\n[12, 4, 51, 33]"]
+ comb_pos["combined position key:\n[40967 35807 54041 52517 31281 56961 42242 11385 1018]"]
+ cust_pos["customer position key:\n[29587 60364 47856 53105 61491 65374 34021 4048 33167]"]
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[4, 7, 0, 7]"]
+ passcode_position_idx["passcode poition indices:\n[3, 4, 6, 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[4, 7, 0, 7, 2, 2, 0, 3, 7, 8]"]
+ posidx["Padded Passcode Position Indices:\n[3, 4, 6, 6, 3, 3, 7, 5, 0, 8]"]
pad1 --> posidx
space:1
- user_pos["user position key:\n[58068 33848 20979 58547 24202 53969 27574 25558 64861]"]
+ user_pos["user position key:\n[24890 2120 45550 47291 61945 28551 49488 49734 20771]"]
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[24202 25558 58068 25558 20979 20979 58068 58547 25558 64861]"]
+ passcode_pos["ordered user passcode positions:\n[47291 61945 49488 49488 47291 47291 49734 28551 24890 20771]"]
sel --> passcode_pos
- mask_key["mask key\n[23832 11427 59440 48739 10483 30872 4800 48753 55621 53879]"]
+ mask_key["mask key\n[57731 56088 1801 26915 40765 22438 9693 31860 17942 7993]"]
space:4
xor2(("XOR"))
mask_key --> xor2
passcode_pos --> xor2
space:5
- mask["enciphered mask:\n [ 914 20341 2788 56757 30976 10603 61460 23234 47763 12074]"]
+ mask["enciphered mask:\n [22840 10977 50777 43123 10118 61213 59291 5107 10028 19994]"]
xor2 --> mask
```
@@ -156,19 +156,19 @@ block-beta
```mermaid
block-beta
columns 3
- selected_keys["selected keys:\n[5, 3, 2, 2]"]
- login_keypad["login keypad:\nKey 0: [18 19 11 30 40 41 24 52 26]
-Key 1: [36 1 47 12 49 32 42 25 35]
-Key 2: [45 46 29 39 13 50 33 43 17]
-Key 3: [27 37 2 3 31 5 6 34 8]
-Key 4: [ 9 10 20 21 4 23 15 7 53]
-Key 5: [ 0 28 38 48 22 14 51 16 44]
+ selected_keys["selected keys:\n[1, 0, 5, 0]"]
+ login_keypad["login keypad:\nKey 0: [45 46 29 48 4 50 33 16 17]
+Key 1: [18 1 20 12 49 5 15 34 44]
+Key 2: [27 10 38 3 31 14 24 7 26]
+Key 3: [ 0 37 11 39 22 23 42 52 8]
+Key 4: [36 19 2 21 40 32 6 25 35]
+Key 5: [ 9 28 47 30 13 41 51 43 53]
"]
space:4
selectkeys(("select keys"))
- mask["enciphered mask:\n [ 914 20341 2788 56757 30976 10603 61460 23234 47763 12074]"]
- mask_key["mask key:\n[23832 11427 59440 48739 10483 30872 4800 48753 55621 53879]"]
+ mask["enciphered mask:\n [22840 10977 50777 43123 10118 61213 59291 5107 10028 19994]"]
+ mask_key["mask key:\n[57731 56088 1801 26915 40765 22438 9693 31860 17942 7993]"]
space:2
xor1(("XOR"))
@@ -178,12 +178,12 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
login_keypad --> selectkeys
space:3
- ordered_keys["ordered keys:\n[[ 0 28 38 48 22 14 51 16 44]
- [27 37 2 3 31 5 6 34 8]
- [45 46 29 39 13 50 33 43 17]
- [45 46 29 39 13 50 33 43 17]]"]
- user_position_key["user position key:\n[58068 33848 20979 58547 24202 53969 27574 25558 64861]"]
- passcode_pos["ordered user passcode positions:\n[24202 25558 58068 25558 20979 20979 58068 58547 25558 64861]"]
+ ordered_keys["ordered keys:\n[[18 1 20 12 49 5 15 34 44]
+ [45 46 29 48 4 50 33 16 17]
+ [ 9 28 47 30 13 41 51 43 53]
+ [45 46 29 48 4 50 33 16 17]]"]
+ user_position_key["user position key:\n[24890 2120 45550 47291 61945 28551 49488 49734 20771]"]
+ passcode_pos["ordered user passcode positions:\n[47291 61945 49488 49488 47291 47291 49734 28551 24890 20771]"]
selectkeys --> ordered_keys
xor1 --> passcode_pos
space:8
@@ -193,7 +193,7 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
passcode_pos --> get_passcode_idxs
space:8
- passcode_pos_idxs["padded passcode position indices:\n[4, 7, 0, 7, 2, 2, 0, 3, 7, 8]"]
+ passcode_pos_idxs["padded passcode position indices:\n[3, 4, 6, 6, 3, 3, 7, 5, 0, 8]"]
get_passcode_idxs --> passcode_pos_idxs
space:3
@@ -202,13 +202,13 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
passcode_pos_idxs --> get_presumed_idxs
space:5
- passcode_prop_idxs["presumed passcode property indices:\n[22, 34, 45, 43]"]
- prop["combined_property_key\n[62032 50130 36776 54558 8506 61182 6770 6684 21325 58903 51619 53457
- 24017 10096 25891 36737 43828 60364 23965 63299 43548 43762 63289 61210
- 16490 21923 14215 6365 4383 48550 62830 53206 5237 2426 49278 33751
- 21542 2104 49342 42984 62776 19754 59167 25211 60 58461 118 9841
- 52387 3482 40915 54740 30225 8961]"]
- cipheredhashed["hashed ciphered passcode:\n$2b$12$c62ezzyLW3QzUMjYUPSioexdMtSuJKzSM4KLkdKhWIiuNzcxOfT8m"]
+ passcode_prop_idxs["presumed passcode property indices:\n[12, 4, 51, 33]"]
+ prop["combined_property_key\n[32565 54767 5127 26787 61372 9024 10051 31192 36215 25953 63643 7907
+ 34275 49131 65253 35224 52025 49525 36214 22719 57589 6411 46986 50058
+ 38701 701 36150 6894 36770 58151 63226 62425 5898 2177 3529 29703
+ 30896 41755 9016 47283 14611 18887 54104 55155 32367 2577 31449 39233
+ 18953 7162 61412 6044 61623 4668]"]
+ cipheredhashed["hashed ciphered passcode:\n$2b$12$Jf48A5rmjkxb0II7CkuD8.Qg3GCuROgbS99pMbthC2gXt9szx9gmm"]
get_presumed_idxs --> passcode_prop_idxs
space:3
@@ -217,7 +217,7 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
prop --> sel
space:5
- passcode_prop["presumed passcode properties:\n[63289 49278 58461 25211]"]
+ passcode_prop["presumed passcode properties:\n[34275 61372 6044 2177]"]
sel --> passcode_prop
space:5
@@ -225,7 +225,7 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
passcode_prop --> cipher
space:5
- cipheredpass["ciphered passcode:\n[42032 16430 13238 32944 52662 31196 41361 14925 10153 11854]"]
+ cipheredpass["ciphered passcode:\n[11927 9591 6172 31396 4 52573 20838 48052 39138 14671]"]
cipher --> cipheredpass
space:7
@@ -242,34 +242,34 @@ Key 5: [ 0 28 38 48 22 14 51 16 44]
### Renew nKode
nKode renewal is a three step process:
-1. Renew Customer Properties
-2. Renew User Keys
-3. Refresh User on Login
+1. Renew Customer Keys
+2. Intermediate User Keys
+3. Renew User Keys on Login
```mermaid
flowchart
- subgraph Renew Customer Properties
- old_prop["`old customer property key:
[ 4830 27406 45287 16089 51119 63121 2006 55056 13259 61408 27069 3731
- 33742 9067 56287 33792 13904 36960 60733 9825 13381 38569 14922 32065
- 19984 7725 40973 39345 17024 45969 50409 60464 13089 53033 15586 2681
- 47372 30887 53937 34314 11173 4489 1624 16145 51437 27147 10535 44753
- 49059 10487 9464 42806 59962 13593]`"]
- new_prop["`new customer property key:
[40493 16536 22567 8632 16931 48077 38465 62133 61510 60074 30483 15029
- 32328 35555 12264 4839 56666 52299 23010 54024 11530 38809 33384 9334
- 53340 25808 36388 7068 48724 2963 19292 41164 31037 24848 7109 29039
- 26458 18532 7462 19458 51071 45191 60228 22739 41943 36765 29356 35589
- 3387 28997 31698 23822 30837 4299]`"]
- old_pos["`old customer position key:
[27207 46525 55993 61909 45186 37136 48838 64827 14808]`"]
- new_pos["`new customer position key:
[ 8625 16938 65018 7492 24125 667 1225 54737 47670]`"]
+ subgraph Renew Customer Keys
+ old_prop["`old customer property key:
[18187 3794 26588 58875 7848 50844 33360 51199 136 43704 3944 38716
+ 33380 13992 16583 62532 50613 13365 41266 44961 3965 61189 20756 13137
+ 60280 23802 19769 57273 54480 60033 40969 36089 25253 25350 17781 61351
+ 30937 56045 46356 10504 57212 53809 60613 29199 32036 29403 3546 12413
+ 32533 5778 33348 37917 30979 12321]`"]
+ new_prop["`new customer property key:
[12683 37623 46427 24232 53244 25444 34138 18278 52542 17394 45705 57706
+ 22403 60684 20477 13672 47069 29025 8419 8211 36163 21756 45607 31517
+ 44312 19522 17814 41879 18325 2622 43956 30841 59391 52171 51029 44917
+ 28846 25756 24212 4239 11940 31284 58701 7692 31504 25629 20378 35504
+ 45861 59860 4819 52686 62304 58952]`"]
+ old_pos["`old customer position key:
[49469 33687 25335 30110 35784 45318 25682 60991 21209]`"]
+ new_pos["`new customer position key:
[29587 60364 47856 53105 61491 65374 34021 4048 33167]`"]
xor1(("XOR"))
xor2(("XOR"))
- xor_prop["`xor property key:
[36083 11158 59584 8033 34188 19804 37271 9637 50061 1354 7854 13350
- 64902 43400 62519 38631 60170 23595 46303 62825 6479 304 47138 22839
- 40524 31485 11817 33325 64724 47106 36789 19708 18972 44601 10023 31510
- 56918 12483 53143 51720 60634 41230 60700 26562 27450 58774 23435 9684
- 45720 22962 24362 64056 37455 9682]`"]
- xor_pos["`xor position key:
[19446 63383 10051 60561 61119 37771 47631 10474 33774]`"]
+ xor_prop["`xor property key:
[30336 39973 53895 47955 53588 42488 1802 32921 52662 59722 48609 30294
+ 54759 56228 3898 49452 29288 17748 33233 36786 33342 48121 58163 18508
+ 18016 4280 2223 31790 37701 57535 3005 62592 34138 43213 33312 16594
+ 2167 48753 60288 14727 61912 43013 2440 27651 1588 5830 16960 47821
+ 52272 65350 37015 22995 35427 54889]`"]
+ xor_pos["`xor position key:
[45742 26715 55303 47855 31739 20056 57527 57839 54102]`"]
old_prop --> xor1
new_prop --> xor1
xor1 --> xor_prop
@@ -278,17 +278,17 @@ nKode renewal is a three step process:
xor2 --> xor_pos
end
- subgraph Renew User Keys
+ subgraph Intermediate User Keys
users@{shape: procs, label: "users"}
users --> eachuser
subgraph eachuser [for each user]
subgraph old user keys
- old_user_pos["`combined position key:
[58068 33848 20979 58547 24202 53969 27574 25558 64861]`"]
- old_user_prop["`property key:
[57486 43228 16207 60359 59029 6255 7588 52492 24710 2551 40990 56898
- 56863 1051 48892 2945 40292 31660 45216 53538 40537 15451 52595 37467
- 3706 19342 38794 33132 21407 3639 12679 9190 10068 50771 64668 35246
- 60714 28831 4623 8674 56989 23715 57671 23914 51409 36438 10577 34976
- 29440 9581 47915 29410 39979 5656]`"]
+ old_user_pos["`combined position key:
[24890 2120 45550 47291 61945 28551 49488 49734 20771]`"]
+ old_user_prop["`property key:
[14398 56125 29659 36184 61716 58844 42259 48679 36351 53209 63475 35295
+ 1927 35139 48674 32220 3724 62784 11332 63262 61320 62990 59038 61659
+ 31829 24135 49167 50519 23410 2470 22259 32544 30127 27527 18620 39840
+ 105 31222 38444 37307 58991 39926 16285 42364 843 30922 30467 43324
+ 13596 3432 28064 33665 35252 8733]`"]
old_renew["renew: False"]
end
xor3(("XOR"))
@@ -300,28 +300,28 @@ 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:
[50021 50706 44041 63991 183 53322 28543 46599 18283]`"]
- inter_user_prop["`property key:
[27773 33610 55183 62630 25369 21811 35891 59561 41739 3261 48816 60004
- 9113 44435 19147 40294 30318 10119 1151 9291 34582 15723 30033 52076
- 36918 12659 47523 833 44875 46645 48690 28442 27976 26730 56251 62136
- 13180 16476 56728 60394 12871 64941 3163 15016 41963 27584 29402 44404
- 49560 31967 58369 35034 3684 13258]`"]
+ inter_user_pos["`combined position key:
[ 4777 58244 2846 30666 458 37081 17845 52630 53420]`"]
+ inter_user_prop["`property key:
[20158 18200 41308 13835 8256 16420 41497 16062 16457 9875 18962 65417
+ 53856 21223 45336 48368 31972 45076 44437 30892 28086 19959 1453 47255
+ 14901 20223 51360 47481 51255 59673 23886 35744 61685 49994 51868 56178
+ 2078 51079 32172 43068 6071 13299 13845 51583 1407 28172 13635 5105
+ 63788 61998 64823 55890 983 62580]`"]
inter_renew["renew: True"]
end
end
end
- subgraph Refresh User on Login
+ subgraph Renew User Keys on Login
login["First login post renew"]
inter_user --> login
subgraph new_user [New User Keys]
- new_user_pos["`combined position key:
[41920 44706 35397 43292 52009 11204 43818 26002 28955]`"]
- new_user_prop["`property key:
[50355 56723 59762 39268 44255 59491 12736 62545 3731 51049 48946 10598
- 23999 55461 35771 20498 38352 13185 17075 30409 22199 3533 32360 12423
- 10680 48407 6174 11559 44174 8103 37520 52514 30628 49367 7063 8839
- 30149 1724 51332 64105 26257 48370 17405 42481 4953 43432 15038 37511
- 62432 22826 16312 39525 13907 33285]`"]
+ new_user_pos["`combined position key:
[37567 32382 36425 6535 11819 18071 35301 38878 29144]`"]
+ new_user_prop["`property key:
[63204 21530 24393 63295 52024 46102 24361 23381 41968 3713 26133 17989
+ 14193 46059 12280 45683 35436 9340 17577 37219 15797 39388 52148 29719
+ 48300 18038 25938 62757 21612 28454 23892 12945 18057 62761 37107 25062
+ 27001 30212 20943 35287 60202 25046 29690 64376 57055 1554 42998 36674
+ 45138 58609 25837 59944 8395 52185]`"]
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 bfaa360..61ac96c 100644
--- a/docs/templates/encipher_decipher_renew_nkode.template.md
+++ b/docs/templates/encipher_decipher_renew_nkode.template.md
@@ -209,15 +209,15 @@ block-beta
### Renew nKode
nKode renewal is a three step process:
-1. Renew Customer Properties
-2. Renew User Keys
-3. Refresh User on Login
+1. Renew Customer Keys
+2. Intermediate User Keys
+3. Renew User Keys on Login
{% set md_tick = '`' %}
```mermaid
flowchart
- subgraph Renew Customer Properties
+ subgraph Renew Customer Keys
old_prop["`old customer property key:
{{old_props}}`"]
new_prop["`new customer property key:
{{new_props}}`"]
old_pos["`old customer position key:
{{old_pos}}`"]
@@ -234,7 +234,7 @@ nKode renewal is a three step process:
xor2 --> xor_pos
end
- subgraph Renew User Keys
+ subgraph Intermediate User Keys
users@{shape: procs, label: "users"}
users --> eachuser
subgraph eachuser [for each user]
@@ -260,7 +260,7 @@ nKode renewal is a three step process:
end
- subgraph Refresh User on Login
+ subgraph Renew User Keys on Login
login["First login post renew"]
inter_user --> login
subgraph new_user [New User Keys]
diff --git a/notebooks/Enrollment_Login_Renewal_Detailed.ipynb b/notebooks/Enrollment_Login_Renewal_Detailed.ipynb
index c549e71..78811da 100644
--- a/notebooks/Enrollment_Login_Renewal_Detailed.ipynb
+++ b/notebooks/Enrollment_Login_Renewal_Detailed.ipynb
@@ -762,9 +762,9 @@
"cell_type": "markdown",
"source": [
"## Renew Properties\n",
- "1. Renew Customer Properties\n",
- "2. Renew User Keys\n",
- "3. Refresh User on Login\n",
+ "1. Renew Customer Keys\n",
+ "2. Intermediate User Keys\n",
+ "3. Renew User Keys on Login\n",
"\n"
]
},
@@ -839,7 +839,7 @@
"metadata": {},
"cell_type": "markdown",
"source": [
- "### Renew User\n",
+ "### Intermediate Renew User\n",
"User property and position keys go through an intermediate phase.\n",
"#### user.cipher.combined_position_key\n",
"- user_combined_position_key = user_combined_position_key XOR pos_xor\n",
@@ -873,7 +873,7 @@
"metadata": {},
"cell_type": "markdown",
"source": [
- "### Refresh User Keys\n",
+ "### New User Keys\n",
"After a user's first successful login, the renew flag is checked. If it's true, the user's cipher is replaced with a new cipher."
]
},