Telegram users and channels can easily post and view stories through the API.
+Telegram users and channels can easily post and view stories through the API.
+Telegram allows users to specify granular privacy settings, choosing which users can or can't interact with them in certain ways.
diff --git a/data/web/corefork.telegram.org/method/stories.getStoryViewsList.html b/data/web/corefork.telegram.org/method/stories.getStoryViewsList.html
index a2f0c1f62e..14e0b171d5 100644
--- a/data/web/corefork.telegram.org/method/stories.getStoryViewsList.html
+++ b/data/web/corefork.telegram.org/method/stories.getStoryViewsList.html
@@ -133,6 +133,7 @@
Working with contacts.
How to fetch results from large lists of objects.
@@ -77,7 +77,7 @@
message_id |
8, 8 |
-647F0C00B8905265 |
+54F30C0047E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -95,7 +95,7 @@
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Random number |
@@ -104,11 +104,11 @@
2) Server sends response of the form
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 28 E8 29 B8 90 52 65
-0010 | 54 00 00 00 63 24 16 05 26 BD 66 FA AC 98 75 CF
-0020 | CE 27 A5 E6 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC
-0030 | D5 D4 83 29 13 BE 69 12 08 17 BE 00 0F E7 15 EC
-0040 | C9 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
+0000 | 00 00 00 00 00 00 00 00 01 EC 08 F5 47 E1 53 65
+0010 | 98 00 00 00 63 24 16 05 C1 14 9F E5 F9 AE 1D E6
+0020 | F9 70 7B F1 87 27 3F E6 AE 0B D3 44 AD A9 1E A2
+0030 | E6 CF DD 57 46 53 37 E4 08 22 B7 00 AC DB 1A 68
+0040 | 0B 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
0050 | 35 5F C3 0B 21 6B E8 6C 02 2B B4 C3 85 FD 64 DE
0060 | 85 1D 9D D0
Payload (de)serialization:
@@ -132,13 +132,13 @@
message_id |
8, 8 |
-0128E829B8905265 |
+01EC08F547E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-54000000 (84 in decimal) |
+98000000 (152 in decimal) |
Message body length |
@@ -150,19 +150,19 @@
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Server-generated random number |
pq |
56, 12 |
-0817BE000FE715ECC9000000 TL byte deserialization => bigendian conversion to decimal => 1710804976748850377 |
+0822B700ACDB1A680B000000 TL byte deserialization => bigendian conversion to decimal => 2501468860437915659 |
Single-byte prefix denoting length, an 8-byte string, and three bytes of padding |
@@ -208,22 +208,22 @@
Proof of work
3) Client decomposes pq into prime factors such that p < q.
-pq = 1710804976748850377
-Decompose into 2 prime cofactors p < q
: 1710804976748850377 = 1147566131 * 1490811667
-p = 1147566131
-q = 1490811667
+pq = 2501468860437915659
+Decompose into 2 prime cofactors p < q
: 2501468860437915659 = 1290516503 * 1938347053
+p = 1290516503
+q = 1938347053
Presenting proof of work; Server authentication
4) encrypted_data
payload generation
First of all, generate an encrypted_data
payload as follows:
Generated payload (excluding transport headers/trailers):
-0000 | 95 5F F5 A9 08 17 BE 00 0F E7 15 EC C9 00 00 00
-0010 | 04 44 66 78 33 00 00 00 04 58 DB FB 13 00 00 00
-0020 | 26 BD 66 FA AC 98 75 CF CE 27 A5 E6 95 9E E5 87
-0030 | B2 1E 98 5D 3E C9 B7 EC D5 D4 83 29 13 BE 69 12
-0040 | D5 E3 E5 8D 12 5A 7D 82 04 FA C5 DF CE 2F 6D 1B
-0050 | BB 81 12 0C 8F 48 C9 16 B5 FB 55 EF 10 DA 1E 13
+0000 | 95 5F F5 A9 08 22 B7 00 AC DB 1A 68 0B 00 00 00
+0010 | 04 4C EB B8 17 00 00 00 04 73 88 D4 2D 00 00 00
+0020 | C1 14 9F E5 F9 AE 1D E6 F9 70 7B F1 87 27 3F E6
+0030 | AE 0B D3 44 AD A9 1E A2 E6 CF DD 57 46 53 37 E4
+0040 | 81 ED 7C DB 88 87 9E F6 36 F2 3A F4 28 35 1A 58
+0050 | 4C 01 28 2A B6 BC E8 DE 66 B8 1A 9A A8 9A D0 3F
0060 | 02 00 00 00
Payload (de)serialization:
p_q_inner_data_dc#a9f55f95 pq:string p:string q:string nonce:int128 server_nonce:int128 new_nonce:int256 dc:int = P_Q_inner_data;
@@ -246,37 +246,37 @@ q = 1490811667
pq |
4, 12 |
-0817BE000FE715ECC9000000 TL byte deserialization => bigendian conversion to decimal => 1710804976748850377 |
+0822B700ACDB1A680B000000 TL byte deserialization => bigendian conversion to decimal => 2501468860437915659 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding |
p |
16, 8 |
-0444667833000000 TL byte deserialization => bigendian conversion to decimal => 1147566131 |
+044CEBB817000000 TL byte deserialization => bigendian conversion to decimal => 1290516503 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
24, 8 |
-0458DBFB13000000 TL byte deserialization => bigendian conversion to decimal => 1490811667 |
+047388D42D000000 TL byte deserialization => bigendian conversion to decimal => 1938347053 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
nonce |
32, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
48, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
new_nonce |
64, 32 |
-D5E3E58D125A7D8204FAC5DFCE2F6D1B BB81120C8F48C916B5FB55EF10DA1E13 |
+81ED7CDB88879EF636F23AF428351A58 4C01282AB6BCE8DE66B81A9AA89AD03F |
Client-generated random number |
@@ -291,39 +291,39 @@ q = 1490811667
The serialization of P_Q_inner_data produces data, which is used to generate encrypted_data as specified in step 4.1.
These are the inputs to the algorithm specified in step 4.1:
-data = 955FF5A90817BE000FE715ECC900000004446678330000000458DBFB1300000026BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE6912D5E3E58D125A7D8204FAC5DFCE2F6D1BBB81120C8F48C916B5FB55EF10DA1E1302000000
-random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF9549FA36E5330C5E087DA1865E2334BE0DB8BDCCA8272B1A668A492665C71AE04CBBA6DC95614E8A01B173FF9CB943051B717F02B5786794D45AE92D7B90589
+data = 955FF5A90822B700ACDB1A680B000000044CEBB817000000047388D42D000000C1149FE5F9AE1DE6F9707BF187273FE6AE0BD344ADA91EA2E6CFDD57465337E481ED7CDB88879EF636F23AF428351A584C01282AB6BCE8DE66B81A9AA89AD03F02000000
+random_padding_bytes = 8CF8CE4E191AF022190ECD0D6D03F2CA22AB992DAE5289644A79084907E66BE4964E608E2AFD37C358466313DCD99347BBF0A5D4DBBF3947A8FBC38CA3E26634206E073776AB164067EE3D8CAFBB3965A9D0CAE2473749727132EA6F
And this is the output:
-encrypted_data = B2386EF5D858F165C6531D7F4C66DE3724DBB740BCCA82E3FEF64582E4DDD7D637C42793B010600F8D8B880412BA8F09129B3AD20F76659A8932B418C90FC409290A0973821E7004822BD20D8B1DF50C755D6095847F8F79266D96C1D6C6A0D52C871A5F1D5F310A97F71FD211CC6293EA28AE9239BCA18FB51ECF3C950F3467415B35E97CC3CA849275955B63077911E564673955A0E58E0698323F9B9496612911E0D607C3C1AFB174A0B7B6619B969505CEFD45F42705B2439397B572CCEB16B47CD817D67B6C137B079CDFC09AF4FCC53E30DC4B7375FF6E9BA2738DE09B20500D0695084F89EDCC8D689C160ACAAF89AF406DA09AD8BF1765B5CE2B603F
+encrypted_data = 5D827F84130191D774B0646DBA7A0122D4EA18D1E83606E00629767D2DAE50E77EE357CD081C675CD29E42139D033024F0E04AF7911FB43C93FDBB2578AAB5DB345FF08657C8D693B404A11E2C985C7B289F036F2C260B0C2DA8C6FFD649AFD52A4BEACCEBC232590F75285222CA8A26A3574CEB122D77C645B43D88DE64474B0CC06162539D8D1334CA34B3325B70AC5F361D34EDAE3737005FD248E354EEE9860BBCB24E0476F99543B363584AAC31A0C95C4763C103DC42D2D09DBA540591D988EB6DFD3D3D84CBFACFBF29E63FE95F7F4CDCFDC4F934F131446CA25B4F76C1F589121E814208E1DAC2DA74CA44EA0124E22CC3752508706ABFAFE85B6921
The length of the final string is 256 bytes.
5) Send req_DH_params query with generated encrypted_data
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 68 7F 0C 00 B8 90 52 65
-0010 | 40 01 00 00 BE E4 12 D7 26 BD 66 FA AC 98 75 CF
-0020 | CE 27 A5 E6 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC
-0030 | D5 D4 83 29 13 BE 69 12 04 44 66 78 33 00 00 00
-0040 | 04 58 DB FB 13 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 B2 38 6E F5 D8 58 F1 65 C6 53 1D 7F
-0060 | 4C 66 DE 37 24 DB B7 40 BC CA 82 E3 FE F6 45 82
-0070 | E4 DD D7 D6 37 C4 27 93 B0 10 60 0F 8D 8B 88 04
-0080 | 12 BA 8F 09 12 9B 3A D2 0F 76 65 9A 89 32 B4 18
-0090 | C9 0F C4 09 29 0A 09 73 82 1E 70 04 82 2B D2 0D
-00A0 | 8B 1D F5 0C 75 5D 60 95 84 7F 8F 79 26 6D 96 C1
-00B0 | D6 C6 A0 D5 2C 87 1A 5F 1D 5F 31 0A 97 F7 1F D2
-00C0 | 11 CC 62 93 EA 28 AE 92 39 BC A1 8F B5 1E CF 3C
-00D0 | 95 0F 34 67 41 5B 35 E9 7C C3 CA 84 92 75 95 5B
-00E0 | 63 07 79 11 E5 64 67 39 55 A0 E5 8E 06 98 32 3F
-00F0 | 9B 94 96 61 29 11 E0 D6 07 C3 C1 AF B1 74 A0 B7
-0100 | B6 61 9B 96 95 05 CE FD 45 F4 27 05 B2 43 93 97
-0110 | B5 72 CC EB 16 B4 7C D8 17 D6 7B 6C 13 7B 07 9C
-0120 | DF C0 9A F4 FC C5 3E 30 DC 4B 73 75 FF 6E 9B A2
-0130 | 73 8D E0 9B 20 50 0D 06 95 08 4F 89 ED CC 8D 68
-0140 | 9C 16 0A CA AF 89 AF 40 6D A0 9A D8 BF 17 65 B5
-0150 | CE 2B 60 3F
+0000 | 00 00 00 00 00 00 00 00 D8 6C 04 00 48 E1 53 65
+0010 | 40 01 00 00 BE E4 12 D7 C1 14 9F E5 F9 AE 1D E6
+0020 | F9 70 7B F1 87 27 3F E6 AE 0B D3 44 AD A9 1E A2
+0030 | E6 CF DD 57 46 53 37 E4 04 4C EB B8 17 00 00 00
+0040 | 04 73 88 D4 2D 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 5D 82 7F 84 13 01 91 D7 74 B0 64 6D
+0060 | BA 7A 01 22 D4 EA 18 D1 E8 36 06 E0 06 29 76 7D
+0070 | 2D AE 50 E7 7E E3 57 CD 08 1C 67 5C D2 9E 42 13
+0080 | 9D 03 30 24 F0 E0 4A F7 91 1F B4 3C 93 FD BB 25
+0090 | 78 AA B5 DB 34 5F F0 86 57 C8 D6 93 B4 04 A1 1E
+00A0 | 2C 98 5C 7B 28 9F 03 6F 2C 26 0B 0C 2D A8 C6 FF
+00B0 | D6 49 AF D5 2A 4B EA CC EB C2 32 59 0F 75 28 52
+00C0 | 22 CA 8A 26 A3 57 4C EB 12 2D 77 C6 45 B4 3D 88
+00D0 | DE 64 47 4B 0C C0 61 62 53 9D 8D 13 34 CA 34 B3
+00E0 | 32 5B 70 AC 5F 36 1D 34 ED AE 37 37 00 5F D2 48
+00F0 | E3 54 EE E9 86 0B BC B2 4E 04 76 F9 95 43 B3 63
+0100 | 58 4A AC 31 A0 C9 5C 47 63 C1 03 DC 42 D2 D0 9D
+0110 | BA 54 05 91 D9 88 EB 6D FD 3D 3D 84 CB FA CF BF
+0120 | 29 E6 3F E9 5F 7F 4C DC FD C4 F9 34 F1 31 44 6C
+0130 | A2 5B 4F 76 C1 F5 89 12 1E 81 42 08 E1 DA C2 DA
+0140 | 74 CA 44 EA 01 24 E2 2C C3 75 25 08 70 6A BF AF
+0150 | E8 5B 69 21
Payload (de)serialization:
req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public_key_fingerprint:long encrypted_data:string = Server_DH_Params;
@@ -345,7 +345,7 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
message_id |
8, 8 |
-687F0C00B8905265 |
+D86C040048E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -363,25 +363,25 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
p |
56, 8 |
-0444667833000000 TL byte deserialization => bigendian conversion to decimal => 1147566131 |
+044CEBB817000000 TL byte deserialization => bigendian conversion to decimal => 1290516503 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
64, 8 |
-0458DBFB13000000 TL byte deserialization => bigendian conversion to decimal => 1490811667 |
+047388D42D000000 TL byte deserialization => bigendian conversion to decimal => 1938347053 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
@@ -393,7 +393,7 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
encrypted_data |
80, 260 |
-FE000100B2386EF5D858F165C6531D7F 4C66DE3724DBB740BCCA82E3FEF64582 E4DDD7D637C42793B010600F8D8B8804 12BA8F09129B3AD20F76659A8932B418 C90FC409290A0973821E7004822BD20D 8B1DF50C755D6095847F8F79266D96C1 D6C6A0D52C871A5F1D5F310A97F71FD2 11CC6293EA28AE9239BCA18FB51ECF3C 950F3467415B35E97CC3CA849275955B 63077911E564673955A0E58E0698323F 9B9496612911E0D607C3C1AFB174A0B7 B6619B969505CEFD45F42705B2439397 B572CCEB16B47CD817D67B6C137B079C DFC09AF4FCC53E30DC4B7375FF6E9BA2 738DE09B20500D0695084F89EDCC8D68 9C160ACAAF89AF406DA09AD8BF1765B5 CE2B603F |
+FE0001005D827F84130191D774B0646D BA7A0122D4EA18D1E83606E00629767D 2DAE50E77EE357CD081C675CD29E4213 9D033024F0E04AF7911FB43C93FDBB25 78AAB5DB345FF08657C8D693B404A11E 2C985C7B289F036F2C260B0C2DA8C6FF D649AFD52A4BEACCEBC232590F752852 22CA8A26A3574CEB122D77C645B43D88 DE64474B0CC06162539D8D1334CA34B3 325B70AC5F361D34EDAE3737005FD248 E354EEE9860BBCB24E0476F99543B363 584AAC31A0C95C4763C103DC42D2D09D BA540591D988EB6DFD3D3D84CBFACFBF 29E63FE95F7F4CDCFDC4F934F131446C A25B4F76C1F589121E814208E1DAC2DA 74CA44EA0124E22CC3752508706ABFAF E85B6921 |
Value generated above |
@@ -402,47 +402,47 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 5C 2C EB B8 90 52 65
-0010 | A4 02 00 00 5C 07 E8 D0 26 BD 66 FA AC 98 75 CF
-0020 | CE 27 A5 E6 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC
-0030 | D5 D4 83 29 13 BE 69 12 FE 50 02 00 C4 9A 1A 4B
-0040 | 9A 7C 7D DA A3 B4 8D B8 B7 9E 2E C0 DE E0 5E 11
-0050 | 89 9C 5B BF 70 F4 DC 7B 51 35 29 7B 4E C8 A9 34
-0060 | 34 2A 02 D5 00 70 1F 98 32 0C D5 02 3E F2 5A F5
-0070 | BB B1 01 32 EE 84 30 37 2B 15 63 AC 68 E1 C5 C8
-0080 | 5B C7 25 EB 40 F6 5B 01 0B C4 AE AC C9 FB 14 D2
-0090 | 41 EB B4 59 B5 32 64 FC ED B0 7C EF D3 5A 94 2C
-00A0 | B1 A8 DB 78 75 EE F3 22 7E 71 14 26 B8 42 5F B9
-00B0 | 52 0B E8 ED 2C 22 C6 81 80 1E 12 A5 88 6A 09 99
-00C0 | 0A E7 DF 80 07 5A C4 A5 3A 43 42 22 B8 12 0F E0
-00D0 | E1 CB 3A DC 32 3B 9F 50 14 4D B3 17 89 B2 DC D9
-00E0 | 84 A9 55 5C EA 15 7F 0D 84 A2 B8 E1 65 F1 2C 08
-00F0 | E4 8E 8F 50 68 7A 10 5E BB 14 B3 DC E2 33 9E B7
-0100 | 70 6E BF 44 A0 42 7D 7A 31 70 E3 D9 63 BE 7B 95
-0110 | 3F F5 8A AF A5 E1 0C 7A FC CE 58 9B 3F 38 33 7F
-0120 | 1F E0 B2 56 B6 D0 54 61 22 52 00 34 7D EE E3 83
-0130 | 86 40 AC BE 66 A6 80 40 71 2C FD F0 43 41 73 41
-0140 | AF FA 31 05 9A 46 C1 13 99 1A 3E 24 66 28 02 3D
-0150 | 3A C4 0E DD 49 C6 EA 7A A3 CF 84 B4 F3 C1 CC 70
-0160 | 7C 5C B3 78 3D 99 78 09 7E D5 4F 8A B3 D6 C2 1D
-0170 | 14 97 72 D1 9F BF 37 2D 31 65 7E 70 99 48 F2 8B
-0180 | D0 5C A8 10 BA FF 64 EB D7 95 DD 86 E0 15 A8 6F
-0190 | A4 D8 AE 7F 41 D7 06 CF 66 0B 2F 91 D3 9A 1E 73
-01A0 | F8 A7 5D F3 C8 9D 18 B4 9A D7 1E F5 12 68 BA E0
-01B0 | 09 FD D5 D7 F1 A5 DC BC 4D 16 55 9B 32 63 C6 38
-01C0 | E4 CE 45 89 7C E3 93 F2 52 CB F2 34 D0 94 C2 97
-01D0 | 53 05 26 14 F8 FB 6F A1 36 B4 BB 62 8B 14 A7 2D
-01E0 | F1 E3 05 D2 F7 FC AF 35 3E 22 8B 79 C6 08 E8 64
-01F0 | 31 8A EB 61 2D 0B 5A DE AD CD 30 C4 15 E1 55 76
-0200 | F3 3A 30 A7 19 A9 8D B0 B1 38 A1 0B AD 88 F8 D2
-0210 | 03 75 DF 18 D6 78 5F 0A E0 D3 BD 3E 71 55 5F 73
-0220 | AC D7 7E 0F E0 07 1E D0 44 55 4E 5C 71 EE 9A 24
-0230 | 01 CA 14 39 F3 E6 D2 BC F2 0D 86 C3 23 40 40 CF
-0240 | 19 88 67 06 13 D6 66 D6 37 C4 63 4E 8B DF 49 BA
-0250 | 0C CE 90 AC 91 53 55 1E 62 35 03 86 49 30 0E D6
-0260 | 70 26 2E 47 75 DB 4B D3 6F 10 8D 16 3C 23 04 88
-0270 | 81 1E 4E 2F 36 F9 2E 92 90 49 30 4D EA C7 25 9E
-0280 | D6 C7 86 84 99 E1 E2 BA F5 BF 6A 34
+0000 | 00 00 00 00 00 00 00 00 01 60 9B 86 48 E1 53 65
+0010 | 78 02 00 00 5C 07 E8 D0 C1 14 9F E5 F9 AE 1D E6
+0020 | F9 70 7B F1 87 27 3F E6 AE 0B D3 44 AD A9 1E A2
+0030 | E6 CF DD 57 46 53 37 E4 FE 50 02 00 CE 79 5D 8E
+0040 | 47 ED A0 6D 17 94 24 36 D0 80 9E ED 52 EA D1 4E
+0050 | 51 1D 35 A2 D6 D7 4C 17 4F E4 E4 42 9A ED DE B8
+0060 | FD 86 3C 6C 4F D2 7B 64 BA C8 13 8E 79 46 0F 1E
+0070 | 8D F1 5E D0 0A BA B4 08 D6 CD D6 61 AF A6 21 22
+0080 | 2A 42 C9 00 0E 37 BA E2 DA 68 06 37 D9 03 D3 65
+0090 | 37 77 78 6C 56 57 40 27 00 E6 6F A7 2B 69 C6 EB
+00A0 | F1 6B E1 B8 30 AB 37 1C 7E 29 CA 0C 61 A8 A5 E4
+00B0 | 78 4A FD 8E 15 F3 E7 86 1F 80 4C CB E0 6B 6F 65
+00C0 | 1D 7C 17 6D 16 E2 2E 48 1D C4 08 56 7B DC 2F A9
+00D0 | 3B 79 D8 9D D4 40 AD 63 CD 28 1C 1F A5 C7 9A DE
+00E0 | 75 02 24 F8 94 2D D2 92 A0 AF DF FC 7C 09 CC BE
+00F0 | EA 92 03 E6 F1 12 7D 8C B6 13 DB D1 C0 53 4E 31
+0100 | 7F 14 A9 02 75 0D 27 51 FC E4 36 D7 18 70 F6 4D
+0110 | 69 51 E2 EB 25 84 CC 81 D3 33 09 7F 89 21 69 31
+0120 | B9 44 B7 DE 19 92 13 4D 4E 67 D5 9F CE F8 96 74
+0130 | 6A A7 1D 09 94 D2 43 05 14 C3 5E 50 56 C7 69 C1
+0140 | BE 4F 77 BD E9 9E B3 AC 4F 0E E6 15 56 60 F9 02
+0150 | 54 64 7E DF D7 0B 8E 05 67 42 CC D5 FF 0B F1 AF
+0160 | 0A 8F B5 91 D3 99 01 A6 C7 87 E0 48 2C 94 81 A0
+0170 | 19 0D DF E0 AB 87 49 CD 0B E9 6D 0D D9 48 C6 F4
+0180 | 33 D6 86 D7 41 3F 9C 25 51 AB 56 77 9D DE 4A 88
+0190 | 86 B3 DB 82 25 76 E8 F3 D0 9F 18 EF 95 45 1A 53
+01A0 | 09 7C 60 41 2A 07 26 87 C5 60 76 10 AA 44 E6 1F
+01B0 | 72 D6 CE 47 4C 8B A7 CE A0 22 4A 2D DB D5 16 08
+01C0 | D3 6D 17 5D C2 1A 5C A4 53 F1 AA 73 64 BF 47 10
+01D0 | 71 9B 2E E9 B8 A5 13 E3 10 94 67 7A BC B2 8F 47
+01E0 | C5 23 1D 3E 26 34 8E 98 4C BB FC EC A0 F8 C2 ED
+01F0 | 8A 77 A2 2D 77 06 68 E8 9D E3 64 B0 0F 1F 13 83
+0200 | F7 1C 8C 84 3D 45 2E F6 E5 C7 1D C3 4D 13 37 E5
+0210 | A5 78 75 72 0C 8C E8 7E 94 C0 2D AF 42 97 D0 B3
+0220 | C9 7C 21 70 97 5E F1 EB BE E0 59 65 61 9A 51 6D
+0230 | 78 5F 3F EA 37 26 D0 46 35 E9 E4 2A 98 2E 75 26
+0240 | 61 AC 7E B0 44 49 90 5A FA BA B5 E7 7B 34 09 CA
+0250 | BE 19 9B B0 75 43 A0 89 56 EF 4C F8 1F 43 7D 00
+0260 | DA 91 27 F2 80 AB DF 09 22 8B EB 66 B1 83 1D 75
+0270 | 2A 90 13 C5 98 7B 4B 2F 46 DB B3 8D FD 5C C0 80
+0280 | 1E D5 D1 5A 67 87 84 A5 04 07 D0 F0
Payload (de)serialization:
server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
@@ -464,13 +464,13 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
message_id |
8, 8 |
-015C2CEBB8905265 |
+01609B8648E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-A4020000 (676 in decimal) |
+78020000 (632 in decimal) |
Message body length |
@@ -482,19 +482,19 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
encrypted_answer |
56, 596 |
-FE500200C49A1A4B9A7C7DDAA3B48DB8 B79E2EC0DEE05E11899C5BBF70F4DC7B 5135297B4EC8A934342A02D500701F98 320CD5023EF25AF5BBB10132EE843037 2B1563AC68E1C5C85BC725EB40F65B01 0BC4AEACC9FB14D241EBB459B53264FC EDB07CEFD35A942CB1A8DB7875EEF322 7E711426B8425FB9520BE8ED2C22C681 801E12A5886A09990AE7DF80075AC4A5 3A434222B8120FE0E1CB3ADC323B9F50 144DB31789B2DCD984A9555CEA157F0D 84A2B8E165F12C08E48E8F50687A105E BB14B3DCE2339EB7706EBF44A0427D7A 3170E3D963BE7B953FF58AAFA5E10C7A FCCE589B3F38337F1FE0B256B6D05461 225200347DEEE3838640ACBE66A68040 712CFDF043417341AFFA31059A46C113 991A3E246628023D3AC40EDD49C6EA7A A3CF84B4F3C1CC707C5CB3783D997809 7ED54F8AB3D6C21D149772D19FBF372D 31657E709948F28BD05CA810BAFF64EB D795DD86E015A86FA4D8AE7F41D706CF 660B2F91D39A1E73F8A75DF3C89D18B4 9AD71EF51268BAE009FDD5D7F1A5DCBC 4D16559B3263C638E4CE45897CE393F2 52CBF234D094C29753052614F8FB6FA1 36B4BB628B14A72DF1E305D2F7FCAF35 3E228B79C608E864318AEB612D0B5ADE ADCD30C415E15576F33A30A719A98DB0 B138A10BAD88F8D20375DF18D6785F0A E0D3BD3E71555F73ACD77E0FE0071ED0 44554E5C71EE9A2401CA1439F3E6D2BC F20D86C3234040CF1988670613D666D6 37C4634E8BDF49BA0CCE90AC9153551E 6235038649300ED670262E4775DB4BD3 6F108D163C230488811E4E2F36F92E92 9049304DEAC7259ED6C7868499E1E2BA F5BF6A34 |
+FE500200CE795D8E47EDA06D17942436 D0809EED52EAD14E511D35A2D6D74C17 4FE4E4429AEDDEB8FD863C6C4FD27B64 BAC8138E79460F1E8DF15ED00ABAB408 D6CDD661AFA621222A42C9000E37BAE2 DA680637D903D3653777786C56574027 00E66FA72B69C6EBF16BE1B830AB371C 7E29CA0C61A8A5E4784AFD8E15F3E786 1F804CCBE06B6F651D7C176D16E22E48 1DC408567BDC2FA93B79D89DD440AD63 CD281C1FA5C79ADE750224F8942DD292 A0AFDFFC7C09CCBEEA9203E6F1127D8C B613DBD1C0534E317F14A902750D2751 FCE436D71870F64D6951E2EB2584CC81 D333097F89216931B944B7DE1992134D 4E67D59FCEF896746AA71D0994D24305 14C35E5056C769C1BE4F77BDE99EB3AC 4F0EE6155660F90254647EDFD70B8E05 6742CCD5FF0BF1AF0A8FB591D39901A6 C787E0482C9481A0190DDFE0AB8749CD 0BE96D0DD948C6F433D686D7413F9C25 51AB56779DDE4A8886B3DB822576E8F3 D09F18EF95451A53097C60412A072687 C5607610AA44E61F72D6CE474C8BA7CE A0224A2DDBD51608D36D175DC21A5CA4 53F1AA7364BF4710719B2EE9B8A513E3 1094677ABCB28F47C5231D3E26348E98 4CBBFCECA0F8C2ED8A77A22D770668E8 9DE364B00F1F1383F71C8C843D452EF6 E5C71DC34D1337E5A57875720C8CE87E 94C02DAF4297D0B3C97C2170975EF1EB BEE05965619A516D785F3FEA3726D046 35E9E42A982E752661AC7EB04449905A FABAB5E77B3409CABE199BB07543A089 56EF4CF81F437D00DA9127F280ABDF09 228BEB66B1831D752A9013C5987B4B2F 46DBB38DFD5CC0801ED5D15A678784A5 0407D0F0 |
See below |
@@ -502,20 +502,20 @@ random_padding_bytes = 4294371FBDE2286C0BE7C7D2E19DC02EBBB2B7084337D957AE220B9BF
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = C49A1A4B9A7C7DDAA3B48DB8B79E2EC0DEE05E11899C5BBF70F4DC7B5135297B4EC8A934342A02D500701F98320CD5023EF25AF5BBB10132EE8430372B1563AC68E1C5C85BC725EB40F65B010BC4AEACC9FB14D241EBB459B53264FCEDB07CEFD35A942CB1A8DB7875EEF3227E711426B8425FB9520BE8ED2C22C681801E12A5886A09990AE7DF80075AC4A53A434222B8120FE0E1CB3ADC323B9F50144DB31789B2DCD984A9555CEA157F0D84A2B8E165F12C08E48E8F50687A105EBB14B3DCE2339EB7706EBF44A0427D7A3170E3D963BE7B953FF58AAFA5E10C7AFCCE589B3F38337F1FE0B256B6D05461225200347DEEE3838640ACBE66A68040712CFDF043417341AFFA31059A46C113991A3E246628023D3AC40EDD49C6EA7AA3CF84B4F3C1CC707C5CB3783D9978097ED54F8AB3D6C21D149772D19FBF372D31657E709948F28BD05CA810BAFF64EBD795DD86E015A86FA4D8AE7F41D706CF660B2F91D39A1E73F8A75DF3C89D18B49AD71EF51268BAE009FDD5D7F1A5DCBC4D16559B3263C638E4CE45897CE393F252CBF234D094C29753052614F8FB6FA136B4BB628B14A72DF1E305D2F7FCAF353E228B79C608E864318AEB612D0B5ADEADCD30C415E15576F33A30A719A98DB0B138A10BAD88F8D20375DF18D6785F0AE0D3BD3E71555F73ACD77E0FE0071ED044554E5C71EE9A2401CA1439F3E6D2BCF20D86C3234040CF1988670613D666D637C4634E8BDF49BA0CCE90AC9153551E6235038649300ED670262E4775DB4BD36F108D163C230488811E4E2F36F92E929049304DEAC7259ED6C7868499E1E2BAF5BF6A34
-tmp_aes_key = 50467B2FCB4A132671FAD6A516EE22B77DE5E0D984276C02F0C486AE4CEE52E2
-tmp_aes_iv = CDB0881CC08413E78791861E094E1A279D07459F407D4683DC6558D4D5E3E58D
+encrypted_answer = CE795D8E47EDA06D17942436D0809EED52EAD14E511D35A2D6D74C174FE4E4429AEDDEB8FD863C6C4FD27B64BAC8138E79460F1E8DF15ED00ABAB408D6CDD661AFA621222A42C9000E37BAE2DA680637D903D3653777786C5657402700E66FA72B69C6EBF16BE1B830AB371C7E29CA0C61A8A5E4784AFD8E15F3E7861F804CCBE06B6F651D7C176D16E22E481DC408567BDC2FA93B79D89DD440AD63CD281C1FA5C79ADE750224F8942DD292A0AFDFFC7C09CCBEEA9203E6F1127D8CB613DBD1C0534E317F14A902750D2751FCE436D71870F64D6951E2EB2584CC81D333097F89216931B944B7DE1992134D4E67D59FCEF896746AA71D0994D2430514C35E5056C769C1BE4F77BDE99EB3AC4F0EE6155660F90254647EDFD70B8E056742CCD5FF0BF1AF0A8FB591D39901A6C787E0482C9481A0190DDFE0AB8749CD0BE96D0DD948C6F433D686D7413F9C2551AB56779DDE4A8886B3DB822576E8F3D09F18EF95451A53097C60412A072687C5607610AA44E61F72D6CE474C8BA7CEA0224A2DDBD51608D36D175DC21A5CA453F1AA7364BF4710719B2EE9B8A513E31094677ABCB28F47C5231D3E26348E984CBBFCECA0F8C2ED8A77A22D770668E89DE364B00F1F1383F71C8C843D452EF6E5C71DC34D1337E5A57875720C8CE87E94C02DAF4297D0B3C97C2170975EF1EBBEE05965619A516D785F3FEA3726D04635E9E42A982E752661AC7EB04449905AFABAB5E77B3409CABE199BB07543A08956EF4CF81F437D00DA9127F280ABDF09228BEB66B1831D752A9013C5987B4B2F46DBB38DFD5CC0801ED5D15A678784A50407D0F0
+tmp_aes_key = AAB528F14E8ECAD99290F5AC3CA8B323046841A628252C83652DDD78C02F4C8C
+tmp_aes_iv = 87AC534B08733D154F4A15EF6B70605F622ED308764630B0C6DE2E4F81ED7CDB
Yielding:
-answer_with_hash = 230CDAD37181F11AD3684C399ED527B269CB1221BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001002BF6F2C80188A19712DFEE1B962274142091C35FA6DD61F3BDF525ACDD5F18B0E1DBCFF01E2A06A6813FE60A0447123375B11275911F82448E0F1A878A3C893B3129A40E4A6AC8C4BA6342FD40F00BC36E0234C70D98C0AD46DE23A3882F2B5846DD20CB6A16C61FF3411DC356A46222DCBFE188720D9F1D3834E313DC2331B10CEF42AD4BFBED3FB7C97DFE1DE36B17E99452947B185575ADCADB76ED7AD49B671D46F475568E7D5B72FFC8222F6A8D8E02D3D77AF64F64EC2B1EF5FB64D02FA56E46AB823CBC295F321E79051F58F6F3E38B4A63559CFEDF91456B37591BD2453A67C82C8214BA160091B8AE07E0A7C7C90533A810E76E58438FB3CFECC4D4B8905265B7AC84D45DF41E91
-answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001002BF6F2C80188A19712DFEE1B962274142091C35FA6DD61F3BDF525ACDD5F18B0E1DBCFF01E2A06A6813FE60A0447123375B11275911F82448E0F1A878A3C893B3129A40E4A6AC8C4BA6342FD40F00BC36E0234C70D98C0AD46DE23A3882F2B5846DD20CB6A16C61FF3411DC356A46222DCBFE188720D9F1D3834E313DC2331B10CEF42AD4BFBED3FB7C97DFE1DE36B17E99452947B185575ADCADB76ED7AD49B671D46F475568E7D5B72FFC8222F6A8D8E02D3D77AF64F64EC2B1EF5FB64D02FA56E46AB823CBC295F321E79051F58F6F3E38B4A63559CFEDF91456B37591BD2453A67C82C8214BA160091B8AE07E0A7C7C90533A810E76E58438FB3CFECC4D4B8905265B7AC84D45DF41E91
+answer_with_hash = D7D69FAB8E635139666E8D49D62B0FF05008FBADBA0D89B5C1149FE5F9AE1DE6F9707BF187273FE6AE0BD344ADA91EA2E6CFDD57465337E403000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001004966BEB0A959683CE296167319A09A8A5B7F9C77245C9CF0B377BEFDAD9EB6FD23B87493E56D60C12B77F787B008B108AE4C0B25F47948D5258EB8E416DD489429296583DDB6BF8A82FB4245AAB880C94FB99FA869005D43C5F2E69208DF8DBAE15AF63B377EB732CA630B7C5713737EC472DEA4CDBD70E8E532692382843A3398A0C4300B54554C1770282A9FD8741DD88A0A0D94A29D64FE69A8F3FB9062B8F17E05A3FC64453778151D45484EFF2B220E8C741704029134CA0C1888DC62EE80801E5C0F0E4A1B6CB40938B7D701AA73CB9AD3737B1F01B064449F14E5B0FF2E44341722555FE60C4DCF3C229534804F872CF490ED922CDA61242A44CDC9D348E15365AA4A0B46C1AB881E
+answer = BA0D89B5C1149FE5F9AE1DE6F9707BF187273FE6AE0BD344ADA91EA2E6CFDD57465337E403000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001004966BEB0A959683CE296167319A09A8A5B7F9C77245C9CF0B377BEFDAD9EB6FD23B87493E56D60C12B77F787B008B108AE4C0B25F47948D5258EB8E416DD489429296583DDB6BF8A82FB4245AAB880C94FB99FA869005D43C5F2E69208DF8DBAE15AF63B377EB732CA630B7C5713737EC472DEA4CDBD70E8E532692382843A3398A0C4300B54554C1770282A9FD8741DD88A0A0D94A29D64FE69A8F3FB9062B8F17E05A3FC64453778151D45484EFF2B220E8C741704029134CA0C1888DC62EE80801E5C0F0E4A1B6CB40938B7D701AA73CB9AD3737B1F01B064449F14E5B0FF2E44341722555FE60C4DCF3C229534804F872CF490ED922CDA61242A44CDC9D348E15365AA4A0B46C1AB881E
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 26 BD 66 FA AC 98 75 CF CE 27 A5 E6
-0010 | 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC D5 D4 83 29
-0020 | 13 BE 69 12 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 C1 14 9F E5 F9 AE 1D E6 F9 70 7B F1
+0010 | 87 27 3F E6 AE 0B D3 44 AD A9 1E A2 E6 CF DD 57
+0020 | 46 53 37 E4 03 00 00 00 FE 00 01 00 C7 1C AE B9
0030 | C6 B1 C9 04 8E 6C 52 2F 70 F1 3F 73 98 0D 40 23
0040 | 8E 3E 21 C1 49 34 D0 37 56 3D 93 0F 48 19 8A 0A
0050 | A7 C1 40 58 22 94 93 D2 25 30 F4 DB FA 33 6F 6E
@@ -532,23 +532,23 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
0100 | F4 7B F9 59 D9 56 85 0C E9 29 85 1F 0D 81 15 F6
0110 | 35 B1 05 EE 2E 4E 15 D0 4B 24 54 BF 6F 4F AD F0
0120 | 34 B1 04 03 11 9C D8 E3 B9 2F CC 5B FE 00 01 00
-0130 | 2B F6 F2 C8 01 88 A1 97 12 DF EE 1B 96 22 74 14
-0140 | 20 91 C3 5F A6 DD 61 F3 BD F5 25 AC DD 5F 18 B0
-0150 | E1 DB CF F0 1E 2A 06 A6 81 3F E6 0A 04 47 12 33
-0160 | 75 B1 12 75 91 1F 82 44 8E 0F 1A 87 8A 3C 89 3B
-0170 | 31 29 A4 0E 4A 6A C8 C4 BA 63 42 FD 40 F0 0B C3
-0180 | 6E 02 34 C7 0D 98 C0 AD 46 DE 23 A3 88 2F 2B 58
-0190 | 46 DD 20 CB 6A 16 C6 1F F3 41 1D C3 56 A4 62 22
-01A0 | DC BF E1 88 72 0D 9F 1D 38 34 E3 13 DC 23 31 B1
-01B0 | 0C EF 42 AD 4B FB ED 3F B7 C9 7D FE 1D E3 6B 17
-01C0 | E9 94 52 94 7B 18 55 75 AD CA DB 76 ED 7A D4 9B
-01D0 | 67 1D 46 F4 75 56 8E 7D 5B 72 FF C8 22 2F 6A 8D
-01E0 | 8E 02 D3 D7 7A F6 4F 64 EC 2B 1E F5 FB 64 D0 2F
-01F0 | A5 6E 46 AB 82 3C BC 29 5F 32 1E 79 05 1F 58 F6
-0200 | F3 E3 8B 4A 63 55 9C FE DF 91 45 6B 37 59 1B D2
-0210 | 45 3A 67 C8 2C 82 14 BA 16 00 91 B8 AE 07 E0 A7
-0220 | C7 C9 05 33 A8 10 E7 6E 58 43 8F B3 CF EC C4 D4
-0230 | B8 90 52 65
+0130 | 49 66 BE B0 A9 59 68 3C E2 96 16 73 19 A0 9A 8A
+0140 | 5B 7F 9C 77 24 5C 9C F0 B3 77 BE FD AD 9E B6 FD
+0150 | 23 B8 74 93 E5 6D 60 C1 2B 77 F7 87 B0 08 B1 08
+0160 | AE 4C 0B 25 F4 79 48 D5 25 8E B8 E4 16 DD 48 94
+0170 | 29 29 65 83 DD B6 BF 8A 82 FB 42 45 AA B8 80 C9
+0180 | 4F B9 9F A8 69 00 5D 43 C5 F2 E6 92 08 DF 8D BA
+0190 | E1 5A F6 3B 37 7E B7 32 CA 63 0B 7C 57 13 73 7E
+01A0 | C4 72 DE A4 CD BD 70 E8 E5 32 69 23 82 84 3A 33
+01B0 | 98 A0 C4 30 0B 54 55 4C 17 70 28 2A 9F D8 74 1D
+01C0 | D8 8A 0A 0D 94 A2 9D 64 FE 69 A8 F3 FB 90 62 B8
+01D0 | F1 7E 05 A3 FC 64 45 37 78 15 1D 45 48 4E FF 2B
+01E0 | 22 0E 8C 74 17 04 02 91 34 CA 0C 18 88 DC 62 EE
+01F0 | 80 80 1E 5C 0F 0E 4A 1B 6C B4 09 38 B7 D7 01 AA
+0200 | 73 CB 9A D3 73 7B 1F 01 B0 64 44 9F 14 E5 B0 FF
+0210 | 2E 44 34 17 22 55 5F E6 0C 4D CF 3C 22 95 34 80
+0220 | 4F 87 2C F4 90 ED 92 2C DA 61 24 2A 44 CD C9 D3
+0230 | 48 E1 53 65
Payload (de)serialization:
server_DH_inner_data#b5890dba nonce:int128 server_nonce:int128 g:int dh_prime:string g_a:string server_time:int = Server_DH_inner_data;
@@ -570,13 +570,13 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
nonce |
4, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
@@ -594,13 +594,13 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
g_a |
300, 260 |
-FE0001002BF6F2C80188A19712DFEE1B 962274142091C35FA6DD61F3BDF525AC DD5F18B0E1DBCFF01E2A06A6813FE60A 0447123375B11275911F82448E0F1A87 8A3C893B3129A40E4A6AC8C4BA6342FD 40F00BC36E0234C70D98C0AD46DE23A3 882F2B5846DD20CB6A16C61FF3411DC3 56A46222DCBFE188720D9F1D3834E313 DC2331B10CEF42AD4BFBED3FB7C97DFE 1DE36B17E99452947B185575ADCADB76 ED7AD49B671D46F475568E7D5B72FFC8 222F6A8D8E02D3D77AF64F64EC2B1EF5 FB64D02FA56E46AB823CBC295F321E79 051F58F6F3E38B4A63559CFEDF91456B 37591BD2453A67C82C8214BA160091B8 AE07E0A7C7C90533A810E76E58438FB3 CFECC4D4 |
+FE0001004966BEB0A959683CE2961673 19A09A8A5B7F9C77245C9CF0B377BEFD AD9EB6FD23B87493E56D60C12B77F787 B008B108AE4C0B25F47948D5258EB8E4 16DD489429296583DDB6BF8A82FB4245 AAB880C94FB99FA869005D43C5F2E692 08DF8DBAE15AF63B377EB732CA630B7C 5713737EC472DEA4CDBD70E8E5326923 82843A3398A0C4300B54554C1770282A 9FD8741DD88A0A0D94A29D64FE69A8F3 FB9062B8F17E05A3FC64453778151D45 484EFF2B220E8C741704029134CA0C18 88DC62EE80801E5C0F0E4A1B6CB40938 B7D701AA73CB9AD3737B1F01B064449F 14E5B0FF2E44341722555FE60C4DCF3C 229534804F872CF490ED922CDA61242A 44CDC9D3 |
g_a diffie-hellman parameter |
server_time |
560, 4 |
-B8905265 (1699909816 in decimal) |
+48E15365 (1699995976 in decimal) |
Server time |
@@ -609,34 +609,34 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
7) Client computes random 2048-bit number b (using a sufficient amount of entropy) and sends the server a message
First, generate a secure random 2048-bit number b:
-b = 40B667AA49BC731928F4D56C0293F550A41772B17B014881E9DBD659B92B3883475A2D46BB1F990CDC24CB20A12B034E011CFC924E7B85763278B70D5CD5CDD8630C3707411ECD5C52628B7819C4608930CB1D7AF3F9AABEBCC2BB31378C2D61C820B3E8EEED18535D4C534B2A63605BBD471BC741D0811803C3077835A6F4A3DE33569B0935DC79E106DC49B26FB16BB23B1B78BE228FDB2517B9D4EBDF3551D0C55F771151D454EF2367C3BE4132F8B7613CC05F00C82483E21FB843FCC935366C9AEBB0B731A433994421580446765409F6358A06E6F826DFFCB04FA5AF579CF8AC3EAB7AA018412F1A7A5761C98C7D4B83845E28D59DD81634593BFC9D3F
+b = D983DD33FEB0575878CD78B06E0C60B17F0A85CC0BFFE09FD674DD8780375D9680AB34F285326193C8F82D4FB78E35DE6B822C38950E58D2671745D3F2E6FF699BE3275FA2E1F03B2C3908D2DF742D89B56C3303A2F01F0E80974379AF6EFDCD5F9A3F648D331E104D434BB1482D034F87CD5CDCE626479327F2E05B17E3FE6CC844F528BA4B6F28DFB965A09B6A6A5C050028B777FA4EBBC0582684754A3D0D626626FC1C0C3A082A362A2561B58C2AF9DA08119FAE985A3CBA321CCF21CB8D7048053FF8EC472819D5F4BB677B86D91F973BC1CF8C981A8E0FD80539A1FC76841C93793929529047EC817AEE8D7929372898D92EF452AC6E1D8DDA57EFB1DD
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 3F705A3D16081D2D5303D14160C241DB036755D0409830E7F78CF64E3B9C4D71F514AE2AFBD5C90FC47A9E3C85C430BC00D8777BB8FA35C84744E2B099D08F65757D743E7FB1A48D17AE7124B90AD7DCECF60A2D63B8A7D39CC22249D5D5036BE48B0A88054DA0DF4DE45F3B658570C5B087FEE1AFEE50C915748C0DABD8E23180082315F06A36328E07598184A94D956ABD0316D3D1234A0337315BA7F0AC51A3ED1E2B3B6FD2737FA8FD014B63CC1D132188C735D044FD5981147EDCE292AC11160A58AC38CF56590AB8EA4C02B3D747BD6E9CDEFAA01438D7B6D0746D56830EE2933F5C3D2354204B9ACE7BCCF9566F894B2BFD514BFA62136D361B86A468
+g_b = 540F41842CFA15D55F55280D42038B546367D978B5308533451537E87064A529555821A506A7E3B4C124F31B5C98EA680B90CB897F01559AA8F016784A5317D6C1921BF8A4A8AF1A0F68C67BD255EC109D64F816993D3D5482C4757E2D23F7DB5D836BCF6BDDE20403F0C1DCA32C085F64E3567BB89688A2F8FCC60886CCD68106BCF51CED5CFF6B988CD25A1FFB447677262C1CADFBD3DF40DBA762902220514E3C937EF6852D6C92792DCAE36F32E9A398A659AB22AEF8FAA588DC3C2E4CA73017C175A6F1FCA75FBDC9B44594D73A4E02F37D4D3FAC8F1A919920D9C2AD644305D6BD6E421C1ED7B0B9C7EF0B06C04133530664F9C0CFD7C77C905BC44536
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 26 BD 66 FA AC 98 75 CF CE 27 A5 E6
-0010 | 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC D5 D4 83 29
-0020 | 13 BE 69 12 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 3F 70 5A 3D 16 08 1D 2D 53 03 D1 41 60 C2 41 DB
-0040 | 03 67 55 D0 40 98 30 E7 F7 8C F6 4E 3B 9C 4D 71
-0050 | F5 14 AE 2A FB D5 C9 0F C4 7A 9E 3C 85 C4 30 BC
-0060 | 00 D8 77 7B B8 FA 35 C8 47 44 E2 B0 99 D0 8F 65
-0070 | 75 7D 74 3E 7F B1 A4 8D 17 AE 71 24 B9 0A D7 DC
-0080 | EC F6 0A 2D 63 B8 A7 D3 9C C2 22 49 D5 D5 03 6B
-0090 | E4 8B 0A 88 05 4D A0 DF 4D E4 5F 3B 65 85 70 C5
-00A0 | B0 87 FE E1 AF EE 50 C9 15 74 8C 0D AB D8 E2 31
-00B0 | 80 08 23 15 F0 6A 36 32 8E 07 59 81 84 A9 4D 95
-00C0 | 6A BD 03 16 D3 D1 23 4A 03 37 31 5B A7 F0 AC 51
-00D0 | A3 ED 1E 2B 3B 6F D2 73 7F A8 FD 01 4B 63 CC 1D
-00E0 | 13 21 88 C7 35 D0 44 FD 59 81 14 7E DC E2 92 AC
-00F0 | 11 16 0A 58 AC 38 CF 56 59 0A B8 EA 4C 02 B3 D7
-0100 | 47 BD 6E 9C DE FA A0 14 38 D7 B6 D0 74 6D 56 83
-0110 | 0E E2 93 3F 5C 3D 23 54 20 4B 9A CE 7B CC F9 56
-0120 | 6F 89 4B 2B FD 51 4B FA 62 13 6D 36 1B 86 A4 68
+0000 | 54 B6 43 66 C1 14 9F E5 F9 AE 1D E6 F9 70 7B F1
+0010 | 87 27 3F E6 AE 0B D3 44 AD A9 1E A2 E6 CF DD 57
+0020 | 46 53 37 E4 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 54 0F 41 84 2C FA 15 D5 5F 55 28 0D 42 03 8B 54
+0040 | 63 67 D9 78 B5 30 85 33 45 15 37 E8 70 64 A5 29
+0050 | 55 58 21 A5 06 A7 E3 B4 C1 24 F3 1B 5C 98 EA 68
+0060 | 0B 90 CB 89 7F 01 55 9A A8 F0 16 78 4A 53 17 D6
+0070 | C1 92 1B F8 A4 A8 AF 1A 0F 68 C6 7B D2 55 EC 10
+0080 | 9D 64 F8 16 99 3D 3D 54 82 C4 75 7E 2D 23 F7 DB
+0090 | 5D 83 6B CF 6B DD E2 04 03 F0 C1 DC A3 2C 08 5F
+00A0 | 64 E3 56 7B B8 96 88 A2 F8 FC C6 08 86 CC D6 81
+00B0 | 06 BC F5 1C ED 5C FF 6B 98 8C D2 5A 1F FB 44 76
+00C0 | 77 26 2C 1C AD FB D3 DF 40 DB A7 62 90 22 20 51
+00D0 | 4E 3C 93 7E F6 85 2D 6C 92 79 2D CA E3 6F 32 E9
+00E0 | A3 98 A6 59 AB 22 AE F8 FA A5 88 DC 3C 2E 4C A7
+00F0 | 30 17 C1 75 A6 F1 FC A7 5F BD C9 B4 45 94 D7 3A
+0100 | 4E 02 F3 7D 4D 3F AC 8F 1A 91 99 20 D9 C2 AD 64
+0110 | 43 05 D6 BD 6E 42 1C 1E D7 B0 B9 C7 EF 0B 06 C0
+0120 | 41 33 53 06 64 F9 C0 CF D7 C7 7C 90 5B C4 45 36
Payload (de)serialization:
client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data;
@@ -658,19 +658,19 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
nonce |
4, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
g_b |
36, 260 |
-FE0001003F705A3D16081D2D5303D141 60C241DB036755D0409830E7F78CF64E 3B9C4D71F514AE2AFBD5C90FC47A9E3C 85C430BC00D8777BB8FA35C84744E2B0 99D08F65757D743E7FB1A48D17AE7124 B90AD7DCECF60A2D63B8A7D39CC22249 D5D5036BE48B0A88054DA0DF4DE45F3B 658570C5B087FEE1AFEE50C915748C0D ABD8E23180082315F06A36328E075981 84A94D956ABD0316D3D1234A0337315B A7F0AC51A3ED1E2B3B6FD2737FA8FD01 4B63CC1D132188C735D044FD5981147E DCE292AC11160A58AC38CF56590AB8EA 4C02B3D747BD6E9CDEFAA01438D7B6D0 746D56830EE2933F5C3D2354204B9ACE 7BCCF9566F894B2BFD514BFA62136D36 1B86A468 |
+FE000100540F41842CFA15D55F55280D 42038B546367D978B5308533451537E8 7064A529555821A506A7E3B4C124F31B 5C98EA680B90CB897F01559AA8F01678 4A5317D6C1921BF8A4A8AF1A0F68C67B D255EC109D64F816993D3D5482C4757E 2D23F7DB5D836BCF6BDDE20403F0C1DC A32C085F64E3567BB89688A2F8FCC608 86CCD68106BCF51CED5CFF6B988CD25A 1FFB447677262C1CADFBD3DF40DBA762 902220514E3C937EF6852D6C92792DCA E36F32E9A398A659AB22AEF8FAA588DC 3C2E4CA73017C175A6F1FCA75FBDC9B4 4594D73A4E02F37D4D3FAC8F1A919920 D9C2AD644305D6BD6E421C1ED7B0B9C7 EF0B06C04133530664F9C0CFD7C77C90 5BC44536 |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding |
@@ -684,47 +684,47 @@ answer = BA0D89B526BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE691
The serialization of Client_DH_Inner_Data produces a string data. This is used to generate encrypted_data as specified in step 6, using the following inputs:
-data = 54B6436626BD66FAAC9875CFCE27A5E6959EE587B21E985D3EC9B7ECD5D4832913BE69120000000000000000FE0001003F705A3D16081D2D5303D14160C241DB036755D0409830E7F78CF64E3B9C4D71F514AE2AFBD5C90FC47A9E3C85C430BC00D8777BB8FA35C84744E2B099D08F65757D743E7FB1A48D17AE7124B90AD7DCECF60A2D63B8A7D39CC22249D5D5036BE48B0A88054DA0DF4DE45F3B658570C5B087FEE1AFEE50C915748C0DABD8E23180082315F06A36328E07598184A94D956ABD0316D3D1234A0337315BA7F0AC51A3ED1E2B3B6FD2737FA8FD014B63CC1D132188C735D044FD5981147EDCE292AC11160A58AC38CF56590AB8EA4C02B3D747BD6E9CDEFAA01438D7B6D0746D56830EE2933F5C3D2354204B9ACE7BCCF9566F894B2BFD514BFA62136D361B86A468
-padding = F453381991D9D60D2636535B
-tmp_aes_key = 50467B2FCB4A132671FAD6A516EE22B77DE5E0D984276C02F0C486AE4CEE52E2
-tmp_aes_iv = CDB0881CC08413E78791861E094E1A279D07459F407D4683DC6558D4D5E3E58D
+data = 54B64366C1149FE5F9AE1DE6F9707BF187273FE6AE0BD344ADA91EA2E6CFDD57465337E40000000000000000FE000100540F41842CFA15D55F55280D42038B546367D978B5308533451537E87064A529555821A506A7E3B4C124F31B5C98EA680B90CB897F01559AA8F016784A5317D6C1921BF8A4A8AF1A0F68C67BD255EC109D64F816993D3D5482C4757E2D23F7DB5D836BCF6BDDE20403F0C1DCA32C085F64E3567BB89688A2F8FCC60886CCD68106BCF51CED5CFF6B988CD25A1FFB447677262C1CADFBD3DF40DBA762902220514E3C937EF6852D6C92792DCAE36F32E9A398A659AB22AEF8FAA588DC3C2E4CA73017C175A6F1FCA75FBDC9B44594D73A4E02F37D4D3FAC8F1A919920D9C2AD644305D6BD6E421C1ED7B0B9C7EF0B06C04133530664F9C0CFD7C77C905BC44536
+padding = B94DF620FF1C81E31C1DB4B1
+tmp_aes_key = AAB528F14E8ECAD99290F5AC3CA8B323046841A628252C83652DDD78C02F4C8C
+tmp_aes_iv = 87AC534B08733D154F4A15EF6B70605F622ED308764630B0C6DE2E4F81ED7CDB
Process:
data_with_hash := SHA1(data) + data + padding (0-15 random bytes such that total length is divisible by 16)
encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);
Output:
-encrypted_data = 18D4986E3CD13B8C752189BF1973C9C65C282CADAFC2AE00B67828E7E68E0BC0145394B83E088A60DC091CE3215E9AE480F28E4ACDD7541D7754BE14E88F7FCF5EB0B0BC467ACBFC2652513637737F789393953C825DC57D7DD01F5366A7E94B374827A3E7742B385E5F6F3DB1AA9D92096A388DF45D1D1BAA96FD18F0D117BEF5EF80E0A9CA376700C841928808A26D7FF82D2DC5FAF3ABDA288ED2F91F54EFDECDDBCFCC326AF365CCFA20EAE06908F5FE99232657B5C11E6565E20E9A30DFA80F05AEA2E2EA072614D870A576A803376F06B09B855E9CC54492D46676B660FDDC05A32C2AA83B992BAE143C10447D246A12D786CD71CC5DB15166AEBAF302B271F3429C592CD9DE0109FAB82DBBA2DA3BB05CCD84BEE607A719158B2A8ECB17A943661EF2DCAEF0BABD58924A57DC4FFEAEEB71D59142567A78214301087ACC21800728D2CEF04380452C5539AED4
+encrypted_data = 8754EE73F5E3BB3DC2AB18A45513DDD702754C66965FA712F2E3E87DC39E4554FDC8AB738A512601964247B45BFF72EB2C8C9907A24C0C4A74BB876602989F25BFF98B6A6665057048669B151642E77B36C7546EECB4AF944FCCD7281AA3543852FBC2DBCBB8392CCDBB0C436E5DB2097B912C5578367C498AA57BA8FBF9DE273646CD003488D43417FA1578EFC7253C991432400BA9F5A345669744EBD9D45CE1A14538CADE1375854EDF235B6DF8550CCCF387F250BFB457456AFA7BB435021B73D9583BB210242DA377C4E8875128D3A745CFCBDA7F79651879112788ECE2CF7238F091638250E3DC866D52F1BC648EA4C13AA42CC6CDE0796A7F90D7CED764A804C573271DE7070036ED7E8CFCFA38FC5B0EB113B6215E37E9A918AAC8BBB0E065C2A7C8D6C0912EFC9717327E0F299D2E19F8DBECE013FBAA41E6C7CD57A7661C0878CA6E712F84BA3E28867E2D
The length of the final string is 336 bytes.
7.2) set_client_DH_params query
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 18 3A 0C 00 B9 90 52 65
-0010 | 78 01 00 00 1F 5F 04 F5 26 BD 66 FA AC 98 75 CF
-0020 | CE 27 A5 E6 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC
-0030 | D5 D4 83 29 13 BE 69 12 FE 50 01 00 18 D4 98 6E
-0040 | 3C D1 3B 8C 75 21 89 BF 19 73 C9 C6 5C 28 2C AD
-0050 | AF C2 AE 00 B6 78 28 E7 E6 8E 0B C0 14 53 94 B8
-0060 | 3E 08 8A 60 DC 09 1C E3 21 5E 9A E4 80 F2 8E 4A
-0070 | CD D7 54 1D 77 54 BE 14 E8 8F 7F CF 5E B0 B0 BC
-0080 | 46 7A CB FC 26 52 51 36 37 73 7F 78 93 93 95 3C
-0090 | 82 5D C5 7D 7D D0 1F 53 66 A7 E9 4B 37 48 27 A3
-00A0 | E7 74 2B 38 5E 5F 6F 3D B1 AA 9D 92 09 6A 38 8D
-00B0 | F4 5D 1D 1B AA 96 FD 18 F0 D1 17 BE F5 EF 80 E0
-00C0 | A9 CA 37 67 00 C8 41 92 88 08 A2 6D 7F F8 2D 2D
-00D0 | C5 FA F3 AB DA 28 8E D2 F9 1F 54 EF DE CD DB CF
-00E0 | CC 32 6A F3 65 CC FA 20 EA E0 69 08 F5 FE 99 23
-00F0 | 26 57 B5 C1 1E 65 65 E2 0E 9A 30 DF A8 0F 05 AE
-0100 | A2 E2 EA 07 26 14 D8 70 A5 76 A8 03 37 6F 06 B0
-0110 | 9B 85 5E 9C C5 44 92 D4 66 76 B6 60 FD DC 05 A3
-0120 | 2C 2A A8 3B 99 2B AE 14 3C 10 44 7D 24 6A 12 D7
-0130 | 86 CD 71 CC 5D B1 51 66 AE BA F3 02 B2 71 F3 42
-0140 | 9C 59 2C D9 DE 01 09 FA B8 2D BB A2 DA 3B B0 5C
-0150 | CD 84 BE E6 07 A7 19 15 8B 2A 8E CB 17 A9 43 66
-0160 | 1E F2 DC AE F0 BA BD 58 92 4A 57 DC 4F FE AE EB
-0170 | 71 D5 91 42 56 7A 78 21 43 01 08 7A CC 21 80 07
-0180 | 28 D2 CE F0 43 80 45 2C 55 39 AE D4
+0000 | 00 00 00 00 00 00 00 00 58 F3 06 00 49 E1 53 65
+0010 | 78 01 00 00 1F 5F 04 F5 C1 14 9F E5 F9 AE 1D E6
+0020 | F9 70 7B F1 87 27 3F E6 AE 0B D3 44 AD A9 1E A2
+0030 | E6 CF DD 57 46 53 37 E4 FE 50 01 00 87 54 EE 73
+0040 | F5 E3 BB 3D C2 AB 18 A4 55 13 DD D7 02 75 4C 66
+0050 | 96 5F A7 12 F2 E3 E8 7D C3 9E 45 54 FD C8 AB 73
+0060 | 8A 51 26 01 96 42 47 B4 5B FF 72 EB 2C 8C 99 07
+0070 | A2 4C 0C 4A 74 BB 87 66 02 98 9F 25 BF F9 8B 6A
+0080 | 66 65 05 70 48 66 9B 15 16 42 E7 7B 36 C7 54 6E
+0090 | EC B4 AF 94 4F CC D7 28 1A A3 54 38 52 FB C2 DB
+00A0 | CB B8 39 2C CD BB 0C 43 6E 5D B2 09 7B 91 2C 55
+00B0 | 78 36 7C 49 8A A5 7B A8 FB F9 DE 27 36 46 CD 00
+00C0 | 34 88 D4 34 17 FA 15 78 EF C7 25 3C 99 14 32 40
+00D0 | 0B A9 F5 A3 45 66 97 44 EB D9 D4 5C E1 A1 45 38
+00E0 | CA DE 13 75 85 4E DF 23 5B 6D F8 55 0C CC F3 87
+00F0 | F2 50 BF B4 57 45 6A FA 7B B4 35 02 1B 73 D9 58
+0100 | 3B B2 10 24 2D A3 77 C4 E8 87 51 28 D3 A7 45 CF
+0110 | CB DA 7F 79 65 18 79 11 27 88 EC E2 CF 72 38 F0
+0120 | 91 63 82 50 E3 DC 86 6D 52 F1 BC 64 8E A4 C1 3A
+0130 | A4 2C C6 CD E0 79 6A 7F 90 D7 CE D7 64 A8 04 C5
+0140 | 73 27 1D E7 07 00 36 ED 7E 8C FC FA 38 FC 5B 0E
+0150 | B1 13 B6 21 5E 37 E9 A9 18 AA C8 BB B0 E0 65 C2
+0160 | A7 C8 D6 C0 91 2E FC 97 17 32 7E 0F 29 9D 2E 19
+0170 | F8 DB EC E0 13 FB AA 41 E6 C7 CD 57 A7 66 1C 08
+0180 | 78 CA 6E 71 2F 84 BA 3E 28 86 7E 2D
Payload (de)serialization:
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
@@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id |
8, 8 |
-183A0C00B9905265 |
+58F3060049E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
encrypted_data |
56, 340 |
-FE50010018D4986E3CD13B8C752189BF 1973C9C65C282CADAFC2AE00B67828E7 E68E0BC0145394B83E088A60DC091CE3 215E9AE480F28E4ACDD7541D7754BE14 E88F7FCF5EB0B0BC467ACBFC26525136 37737F789393953C825DC57D7DD01F53 66A7E94B374827A3E7742B385E5F6F3D B1AA9D92096A388DF45D1D1BAA96FD18 F0D117BEF5EF80E0A9CA376700C84192 8808A26D7FF82D2DC5FAF3ABDA288ED2 F91F54EFDECDDBCFCC326AF365CCFA20 EAE06908F5FE99232657B5C11E6565E2 0E9A30DFA80F05AEA2E2EA072614D870 A576A803376F06B09B855E9CC54492D4 6676B660FDDC05A32C2AA83B992BAE14 3C10447D246A12D786CD71CC5DB15166 AEBAF302B271F3429C592CD9DE0109FA B82DBBA2DA3BB05CCD84BEE607A71915 8B2A8ECB17A943661EF2DCAEF0BABD58 924A57DC4FFEAEEB71D59142567A7821 4301087ACC21800728D2CEF04380452C 5539AED4 |
+FE5001008754EE73F5E3BB3DC2AB18A4 5513DDD702754C66965FA712F2E3E87D C39E4554FDC8AB738A512601964247B4 5BFF72EB2C8C9907A24C0C4A74BB8766 02989F25BFF98B6A6665057048669B15 1642E77B36C7546EECB4AF944FCCD728 1AA3543852FBC2DBCBB8392CCDBB0C43 6E5DB2097B912C5578367C498AA57BA8 FBF9DE273646CD003488D43417FA1578 EFC7253C991432400BA9F5A345669744 EBD9D45CE1A14538CADE1375854EDF23 5B6DF8550CCCF387F250BFB457456AFA 7BB435021B73D9583BB210242DA377C4 E8875128D3A745CFCBDA7F7965187911 2788ECE2CF7238F091638250E3DC866D 52F1BC648EA4C13AA42CC6CDE0796A7F 90D7CED764A804C573271DE7070036ED 7E8CFCFA38FC5B0EB113B6215E37E9A9 18AAC8BBB0E065C2A7C8D6C0912EFC97 17327E0F299D2E19F8DBECE013FBAA41 E6C7CD57A7661C0878CA6E712F84BA3E 28867E2D |
Encrypted client_DH_inner_data generated previously, serialized as a TL byte string |
@@ -785,17 +785,17 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
8) Auth key generation
The client computes the auth_key using formula g_a^b mod dh_prime
:
-auth_key = 933DB694728888FBFFE10255BBDA639C075D20570E9C123BFECBD57D43B34E9B4A69E81E65D5C1C0D77DD1EF229B73BD28CB11B8B963CEB39072C960F7608BCDBDD66B3838B6E04BFE5EBC1AF31563B407053F63EC61B00DF7889E65ACF7610EE1CEA93C15EED67327D123536303E7551BCED1E0D1F670700C9734DB7FAB759317CF53FCBAF872D31C8ED4B86101DFD1B4AE6F6823BB31EE77AD4F2B7BE6C1B89361C8B59938D57C8DCB2E2F5C7E75187D73AE872C38383F7DD2C870F6B5303FE9E519F38A5FA42E94358349EC59A4D9F30A7206A698981505A90561B1C069A32FC646EA08175EB203BDC3DD2A88CB020E80090CF69FCA6FD57E5A30436BC764
+auth_key = 2515112E2E96F7875445D5392ECC5C0A6BD132BB670689F8E1A7868BD66098C71AB5E5ADE9837840E70C641FD8C6C6509D60D2444B570BE02429CA2FF4E71DC0DEBBEBDA8BEF55B4803138CA2252F67C7F0037A9BC527B09D04D6A92C537B48D4FC1FA6800A0F5B29B418A2837EEAED7F737CF5AFE5F30EE083D1128C0B07EB27192521DBE3A4DC7787AB9F6D5B97DEA3EDA83C2D6CEBAF7BDED24A2B3C86AFF6302910CC41D18E4CDD38B1E80A51390ED997A3636CA925940835DBD0EEA2C3591E4B070F22BC994802130DBAC1B1841BF8551B449A79CA44AFD0B802CA9CF1A1562E3A107164A6209893972B64370F0F8FDF6FB4B4A96EE2EB420CF4C268645
9) Final server reply
The server verifies and confirms that auth_key_hash is unique: since it's unique, it replies with the following:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 48 59 45 B9 90 52 65
-0010 | 54 00 00 00 34 F7 CB 3B 26 BD 66 FA AC 98 75 CF
-0020 | CE 27 A5 E6 95 9E E5 87 B2 1E 98 5D 3E C9 B7 EC
-0030 | D5 D4 83 29 13 BE 69 12 42 EB 2B 95 75 30 C2 95
-0040 | BC 81 F3 59 99 60 46 85
+0000 | 00 00 00 00 00 00 00 00 01 2C 10 51 49 E1 53 65
+0010 | A0 00 00 00 34 F7 CB 3B C1 14 9F E5 F9 AE 1D E6
+0020 | F9 70 7B F1 87 27 3F E6 AE 0B D3 44 AD A9 1E A2
+0030 | E6 CF DD 57 46 53 37 E4 1C D4 E4 26 F1 55 06 E1
+0040 | 5A 63 BB 3F D5 C1 AE 5A
Payload (de)serialization:
dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
@@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id |
8, 8 |
-01485945B9905265 |
+012C105149E15365 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-54000000 (84 in decimal) |
+A0000000 (160 in decimal) |
Message body length |
@@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce |
24, 16 |
-26BD66FAAC9875CFCE27A5E6959EE587 |
+C1149FE5F9AE1DE6F9707BF187273FE6 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-B21E985D3EC9B7ECD5D4832913BE6912 |
+AE0BD344ADA91EA2E6CFDD57465337E4 |
Value received from server in Step 2 |
new_nonce_hash1 |
56, 16 |
-42EB2B957530C295BC81F35999604685 |
+1CD4E426F15506E15A63BB3FD5C1AE5A |
The 128 lower-order bits of SHA1 of the byte string derived from the new_nonce string by adding a single byte with the value of 1, 2, or 3, and followed by another 8 bytes with auth_key_aux_hash . Different values are required to prevent an intruder from changing server response dh_gen_ok into dh_gen_retry. |
diff --git a/data/web/corefork.telegram.org/type/ExportedStoryLink.html b/data/web/corefork.telegram.org/type/ExportedStoryLink.html
index 724addbad3..fd169e7455 100644
--- a/data/web/corefork.telegram.org/type/ExportedStoryLink.html
+++ b/data/web/corefork.telegram.org/type/ExportedStoryLink.html
@@ -71,7 +71,7 @@
exportedStoryLink |
- |
+Represents a story deep link. |
diff --git a/data/web/corefork.telegram.org/type/InputMedia.html b/data/web/corefork.telegram.org/type/InputMedia.html
index 1aa332cfb2..e5b84cc9b6 100644
--- a/data/web/corefork.telegram.org/type/InputMedia.html
+++ b/data/web/corefork.telegram.org/type/InputMedia.html
@@ -142,7 +142,7 @@
inputMediaStory |
- |
+Forwarded story |
diff --git a/data/web/corefork.telegram.org/type/InputPrivacyKey.html b/data/web/corefork.telegram.org/type/InputPrivacyKey.html
index 5409315f68..5d20e5ac81 100644
--- a/data/web/corefork.telegram.org/type/InputPrivacyKey.html
+++ b/data/web/corefork.telegram.org/type/InputPrivacyKey.html
@@ -113,7 +113,7 @@
inputPrivacyKeyAbout |
- |
+Whether people can see your bio |
diff --git a/data/web/corefork.telegram.org/type/InputPrivacyRule.html b/data/web/corefork.telegram.org/type/InputPrivacyRule.html
index 89c29478a3..57c3d13f4f 100644
--- a/data/web/corefork.telegram.org/type/InputPrivacyRule.html
+++ b/data/web/corefork.telegram.org/type/InputPrivacyRule.html
@@ -108,7 +108,7 @@
inputPrivacyValueAllowCloseFriends |
- |
+Allow only close friends » |
diff --git a/data/web/corefork.telegram.org/type/MediaArea.html b/data/web/corefork.telegram.org/type/MediaArea.html
index bc7d8ef5fe..eaf158a01e 100644
--- a/data/web/corefork.telegram.org/type/MediaArea.html
+++ b/data/web/corefork.telegram.org/type/MediaArea.html
@@ -74,7 +74,7 @@
inputMediaAreaVenue |
- |
+Represents a location tag attached to a story, with additional venue information. |
mediaAreaGeoPoint |
diff --git a/data/web/corefork.telegram.org/type/MessagePeerVote.html b/data/web/corefork.telegram.org/type/MessagePeerVote.html
index f75cf02335..9ced19f008 100644
--- a/data/web/corefork.telegram.org/type/MessagePeerVote.html
+++ b/data/web/corefork.telegram.org/type/MessagePeerVote.html
@@ -69,15 +69,15 @@
messagePeerVote |
- |
+How a peer voted in a poll |
messagePeerVoteInputOption |
- |
+How a peer voted in a poll (reduced constructor, returned if an option was provided to messages.getPollVotes) |
messagePeerVoteMultiple |
- |
+How a peer voted in a multiple-choice poll |
diff --git a/data/web/corefork.telegram.org/type/MessageReplyHeader.html b/data/web/corefork.telegram.org/type/MessageReplyHeader.html
index c159ce6a81..003dceaeb1 100644
--- a/data/web/corefork.telegram.org/type/MessageReplyHeader.html
+++ b/data/web/corefork.telegram.org/type/MessageReplyHeader.html
@@ -72,7 +72,7 @@
messageReplyStoryHeader |
- |
+Represents a reply to a story |
diff --git a/data/web/corefork.telegram.org/type/PeerStories.html b/data/web/corefork.telegram.org/type/PeerStories.html
index 8bc81cbfce..a0c7b6097f 100644
--- a/data/web/corefork.telegram.org/type/PeerStories.html
+++ b/data/web/corefork.telegram.org/type/PeerStories.html
@@ -67,7 +67,7 @@
peerStories |
- |
+Stories associated to a peer |
diff --git a/data/web/corefork.telegram.org/type/PrivacyKey.html b/data/web/corefork.telegram.org/type/PrivacyKey.html
index 498199e6b6..ba211a15ef 100644
--- a/data/web/corefork.telegram.org/type/PrivacyKey.html
+++ b/data/web/corefork.telegram.org/type/PrivacyKey.html
@@ -113,7 +113,7 @@