diff --git a/docs/encipher_decipher_renew_nkode.md b/docs/encipher_decipher_renew_nkode.md
index f25c2a4..9d6c55a 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: [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]
+- 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]
---
## User Cipher
-- 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]
+- 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]
### Combined Postion Key
```mermaid
block-beta
columns 2
- 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]"]
+ 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]"]
space:2
xor(("XOR")):2
user_pos --> xor
customer_pos --> xor
space:2
- comb_pos["combined position key\n[40967 35807 54041 52517 31281 56961 42242 11385 1018]"]:2
+ comb_pos["combined position key\n[17105 6226 55543 52110 63357 65173 47236 36681 52804]"]:2
xor --> comb_pos
```
## User Keypad
-- keypad:
-- user passcode indices: [12, 4, 51, 33]
+- keypad example:
Key 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]
+- user passcode indices: [16, 23, 45, 41]
## nKode Cipher
@@ -52,54 +52,54 @@ block-beta
```mermaid
block-beta
columns 2
- 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]"]
+ 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]"]
space:2
xor1(("XOR")):2
cprop --> xor1
uprop --> xor1
space:2
- 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]"]
+ 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]"]
xor1 --> prop
- pass["user_passcode_indices\n[12, 4, 51, 33]"]
+ pass["user_passcode_indices\n[16, 23, 45, 41]"]
space:2
sel(("select\nproperties")):2
pass --> sel
prop --> sel
space:2
- passcode["user passcode properties:\n[34275 61372 6044 2177]"]:2
+ passcode["user passcode properties:\n[53918 60127 8394 4434]"]:2
sel --> passcode
space:2
pad["zero pad to\nmax nkode length: 10"]:2
passcode -->pad
space:2
- paddedpasscode["padded passcode:\n[34275 61372 6044 2177 0 0 0 0 0 0]"]
+ paddedpasscode["padded passcode:\n[53918 60127 8394 4434 0 0 0 0 0 0]"]
pad --> paddedpasscode
- passkey["passcode key:\n[43892 51915 3968 29221 4 52573 20838 48052 39138 14671]"]
+ passkey["passcode key:\n[61110 58124 49630 7713 65071 1473 10319 26443 24286 22]"]
space:2
xor2(("XOR")):2
passkey --> xor2
paddedpasscode --> xor2
space:2
- cipheredpass["ciphered passcode:\n[11927 9591 6172 31396 4 52573 20838 48052 39138 14671]"]:2
+ cipheredpass["ciphered passcode:\n[15400 2515 57620 3955 65071 1473 10319 26443 24286 22]"]:2
xor2 --> cipheredpass
space:2
hash(("hash")):2
cipheredpass --> hash
space:2
- cipheredhashed["hashed ciphered passcode:\n$2b$12$Jf48A5rmjkxb0II7CkuD8.Qg3GCuROgbS99pMbthC2gXt9szx9gmm"]:2
+ cipheredhashed["hashed ciphered passcode:\n$2b$12$4ew1R/6AXYkPuF4PO4CpQeCEEGMuoo7N8Rnj1yAGOGenJ8vc689ge"]:2
hash --> cipheredhashed
```
@@ -107,9 +107,9 @@ block-beta
```mermaid
block-beta
columns 3
- 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]"]
+ 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]"]
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[3, 4, 6, 6]"]
+ passcode_position_idx["passcode poition indices:\n[7, 5, 0, 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[3, 4, 6, 6, 3, 3, 7, 5, 0, 8]"]
+ posidx["Padded Passcode Position Indices:\n[7, 5, 0, 5, 6, 3, 1, 2, 8, 5]"]
pad1 --> posidx
space:1
- user_pos["user position key:\n[24890 2120 45550 47291 61945 28551 49488 49734 20771]"]
+ user_pos["user position key:\n[15348 25802 2932 35759 37505 7088 5681 24341 39057]"]
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[47291 61945 49488 49488 47291 47291 49734 28551 24890 20771]"]
+ passcode_pos["ordered user passcode positions:\n[24341 7088 15348 7088 5681 35759 25802 2932 39057 7088]"]
sel --> passcode_pos
- mask_key["mask key\n[57731 56088 1801 26915 40765 22438 9693 31860 17942 7993]"]
+ mask_key["mask key\n[ 5981 20544 34128 22101 9735 7951 7840 53333 61565 214]"]
space:4
xor2(("XOR"))
mask_key --> xor2
passcode_pos --> xor2
space:5
- mask["enciphered mask:\n [22840 10977 50777 43123 10118 61213 59291 5107 10028 19994]"]
+ mask["enciphered mask:\n [18504 19440 48804 19941 12342 38048 31338 56097 26860 7014]"]
xor2 --> mask
```
@@ -156,19 +156,19 @@ block-beta
```mermaid
block-beta
columns 3
- 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]
+ 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]
"]
space:4
selectkeys(("select keys"))
- 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]"]
+ 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]"]
space:2
xor1(("XOR"))
@@ -178,12 +178,12 @@ Key 5: [ 9 28 47 30 13 41 51 43 53]
login_keypad --> selectkeys
space:3
- 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]"]
+ 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]"]
selectkeys --> ordered_keys
xor1 --> passcode_pos
space:8
@@ -193,7 +193,7 @@ Key 5: [ 9 28 47 30 13 41 51 43 53]
passcode_pos --> get_passcode_idxs
space:8
- passcode_pos_idxs["padded passcode position indices:\n[3, 4, 6, 6, 3, 3, 7, 5, 0, 8]"]
+ passcode_pos_idxs["padded passcode position indices:\n[7, 5, 0, 5, 6, 3, 1, 2, 8, 5]"]
get_passcode_idxs --> passcode_pos_idxs
space:3
@@ -202,13 +202,13 @@ Key 5: [ 9 28 47 30 13 41 51 43 53]
passcode_pos_idxs --> get_presumed_idxs
space:5
- 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"]
+ 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"]
get_presumed_idxs --> passcode_prop_idxs
space:3
@@ -217,7 +217,7 @@ Key 5: [ 9 28 47 30 13 41 51 43 53]
prop --> sel
space:5
- passcode_prop["presumed passcode properties:\n[34275 61372 6044 2177]"]
+ passcode_prop["presumed passcode properties:\n[53918 60127 8394 4434]"]
sel --> passcode_prop
space:5
@@ -225,7 +225,7 @@ Key 5: [ 9 28 47 30 13 41 51 43 53]
passcode_prop --> cipher
space:5
- cipheredpass["ciphered passcode:\n[11927 9591 6172 31396 4 52573 20838 48052 39138 14671]"]
+ cipheredpass["ciphered passcode:\n[15400 2515 57620 3955 65071 1473 10319 26443 24286 22]"]
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:
[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]`"]
+ old_prop["`old customer property key:
[ 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:
[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:
[31013 31896 54147 16417 26108 58661 44725 53340 22229]`"]
+ new_pos["`new customer position key:
[26845 24321 52293 19187 29228 61277 32841 51235 34682]`"]
xor1(("XOR"))
xor2(("XOR"))
- 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]`"]
+ xor_prop["`xor property key:
[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:
[ 4600 9113 8134 2770 6096 2680 12028 6271 53679]`"]
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:
[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_user_pos["`combined position key:
[15348 25802 2932 35759 37505 7088 5681 24341 39057]`"]
+ old_user_prop["`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]`"]
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:
[ 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_user_pos["`combined position key:
[21289 15307 50993 49500 57517 62701 38520 38710 8171]`"]
+ inter_user_prop["`property key:
[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_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:
[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_user_pos["`combined position key:
[65323 43160 15313 31589 56469 63324 16779 58877 46813]`"]
+ new_user_prop["`property key:
[ 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_renew["renew: False"]
end
login --> new_user
diff --git a/docs/scripts/render_encipher_decipher_diagrams.py b/docs/scripts/render_encipher_decipher_diagrams.py
index 466b853..f2837cd 100644
--- a/docs/scripts/render_encipher_decipher_diagrams.py
+++ b/docs/scripts/render_encipher_decipher_diagrams.py
@@ -20,6 +20,14 @@ def display_keypad(icons_array: np.ndarray, props_per_key: int) -> str:
icons += "\n"
return icons
+def display_md_keypad(icons_array: np.ndarray, props_per_key: int) -> str:
+ icons = ""
+ for idx, row in enumerate(icons_array.reshape(-1, props_per_key)):
+ icons += f"Key {idx}: "
+ icons += str(row)
+ icons += "
"
+ return icons
+
if __name__ == "__main__":
api = NKodeAPI()
@@ -100,6 +108,7 @@ if __name__ == "__main__":
"mask": mask,
"selected_keys": selected_keys_login,
"login_keypad": display_keypad(login_keypad, keypad_size.props_per_key),
+ "login_keypad_md": display_md_keypad(login_keypad, keypad_size.props_per_key),
"ordered_keys": login_keypad.reshape(-1, keypad_size.props_per_key)[selected_keys_login],
"old_props": old_props,
"new_props": new_props,
diff --git a/docs/templates/encipher_decipher_renew_nkode.template.md b/docs/templates/encipher_decipher_renew_nkode.template.md
index 61ac96c..ef36513 100644
--- a/docs/templates/encipher_decipher_renew_nkode.template.md
+++ b/docs/templates/encipher_decipher_renew_nkode.template.md
@@ -35,7 +35,7 @@ block-beta
```
## User Keypad
-- keypad: {{ user_keypad}}
+- keypad example:
{{ login_keypad_md }}
- user passcode indices: {{ user_passcode_idxs}}
## nKode Cipher