How to fetch results from large lists of objects.
Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.
diff --git a/data/web/corefork.telegram.org/mtproto/samples-auth_key.html b/data/web/corefork.telegram.org/mtproto/samples-auth_key.html
index 8bcbcf0787..365e5b038f 100644
--- a/data/web/corefork.telegram.org/mtproto/samples-auth_key.html
+++ b/data/web/corefork.telegram.org/mtproto/samples-auth_key.html
@@ -53,9 +53,9 @@
@@ -77,7 +77,7 @@
message_id
8, 8
-7CEF050054368866
+185A0E00DB3A8866
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
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 7C 5B 47 54 36 88 66
-0010 | 78 00 00 00 63 24 16 05 F4 1E 05 98 BA BA EF 42
-0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04
-0030 | 75 83 86 C4 3F CF E9 42 08 18 5C 9D 9E 55 2F C9
-0040 | 93 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 58 EA 10 DC 3A 88 66
+0010 | 68 00 00 00 63 24 16 05 A8 F4 80 B7 39 AF 24 DC
+0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
+0030 | D7 D6 23 C5 FD B3 E2 7E 08 16 A7 E5 88 B3 27 9C
+0040 | 33 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
-017C5B4754368866
+0158EA10DC3A8866
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-78000000
(120 in decimal)
+68000000
(104 in decimal)
Message body length
@@ -150,19 +150,19 @@
nonce
24, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
40, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Server-generated random number
pq
56, 12
-08185C9D9E552FC993000000
TL byte deserialization => bigendian conversion to decimal => 1755451258127239571
+0816A7E588B3279C33000000
TL byte deserialization => bigendian conversion to decimal => 1632525765229124659
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 = 1755451258127239571
-Decompose into 2 prime cofactors p < q
: 1755451258127239571 = 1027635551 * 1708243021
-p = 1027635551
-q = 1708243021
+pq = 1632525765229124659
+Decompose into 2 prime cofactors p < q
: 1632525765229124659 = 1165991117 * 1400118527
+p = 1165991117
+q = 1400118527
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 18 5C 9D 9E 55 2F C9 93 00 00 00
-0010 | 04 3D 40 79 5F 00 00 00 04 65 D1 B8 4D 00 00 00
-0020 | F4 1E 05 98 BA BA EF 42 9A 98 83 ED F3 C9 47 22
-0030 | F3 62 D2 D6 A6 22 24 04 75 83 86 C4 3F CF E9 42
-0040 | 09 1A AA 71 29 03 A7 A3 53 93 80 67 93 FB 93 84
-0050 | DF 07 B0 CC 00 51 CC 62 53 35 80 E0 69 3A 1E E0
+0000 | 95 5F F5 A9 08 16 A7 E5 88 B3 27 9C 33 00 00 00
+0010 | 04 45 7F 9C CD 00 00 00 04 53 74 1C FF 00 00 00
+0020 | A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09 BA 14 02 07
+0030 | D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5 FD B3 E2 7E
+0040 | 84 7F 52 3C 2F A2 10 6F 55 AD 16 13 87 B0 CC FF
+0050 | 78 DD 4B 68 E9 3E 47 1B 02 8F 9B 41 EA 4B ED 8D
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 = 1708243021
pq
4, 12
-08185C9D9E552FC993000000
TL byte deserialization => bigendian conversion to decimal => 1755451258127239571
+0816A7E588B3279C33000000
TL byte deserialization => bigendian conversion to decimal => 1632525765229124659
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-043D40795F000000
TL byte deserialization => bigendian conversion to decimal => 1027635551
+04457F9CCD000000
TL byte deserialization => bigendian conversion to decimal => 1165991117
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-0465D1B84D000000
TL byte deserialization => bigendian conversion to decimal => 1708243021
+0453741CFF000000
TL byte deserialization => bigendian conversion to decimal => 1400118527
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
48, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
new_nonce
64, 32
-091AAA712903A7A35393806793FB9384
DF07B0CC0051CC62533580E0693A1EE0
+847F523C2FA2106F55AD161387B0CCFF
78DD4B68E93E471B028F9B41EA4BED8D
Client-generated random number
@@ -291,39 +291,39 @@ q = 1708243021
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 = 955FF5A908185C9D9E552FC993000000043D40795F0000000465D1B84D000000F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE942091AAA712903A7A35393806793FB9384DF07B0CC0051CC62533580E0693A1EE002000000
-random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910FFC90AA619E1D0AD7D758E2F90CD2CFCC2B0DE4C06FB0D1D80196564D2B81C5D47F97119AD2054B8B0F6896E7279CF4C8A1D759ECF894EECE60ABB9C3E06B57
+data = 955FF5A90816A7E588B3279C3300000004457F9CCD0000000453741CFF000000A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E847F523C2FA2106F55AD161387B0CCFF78DD4B68E93E471B028F9B41EA4BED8D02000000
+random_padding_bytes = F36C78DAC681938CD0BA0B1F36143DB5F679EE69586414E554EF1A978F6FB34001B20021F4D2AF94C1E2C4C4EA3F0ED7FA1FB1EA6DB2E7902BDA6DCE3C5DECD3F94969E36418B6DE31BCB04C907F8C8B33624B5AB8AE2F4D8D6CDB19
And this is the output:
-encrypted_data = C8A5917FB4D2AB31BA447AC5947B5381B5385930ECD60675CEB94F3D68B53E4707CF8281A19A864E17915DE868A02896DF26D687DE1B76916D13952836D9B9D65811F9CBA39C28A71C1D0A5FD47118D0D4EB02ABBD5BBB447CBCCC16EC543D227AC7D6CA67E250359013FD5741B564D04F5A033D983AC8AD301A2EDE3B3CA0A7F41F8F3B8D8F704FCC941951130800FE6E4C898D99F80CCAD9BE7B3DAB0C266509CE3629EEFAA75D4BC7DDEB56552BF4D173B8E1716B8B638250E7F2F2B64A89E7F0222A521AE23026190514BAE8022571F26C224A9289DFDEFB5499B8B8DCF4875438D06248F967C61CF417C314BC2AC349D674B9BCE4E9D70A5B04479BC303
+encrypted_data = B935F07BF640CB2C2D112C470A2EECED657FBA19E87DC8A813FB98568A4B07078D78A8C226D4A11E77CA7DE4FC72FCAB88084D2FB13C3D36261E4434213CAC2185208A01BF89ECA4E47965AF550A4B342EA629088E1A6D7575873963B93D54F0C024AC8CD58D260573365E854632261EA61DF26F32C3BE6BFB81D1802F3B6DA575BA39037DFF8688F856ED6FD88B0FDCD47E5B55F8CA694623C0E05C95303974EF692CEE3FF3EF880A05F1B2006BACBDF41836876C04E4DD9C4468AA70EE0952DD6BE0AF40D247BA06C58E75D0BDDDBF609CF9C29C99D82B9B247957EF1F3904E6F5CE0E11E574CD185AD920379CECD6981A1115BB720DAECDB72F8EAE038216
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 80 EF 05 00 54 36 88 66
-0010 | 40 01 00 00 BE E4 12 D7 F4 1E 05 98 BA BA EF 42
-0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04
-0030 | 75 83 86 C4 3F CF E9 42 04 3D 40 79 5F 00 00 00
-0040 | 04 65 D1 B8 4D 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 C8 A5 91 7F B4 D2 AB 31 BA 44 7A C5
-0060 | 94 7B 53 81 B5 38 59 30 EC D6 06 75 CE B9 4F 3D
-0070 | 68 B5 3E 47 07 CF 82 81 A1 9A 86 4E 17 91 5D E8
-0080 | 68 A0 28 96 DF 26 D6 87 DE 1B 76 91 6D 13 95 28
-0090 | 36 D9 B9 D6 58 11 F9 CB A3 9C 28 A7 1C 1D 0A 5F
-00A0 | D4 71 18 D0 D4 EB 02 AB BD 5B BB 44 7C BC CC 16
-00B0 | EC 54 3D 22 7A C7 D6 CA 67 E2 50 35 90 13 FD 57
-00C0 | 41 B5 64 D0 4F 5A 03 3D 98 3A C8 AD 30 1A 2E DE
-00D0 | 3B 3C A0 A7 F4 1F 8F 3B 8D 8F 70 4F CC 94 19 51
-00E0 | 13 08 00 FE 6E 4C 89 8D 99 F8 0C CA D9 BE 7B 3D
-00F0 | AB 0C 26 65 09 CE 36 29 EE FA A7 5D 4B C7 DD EB
-0100 | 56 55 2B F4 D1 73 B8 E1 71 6B 8B 63 82 50 E7 F2
-0110 | F2 B6 4A 89 E7 F0 22 2A 52 1A E2 30 26 19 05 14
-0120 | BA E8 02 25 71 F2 6C 22 4A 92 89 DF DE FB 54 99
-0130 | B8 B8 DC F4 87 54 38 D0 62 48 F9 67 C6 1C F4 17
-0140 | C3 14 BC 2A C3 49 D6 74 B9 BC E4 E9 D7 0A 5B 04
-0150 | 47 9B C3 03
+0000 | 00 00 00 00 00 00 00 00 1C F5 07 00 DC 3A 88 66
+0010 | 40 01 00 00 BE E4 12 D7 A8 F4 80 B7 39 AF 24 DC
+0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
+0030 | D7 D6 23 C5 FD B3 E2 7E 04 45 7F 9C CD 00 00 00
+0040 | 04 53 74 1C FF 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 B9 35 F0 7B F6 40 CB 2C 2D 11 2C 47
+0060 | 0A 2E EC ED 65 7F BA 19 E8 7D C8 A8 13 FB 98 56
+0070 | 8A 4B 07 07 8D 78 A8 C2 26 D4 A1 1E 77 CA 7D E4
+0080 | FC 72 FC AB 88 08 4D 2F B1 3C 3D 36 26 1E 44 34
+0090 | 21 3C AC 21 85 20 8A 01 BF 89 EC A4 E4 79 65 AF
+00A0 | 55 0A 4B 34 2E A6 29 08 8E 1A 6D 75 75 87 39 63
+00B0 | B9 3D 54 F0 C0 24 AC 8C D5 8D 26 05 73 36 5E 85
+00C0 | 46 32 26 1E A6 1D F2 6F 32 C3 BE 6B FB 81 D1 80
+00D0 | 2F 3B 6D A5 75 BA 39 03 7D FF 86 88 F8 56 ED 6F
+00E0 | D8 8B 0F DC D4 7E 5B 55 F8 CA 69 46 23 C0 E0 5C
+00F0 | 95 30 39 74 EF 69 2C EE 3F F3 EF 88 0A 05 F1 B2
+0100 | 00 6B AC BD F4 18 36 87 6C 04 E4 DD 9C 44 68 AA
+0110 | 70 EE 09 52 DD 6B E0 AF 40 D2 47 BA 06 C5 8E 75
+0120 | D0 BD DD BF 60 9C F9 C2 9C 99 D8 2B 9B 24 79 57
+0130 | EF 1F 39 04 E6 F5 CE 0E 11 E5 74 CD 18 5A D9 20
+0140 | 37 9C EC D6 98 1A 11 15 BB 72 0D AE CD B7 2F 8E
+0150 | AE 03 82 16
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 = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
message_id
8, 8
-80EF050054368866
+1CF50700DC3A8866
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
nonce
24, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
40, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
p
56, 8
-043D40795F000000
TL byte deserialization => bigendian conversion to decimal => 1027635551
+04457F9CCD000000
TL byte deserialization => bigendian conversion to decimal => 1165991117
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-0465D1B84D000000
TL byte deserialization => bigendian conversion to decimal => 1708243021
+0453741CFF000000
TL byte deserialization => bigendian conversion to decimal => 1400118527
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
encrypted_data
80, 260
-FE000100C8A5917FB4D2AB31BA447AC5
947B5381B5385930ECD60675CEB94F3D
68B53E4707CF8281A19A864E17915DE8
68A02896DF26D687DE1B76916D139528
36D9B9D65811F9CBA39C28A71C1D0A5F
D47118D0D4EB02ABBD5BBB447CBCCC16
EC543D227AC7D6CA67E250359013FD57
41B564D04F5A033D983AC8AD301A2EDE
3B3CA0A7F41F8F3B8D8F704FCC941951
130800FE6E4C898D99F80CCAD9BE7B3D
AB0C266509CE3629EEFAA75D4BC7DDEB
56552BF4D173B8E1716B8B638250E7F2
F2B64A89E7F0222A521AE23026190514
BAE8022571F26C224A9289DFDEFB5499
B8B8DCF4875438D06248F967C61CF417
C314BC2AC349D674B9BCE4E9D70A5B04
479BC303
+FE000100B935F07BF640CB2C2D112C47
0A2EECED657FBA19E87DC8A813FB9856
8A4B07078D78A8C226D4A11E77CA7DE4
FC72FCAB88084D2FB13C3D36261E4434
213CAC2185208A01BF89ECA4E47965AF
550A4B342EA629088E1A6D7575873963
B93D54F0C024AC8CD58D260573365E85
4632261EA61DF26F32C3BE6BFB81D180
2F3B6DA575BA39037DFF8688F856ED6F
D88B0FDCD47E5B55F8CA694623C0E05C
95303974EF692CEE3FF3EF880A05F1B2
006BACBDF41836876C04E4DD9C4468AA
70EE0952DD6BE0AF40D247BA06C58E75
D0BDDDBF609CF9C29C99D82B9B247957
EF1F3904E6F5CE0E11E574CD185AD920
379CECD6981A1115BB720DAECDB72F8E
AE038216
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 08 C8 04 55 36 88 66
-0010 | 90 02 00 00 5C 07 E8 D0 F4 1E 05 98 BA BA EF 42
-0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04
-0030 | 75 83 86 C4 3F CF E9 42 FE 50 02 00 13 79 F7 7A
-0040 | 37 52 4F 55 31 58 60 02 0A A7 C0 A9 3F 22 19 C9
-0050 | BC AF 2D 9D 68 C3 3D 67 DB 3B 92 DB B1 7D 6C 7D
-0060 | 44 5E 59 CB 3D 4C 89 B3 25 5A 50 AB 09 A3 AD 18
-0070 | A1 3A EA 8C DD 2F 39 26 81 C3 C7 C5 31 F8 42 8C
-0080 | DE 71 7E 6D 59 77 3E 4C 2E D7 D1 82 62 68 90 AA
-0090 | 3F E9 07 80 A6 90 98 6E D2 A6 90 BD C4 B1 CA DB
-00A0 | 0A 94 57 19 3D 5C A2 CD 5C 40 38 A1 ED 5E DC 48
-00B0 | 58 2F 02 4B E4 06 83 C6 32 CA 27 9A FD 8F A3 52
-00C0 | A2 2F ED 98 CB 13 5B FF 45 98 65 46 3A 4B 93 76
-00D0 | 0D 0E CF DE ED FB A5 5C F6 EE AB 8E F5 58 C7 5F
-00E0 | 13 E5 1C 36 60 32 9F AE 40 07 8B 98 C8 8E 44 B3
-00F0 | 97 04 67 57 30 61 B6 FC 42 63 A4 67 B3 60 F9 BC
-0100 | FE 5D 53 73 D9 55 88 ED CF C4 8E 77 7C 68 BD 13
-0110 | AC 42 C3 60 7B AD 93 55 74 1B DC E3 E3 34 21 FA
-0120 | 36 CC 47 11 D3 C0 A2 58 62 80 77 16 8D 3E 6A D3
-0130 | 9A 8E D4 4D A6 30 1A 8F C2 2D CC 66 5F C6 B7 08
-0140 | E2 19 E5 36 A0 D0 41 98 5E 44 5E E2 1C 91 EA 72
-0150 | 5C E4 28 C4 88 6F 85 7A DA 51 F2 49 53 99 8D CB
-0160 | 09 97 6E 6F 11 DA 27 3A F3 61 FF 72 A9 91 28 51
-0170 | 57 2C 2E 21 1E 38 D7 10 1A 02 00 8D 2F 5D A9 3F
-0180 | E4 91 60 61 96 4D 10 4C 81 32 81 05 B5 C4 E4 41
-0190 | 65 09 1A FC A4 38 A3 C1 41 96 B3 55 96 84 46 9A
-01A0 | 8E EF 38 7F 16 97 4A 24 CE 17 D5 FA B7 2C CF 30
-01B0 | 6F B3 B4 94 AF D4 27 9F B0 09 41 5D 65 F0 3C 5B
-01C0 | E5 20 01 9E F3 04 D3 94 0F 6A 99 3A A1 B1 86 E0
-01D0 | 43 59 F1 8B B9 78 5C 06 3A 6D 85 72 66 98 0A 4C
-01E0 | 53 1B 37 71 2F 3C 44 04 30 2F 21 8D 2C ED 8B A2
-01F0 | D0 59 6A D8 49 77 FF 83 BC 68 C1 7E EB 8B DF 9B
-0200 | 1B 0D E8 CA 1D 56 B1 59 8F 86 90 C4 A2 0E 43 A0
-0210 | 80 77 99 7E BB 9C 07 37 E7 74 C7 0B D0 43 CE 5F
-0220 | CF BB 6D 4C 75 0D 37 7F 98 6A 5B 4B 97 BA AF D7
-0230 | 03 19 4C C0 96 A3 EA 0E BE 9D 31 3A 05 51 1A 99
-0240 | 7F 9B D5 7F CE 77 AE FA 22 83 DE 5A 16 BD CD 0E
-0250 | 6D B7 AF 02 F2 CF 1C 9D 3F F4 C2 81 8B 40 CF D6
-0260 | 42 4C 98 5F 38 ED 61 8D AD 9C 9E 97 85 E7 60 95
-0270 | 5B FA 1A 11 7E FE 9F 4D FD 5A 7F 52 BA 5E 31 1C
-0280 | E8 55 DF B9 F5 8E 8C 93 ED 78 12 A8
+0000 | 00 00 00 00 00 00 00 00 01 94 EA E4 DC 3A 88 66
+0010 | B8 02 00 00 5C 07 E8 D0 A8 F4 80 B7 39 AF 24 DC
+0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
+0030 | D7 D6 23 C5 FD B3 E2 7E FE 50 02 00 42 6E 17 8E
+0040 | 22 90 2F B5 61 4A 76 E3 DC 90 5D 42 93 8A 76 60
+0050 | DC 15 8B AB 4C 87 70 77 1A AD BE 7E 12 9D 92 E7
+0060 | 19 76 6B 59 B1 41 23 A2 54 48 74 AA 6C 35 57 83
+0070 | 40 E9 FE A2 9A 1E D1 B6 A4 D1 1B FD 0A 2A 89 30
+0080 | 9A 66 48 06 00 F5 EF 2B 6A 63 83 00 C0 67 FF 25
+0090 | 98 18 AE 91 7F 98 C6 7B BE 06 36 46 15 7D 3F 31
+00A0 | A8 22 E5 9B 6B 81 B0 EB 73 76 DC 29 50 D5 83 95
+00B0 | D1 4B DC 6E 6E 2A 27 CD C6 B9 1B 93 01 4C F8 EA
+00C0 | 22 25 AC C6 5B CA 90 4C DC 2F E4 AA 8A 50 49 F0
+00D0 | 83 5F 15 A4 94 11 29 43 71 81 CF DA 22 0E A9 B4
+00E0 | E5 C7 12 73 C8 5A 05 DF CD B9 BC 80 F6 75 6F F3
+00F0 | AD 03 11 6D 4C 74 A2 EF 46 97 25 1E F5 2A DA EE
+0100 | 51 77 A8 6A 8D C1 31 D3 CA 5C 9A A1 6C BF 4B 3A
+0110 | 2B E8 D6 55 26 B7 AC 53 4F 24 2D 4C 93 87 E6 1F
+0120 | 34 63 7B 61 18 A2 2E FD C3 C1 9F 3F D0 CD 14 63
+0130 | E3 F2 40 B4 75 08 31 E5 3D 5A B1 9E 42 AE 16 E1
+0140 | 0E F7 A0 6E C4 15 CB 20 B2 52 21 FB E4 5F 2B D0
+0150 | 63 3E 2D C3 31 65 B9 A6 EE 04 C6 7C F1 32 A6 32
+0160 | 1E E0 22 12 CD 07 DC 57 7F 14 34 FF 0B 57 7D 15
+0170 | 55 B0 46 A5 2F 99 AF 8F AF A7 DF 21 CB E3 BD 6E
+0180 | 8C 6E 91 6D DE 2D 2D 02 BC 63 25 26 92 9A B2 59
+0190 | 3F 8A 97 F0 97 86 82 86 BB 85 25 BE FE 05 CD A8
+01A0 | 46 9D 21 4C 47 8F 53 29 08 D5 3A E0 72 A2 02 84
+01B0 | 6A AB 09 F9 06 DD 38 D5 07 57 2D FF C9 3D 74 18
+01C0 | 14 D2 F7 01 F5 05 4E CD 46 84 C3 8A DC 24 95 33
+01D0 | CD 33 FC 87 AA 06 BD AD 4C 9C F4 E1 6C 24 F3 C5
+01E0 | 43 32 6F BB 15 F5 CC 8A 45 BD 06 55 37 E4 B4 6F
+01F0 | FF D0 3A 9C 90 51 6C B7 CB EE DE 43 71 AF 94 5E
+0200 | BA DF B7 2C E3 8B 4C 87 4B E2 FA A6 80 AA F0 67
+0210 | DA 3A 5D 06 0A 9C 7F 5A F6 20 93 AD 3D 32 8A 31
+0220 | 41 AB 75 83 BA 28 F3 E7 A5 DA 66 09 1C DF 80 0D
+0230 | 32 43 28 6E EC 08 AE 96 DE 97 94 1C 51 41 2C 3D
+0240 | 9A CC 4F 25 E9 23 64 28 C9 98 17 B0 AE CE 80 61
+0250 | B7 B0 D6 B4 B3 09 6B 8A 65 17 CF C0 17 11 3A 8B
+0260 | F3 16 95 03 5C 12 39 EE 74 0F B5 DD 35 78 40 95
+0270 | 54 44 D9 2C 16 72 41 57 09 A4 1F EB E2 78 79 4C
+0280 | 0D 32 0B 18 80 77 28 08 94 F6 E1 C0
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 = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
message_id
8, 8
-0108C80455368866
+0194EAE4DC3A8866
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-90020000
(656 in decimal)
+B8020000
(696 in decimal)
Message body length
@@ -482,19 +482,19 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
nonce
24, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
40, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
encrypted_answer
56, 596
-FE5002001379F77A37524F5531586002
0AA7C0A93F2219C9BCAF2D9D68C33D67
DB3B92DBB17D6C7D445E59CB3D4C89B3
255A50AB09A3AD18A13AEA8CDD2F3926
81C3C7C531F8428CDE717E6D59773E4C
2ED7D182626890AA3FE90780A690986E
D2A690BDC4B1CADB0A9457193D5CA2CD
5C4038A1ED5EDC48582F024BE40683C6
32CA279AFD8FA352A22FED98CB135BFF
459865463A4B93760D0ECFDEEDFBA55C
F6EEAB8EF558C75F13E51C3660329FAE
40078B98C88E44B3970467573061B6FC
4263A467B360F9BCFE5D5373D95588ED
CFC48E777C68BD13AC42C3607BAD9355
741BDCE3E33421FA36CC4711D3C0A258
628077168D3E6AD39A8ED44DA6301A8F
C22DCC665FC6B708E219E536A0D04198
5E445EE21C91EA725CE428C4886F857A
DA51F24953998DCB09976E6F11DA273A
F361FF72A9912851572C2E211E38D710
1A02008D2F5DA93FE4916061964D104C
81328105B5C4E44165091AFCA438A3C1
4196B3559684469A8EEF387F16974A24
CE17D5FAB72CCF306FB3B494AFD4279F
B009415D65F03C5BE520019EF304D394
0F6A993AA1B186E04359F18BB9785C06
3A6D857266980A4C531B37712F3C4404
302F218D2CED8BA2D0596AD84977FF83
BC68C17EEB8BDF9B1B0DE8CA1D56B159
8F8690C4A20E43A08077997EBB9C0737
E774C70BD043CE5FCFBB6D4C750D377F
986A5B4B97BAAFD703194CC096A3EA0E
BE9D313A05511A997F9BD57FCE77AEFA
2283DE5A16BDCD0E6DB7AF02F2CF1C9D
3FF4C2818B40CFD6424C985F38ED618D
AD9C9E9785E760955BFA1A117EFE9F4D
FD5A7F52BA5E311CE855DFB9F58E8C93
ED7812A8
+FE500200426E178E22902FB5614A76E3
DC905D42938A7660DC158BAB4C877077
1AADBE7E129D92E719766B59B14123A2
544874AA6C35578340E9FEA29A1ED1B6
A4D11BFD0A2A89309A66480600F5EF2B
6A638300C067FF259818AE917F98C67B
BE063646157D3F31A822E59B6B81B0EB
7376DC2950D58395D14BDC6E6E2A27CD
C6B91B93014CF8EA2225ACC65BCA904C
DC2FE4AA8A5049F0835F15A494112943
7181CFDA220EA9B4E5C71273C85A05DF
CDB9BC80F6756FF3AD03116D4C74A2EF
4697251EF52ADAEE5177A86A8DC131D3
CA5C9AA16CBF4B3A2BE8D65526B7AC53
4F242D4C9387E61F34637B6118A22EFD
C3C19F3FD0CD1463E3F240B4750831E5
3D5AB19E42AE16E10EF7A06EC415CB20
B25221FBE45F2BD0633E2DC33165B9A6
EE04C67CF132A6321EE02212CD07DC57
7F1434FF0B577D1555B046A52F99AF8F
AFA7DF21CBE3BD6E8C6E916DDE2D2D02
BC632526929AB2593F8A97F097868286
BB8525BEFE05CDA8469D214C478F5329
08D53AE072A202846AAB09F906DD38D5
07572DFFC93D741814D2F701F5054ECD
4684C38ADC249533CD33FC87AA06BDAD
4C9CF4E16C24F3C543326FBB15F5CC8A
45BD065537E4B46FFFD03A9C90516CB7
CBEEDE4371AF945EBADFB72CE38B4C87
4BE2FAA680AAF067DA3A5D060A9C7F5A
F62093AD3D328A3141AB7583BA28F3E7
A5DA66091CDF800D3243286EEC08AE96
DE97941C51412C3D9ACC4F25E9236428
C99817B0AECE8061B7B0D6B4B3096B8A
6517CFC017113A8BF31695035C1239EE
740FB5DD357840955444D92C16724157
09A41FEBE278794C0D320B1880772808
94F6E1C0
See below
@@ -502,20 +502,20 @@ random_padding_bytes = 9762C3C980F1F993A8E7F526C8E9BB1645F23C3ED26FEB50B52E56910
Decrypt encrypted_answer
using the reverse of the process specified in step 6 :
-encrypted_answer = 1379F77A37524F55315860020AA7C0A93F2219C9BCAF2D9D68C33D67DB3B92DBB17D6C7D445E59CB3D4C89B3255A50AB09A3AD18A13AEA8CDD2F392681C3C7C531F8428CDE717E6D59773E4C2ED7D182626890AA3FE90780A690986ED2A690BDC4B1CADB0A9457193D5CA2CD5C4038A1ED5EDC48582F024BE40683C632CA279AFD8FA352A22FED98CB135BFF459865463A4B93760D0ECFDEEDFBA55CF6EEAB8EF558C75F13E51C3660329FAE40078B98C88E44B3970467573061B6FC4263A467B360F9BCFE5D5373D95588EDCFC48E777C68BD13AC42C3607BAD9355741BDCE3E33421FA36CC4711D3C0A258628077168D3E6AD39A8ED44DA6301A8FC22DCC665FC6B708E219E536A0D041985E445EE21C91EA725CE428C4886F857ADA51F24953998DCB09976E6F11DA273AF361FF72A9912851572C2E211E38D7101A02008D2F5DA93FE4916061964D104C81328105B5C4E44165091AFCA438A3C14196B3559684469A8EEF387F16974A24CE17D5FAB72CCF306FB3B494AFD4279FB009415D65F03C5BE520019EF304D3940F6A993AA1B186E04359F18BB9785C063A6D857266980A4C531B37712F3C4404302F218D2CED8BA2D0596AD84977FF83BC68C17EEB8BDF9B1B0DE8CA1D56B1598F8690C4A20E43A08077997EBB9C0737E774C70BD043CE5FCFBB6D4C750D377F986A5B4B97BAAFD703194CC096A3EA0EBE9D313A05511A997F9BD57FCE77AEFA2283DE5A16BDCD0E6DB7AF02F2CF1C9D3FF4C2818B40CFD6424C985F38ED618DAD9C9E9785E760955BFA1A117EFE9F4DFD5A7F52BA5E311CE855DFB9F58E8C93ED7812A8
-tmp_aes_key = AB9279E6573234EE8C58F5DF0582D96E0C8565AF421956273B4566749973F014
-tmp_aes_iv = CC9DB090E4B756E038674E7D3471F4866629D75BBC2185CE49E75A0B091AAA71
+encrypted_answer = 426E178E22902FB5614A76E3DC905D42938A7660DC158BAB4C8770771AADBE7E129D92E719766B59B14123A2544874AA6C35578340E9FEA29A1ED1B6A4D11BFD0A2A89309A66480600F5EF2B6A638300C067FF259818AE917F98C67BBE063646157D3F31A822E59B6B81B0EB7376DC2950D58395D14BDC6E6E2A27CDC6B91B93014CF8EA2225ACC65BCA904CDC2FE4AA8A5049F0835F15A4941129437181CFDA220EA9B4E5C71273C85A05DFCDB9BC80F6756FF3AD03116D4C74A2EF4697251EF52ADAEE5177A86A8DC131D3CA5C9AA16CBF4B3A2BE8D65526B7AC534F242D4C9387E61F34637B6118A22EFDC3C19F3FD0CD1463E3F240B4750831E53D5AB19E42AE16E10EF7A06EC415CB20B25221FBE45F2BD0633E2DC33165B9A6EE04C67CF132A6321EE02212CD07DC577F1434FF0B577D1555B046A52F99AF8FAFA7DF21CBE3BD6E8C6E916DDE2D2D02BC632526929AB2593F8A97F097868286BB8525BEFE05CDA8469D214C478F532908D53AE072A202846AAB09F906DD38D507572DFFC93D741814D2F701F5054ECD4684C38ADC249533CD33FC87AA06BDAD4C9CF4E16C24F3C543326FBB15F5CC8A45BD065537E4B46FFFD03A9C90516CB7CBEEDE4371AF945EBADFB72CE38B4C874BE2FAA680AAF067DA3A5D060A9C7F5AF62093AD3D328A3141AB7583BA28F3E7A5DA66091CDF800D3243286EEC08AE96DE97941C51412C3D9ACC4F25E9236428C99817B0AECE8061B7B0D6B4B3096B8A6517CFC017113A8BF31695035C1239EE740FB5DD357840955444D92C1672415709A41FEBE278794C0D320B188077280894F6E1C0
+tmp_aes_key = 42399E0DC08B83C9C20217EC98E69268437D8AD8E975FA6AA59A7C471C631840
+tmp_aes_iv = C57F717B633C595F44189FD35CA951249D64FAC426AA6356C020DFFC847F523C
Yielding:
-answer_with_hash = 93B3E6A73ECB761901C306C673AEEB8ADF2E6B74BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001000653720F187D514C0C42DEF6B12D9E800A37AAC1438D5B685C04CA62B78FCF209DA40AA99C8D889300F83B33FCAFE4CEF78C852F361ADC220031483E2FA9A1F26B141BC44EA495807A4682943631ADA223371C493D2CFB86D69991CD5F441ECAE69168A701048B8D54B95337BD8967CAF5038656ACF19FEF86FD0A4861D8AC40DA8872034894655C5CC7C3A09A3DEA76FB4CE3688A1D8DD19DD624347E6B50287A375FE36F7F6B3BE825A558C9FC89BACF77426F767B047CD4AC85C325239F4998D78D0D2A7AB48A555DD29616C40142706CE9A78B39AFB3B5F1FC82D76149736181B6D4CFA563A3BCF064ABA151D31CEAB267C6646362679E36F5621DBCDDA755368866BD518A77076B8660
-answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94203000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001000653720F187D514C0C42DEF6B12D9E800A37AAC1438D5B685C04CA62B78FCF209DA40AA99C8D889300F83B33FCAFE4CEF78C852F361ADC220031483E2FA9A1F26B141BC44EA495807A4682943631ADA223371C493D2CFB86D69991CD5F441ECAE69168A701048B8D54B95337BD8967CAF5038656ACF19FEF86FD0A4861D8AC40DA8872034894655C5CC7C3A09A3DEA76FB4CE3688A1D8DD19DD624347E6B50287A375FE36F7F6B3BE825A558C9FC89BACF77426F767B047CD4AC85C325239F4998D78D0D2A7AB48A555DD29616C40142706CE9A78B39AFB3B5F1FC82D76149736181B6D4CFA563A3BCF064ABA151D31CEAB267C6646362679E36F5621DBCDDA755368866BD518A77076B8660
+answer_with_hash = 39775B6232D4C2F4382E5803183279EA622540EFBA0D89B5A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010047D812AECDF80839F08C2D76E2D34568296A585B271BE25B2123A0EDD7092A28BA93EF5708E327CA2CA59711F9495FA944393B15B6295314A2427487124FAC422549250C3629AB5463D5344C94ABD3E61EBF102EF7E1C7B9A00C2781B4BD224E126A49268F8E322E89A04E69A1ED964AA2577C7A30D345C828321B360DDCCBC46F14BA6E5A0E5ACC63D0D851725F99D8C99B9EF116E522AF5B277F21B01D06CED3727B9249F3902C595AB19E2AEDCF566317A9215F35B859CA79584B3982EB73FB69A2035668C0BBBD5D1F56CB93A7F625D14C9B955834821031E300EE6520FE79B9194460B17C4706E5558B2BE16E2EEA73C6A237CF8598AF283FCC2564D0B7DC3A88669E0FCAE80AE7D45F
+answer = BA0D89B5A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010047D812AECDF80839F08C2D76E2D34568296A585B271BE25B2123A0EDD7092A28BA93EF5708E327CA2CA59711F9495FA944393B15B6295314A2427487124FAC422549250C3629AB5463D5344C94ABD3E61EBF102EF7E1C7B9A00C2781B4BD224E126A49268F8E322E89A04E69A1ED964AA2577C7A30D345C828321B360DDCCBC46F14BA6E5A0E5ACC63D0D851725F99D8C99B9EF116E522AF5B277F21B01D06CED3727B9249F3902C595AB19E2AEDCF566317A9215F35B859CA79584B3982EB73FB69A2035668C0BBBD5D1F56CB93A7F625D14C9B955834821031E300EE6520FE79B9194460B17C4706E5558B2BE16E2EEA73C6A237CF8598AF283FCC2564D0B7DC3A88669E0FCAE80AE7D45F
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 F4 1E 05 98 BA BA EF 42 9A 98 83 ED
-0010 | F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 75 83 86 C4
-0020 | 3F CF E9 42 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09
+0010 | BA 14 02 07 D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5
+0020 | FD B3 E2 7E 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 = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
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 | 06 53 72 0F 18 7D 51 4C 0C 42 DE F6 B1 2D 9E 80
-0140 | 0A 37 AA C1 43 8D 5B 68 5C 04 CA 62 B7 8F CF 20
-0150 | 9D A4 0A A9 9C 8D 88 93 00 F8 3B 33 FC AF E4 CE
-0160 | F7 8C 85 2F 36 1A DC 22 00 31 48 3E 2F A9 A1 F2
-0170 | 6B 14 1B C4 4E A4 95 80 7A 46 82 94 36 31 AD A2
-0180 | 23 37 1C 49 3D 2C FB 86 D6 99 91 CD 5F 44 1E CA
-0190 | E6 91 68 A7 01 04 8B 8D 54 B9 53 37 BD 89 67 CA
-01A0 | F5 03 86 56 AC F1 9F EF 86 FD 0A 48 61 D8 AC 40
-01B0 | DA 88 72 03 48 94 65 5C 5C C7 C3 A0 9A 3D EA 76
-01C0 | FB 4C E3 68 8A 1D 8D D1 9D D6 24 34 7E 6B 50 28
-01D0 | 7A 37 5F E3 6F 7F 6B 3B E8 25 A5 58 C9 FC 89 BA
-01E0 | CF 77 42 6F 76 7B 04 7C D4 AC 85 C3 25 23 9F 49
-01F0 | 98 D7 8D 0D 2A 7A B4 8A 55 5D D2 96 16 C4 01 42
-0200 | 70 6C E9 A7 8B 39 AF B3 B5 F1 FC 82 D7 61 49 73
-0210 | 61 81 B6 D4 CF A5 63 A3 BC F0 64 AB A1 51 D3 1C
-0220 | EA B2 67 C6 64 63 62 67 9E 36 F5 62 1D BC DD A7
-0230 | 55 36 88 66
+0130 | 47 D8 12 AE CD F8 08 39 F0 8C 2D 76 E2 D3 45 68
+0140 | 29 6A 58 5B 27 1B E2 5B 21 23 A0 ED D7 09 2A 28
+0150 | BA 93 EF 57 08 E3 27 CA 2C A5 97 11 F9 49 5F A9
+0160 | 44 39 3B 15 B6 29 53 14 A2 42 74 87 12 4F AC 42
+0170 | 25 49 25 0C 36 29 AB 54 63 D5 34 4C 94 AB D3 E6
+0180 | 1E BF 10 2E F7 E1 C7 B9 A0 0C 27 81 B4 BD 22 4E
+0190 | 12 6A 49 26 8F 8E 32 2E 89 A0 4E 69 A1 ED 96 4A
+01A0 | A2 57 7C 7A 30 D3 45 C8 28 32 1B 36 0D DC CB C4
+01B0 | 6F 14 BA 6E 5A 0E 5A CC 63 D0 D8 51 72 5F 99 D8
+01C0 | C9 9B 9E F1 16 E5 22 AF 5B 27 7F 21 B0 1D 06 CE
+01D0 | D3 72 7B 92 49 F3 90 2C 59 5A B1 9E 2A ED CF 56
+01E0 | 63 17 A9 21 5F 35 B8 59 CA 79 58 4B 39 82 EB 73
+01F0 | FB 69 A2 03 56 68 C0 BB BD 5D 1F 56 CB 93 A7 F6
+0200 | 25 D1 4C 9B 95 58 34 82 10 31 E3 00 EE 65 20 FE
+0210 | 79 B9 19 44 60 B1 7C 47 06 E5 55 8B 2B E1 6E 2E
+0220 | EA 73 C6 A2 37 CF 85 98 AF 28 3F CC 25 64 D0 B7
+0230 | DC 3A 88 66
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 = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
nonce
4, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
20, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
g_a
300, 260
-FE0001000653720F187D514C0C42DEF6
B12D9E800A37AAC1438D5B685C04CA62
B78FCF209DA40AA99C8D889300F83B33
FCAFE4CEF78C852F361ADC220031483E
2FA9A1F26B141BC44EA495807A468294
3631ADA223371C493D2CFB86D69991CD
5F441ECAE69168A701048B8D54B95337
BD8967CAF5038656ACF19FEF86FD0A48
61D8AC40DA8872034894655C5CC7C3A0
9A3DEA76FB4CE3688A1D8DD19DD62434
7E6B50287A375FE36F7F6B3BE825A558
C9FC89BACF77426F767B047CD4AC85C3
25239F4998D78D0D2A7AB48A555DD296
16C40142706CE9A78B39AFB3B5F1FC82
D76149736181B6D4CFA563A3BCF064AB
A151D31CEAB267C6646362679E36F562
1DBCDDA7
+FE00010047D812AECDF80839F08C2D76
E2D34568296A585B271BE25B2123A0ED
D7092A28BA93EF5708E327CA2CA59711
F9495FA944393B15B6295314A2427487
124FAC422549250C3629AB5463D5344C
94ABD3E61EBF102EF7E1C7B9A00C2781
B4BD224E126A49268F8E322E89A04E69
A1ED964AA2577C7A30D345C828321B36
0DDCCBC46F14BA6E5A0E5ACC63D0D851
725F99D8C99B9EF116E522AF5B277F21
B01D06CED3727B9249F3902C595AB19E
2AEDCF566317A9215F35B859CA79584B
3982EB73FB69A2035668C0BBBD5D1F56
CB93A7F625D14C9B955834821031E300
EE6520FE79B9194460B17C4706E5558B
2BE16E2EEA73C6A237CF8598AF283FCC
2564D0B7
g_a
diffie-hellman parameter
server_time
560, 4
-55368866
(1720202837 in decimal)
+DC3A8866
(1720203996 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
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 = 214731A5917AFB2E65ACA58FF6B287DBFB066E45FE502742BF04D04EBFAF1825EBF733EAF77C00AFE0C708CA86A17D0617F6ACCF3201FE0459FF3BC4F53064BCA7C86F6950BC2953032C34EC5F4F04238473B7CA741267909C6EDFB44A1A9903E6527051207B945EB9B77C7683B8294B19A31CA56643C583C499CBF634653D40BD0CF68F5CF7638540D69F652CA1F97C68894423717DA93318A9264C5BF9467AC3478B61371A6806169BC99FDCF3556EF7D1F1DA879D8F8AFA20E28A9DDA25BE100ED11B8849FB4ED7789211A8C0E5097A339543CCCC8FEB5036CEEE90A8CD5374C277C7158DD168623EEB1EE3231A40FC6788C6F7F9585DBB7E73504C7CE24F
+b = 8149841F0753CAE82484A377B7E164F48F7249FAF0626EAA59639BBBFDE8F0BED3C009AFE647DD91F02DF8B9CA4A7CEDC1E3459EE46C84949830EA7C24280DBAFDDFA93318DF4ADDE90B507F5024C5F30DAA31EA30268C35D9D412DA3EC2F0D0AEA7465C78B8B32C88E0503D809AD623B31396F0846412B40065BEE4624D2A97F3351EEE21D82B4BAF6287AEEA4E1E9EC9E4CA41A6F3A514BABBA70656D0047AE8BA125D37D4C56E1ACF6C56C6A699017F00169028B8D67705B8754D7251320298F8F25D71F1D528AD671F5CA6FDF58BCF03D399DFDDFB9A0ED614D1771BB096F5B9AAA565EE9F55B95D012A579BC1502D45FD6185824A0E6F2E278BBC4F12DC
Then compute g_b = pow(g, b) mod dh_prime
-g_b = BDD94C16E30FA21FEFE8666865F0D0FCE25F3EDF1B1D86187D1EAEADB8F695DF826EDD914AE36C379DEAC562EA326A0F90AABA6C54F628957B256769164302441E24A59C59E66A6C890A89F01FEAF2DF39CC3CDA4F7C9F3DFBF251048F13BA6AECC0C5951375388D67842FC4901B89E1BA5E7E83D3AB2635FD4B343D894B27E589F8AE3E8625A8B4DFD00686629F4990CFF85435474DC3191A996322DC222D2C893627CB2CF6930F3339B224FDAF6AEACE4B549B15A1DA1CFE17D6EEBDE770D39ADDCE4E5A130F2D84EB0EDBBE35D832BBC4D410F2D6E72F34B2D394FC1DA9133DA63532BDC39C496E7A21D09A924A8F21AC00445BF5676FDE5C2F336FA819B7
+g_b = 51CF738CC8C6AAE1989C4AF33919C34F99EDB542CC6B68CD93C9C0D3D91C53A893A56C254F77353DDA42D3BA663D52BEEBE6BD2453498832D3E6DB44A167167E3736C87F730971E11DDDCD4F3B3A5A8E0023282E037D482D8D326D04CC6A104036D7BEBBC8B734059C62B5F3F25B98075030D5438E28494AF706CDAC346AFC9A77DAE40E0BECBBFBF689BEA9E72912F0067D03ADB06A496E5920973D20EEEC5C8B6B0FEEA1D94DCA8E864ABBB7E462FA7A46A085F916BAD17D0B3010D06D722F7016BE4F46657B8E185843C78947E656D4B11BEDAC364B896606E45171FA5CC724A04F94278623632FF811AEB3A285CC9FB660103D2C172766D5DF89F7DC6D3B
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 F4 1E 05 98 BA BA EF 42 9A 98 83 ED
-0010 | F3 C9 47 22 F3 62 D2 D6 A6 22 24 04 75 83 86 C4
-0020 | 3F CF E9 42 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | BD D9 4C 16 E3 0F A2 1F EF E8 66 68 65 F0 D0 FC
-0040 | E2 5F 3E DF 1B 1D 86 18 7D 1E AE AD B8 F6 95 DF
-0050 | 82 6E DD 91 4A E3 6C 37 9D EA C5 62 EA 32 6A 0F
-0060 | 90 AA BA 6C 54 F6 28 95 7B 25 67 69 16 43 02 44
-0070 | 1E 24 A5 9C 59 E6 6A 6C 89 0A 89 F0 1F EA F2 DF
-0080 | 39 CC 3C DA 4F 7C 9F 3D FB F2 51 04 8F 13 BA 6A
-0090 | EC C0 C5 95 13 75 38 8D 67 84 2F C4 90 1B 89 E1
-00A0 | BA 5E 7E 83 D3 AB 26 35 FD 4B 34 3D 89 4B 27 E5
-00B0 | 89 F8 AE 3E 86 25 A8 B4 DF D0 06 86 62 9F 49 90
-00C0 | CF F8 54 35 47 4D C3 19 1A 99 63 22 DC 22 2D 2C
-00D0 | 89 36 27 CB 2C F6 93 0F 33 39 B2 24 FD AF 6A EA
-00E0 | CE 4B 54 9B 15 A1 DA 1C FE 17 D6 EE BD E7 70 D3
-00F0 | 9A DD CE 4E 5A 13 0F 2D 84 EB 0E DB BE 35 D8 32
-0100 | BB C4 D4 10 F2 D6 E7 2F 34 B2 D3 94 FC 1D A9 13
-0110 | 3D A6 35 32 BD C3 9C 49 6E 7A 21 D0 9A 92 4A 8F
-0120 | 21 AC 00 44 5B F5 67 6F DE 5C 2F 33 6F A8 19 B7
+0000 | 54 B6 43 66 A8 F4 80 B7 39 AF 24 DC 39 2C 2B 09
+0010 | BA 14 02 07 D2 2B 8C 0A 59 AD 58 90 D7 D6 23 C5
+0020 | FD B3 E2 7E 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 51 CF 73 8C C8 C6 AA E1 98 9C 4A F3 39 19 C3 4F
+0040 | 99 ED B5 42 CC 6B 68 CD 93 C9 C0 D3 D9 1C 53 A8
+0050 | 93 A5 6C 25 4F 77 35 3D DA 42 D3 BA 66 3D 52 BE
+0060 | EB E6 BD 24 53 49 88 32 D3 E6 DB 44 A1 67 16 7E
+0070 | 37 36 C8 7F 73 09 71 E1 1D DD CD 4F 3B 3A 5A 8E
+0080 | 00 23 28 2E 03 7D 48 2D 8D 32 6D 04 CC 6A 10 40
+0090 | 36 D7 BE BB C8 B7 34 05 9C 62 B5 F3 F2 5B 98 07
+00A0 | 50 30 D5 43 8E 28 49 4A F7 06 CD AC 34 6A FC 9A
+00B0 | 77 DA E4 0E 0B EC BB FB F6 89 BE A9 E7 29 12 F0
+00C0 | 06 7D 03 AD B0 6A 49 6E 59 20 97 3D 20 EE EC 5C
+00D0 | 8B 6B 0F EE A1 D9 4D CA 8E 86 4A BB B7 E4 62 FA
+00E0 | 7A 46 A0 85 F9 16 BA D1 7D 0B 30 10 D0 6D 72 2F
+00F0 | 70 16 BE 4F 46 65 7B 8E 18 58 43 C7 89 47 E6 56
+0100 | D4 B1 1B ED AC 36 4B 89 66 06 E4 51 71 FA 5C C7
+0110 | 24 A0 4F 94 27 86 23 63 2F F8 11 AE B3 A2 85 CC
+0120 | 9F B6 60 10 3D 2C 17 27 66 D5 DF 89 F7 DC 6D 3B
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 = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
nonce
4, 16
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
20, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
g_b
36, 260
-FE000100BDD94C16E30FA21FEFE86668
65F0D0FCE25F3EDF1B1D86187D1EAEAD
B8F695DF826EDD914AE36C379DEAC562
EA326A0F90AABA6C54F628957B256769
164302441E24A59C59E66A6C890A89F0
1FEAF2DF39CC3CDA4F7C9F3DFBF25104
8F13BA6AECC0C5951375388D67842FC4
901B89E1BA5E7E83D3AB2635FD4B343D
894B27E589F8AE3E8625A8B4DFD00686
629F4990CFF85435474DC3191A996322
DC222D2C893627CB2CF6930F3339B224
FDAF6AEACE4B549B15A1DA1CFE17D6EE
BDE770D39ADDCE4E5A130F2D84EB0EDB
BE35D832BBC4D410F2D6E72F34B2D394
FC1DA9133DA63532BDC39C496E7A21D0
9A924A8F21AC00445BF5676FDE5C2F33
6FA819B7
+FE00010051CF738CC8C6AAE1989C4AF3
3919C34F99EDB542CC6B68CD93C9C0D3
D91C53A893A56C254F77353DDA42D3BA
663D52BEEBE6BD2453498832D3E6DB44
A167167E3736C87F730971E11DDDCD4F
3B3A5A8E0023282E037D482D8D326D04
CC6A104036D7BEBBC8B734059C62B5F3
F25B98075030D5438E28494AF706CDAC
346AFC9A77DAE40E0BECBBFBF689BEA9
E72912F0067D03ADB06A496E5920973D
20EEEC5C8B6B0FEEA1D94DCA8E864ABB
B7E462FA7A46A085F916BAD17D0B3010
D06D722F7016BE4F46657B8E185843C7
8947E656D4B11BEDAC364B896606E451
71FA5CC724A04F94278623632FF811AE
B3A285CC9FB660103D2C172766D5DF89
F7DC6D3B
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B5F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE94
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 = 54B64366F41E0598BABAEF429A9883EDF3C94722F362D2D6A6222404758386C43FCFE9420000000000000000FE000100BDD94C16E30FA21FEFE8666865F0D0FCE25F3EDF1B1D86187D1EAEADB8F695DF826EDD914AE36C379DEAC562EA326A0F90AABA6C54F628957B256769164302441E24A59C59E66A6C890A89F01FEAF2DF39CC3CDA4F7C9F3DFBF251048F13BA6AECC0C5951375388D67842FC4901B89E1BA5E7E83D3AB2635FD4B343D894B27E589F8AE3E8625A8B4DFD00686629F4990CFF85435474DC3191A996322DC222D2C893627CB2CF6930F3339B224FDAF6AEACE4B549B15A1DA1CFE17D6EEBDE770D39ADDCE4E5A130F2D84EB0EDBBE35D832BBC4D410F2D6E72F34B2D394FC1DA9133DA63532BDC39C496E7A21D09A924A8F21AC00445BF5676FDE5C2F336FA819B7
-padding = C887A13A49F62FEEB07A8973
-tmp_aes_key = AB9279E6573234EE8C58F5DF0582D96E0C8565AF421956273B4566749973F014
-tmp_aes_iv = CC9DB090E4B756E038674E7D3471F4866629D75BBC2185CE49E75A0B091AAA71
+data = 54B64366A8F480B739AF24DC392C2B09BA140207D22B8C0A59AD5890D7D623C5FDB3E27E0000000000000000FE00010051CF738CC8C6AAE1989C4AF33919C34F99EDB542CC6B68CD93C9C0D3D91C53A893A56C254F77353DDA42D3BA663D52BEEBE6BD2453498832D3E6DB44A167167E3736C87F730971E11DDDCD4F3B3A5A8E0023282E037D482D8D326D04CC6A104036D7BEBBC8B734059C62B5F3F25B98075030D5438E28494AF706CDAC346AFC9A77DAE40E0BECBBFBF689BEA9E72912F0067D03ADB06A496E5920973D20EEEC5C8B6B0FEEA1D94DCA8E864ABBB7E462FA7A46A085F916BAD17D0B3010D06D722F7016BE4F46657B8E185843C78947E656D4B11BEDAC364B896606E45171FA5CC724A04F94278623632FF811AEB3A285CC9FB660103D2C172766D5DF89F7DC6D3B
+padding = 91BE64FD49CE67D4436F9817
+tmp_aes_key = 42399E0DC08B83C9C20217EC98E69268437D8AD8E975FA6AA59A7C471C631840
+tmp_aes_iv = C57F717B633C595F44189FD35CA951249D64FAC426AA6356C020DFFC847F523C
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 = 24CD7D425A7F375B3DFA0E08B0EF4C7855B682102B639D87849DA3FAA6996A20A5293C7FB4B2548B221D24B128102B324F1418FC6153C71E421DD19DDA18FDF7324F8725873FE1CD490B854E2DB5B07EDA289AC42705C11025B20683B3BE45F21FCC4C130346F5920A381B47DF3AAC3F374471AD273CF35A8A3239EEA383A4B8BA1E73B9ABC299EC1CBE8E33ABCC4AA1E71D2CC2E045B6E1D9FD3B8075497F381F353A85D8112F1AAA6ABA9C273FC4B06E5A947425484C757556D25D9C3952EE45C663DE37D6BD72D9AE7E46F6414BF937F824BEA9481BD4B5B8CD938735F984D2DB48FBEB282C61DF46A603BE2E13D636B5DFA14E7EA8B4D29684DAC5A571B477CD8F7D7635A4414F5B38C4D962747D0D006FEA064BAD3BF88B5E2847F69F128F2AF59CBB5466832A8750EB6D8449A1D01F8D6668BED0E6F33A43825E0E70B9D95CEBCCB19A71F2C28113DD5EE7EB94
+encrypted_data = D23BCB061637C7033E5195A5820A01C5BE10A765D935A1691F87A8C81B94AC8CFB665383407F5B3EF9F0286454A8A8B647913B0D5672935C8C069287FADA4F5DFC066CA7918EC1CF63D969B7F6C8579E6177986F909D20B5883D897658CE08D16B9793F565ACFA31A937CA636ADABB454856272EC0160C67A703906F495B1E256C0A240F4868272D0A407FD2963FD9D92C3105B3CDE1F048C787FD48D9B1293C6EE5A15CE9DEDD77AADA146F8F3B8F2A3A7DA291D6DE90F0EC5824ECFE8310C51059FA24BB02893933F50CFE9D401F45A8B0B10673F32F0021817DF5612DA0529181C68FC48D37EC94A2B9BE4F4DF4A72747093D79B6CFD6C0A7824BE4973A4AD4D892930EB7A20CB7006114B3CE2EED87042BE0B99CAAD0002B6BEEAE5135602C2B5900809E04053B3CB25811766B72847EAE74463B82C295A3A5464752DB9FE5B910836DE1C823D7A72F5151C2573C
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 54 D3 0C 00 55 36 88 66
-0010 | 78 01 00 00 1F 5F 04 F5 F4 1E 05 98 BA BA EF 42
-0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04
-0030 | 75 83 86 C4 3F CF E9 42 FE 50 01 00 24 CD 7D 42
-0040 | 5A 7F 37 5B 3D FA 0E 08 B0 EF 4C 78 55 B6 82 10
-0050 | 2B 63 9D 87 84 9D A3 FA A6 99 6A 20 A5 29 3C 7F
-0060 | B4 B2 54 8B 22 1D 24 B1 28 10 2B 32 4F 14 18 FC
-0070 | 61 53 C7 1E 42 1D D1 9D DA 18 FD F7 32 4F 87 25
-0080 | 87 3F E1 CD 49 0B 85 4E 2D B5 B0 7E DA 28 9A C4
-0090 | 27 05 C1 10 25 B2 06 83 B3 BE 45 F2 1F CC 4C 13
-00A0 | 03 46 F5 92 0A 38 1B 47 DF 3A AC 3F 37 44 71 AD
-00B0 | 27 3C F3 5A 8A 32 39 EE A3 83 A4 B8 BA 1E 73 B9
-00C0 | AB C2 99 EC 1C BE 8E 33 AB CC 4A A1 E7 1D 2C C2
-00D0 | E0 45 B6 E1 D9 FD 3B 80 75 49 7F 38 1F 35 3A 85
-00E0 | D8 11 2F 1A AA 6A BA 9C 27 3F C4 B0 6E 5A 94 74
-00F0 | 25 48 4C 75 75 56 D2 5D 9C 39 52 EE 45 C6 63 DE
-0100 | 37 D6 BD 72 D9 AE 7E 46 F6 41 4B F9 37 F8 24 BE
-0110 | A9 48 1B D4 B5 B8 CD 93 87 35 F9 84 D2 DB 48 FB
-0120 | EB 28 2C 61 DF 46 A6 03 BE 2E 13 D6 36 B5 DF A1
-0130 | 4E 7E A8 B4 D2 96 84 DA C5 A5 71 B4 77 CD 8F 7D
-0140 | 76 35 A4 41 4F 5B 38 C4 D9 62 74 7D 0D 00 6F EA
-0150 | 06 4B AD 3B F8 8B 5E 28 47 F6 9F 12 8F 2A F5 9C
-0160 | BB 54 66 83 2A 87 50 EB 6D 84 49 A1 D0 1F 8D 66
-0170 | 68 BE D0 E6 F3 3A 43 82 5E 0E 70 B9 D9 5C EB CC
-0180 | B1 9A 71 F2 C2 81 13 DD 5E E7 EB 94
+0000 | 00 00 00 00 00 00 00 00 94 76 0A 00 DC 3A 88 66
+0010 | 78 01 00 00 1F 5F 04 F5 A8 F4 80 B7 39 AF 24 DC
+0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
+0030 | D7 D6 23 C5 FD B3 E2 7E FE 50 01 00 D2 3B CB 06
+0040 | 16 37 C7 03 3E 51 95 A5 82 0A 01 C5 BE 10 A7 65
+0050 | D9 35 A1 69 1F 87 A8 C8 1B 94 AC 8C FB 66 53 83
+0060 | 40 7F 5B 3E F9 F0 28 64 54 A8 A8 B6 47 91 3B 0D
+0070 | 56 72 93 5C 8C 06 92 87 FA DA 4F 5D FC 06 6C A7
+0080 | 91 8E C1 CF 63 D9 69 B7 F6 C8 57 9E 61 77 98 6F
+0090 | 90 9D 20 B5 88 3D 89 76 58 CE 08 D1 6B 97 93 F5
+00A0 | 65 AC FA 31 A9 37 CA 63 6A DA BB 45 48 56 27 2E
+00B0 | C0 16 0C 67 A7 03 90 6F 49 5B 1E 25 6C 0A 24 0F
+00C0 | 48 68 27 2D 0A 40 7F D2 96 3F D9 D9 2C 31 05 B3
+00D0 | CD E1 F0 48 C7 87 FD 48 D9 B1 29 3C 6E E5 A1 5C
+00E0 | E9 DE DD 77 AA DA 14 6F 8F 3B 8F 2A 3A 7D A2 91
+00F0 | D6 DE 90 F0 EC 58 24 EC FE 83 10 C5 10 59 FA 24
+0100 | BB 02 89 39 33 F5 0C FE 9D 40 1F 45 A8 B0 B1 06
+0110 | 73 F3 2F 00 21 81 7D F5 61 2D A0 52 91 81 C6 8F
+0120 | C4 8D 37 EC 94 A2 B9 BE 4F 4D F4 A7 27 47 09 3D
+0130 | 79 B6 CF D6 C0 A7 82 4B E4 97 3A 4A D4 D8 92 93
+0140 | 0E B7 A2 0C B7 00 61 14 B3 CE 2E ED 87 04 2B E0
+0150 | B9 9C AA D0 00 2B 6B EE AE 51 35 60 2C 2B 59 00
+0160 | 80 9E 04 05 3B 3C B2 58 11 76 6B 72 84 7E AE 74
+0170 | 46 3B 82 C2 95 A3 A5 46 47 52 DB 9F E5 B9 10 83
+0180 | 6D E1 C8 23 D7 A7 2F 51 51 C2 57 3C
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
-54D30C0055368866
+94760A00DC3A8866
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
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
40, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
encrypted_data
56, 340
-FE50010024CD7D425A7F375B3DFA0E08
B0EF4C7855B682102B639D87849DA3FA
A6996A20A5293C7FB4B2548B221D24B1
28102B324F1418FC6153C71E421DD19D
DA18FDF7324F8725873FE1CD490B854E
2DB5B07EDA289AC42705C11025B20683
B3BE45F21FCC4C130346F5920A381B47
DF3AAC3F374471AD273CF35A8A3239EE
A383A4B8BA1E73B9ABC299EC1CBE8E33
ABCC4AA1E71D2CC2E045B6E1D9FD3B80
75497F381F353A85D8112F1AAA6ABA9C
273FC4B06E5A947425484C757556D25D
9C3952EE45C663DE37D6BD72D9AE7E46
F6414BF937F824BEA9481BD4B5B8CD93
8735F984D2DB48FBEB282C61DF46A603
BE2E13D636B5DFA14E7EA8B4D29684DA
C5A571B477CD8F7D7635A4414F5B38C4
D962747D0D006FEA064BAD3BF88B5E28
47F69F128F2AF59CBB5466832A8750EB
6D8449A1D01F8D6668BED0E6F33A4382
5E0E70B9D95CEBCCB19A71F2C28113DD
5EE7EB94
+FE500100D23BCB061637C7033E5195A5
820A01C5BE10A765D935A1691F87A8C8
1B94AC8CFB665383407F5B3EF9F02864
54A8A8B647913B0D5672935C8C069287
FADA4F5DFC066CA7918EC1CF63D969B7
F6C8579E6177986F909D20B5883D8976
58CE08D16B9793F565ACFA31A937CA63
6ADABB454856272EC0160C67A703906F
495B1E256C0A240F4868272D0A407FD2
963FD9D92C3105B3CDE1F048C787FD48
D9B1293C6EE5A15CE9DEDD77AADA146F
8F3B8F2A3A7DA291D6DE90F0EC5824EC
FE8310C51059FA24BB02893933F50CFE
9D401F45A8B0B10673F32F0021817DF5
612DA0529181C68FC48D37EC94A2B9BE
4F4DF4A72747093D79B6CFD6C0A7824B
E4973A4AD4D892930EB7A20CB7006114
B3CE2EED87042BE0B99CAAD0002B6BEE
AE5135602C2B5900809E04053B3CB258
11766B72847EAE74463B82C295A3A546
4752DB9FE5B910836DE1C823D7A72F51
51C2573C
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 = 627331A13A3D9868E456AA9B5CAF6398E5D93EA80E05296A0E8699DB541EF517626F8ADA7ED3E57DEA9AF8CEFEE1D23927F9F352BFCF8DEF851471D69066A3B4D52115946D348304E72F46812E18BAEE33D5FDA6C2E801CDC80FEA0951A8B81E068A1F5BC86C321423546EBBBE71E29017CDE5E0C99FD6BC7F13B878E4DA3DFB9F29AD57B68845DA5575DC25BCD9A77F4B06F13645C6D811CA2E67FC75499A276471F8DCF5B4FED6DFD3C567BB3C4583EBAD9917666D9BBE187913E047D70CBCB631E84C639C72472390DE8DDF5605E47F6F13D1E67CF6EC553AC4A2851A9126E75AAC8422D5F6986751A37D81F79513E5CC676F16B1A5B12577E922CB52F247
+auth_key = 918B4A3165A42D7A66B543D2BBA2DE1ACA28AB97562AF601939980EE8D14D9E7CFD9646EBD653D99E5B4467A763A95066DA60CFF7D2B19E7AD5AB1B907EA2A84CCF484CB62895222CD0536868E8244E61599CB24D43E8B390AC7ABC64234522340556F723880990A6FB68797052ABFA986B7415BCD5378A7C95708ECA7AA2A92E52CF210193B46E2816A8BF409C4A0E6B2A2B12C1343E82343E8B0B67278616562111CC6F7CADFEC35A929100E0142842F5095DCC7290D7AECA8AA28C5BA46189437226E18A59A39812125CE62F6277B53CAC2EF785074AB0A0D4DE7600695899600B67DB3DE1A51D8FEA3332D7A96D3873748BBF5B1927F9E88D6C031D598BF
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 9C FF A1 55 36 88 66
-0010 | 80 00 00 00 34 F7 CB 3B F4 1E 05 98 BA BA EF 42
-0020 | 9A 98 83 ED F3 C9 47 22 F3 62 D2 D6 A6 22 24 04
-0030 | 75 83 86 C4 3F CF E9 42 F5 81 1E 06 A2 8A BC 60
-0040 | F6 C8 D2 47 3C 4B 34 5D
+0000 | 00 00 00 00 00 00 00 00 01 0C AF 1F DE 3A 88 66
+0010 | 3C 00 00 00 34 F7 CB 3B A8 F4 80 B7 39 AF 24 DC
+0020 | 39 2C 2B 09 BA 14 02 07 D2 2B 8C 0A 59 AD 58 90
+0030 | D7 D6 23 C5 FD B3 E2 7E A3 4B 78 38 18 EC 5B 3C
+0040 | 51 E2 80 31 A2 A2 5B F5
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
-019CFFA155368866
+010CAF1FDE3A8866
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-80000000
(128 in decimal)
+3C000000
(60 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
-F41E0598BABAEF429A9883EDF3C94722
+A8F480B739AF24DC392C2B09BA140207
Value generated by client in Step 1
server_nonce
40, 16
-F362D2D6A6222404758386C43FCFE942
+D22B8C0A59AD5890D7D623C5FDB3E27E
Value received from server in Step 2
new_nonce_hash1
56, 16
-F5811E06A28ABC60F6C8D2473C4B345D
+A34B783818EC5B3C51E28031A2A25BF5
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/BusinessLocation.html b/data/web/corefork.telegram.org/type/BusinessLocation.html
index e2c09bcb45..0fc2279d1b 100644
--- a/data/web/corefork.telegram.org/type/BusinessLocation.html
+++ b/data/web/corefork.telegram.org/type/BusinessLocation.html
@@ -8,14 +8,14 @@
Constructor
Description
businessLocation
- ">
+Represents the location of a Telegram Business ».">
+Represents the location of a Telegram Business ».">
@@ -74,7 +74,7 @@ businessLocation
businessLocation
-
+Represents the location of a Telegram Business » .
diff --git a/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html b/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
index ddab9dd8f2..4e6365f8b4 100644
--- a/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
+++ b/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
@@ -302,7 +302,7 @@
channelAdminLogEventActionChangeEmojiStickerSet
-
+The supergroup's custom emoji stickerset was changed.
diff --git a/data/web/corefork.telegram.org/type/ConnectedBot.html b/data/web/corefork.telegram.org/type/ConnectedBot.html
index 72f11e33a6..ac73e37bc3 100644
--- a/data/web/corefork.telegram.org/type/ConnectedBot.html
+++ b/data/web/corefork.telegram.org/type/ConnectedBot.html
@@ -8,14 +8,14 @@
Constructor
Description
connectedBot
- ">
+Contains info about a connected business bot ».">
+Contains info about a connected business bot ».">
@@ -74,7 +74,7 @@ connectedBot
connectedBot
-
+Contains info about a connected business bot » .
diff --git a/data/web/corefork.telegram.org/type/ContactBirthday.html b/data/web/corefork.telegram.org/type/ContactBirthday.html
index 9df4940384..fa69412549 100644
--- a/data/web/corefork.telegram.org/type/ContactBirthday.html
+++ b/data/web/corefork.telegram.org/type/ContactBirthday.html
@@ -8,14 +8,14 @@
Constructor
Description
contactBirthday
- ">
+Birthday information of a contact.">
+Birthday information of a contact.">
@@ -74,7 +74,7 @@ contactBirthday
contactBirthday
-
+Birthday information of a contact.
diff --git a/data/web/corefork.telegram.org/type/InputQuickReplyShortcut.html b/data/web/corefork.telegram.org/type/InputQuickReplyShortcut.html
index ebe7b4a011..b638a90f56 100644
--- a/data/web/corefork.telegram.org/type/InputQuickReplyShortcut.html
+++ b/data/web/corefork.telegram.org/type/InputQuickReplyShortcut.html
@@ -8,18 +8,16 @@
Constructor
Description
inputQuickReplyShortcut
-
-inputQuickReplyShortcutId
- ">
+Selects a quick reply shortcut by name.
+inputQuickReplyShortcutId…">
+Selects a quick reply shortcut by name.
+inputQuickReplyShortcutId…">
@@ -79,11 +77,11 @@ inputQuickReplyShortcutId
inputQuickReplyShortcut
-
+Selects a quick reply shortcut by name.
inputQuickReplyShortcutId
-
+Selects a quick reply shortcut by its numeric ID.
diff --git a/data/web/corefork.telegram.org/type/contacts.ContactBirthdays.html b/data/web/corefork.telegram.org/type/contacts.ContactBirthdays.html
index 3169801acd..35ca6b4b1d 100644
--- a/data/web/corefork.telegram.org/type/contacts.ContactBirthdays.html
+++ b/data/web/corefork.telegram.org/type/contacts.ContactBirthdays.html
@@ -8,24 +8,20 @@
Constructor
Description
contacts.contactBirthdays
-
+Birthday information of our contacts.
Methods
Method
-Description
-contacts.getBirthdays
- ">
+Description…">
+Description…">
@@ -88,7 +84,7 @@ contacts.getBirthdays
contacts.contactBirthdays
-
+Birthday information of our contacts.
diff --git a/data/web/corefork.telegram.org/type/help.TimezonesList.html b/data/web/corefork.telegram.org/type/help.TimezonesList.html
index dab96dd305..e30426b175 100644
--- a/data/web/corefork.telegram.org/type/help.TimezonesList.html
+++ b/data/web/corefork.telegram.org/type/help.TimezonesList.html
@@ -8,26 +8,16 @@
Constructor
Description
help.timezonesListNotModified
-
-help.timezonesList
-
-Methods
-Method
-Description
-h…">
+The timezone list has not changed.
+help.timezonesList…">
+The timezone list has not changed.
+help.timezonesList…">
@@ -91,11 +81,11 @@ h…">
help.timezonesListNotModified
-
+The timezone list has not changed.
help.timezonesList
-
+Timezone information that may be used elsewhere in the API, such as to set Telegram Business opening hours » .