diff --git a/data/web/corefork.telegram.org/method/help.getPeerProfileColors.html b/data/web/corefork.telegram.org/method/help.getPeerProfileColors.html
index 602db15ac5..60ef7231da 100644
--- a/data/web/corefork.telegram.org/method/help.getPeerProfileColors.html
+++ b/data/web/corefork.telegram.org/method/help.getPeerProfileColors.html
@@ -4,28 +4,10 @@
+
Get the set of accent color palettes » that can be used for profiles
+
+
How to fetch results from large lists of objects.
+
+
Telegram users and channels can change the accent color and background pattern of their profile page and their messages!
diff --git a/data/web/corefork.telegram.org/method/messages.editInlineBotMessage.html b/data/web/corefork.telegram.org/method/messages.editInlineBotMessage.html
index 0476bf3610..cf20665f87 100644
--- a/data/web/corefork.telegram.org/method/messages.editInlineBotMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.editInlineBotMessage.html
@@ -82,7 +82,7 @@
invert_media |
flags.16?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
id |
diff --git a/data/web/corefork.telegram.org/method/messages.editMessage.html b/data/web/corefork.telegram.org/method/messages.editMessage.html
index 8f3215440d..529007ddfd 100644
--- a/data/web/corefork.telegram.org/method/messages.editMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.editMessage.html
@@ -87,7 +87,7 @@
invert_media |
flags.16?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
peer |
diff --git a/data/web/corefork.telegram.org/method/messages.saveDraft.html b/data/web/corefork.telegram.org/method/messages.saveDraft.html
index aada0199f4..1e12329f8a 100644
--- a/data/web/corefork.telegram.org/method/messages.saveDraft.html
+++ b/data/web/corefork.telegram.org/method/messages.saveDraft.html
@@ -82,7 +82,7 @@
invert_media |
flags.6?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
reply_to |
diff --git a/data/web/corefork.telegram.org/method/messages.sendMedia.html b/data/web/corefork.telegram.org/method/messages.sendMedia.html
index 3894629377..739c88238b 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMedia.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMedia.html
@@ -107,7 +107,7 @@
invert_media |
flags.16?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
peer |
diff --git a/data/web/corefork.telegram.org/method/messages.sendMessage.html b/data/web/corefork.telegram.org/method/messages.sendMessage.html
index 6664190877..81d5143f1f 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMessage.html
@@ -112,7 +112,7 @@
invert_media |
flags.16?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
peer |
diff --git a/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html b/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
index 52c7aa7d1f..2841367e3d 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
@@ -107,7 +107,7 @@
invert_media |
flags.16?true |
- |
+If set, any eventual webpage preview will be shown on top of the message instead of at the bottom. |
peer |
diff --git a/data/web/corefork.telegram.org/method/stories.canSendStory.html b/data/web/corefork.telegram.org/method/stories.canSendStory.html
index 2860b7eb2e..64016af310 100644
--- a/data/web/corefork.telegram.org/method/stories.canSendStory.html
+++ b/data/web/corefork.telegram.org/method/stories.canSendStory.html
@@ -91,7 +91,7 @@
400 |
BOOSTS_REQUIRED |
-The specified channel must first be boosted by its users in order to be able to post stories. |
+The specified channel must first be boosted by its users in order to perform this action. |
400 |
diff --git a/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html b/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html
index 902e123b05..76b0762b6c 100644
--- a/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html
+++ b/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html
@@ -93,11 +93,6 @@
400 |
-AES_DECRYPT_FAILED |
- |
-
-
-400 |
CDN_METHOD_INVALID |
You can't call this method in a CDN DC. |
diff --git a/data/web/corefork.telegram.org/methods.html b/data/web/corefork.telegram.org/methods.html
index a5f28d8fa5..b011acc4d4 100644
--- a/data/web/corefork.telegram.org/methods.html
+++ b/data/web/corefork.telegram.org/methods.html
@@ -3052,11 +3052,11 @@ Look for updates of telegram's terms of service…">
help.getPeerColors |
- |
+Get the set of accent color palettes » that can be used for messages |
help.getPeerProfileColors |
- |
+Get the set of accent color palettes » that can be used for profiles |
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 f36502eae8..3e7f53bec6 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 |
-C4030F003ABB7465 |
+FC1A0B00C2BD7465 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -95,7 +95,7 @@
nonce |
24, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
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 38 F3 23 3A BB 74 65
-0010 | 58 00 00 00 63 24 16 05 12 D2 52 A6 52 49 2F 98
-0020 | B3 E7 AC 76 FE FA 89 A4 6C E7 5A 07 8D 3B DA EC
-0030 | 6C D2 D6 3A D8 67 9D DA 08 23 8D 10 D1 5D AC AD
-0040 | 17 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 88 60 DF C2 BD 74 65
+0010 | 74 00 00 00 63 24 16 05 59 DE DF 5B B5 F9 3F E0
+0020 | B8 6A A6 22 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9
+0030 | 74 BA A8 22 30 11 21 C3 08 1E 11 D1 2C 1F 19 BE
+0040 | 5F 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 |
-0138F3233ABB7465 |
+018860DFC2BD7465 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-58000000 (88 in decimal) |
+74000000 (116 in decimal) |
Message body length |
@@ -150,19 +150,19 @@
nonce |
24, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Server-generated random number |
pq |
56, 12 |
-08238D10D15DACAD17000000 TL byte deserialization => bigendian conversion to decimal => 2561722254449487127 |
+081E11D12C1F19BE5F000000 TL byte deserialization => bigendian conversion to decimal => 2166742883172466271 |
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 = 2561722254449487127
-Decompose into 2 prime cofactors p < q
: 2561722254449487127 = 1530421979 * 1673866613
-p = 1530421979
-q = 1673866613
+pq = 2166742883172466271
+Decompose into 2 prime cofactors p < q
: 2166742883172466271 = 1471902331 * 1472069741
+p = 1471902331
+q = 1472069741
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 23 8D 10 D1 5D AC AD 17 00 00 00
-0010 | 04 5B 38 62 DB 00 00 00 04 63 C5 2D 75 00 00 00
-0020 | 12 D2 52 A6 52 49 2F 98 B3 E7 AC 76 FE FA 89 A4
-0030 | 6C E7 5A 07 8D 3B DA EC 6C D2 D6 3A D8 67 9D DA
-0040 | 56 01 8F A1 6B 1D 5A C2 AC 60 C6 0E A7 BB AD A5
-0050 | EE 4A 6B BB 2B 6B 0C 29 F9 63 7F 1E EB DC 02 C9
+0000 | 95 5F F5 A9 08 1E 11 D1 2C 1F 19 BE 5F 00 00 00
+0010 | 04 57 BB 72 7B 00 00 00 04 57 BE 00 6D 00 00 00
+0020 | 59 DE DF 5B B5 F9 3F E0 B8 6A A6 22 1D 70 B0 B9
+0030 | A1 E0 68 88 4F 45 FD C9 74 BA A8 22 30 11 21 C3
+0040 | 82 12 94 E3 32 7D E3 34 6E EF FD 0C DE 04 44 B4
+0050 | 35 BF 03 7F EA FA C9 1A AB 5D E9 5F 97 ED CA CA
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 = 1673866613
pq |
4, 12 |
-08238D10D15DACAD17000000 TL byte deserialization => bigendian conversion to decimal => 2561722254449487127 |
+081E11D12C1F19BE5F000000 TL byte deserialization => bigendian conversion to decimal => 2166742883172466271 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding |
p |
16, 8 |
-045B3862DB000000 TL byte deserialization => bigendian conversion to decimal => 1530421979 |
+0457BB727B000000 TL byte deserialization => bigendian conversion to decimal => 1471902331 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
24, 8 |
-0463C52D75000000 TL byte deserialization => bigendian conversion to decimal => 1673866613 |
+0457BE006D000000 TL byte deserialization => bigendian conversion to decimal => 1472069741 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
nonce |
32, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
48, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
new_nonce |
64, 32 |
-56018FA16B1D5AC2AC60C60EA7BBADA5 EE4A6BBB2B6B0C29F9637F1EEBDC02C9 |
+821294E3327DE3346EEFFD0CDE0444B4 35BF037FEAFAC91AAB5DE95F97EDCACA |
Client-generated random number |
@@ -291,39 +291,39 @@ q = 1673866613
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 = 955FF5A908238D10D15DACAD17000000045B3862DB0000000463C52D7500000012D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DDA56018FA16B1D5AC2AC60C60EA7BBADA5EE4A6BBB2B6B0C29F9637F1EEBDC02C902000000
-random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA8470770E00BC833E64F4F78733CAB274365CE300CCB3103E3AC9B43E9FC026A98F7728E00628A953690E761A9EE10B9A984B34B0DBCF2BC8DAB15E91A6EEC9BFD8D25
+data = 955FF5A9081E11D12C1F19BE5F0000000457BB727B0000000457BE006D00000059DEDF5BB5F93FE0B86AA6221D70B0B9A1E068884F45FDC974BAA822301121C3821294E3327DE3346EEFFD0CDE0444B435BF037FEAFAC91AAB5DE95F97EDCACA02000000
+random_padding_bytes = C55B9974477A10A7027C992B4BA5294202137AD6A670EC64185288591D167A0CC5ED15F531E110AF842CC23E6B22BB831F95DA61214A0E97326876BE3FE0C35A34FB9D8599397DFB4CC35048AFA6A7D00C4D6054A46C15DC936C418A
And this is the output:
-encrypted_data = D9CBB19DB9128A9A39832DD1E904E38D4C2B2BF8C713736FDEFA3C340FA2186DC41B66E51C0B99FA9B1DFFA40293E7FCFFD10AF21ADBB21BAEF77C9DD103C39B26F7BB15C57D5384CE3686397318C3D6711259300DB30095160DC84A3B06AD8F491EB226861A9D01F8C4C8C846C0E4789CB023CD2AE265C175B5A0F9BE446CBD66FB11A9AF59DE03065EFE98D3F99D6DCC6DB0E2D37271D12B78F98F7D38DFF35CC7B4DEABFED8272E0D4C72736118263DE2EEE60641C36969B23D3678E9009DE7CF410AE85706937C520319474C39648FB8F7BD37EE85F71CFFB880EA17880EF99DE262E9D5F405FD1998F689B44BFBF4F8DEBA3B0B0190A7C642883D623EE9
+encrypted_data = 5140F776F0F0FAEE120254ED061871F5BB4608C0DA34E65A342C7968B407D8CBF841A7696ADC9CF6E45458D6981621232F59CB53EE98F5FD834F2531DD65CDA6AD59A4F9601B7A8F590FA182A39C80D3A7C2C1ED75192B1DB9E72D727F06CF4468B237EDF01C63D73763F961406B9A33DE0BB896F5E09623641F00CAEFBB8A50839D658991E7D86B3DF238E00C987C1446B746BAC21373DD0A93D2CBD4B0BE57BBE670E5AD00EEA0C0F30BA989EA6BF37FFEEC75D59BB932C010A8E5AC9572E9F86857763A47F226E8E2034D457697628350D21ED96A71F8172C2AF3086BADEBAAD85C776AC194F48A59F750DA63FA1CF4BCAA0587DE688C8FF9E84F5753C01D
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 C8 03 0F 00 3A BB 74 65
-0010 | 40 01 00 00 BE E4 12 D7 12 D2 52 A6 52 49 2F 98
-0020 | B3 E7 AC 76 FE FA 89 A4 6C E7 5A 07 8D 3B DA EC
-0030 | 6C D2 D6 3A D8 67 9D DA 04 5B 38 62 DB 00 00 00
-0040 | 04 63 C5 2D 75 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 D9 CB B1 9D B9 12 8A 9A 39 83 2D D1
-0060 | E9 04 E3 8D 4C 2B 2B F8 C7 13 73 6F DE FA 3C 34
-0070 | 0F A2 18 6D C4 1B 66 E5 1C 0B 99 FA 9B 1D FF A4
-0080 | 02 93 E7 FC FF D1 0A F2 1A DB B2 1B AE F7 7C 9D
-0090 | D1 03 C3 9B 26 F7 BB 15 C5 7D 53 84 CE 36 86 39
-00A0 | 73 18 C3 D6 71 12 59 30 0D B3 00 95 16 0D C8 4A
-00B0 | 3B 06 AD 8F 49 1E B2 26 86 1A 9D 01 F8 C4 C8 C8
-00C0 | 46 C0 E4 78 9C B0 23 CD 2A E2 65 C1 75 B5 A0 F9
-00D0 | BE 44 6C BD 66 FB 11 A9 AF 59 DE 03 06 5E FE 98
-00E0 | D3 F9 9D 6D CC 6D B0 E2 D3 72 71 D1 2B 78 F9 8F
-00F0 | 7D 38 DF F3 5C C7 B4 DE AB FE D8 27 2E 0D 4C 72
-0100 | 73 61 18 26 3D E2 EE E6 06 41 C3 69 69 B2 3D 36
-0110 | 78 E9 00 9D E7 CF 41 0A E8 57 06 93 7C 52 03 19
-0120 | 47 4C 39 64 8F B8 F7 BD 37 EE 85 F7 1C FF B8 80
-0130 | EA 17 88 0E F9 9D E2 62 E9 D5 F4 05 FD 19 98 F6
-0140 | 89 B4 4B FB F4 F8 DE BA 3B 0B 01 90 A7 C6 42 88
-0150 | 3D 62 3E E9
+0000 | 00 00 00 00 00 00 00 00 80 7B 08 00 C3 BD 74 65
+0010 | 40 01 00 00 BE E4 12 D7 59 DE DF 5B B5 F9 3F E0
+0020 | B8 6A A6 22 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9
+0030 | 74 BA A8 22 30 11 21 C3 04 57 BB 72 7B 00 00 00
+0040 | 04 57 BE 00 6D 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 51 40 F7 76 F0 F0 FA EE 12 02 54 ED
+0060 | 06 18 71 F5 BB 46 08 C0 DA 34 E6 5A 34 2C 79 68
+0070 | B4 07 D8 CB F8 41 A7 69 6A DC 9C F6 E4 54 58 D6
+0080 | 98 16 21 23 2F 59 CB 53 EE 98 F5 FD 83 4F 25 31
+0090 | DD 65 CD A6 AD 59 A4 F9 60 1B 7A 8F 59 0F A1 82
+00A0 | A3 9C 80 D3 A7 C2 C1 ED 75 19 2B 1D B9 E7 2D 72
+00B0 | 7F 06 CF 44 68 B2 37 ED F0 1C 63 D7 37 63 F9 61
+00C0 | 40 6B 9A 33 DE 0B B8 96 F5 E0 96 23 64 1F 00 CA
+00D0 | EF BB 8A 50 83 9D 65 89 91 E7 D8 6B 3D F2 38 E0
+00E0 | 0C 98 7C 14 46 B7 46 BA C2 13 73 DD 0A 93 D2 CB
+00F0 | D4 B0 BE 57 BB E6 70 E5 AD 00 EE A0 C0 F3 0B A9
+0100 | 89 EA 6B F3 7F FE EC 75 D5 9B B9 32 C0 10 A8 E5
+0110 | AC 95 72 E9 F8 68 57 76 3A 47 F2 26 E8 E2 03 4D
+0120 | 45 76 97 62 83 50 D2 1E D9 6A 71 F8 17 2C 2A F3
+0130 | 08 6B AD EB AA D8 5C 77 6A C1 94 F4 8A 59 F7 50
+0140 | DA 63 FA 1C F4 BC AA 05 87 DE 68 8C 8F F9 E8 4F
+0150 | 57 53 C0 1D
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 = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
message_id |
8, 8 |
-C8030F003ABB7465 |
+807B0800C3BD7465 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -363,25 +363,25 @@ random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
nonce |
24, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
p |
56, 8 |
-045B3862DB000000 TL byte deserialization => bigendian conversion to decimal => 1530421979 |
+0457BB727B000000 TL byte deserialization => bigendian conversion to decimal => 1471902331 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
64, 8 |
-0463C52D75000000 TL byte deserialization => bigendian conversion to decimal => 1673866613 |
+0457BE006D000000 TL byte deserialization => bigendian conversion to decimal => 1472069741 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
@@ -393,7 +393,7 @@ random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
encrypted_data |
80, 260 |
-FE000100D9CBB19DB9128A9A39832DD1 E904E38D4C2B2BF8C713736FDEFA3C34 0FA2186DC41B66E51C0B99FA9B1DFFA4 0293E7FCFFD10AF21ADBB21BAEF77C9D D103C39B26F7BB15C57D5384CE368639 7318C3D6711259300DB30095160DC84A 3B06AD8F491EB226861A9D01F8C4C8C8 46C0E4789CB023CD2AE265C175B5A0F9 BE446CBD66FB11A9AF59DE03065EFE98 D3F99D6DCC6DB0E2D37271D12B78F98F 7D38DFF35CC7B4DEABFED8272E0D4C72 736118263DE2EEE60641C36969B23D36 78E9009DE7CF410AE85706937C520319 474C39648FB8F7BD37EE85F71CFFB880 EA17880EF99DE262E9D5F405FD1998F6 89B44BFBF4F8DEBA3B0B0190A7C64288 3D623EE9 |
+FE0001005140F776F0F0FAEE120254ED 061871F5BB4608C0DA34E65A342C7968 B407D8CBF841A7696ADC9CF6E45458D6 981621232F59CB53EE98F5FD834F2531 DD65CDA6AD59A4F9601B7A8F590FA182 A39C80D3A7C2C1ED75192B1DB9E72D72 7F06CF4468B237EDF01C63D73763F961 406B9A33DE0BB896F5E09623641F00CA EFBB8A50839D658991E7D86B3DF238E0 0C987C1446B746BAC21373DD0A93D2CB D4B0BE57BBE670E5AD00EEA0C0F30BA9 89EA6BF37FFEEC75D59BB932C010A8E5 AC9572E9F86857763A47F226E8E2034D 457697628350D21ED96A71F8172C2AF3 086BADEBAAD85C776AC194F48A59F750 DA63FA1CF4BCAA0587DE688C8FF9E84F 5753C01D |
Value generated above |
@@ -402,47 +402,47 @@ random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 FC D3 E6 3A BB 74 65
-0010 | D4 02 00 00 5C 07 E8 D0 12 D2 52 A6 52 49 2F 98
-0020 | B3 E7 AC 76 FE FA 89 A4 6C E7 5A 07 8D 3B DA EC
-0030 | 6C D2 D6 3A D8 67 9D DA FE 50 02 00 0E 75 02 FC
-0040 | 77 76 13 32 EB BF AC 5A 3D 6F 6B 79 99 5A AA 71
-0050 | DD 7D DF 6E F7 4B 23 FE 72 2A D9 96 82 8F 85 28
-0060 | 4A A7 6B BF 6D 58 60 51 BC 2E 7E 58 6A DE 76 A9
-0070 | 80 E2 66 08 AF 09 E3 6C 83 95 BE 7F E1 E1 15 D2
-0080 | 15 DD 16 52 2C 7D E8 84 E7 9D 47 01 BC 42 52 FB
-0090 | 1E CC 75 53 23 9D 40 B8 3E 37 65 76 E3 DB 9B 26
-00A0 | D2 D0 26 A4 91 33 F2 83 01 EC 76 0A ED 51 DF 08
-00B0 | 2D BB 4F 3D 57 F5 30 E5 09 9B E9 51 7F E1 7E F1
-00C0 | B7 E8 37 B6 F9 6D E4 E0 7A 24 C2 E5 97 6D 91 83
-00D0 | CB 9C 0A 0D 56 26 B2 73 A0 C9 F3 CA CB D2 2F 3E
-00E0 | 37 E9 74 84 4D 35 A6 D0 A3 99 AE 18 75 66 1D 08
-00F0 | 4D E9 02 00 9B 36 58 1E 9A 26 9A 80 55 0E A8 2A
-0100 | D1 DA CD C1 7C 9D 45 DD 64 A4 32 05 4C 67 7B D7
-0110 | D8 A2 2B F5 5B 5E 42 26 40 E8 4A 41 DE 8F 32 89
-0120 | 6F CB 28 EC 95 8B 6A 72 68 68 FA 50 95 1D 8A 79
-0130 | AE C5 AE B8 79 8C 5C D2 F2 FD 23 14 BD 42 B6 FE
-0140 | C5 89 C0 40 87 F9 0C 97 94 1F EA 8A F6 6A 7C D2
-0150 | 10 B9 A5 46 2C 1C 73 40 39 9D 5B 14 6D BB 57 FC
-0160 | 24 4D D0 EF 86 71 68 11 72 2D F1 3B 1B E3 1B 1E
-0170 | 73 DD 0F 7A 94 74 34 DF 9D 1F 62 C3 D1 32 1E 48
-0180 | 65 29 1B A4 CF 9B 74 27 95 E6 E1 BA 2E 30 AA 46
-0190 | 40 9F 20 E9 FE 72 7A 92 1D 0C C9 C5 8B A5 46 81
-01A0 | 90 39 0D 43 8F CF 20 98 BD 8F 2D 11 55 0C 20 7D
-01B0 | C0 85 63 C9 04 08 0E 8C B7 4F E9 93 61 9B 0A 7C
-01C0 | 30 FD 58 C2 C5 88 01 90 FE 91 FA 35 2D 1D EF 76
-01D0 | CB 3C 9E FD BD 7C 57 EF C7 B1 E7 06 27 D6 20 CC
-01E0 | 85 DF F6 01 A0 10 6E 9D 9E EA A6 3F B4 6D BA 8E
-01F0 | 06 5F 4E D0 3A F7 92 E9 68 F0 BF E6 BF 84 6F DD
-0200 | 84 09 6A D4 E0 4F 3A 0E 29 94 B1 4C B8 53 9F 88
-0210 | 1D 17 32 20 10 0E A3 90 F9 D0 4F 47 B5 B5 97 82
-0220 | FA CB E1 B8 54 DA 20 53 E3 13 FA 7A B1 C8 18 04
-0230 | 6F E5 5A 31 33 72 86 F2 F1 01 7A 9C 9B 80 8B 78
-0240 | C7 21 AA B4 B3 DA AA B6 0C E7 70 D1 91 E9 8F 6E
-0250 | 3B FB 69 0A 37 D0 65 11 C2 A4 06 0E 4A E2 25 68
-0260 | 97 A0 29 E5 FB 57 99 20 84 BA 0C E2 15 96 CA 78
-0270 | E9 8F E4 F3 C4 8A 4D 8C F4 F3 D7 67 DA 6B A0 DC
-0280 | 0B F8 30 35 A8 21 D0 3E 0B 9E 26 91
+0000 | 00 00 00 00 00 00 00 00 01 58 A7 9A C3 BD 74 65
+0010 | 7C 02 00 00 5C 07 E8 D0 59 DE DF 5B B5 F9 3F E0
+0020 | B8 6A A6 22 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9
+0030 | 74 BA A8 22 30 11 21 C3 FE 50 02 00 4C 4E 4C A6
+0040 | 13 FE 35 8D 63 35 DE 99 53 6B 1C 1F 07 AA 00 99
+0050 | C1 EE 02 F9 CB 4D BE F2 E9 FC 75 39 43 6F 45 AE
+0060 | D9 31 C9 62 A8 47 1F A1 26 C1 DA F2 9E 69 74 A0
+0070 | D7 10 FA D5 60 DA 7E 89 B2 89 AE E5 CD 64 60 F7
+0080 | 1B 8F A1 F3 66 04 16 BE E6 60 8C AE 10 39 FE 43
+0090 | 0E C3 7B 61 64 95 67 51 CB 48 8C 47 33 1C CE AF
+00A0 | 77 01 39 BD 96 B9 E8 2A A5 80 23 C8 60 14 95 8A
+00B0 | C9 7C 42 8A 01 AD 79 7E AC 98 AE F0 92 E6 ED 77
+00C0 | B7 22 2C 9C 3F 0F 30 62 3B 9B A6 C7 77 81 A5 FD
+00D0 | 23 56 9E F9 56 6F 3B 15 9F 52 28 F1 1B 3C CE 5B
+00E0 | 2C B3 04 B0 08 98 6B F1 AD 9B A6 83 2A EA 74 D1
+00F0 | 1B 3F C8 80 13 36 7A 6A 65 7A F2 A1 40 6C 30 06
+0100 | 7D 06 50 75 9A D9 C6 AB 0C E2 62 53 2A BD 3C 0E
+0110 | A3 8C D8 58 E6 64 85 18 6B D0 4D E0 AD 29 FD 2F
+0120 | C5 5F 30 C5 D3 AF A2 0D F5 34 A2 6D 7E F0 76 34
+0130 | 84 17 BE E1 49 D6 91 F1 DA BE 87 63 C7 B9 E2 A0
+0140 | C3 EE C2 28 15 EC 42 C1 C2 9F 80 A6 BA 73 87 E4
+0150 | 26 60 12 09 4D 4B E8 38 7F AF 6E B9 86 49 A8 46
+0160 | D8 9D B6 9E DA D7 9B 8A 0E D5 F2 56 2A 94 B9 06
+0170 | 5B E8 82 A6 F0 D6 AB FE 96 44 61 4E 35 2E C3 73
+0180 | 15 89 D3 CD 0C F3 96 0F 3D 9D C7 45 24 C8 34 84
+0190 | A9 A2 5A E0 44 FE 1A 64 0D 1B E5 BD 23 82 88 76
+01A0 | 60 37 55 56 68 D4 05 89 D2 3B E9 9E CE 04 80 2A
+01B0 | 41 82 83 DE 27 83 CC 2E B2 41 BB E9 10 52 B5 19
+01C0 | CC C4 A7 3F E0 52 F2 5A 77 45 16 A1 B7 CD 4D 5B
+01D0 | 58 A1 F0 C4 C8 03 FF 45 63 77 8E 5F E3 72 C9 3D
+01E0 | 3F AA 73 B8 E6 5D 59 9F 4B 15 1B 70 2E C8 26 DF
+01F0 | 83 8F 90 64 21 14 19 D3 DD 93 90 EC 09 6F 79 13
+0200 | 46 2B 36 A2 A2 FC 02 87 5A B0 9A BD F7 D9 BE 6E
+0210 | 8B 29 E0 BC 42 25 ED 6A 45 63 DB A7 77 B4 98 C0
+0220 | D5 90 59 46 A2 62 D4 C1 CE BB FD 3F 64 2B 17 35
+0230 | 93 97 FC 0A A9 BA 38 F5 70 29 B4 F4 EC E8 8D 07
+0240 | 79 45 C8 97 9C 8E 13 7A 98 68 B5 B3 7C 5A AF C4
+0250 | EB 80 0F BD 27 49 4F A2 BE D9 17 78 F4 11 C4 F1
+0260 | 08 B9 97 15 F8 F8 4D A8 9C CF 2D 84 D5 B2 F3 72
+0270 | B0 2C 8F 1C D6 68 90 D3 D6 2B 80 7B E7 0C 25 E5
+0280 | 78 D2 0B F6 14 4D 9C 49 BE B1 4C 35
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 = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
message_id |
8, 8 |
-01FCD3E63ABB7465 |
+0158A79AC3BD7465 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-D4020000 (724 in decimal) |
+7C020000 (636 in decimal) |
Message body length |
@@ -482,19 +482,19 @@ random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
nonce |
24, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
encrypted_answer |
56, 596 |
-FE5002000E7502FC77761332EBBFAC5A 3D6F6B79995AAA71DD7DDF6EF74B23FE 722AD996828F85284AA76BBF6D586051 BC2E7E586ADE76A980E26608AF09E36C 8395BE7FE1E115D215DD16522C7DE884 E79D4701BC4252FB1ECC7553239D40B8 3E376576E3DB9B26D2D026A49133F283 01EC760AED51DF082DBB4F3D57F530E5 099BE9517FE17EF1B7E837B6F96DE4E0 7A24C2E5976D9183CB9C0A0D5626B273 A0C9F3CACBD22F3E37E974844D35A6D0 A399AE1875661D084DE902009B36581E 9A269A80550EA82AD1DACDC17C9D45DD 64A432054C677BD7D8A22BF55B5E4226 40E84A41DE8F32896FCB28EC958B6A72 6868FA50951D8A79AEC5AEB8798C5CD2 F2FD2314BD42B6FEC589C04087F90C97 941FEA8AF66A7CD210B9A5462C1C7340 399D5B146DBB57FC244DD0EF86716811 722DF13B1BE31B1E73DD0F7A947434DF 9D1F62C3D1321E4865291BA4CF9B7427 95E6E1BA2E30AA46409F20E9FE727A92 1D0CC9C58BA5468190390D438FCF2098 BD8F2D11550C207DC08563C904080E8C B74FE993619B0A7C30FD58C2C5880190 FE91FA352D1DEF76CB3C9EFDBD7C57EF C7B1E70627D620CC85DFF601A0106E9D 9EEAA63FB46DBA8E065F4ED03AF792E9 68F0BFE6BF846FDD84096AD4E04F3A0E 2994B14CB8539F881D173220100EA390 F9D04F47B5B59782FACBE1B854DA2053 E313FA7AB1C818046FE55A31337286F2 F1017A9C9B808B78C721AAB4B3DAAAB6 0CE770D191E98F6E3BFB690A37D06511 C2A4060E4AE2256897A029E5FB579920 84BA0CE21596CA78E98FE4F3C48A4D8C F4F3D767DA6BA0DC0BF83035A821D03E 0B9E2691 |
+FE5002004C4E4CA613FE358D6335DE99 536B1C1F07AA0099C1EE02F9CB4DBEF2 E9FC7539436F45AED931C962A8471FA1 26C1DAF29E6974A0D710FAD560DA7E89 B289AEE5CD6460F71B8FA1F3660416BE E6608CAE1039FE430EC37B6164956751 CB488C47331CCEAF770139BD96B9E82A A58023C86014958AC97C428A01AD797E AC98AEF092E6ED77B7222C9C3F0F3062 3B9BA6C77781A5FD23569EF9566F3B15 9F5228F11B3CCE5B2CB304B008986BF1 AD9BA6832AEA74D11B3FC88013367A6A 657AF2A1406C30067D0650759AD9C6AB 0CE262532ABD3C0EA38CD858E6648518 6BD04DE0AD29FD2FC55F30C5D3AFA20D F534A26D7EF076348417BEE149D691F1 DABE8763C7B9E2A0C3EEC22815EC42C1 C29F80A6BA7387E4266012094D4BE838 7FAF6EB98649A846D89DB69EDAD79B8A 0ED5F2562A94B9065BE882A6F0D6ABFE 9644614E352EC3731589D3CD0CF3960F 3D9DC74524C83484A9A25AE044FE1A64 0D1BE5BD238288766037555668D40589 D23BE99ECE04802A418283DE2783CC2E B241BBE91052B519CCC4A73FE052F25A 774516A1B7CD4D5B58A1F0C4C803FF45 63778E5FE372C93D3FAA73B8E65D599F 4B151B702EC826DF838F9064211419D3 DD9390EC096F7913462B36A2A2FC0287 5AB09ABDF7D9BE6E8B29E0BC4225ED6A 4563DBA777B498C0D5905946A262D4C1 CEBBFD3F642B17359397FC0AA9BA38F5 7029B4F4ECE88D077945C8979C8E137A 9868B5B37C5AAFC4EB800FBD27494FA2 BED91778F411C4F108B99715F8F84DA8 9CCF2D84D5B2F372B02C8F1CD66890D3 D62B807BE70C25E578D20BF6144D9C49 BEB14C35 |
See below |
@@ -502,20 +502,20 @@ random_padding_bytes = 979109065C19335B68C0906AA669492BBDFD4930CC44A561EBA847077
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = 0E7502FC77761332EBBFAC5A3D6F6B79995AAA71DD7DDF6EF74B23FE722AD996828F85284AA76BBF6D586051BC2E7E586ADE76A980E26608AF09E36C8395BE7FE1E115D215DD16522C7DE884E79D4701BC4252FB1ECC7553239D40B83E376576E3DB9B26D2D026A49133F28301EC760AED51DF082DBB4F3D57F530E5099BE9517FE17EF1B7E837B6F96DE4E07A24C2E5976D9183CB9C0A0D5626B273A0C9F3CACBD22F3E37E974844D35A6D0A399AE1875661D084DE902009B36581E9A269A80550EA82AD1DACDC17C9D45DD64A432054C677BD7D8A22BF55B5E422640E84A41DE8F32896FCB28EC958B6A726868FA50951D8A79AEC5AEB8798C5CD2F2FD2314BD42B6FEC589C04087F90C97941FEA8AF66A7CD210B9A5462C1C7340399D5B146DBB57FC244DD0EF86716811722DF13B1BE31B1E73DD0F7A947434DF9D1F62C3D1321E4865291BA4CF9B742795E6E1BA2E30AA46409F20E9FE727A921D0CC9C58BA5468190390D438FCF2098BD8F2D11550C207DC08563C904080E8CB74FE993619B0A7C30FD58C2C5880190FE91FA352D1DEF76CB3C9EFDBD7C57EFC7B1E70627D620CC85DFF601A0106E9D9EEAA63FB46DBA8E065F4ED03AF792E968F0BFE6BF846FDD84096AD4E04F3A0E2994B14CB8539F881D173220100EA390F9D04F47B5B59782FACBE1B854DA2053E313FA7AB1C818046FE55A31337286F2F1017A9C9B808B78C721AAB4B3DAAAB60CE770D191E98F6E3BFB690A37D06511C2A4060E4AE2256897A029E5FB57992084BA0CE21596CA78E98FE4F3C48A4D8CF4F3D767DA6BA0DC0BF83035A821D03E0B9E2691
-tmp_aes_key = F97885237250E1E2923A564401F69AA32F283C7A9C3448965DAB36A9481EE649
-tmp_aes_iv = 954D4B646A8170F6C46CD9F709B2E4203595359E5AA26C84DA8918FB56018FA1
+encrypted_answer = 4C4E4CA613FE358D6335DE99536B1C1F07AA0099C1EE02F9CB4DBEF2E9FC7539436F45AED931C962A8471FA126C1DAF29E6974A0D710FAD560DA7E89B289AEE5CD6460F71B8FA1F3660416BEE6608CAE1039FE430EC37B6164956751CB488C47331CCEAF770139BD96B9E82AA58023C86014958AC97C428A01AD797EAC98AEF092E6ED77B7222C9C3F0F30623B9BA6C77781A5FD23569EF9566F3B159F5228F11B3CCE5B2CB304B008986BF1AD9BA6832AEA74D11B3FC88013367A6A657AF2A1406C30067D0650759AD9C6AB0CE262532ABD3C0EA38CD858E66485186BD04DE0AD29FD2FC55F30C5D3AFA20DF534A26D7EF076348417BEE149D691F1DABE8763C7B9E2A0C3EEC22815EC42C1C29F80A6BA7387E4266012094D4BE8387FAF6EB98649A846D89DB69EDAD79B8A0ED5F2562A94B9065BE882A6F0D6ABFE9644614E352EC3731589D3CD0CF3960F3D9DC74524C83484A9A25AE044FE1A640D1BE5BD238288766037555668D40589D23BE99ECE04802A418283DE2783CC2EB241BBE91052B519CCC4A73FE052F25A774516A1B7CD4D5B58A1F0C4C803FF4563778E5FE372C93D3FAA73B8E65D599F4B151B702EC826DF838F9064211419D3DD9390EC096F7913462B36A2A2FC02875AB09ABDF7D9BE6E8B29E0BC4225ED6A4563DBA777B498C0D5905946A262D4C1CEBBFD3F642B17359397FC0AA9BA38F57029B4F4ECE88D077945C8979C8E137A9868B5B37C5AAFC4EB800FBD27494FA2BED91778F411C4F108B99715F8F84DA89CCF2D84D5B2F372B02C8F1CD66890D3D62B807BE70C25E578D20BF6144D9C49BEB14C35
+tmp_aes_key = 56B2C3E6BB7FBD59CA9178DF4059D3BCA25157272819D34C149366D1E04D9851
+tmp_aes_iv = E5D580D8753E8E3F6E6C714C25CB0017D99976612AE7E8689500A2CE821294E3
Yielding:
-answer_with_hash = A5EBFA70800CECFE974D1B3F5368C9C143740722BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DDA03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100347BE521229C862F6DE3FB2DA9ECE4F5D77B8BBD389E8AF45F2377C6E1D3F6ACE73A2EDD1F24F638DD52BB46ED8C470EE3338EECF830DD88E1F64D33F2B64009B9D3F2DBB3092F0B47B4812B14B3790DB994DD7E672D2878BAE02AAB806831384252993D4E9461AD4D81AFF85267ADBE55CD68FF074E59C0F47E801C091F0C407C35176F17C3A3C5606C47EA9EAE2065F1FAA6BE24CD6F0855EFE9FD6F2DEE69F826ACACE3E21A62F6D9812433247959E9E65265FC9BB398CA860C7244832D08EF37ABC298BE190C8051808235859652EE1E29512F17FD6881074049ECC5FD9B05F24F9808244B5440D6394E7FE4ADA0CA9659A0A94020B0BBA2E1F582BCD3333ABB7465A33090C42DAFA01F
-answer = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DDA03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100347BE521229C862F6DE3FB2DA9ECE4F5D77B8BBD389E8AF45F2377C6E1D3F6ACE73A2EDD1F24F638DD52BB46ED8C470EE3338EECF830DD88E1F64D33F2B64009B9D3F2DBB3092F0B47B4812B14B3790DB994DD7E672D2878BAE02AAB806831384252993D4E9461AD4D81AFF85267ADBE55CD68FF074E59C0F47E801C091F0C407C35176F17C3A3C5606C47EA9EAE2065F1FAA6BE24CD6F0855EFE9FD6F2DEE69F826ACACE3E21A62F6D9812433247959E9E65265FC9BB398CA860C7244832D08EF37ABC298BE190C8051808235859652EE1E29512F17FD6881074049ECC5FD9B05F24F9808244B5440D6394E7FE4ADA0CA9659A0A94020B0BBA2E1F582BCD3333ABB7465A33090C42DAFA01F
+answer_with_hash = 6319F0BBD5C9431E73D83D3DD38E68C71C3871E7BA0D89B559DEDF5BB5F93FE0B86AA6221D70B0B9A1E068884F45FDC974BAA822301121C303000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010003D66EDC067FE7D78DA60C9B3EA72A31D544C02611193B1F46D47894079C6676B664B6E9BFBAA93E33FBCD8AB19C34A40C4978023860571761E70DE143FCA1B6636B77845055964A2D27AE775074635E9BA4B29FD90ECF2F92B0534ED3252937566F4C8AFCDD398E718AF4E9817BA92B00EC39239E47DADCE4AA2ED8390816D89135D7168DEEC4E8C963B4D73AB479EF6E82E0FBD354968908C15F5FEA444431C54F8347A1A42CDAB57934EB56BF4010FD363399DAF51F72AFFF72D6A6B8D651A530B686B797DE062C9E5101C451187909FAC6A37303ABCAD08EC7F27ED9D176A9CF86574A94633C9126917470FF81BB4E45E9C39EB5FDA81C5BD45A84F53035C3BD7465BE17B117A77C665D
+answer = BA0D89B559DEDF5BB5F93FE0B86AA6221D70B0B9A1E068884F45FDC974BAA822301121C303000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010003D66EDC067FE7D78DA60C9B3EA72A31D544C02611193B1F46D47894079C6676B664B6E9BFBAA93E33FBCD8AB19C34A40C4978023860571761E70DE143FCA1B6636B77845055964A2D27AE775074635E9BA4B29FD90ECF2F92B0534ED3252937566F4C8AFCDD398E718AF4E9817BA92B00EC39239E47DADCE4AA2ED8390816D89135D7168DEEC4E8C963B4D73AB479EF6E82E0FBD354968908C15F5FEA444431C54F8347A1A42CDAB57934EB56BF4010FD363399DAF51F72AFFF72D6A6B8D651A530B686B797DE062C9E5101C451187909FAC6A37303ABCAD08EC7F27ED9D176A9CF86574A94633C9126917470FF81BB4E45E9C39EB5FDA81C5BD45A84F53035C3BD7465BE17B117A77C665D
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 12 D2 52 A6 52 49 2F 98 B3 E7 AC 76
-0010 | FE FA 89 A4 6C E7 5A 07 8D 3B DA EC 6C D2 D6 3A
-0020 | D8 67 9D DA 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 59 DE DF 5B B5 F9 3F E0 B8 6A A6 22
+0010 | 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9 74 BA A8 22
+0020 | 30 11 21 C3 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 = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
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 | 34 7B E5 21 22 9C 86 2F 6D E3 FB 2D A9 EC E4 F5
-0140 | D7 7B 8B BD 38 9E 8A F4 5F 23 77 C6 E1 D3 F6 AC
-0150 | E7 3A 2E DD 1F 24 F6 38 DD 52 BB 46 ED 8C 47 0E
-0160 | E3 33 8E EC F8 30 DD 88 E1 F6 4D 33 F2 B6 40 09
-0170 | B9 D3 F2 DB B3 09 2F 0B 47 B4 81 2B 14 B3 79 0D
-0180 | B9 94 DD 7E 67 2D 28 78 BA E0 2A AB 80 68 31 38
-0190 | 42 52 99 3D 4E 94 61 AD 4D 81 AF F8 52 67 AD BE
-01A0 | 55 CD 68 FF 07 4E 59 C0 F4 7E 80 1C 09 1F 0C 40
-01B0 | 7C 35 17 6F 17 C3 A3 C5 60 6C 47 EA 9E AE 20 65
-01C0 | F1 FA A6 BE 24 CD 6F 08 55 EF E9 FD 6F 2D EE 69
-01D0 | F8 26 AC AC E3 E2 1A 62 F6 D9 81 24 33 24 79 59
-01E0 | E9 E6 52 65 FC 9B B3 98 CA 86 0C 72 44 83 2D 08
-01F0 | EF 37 AB C2 98 BE 19 0C 80 51 80 82 35 85 96 52
-0200 | EE 1E 29 51 2F 17 FD 68 81 07 40 49 EC C5 FD 9B
-0210 | 05 F2 4F 98 08 24 4B 54 40 D6 39 4E 7F E4 AD A0
-0220 | CA 96 59 A0 A9 40 20 B0 BB A2 E1 F5 82 BC D3 33
-0230 | 3A BB 74 65
+0130 | 03 D6 6E DC 06 7F E7 D7 8D A6 0C 9B 3E A7 2A 31
+0140 | D5 44 C0 26 11 19 3B 1F 46 D4 78 94 07 9C 66 76
+0150 | B6 64 B6 E9 BF BA A9 3E 33 FB CD 8A B1 9C 34 A4
+0160 | 0C 49 78 02 38 60 57 17 61 E7 0D E1 43 FC A1 B6
+0170 | 63 6B 77 84 50 55 96 4A 2D 27 AE 77 50 74 63 5E
+0180 | 9B A4 B2 9F D9 0E CF 2F 92 B0 53 4E D3 25 29 37
+0190 | 56 6F 4C 8A FC DD 39 8E 71 8A F4 E9 81 7B A9 2B
+01A0 | 00 EC 39 23 9E 47 DA DC E4 AA 2E D8 39 08 16 D8
+01B0 | 91 35 D7 16 8D EE C4 E8 C9 63 B4 D7 3A B4 79 EF
+01C0 | 6E 82 E0 FB D3 54 96 89 08 C1 5F 5F EA 44 44 31
+01D0 | C5 4F 83 47 A1 A4 2C DA B5 79 34 EB 56 BF 40 10
+01E0 | FD 36 33 99 DA F5 1F 72 AF FF 72 D6 A6 B8 D6 51
+01F0 | A5 30 B6 86 B7 97 DE 06 2C 9E 51 01 C4 51 18 79
+0200 | 09 FA C6 A3 73 03 AB CA D0 8E C7 F2 7E D9 D1 76
+0210 | A9 CF 86 57 4A 94 63 3C 91 26 91 74 70 FF 81 BB
+0220 | 4E 45 E9 C3 9E B5 FD A8 1C 5B D4 5A 84 F5 30 35
+0230 | C3 BD 74 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 = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
nonce |
4, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
@@ -594,13 +594,13 @@ answer = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
g_a |
300, 260 |
-FE000100347BE521229C862F6DE3FB2D A9ECE4F5D77B8BBD389E8AF45F2377C6 E1D3F6ACE73A2EDD1F24F638DD52BB46 ED8C470EE3338EECF830DD88E1F64D33 F2B64009B9D3F2DBB3092F0B47B4812B 14B3790DB994DD7E672D2878BAE02AAB 806831384252993D4E9461AD4D81AFF8 5267ADBE55CD68FF074E59C0F47E801C 091F0C407C35176F17C3A3C5606C47EA 9EAE2065F1FAA6BE24CD6F0855EFE9FD 6F2DEE69F826ACACE3E21A62F6D98124 33247959E9E65265FC9BB398CA860C72 44832D08EF37ABC298BE190C80518082 35859652EE1E29512F17FD6881074049 ECC5FD9B05F24F9808244B5440D6394E 7FE4ADA0CA9659A0A94020B0BBA2E1F5 82BCD333 |
+FE00010003D66EDC067FE7D78DA60C9B 3EA72A31D544C02611193B1F46D47894 079C6676B664B6E9BFBAA93E33FBCD8A B19C34A40C4978023860571761E70DE1 43FCA1B6636B77845055964A2D27AE77 5074635E9BA4B29FD90ECF2F92B0534E D3252937566F4C8AFCDD398E718AF4E9 817BA92B00EC39239E47DADCE4AA2ED8 390816D89135D7168DEEC4E8C963B4D7 3AB479EF6E82E0FBD354968908C15F5F EA444431C54F8347A1A42CDAB57934EB 56BF4010FD363399DAF51F72AFFF72D6 A6B8D651A530B686B797DE062C9E5101 C451187909FAC6A37303ABCAD08EC7F2 7ED9D176A9CF86574A94633C91269174 70FF81BB4E45E9C39EB5FDA81C5BD45A 84F53035 |
g_a diffie-hellman parameter |
server_time |
560, 4 |
-3ABB7465 (1702148922 in decimal) |
+C3BD7465 (1702149571 in decimal) |
Server time |
@@ -609,34 +609,34 @@ answer = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
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 = 47F55ABF75125D664CB42AC0484DD33B40314EACCD487BFAE50271930D1F83A9455DF1FC0F4013530DB5BC205371E79238EBFCB46755CC43AA762595FA8C4A1108A9B5EB992B13DA7D816BAB9F8098721A76EA38238EB52809BE487EFBA926E5C821461AC4DB4325880DE8A234EB6BD97743E6D099F941197D85EE92336B90AB6DE61732F1F59E42DC125F4A1C97938DC648564ABF0A36B3F487A165BF5B088158B61CD8EDDEE600943637E6C0F5D037F49D2D68440CF3E1276FDBF03D7C1939E737BAAB001C4F56CA6108DFFEC95EB1B842B065D461D13F617AD2A6D0FEB45EF37B947E7504133A423890E52A090F50138D381B797A149FAE7BAF771CB45DC1
+b = 5878CC9BCEE0DE7CE9B439D6BE47F88C2B24F4F96ACE1F0C74143335813297DCC40BE82B54628A0C0C3623C0FCFA2453B255101ECD9C1226560F5F2BE832C726CF503B1AF394F557995F95B3EE94D965FFAF43FA862346E58FDC1D2802020E15BB97BE50F2FD7089832D4D0A6F54D4332444C817A4623A10438C633210D77E22AF91ACC18F6743D8E26840664C5B9EBD98ED5F1BED4CFD7439D8C5D872E76FA05AA5903A347262EC2D5D8948207DC0C6FF22A14DF9951CC6890BC9E7D8B51CDEEE509F2AE9DA418A155801B88EB87FF8A02A76159209FC4346EA27104996797D8D6090F7F6F4655C58F363C225E5BC532C1E278FC3C7E3EAD461893E37C66CD5
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 6D2DEC4316EE4A6C99B4637DEA60FBEC3FF3681142DDDF0766A9903FDF521BC1A5A1E96CB38596FC893FE5417A722F4F119542D3AB21DCB06783FE3E4C1E60C2FE225E8B631083A82E3C66AC3959564DFA4BC422DD870106A698726EBD30E152619EE13691355BA52408158C70F890B4CEEA6831CC7D9C357049A38B104BB1EAC19F21EB4F66F5FC63695C85F0DB7F3CB1E8FB0064EBB1EA8092832F1DA77476897FD269F3E9A8B41212ED78CA6EB0456E2DF7014F6D5C7671877E8997EABDECD0DC3F94E986B0EF32A1EA5F5F5563460E8E0D18571FEA329B3B36312B22D24590FFE27BF00F950853F0A837F1276ECC7A0524DEFC1B603BD3C274AA7691D0AD
+g_b = B1952AB41F3302737E52EC2F611B34E444C09B1C21E4CF650E6C6683CB9E99F7EF0A2DB8B9C0268E857670D813E405C57D37C533699513F382D1579EC5B68182DB1C600B3665041247C98F05ADBFB44419CD8B986F268AD8E69993E0A6E9BB5AF9C8425BCDF5B8ADABFAA872D1B34195A8CE178C9353AEF8B8A59FC1C2616627842B86C83236B4E40EE86DCC960E4D08B3BAB54C183A9D8715DF0D9BF77EA110E08A6E9A11BDD93CE47C5059B2E9277A0CFC246B00896DCE82D3038E9033D92629643D63482BC5D1BA688A404A7D2753CFC0A4070B8845B505B233C22726D8A21C5E38760703746C245C7D35A3150724388798F4B8D86440D05EF43DE4BECB98
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 12 D2 52 A6 52 49 2F 98 B3 E7 AC 76
-0010 | FE FA 89 A4 6C E7 5A 07 8D 3B DA EC 6C D2 D6 3A
-0020 | D8 67 9D DA 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 6D 2D EC 43 16 EE 4A 6C 99 B4 63 7D EA 60 FB EC
-0040 | 3F F3 68 11 42 DD DF 07 66 A9 90 3F DF 52 1B C1
-0050 | A5 A1 E9 6C B3 85 96 FC 89 3F E5 41 7A 72 2F 4F
-0060 | 11 95 42 D3 AB 21 DC B0 67 83 FE 3E 4C 1E 60 C2
-0070 | FE 22 5E 8B 63 10 83 A8 2E 3C 66 AC 39 59 56 4D
-0080 | FA 4B C4 22 DD 87 01 06 A6 98 72 6E BD 30 E1 52
-0090 | 61 9E E1 36 91 35 5B A5 24 08 15 8C 70 F8 90 B4
-00A0 | CE EA 68 31 CC 7D 9C 35 70 49 A3 8B 10 4B B1 EA
-00B0 | C1 9F 21 EB 4F 66 F5 FC 63 69 5C 85 F0 DB 7F 3C
-00C0 | B1 E8 FB 00 64 EB B1 EA 80 92 83 2F 1D A7 74 76
-00D0 | 89 7F D2 69 F3 E9 A8 B4 12 12 ED 78 CA 6E B0 45
-00E0 | 6E 2D F7 01 4F 6D 5C 76 71 87 7E 89 97 EA BD EC
-00F0 | D0 DC 3F 94 E9 86 B0 EF 32 A1 EA 5F 5F 55 63 46
-0100 | 0E 8E 0D 18 57 1F EA 32 9B 3B 36 31 2B 22 D2 45
-0110 | 90 FF E2 7B F0 0F 95 08 53 F0 A8 37 F1 27 6E CC
-0120 | 7A 05 24 DE FC 1B 60 3B D3 C2 74 AA 76 91 D0 AD
+0000 | 54 B6 43 66 59 DE DF 5B B5 F9 3F E0 B8 6A A6 22
+0010 | 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9 74 BA A8 22
+0020 | 30 11 21 C3 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | B1 95 2A B4 1F 33 02 73 7E 52 EC 2F 61 1B 34 E4
+0040 | 44 C0 9B 1C 21 E4 CF 65 0E 6C 66 83 CB 9E 99 F7
+0050 | EF 0A 2D B8 B9 C0 26 8E 85 76 70 D8 13 E4 05 C5
+0060 | 7D 37 C5 33 69 95 13 F3 82 D1 57 9E C5 B6 81 82
+0070 | DB 1C 60 0B 36 65 04 12 47 C9 8F 05 AD BF B4 44
+0080 | 19 CD 8B 98 6F 26 8A D8 E6 99 93 E0 A6 E9 BB 5A
+0090 | F9 C8 42 5B CD F5 B8 AD AB FA A8 72 D1 B3 41 95
+00A0 | A8 CE 17 8C 93 53 AE F8 B8 A5 9F C1 C2 61 66 27
+00B0 | 84 2B 86 C8 32 36 B4 E4 0E E8 6D CC 96 0E 4D 08
+00C0 | B3 BA B5 4C 18 3A 9D 87 15 DF 0D 9B F7 7E A1 10
+00D0 | E0 8A 6E 9A 11 BD D9 3C E4 7C 50 59 B2 E9 27 7A
+00E0 | 0C FC 24 6B 00 89 6D CE 82 D3 03 8E 90 33 D9 26
+00F0 | 29 64 3D 63 48 2B C5 D1 BA 68 8A 40 4A 7D 27 53
+0100 | CF C0 A4 07 0B 88 45 B5 05 B2 33 C2 27 26 D8 A2
+0110 | 1C 5E 38 76 07 03 74 6C 24 5C 7D 35 A3 15 07 24
+0120 | 38 87 98 F4 B8 D8 64 40 D0 5E F4 3D E4 BE CB 98
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 = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
nonce |
4, 16 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
g_b |
36, 260 |
-FE0001006D2DEC4316EE4A6C99B4637D EA60FBEC3FF3681142DDDF0766A9903F DF521BC1A5A1E96CB38596FC893FE541 7A722F4F119542D3AB21DCB06783FE3E 4C1E60C2FE225E8B631083A82E3C66AC 3959564DFA4BC422DD870106A698726E BD30E152619EE13691355BA52408158C 70F890B4CEEA6831CC7D9C357049A38B 104BB1EAC19F21EB4F66F5FC63695C85 F0DB7F3CB1E8FB0064EBB1EA8092832F 1DA77476897FD269F3E9A8B41212ED78 CA6EB0456E2DF7014F6D5C7671877E89 97EABDECD0DC3F94E986B0EF32A1EA5F 5F5563460E8E0D18571FEA329B3B3631 2B22D24590FFE27BF00F950853F0A837 F1276ECC7A0524DEFC1B603BD3C274AA 7691D0AD |
+FE000100B1952AB41F3302737E52EC2F 611B34E444C09B1C21E4CF650E6C6683 CB9E99F7EF0A2DB8B9C0268E857670D8 13E405C57D37C533699513F382D1579E C5B68182DB1C600B3665041247C98F05 ADBFB44419CD8B986F268AD8E69993E0 A6E9BB5AF9C8425BCDF5B8ADABFAA872 D1B34195A8CE178C9353AEF8B8A59FC1 C2616627842B86C83236B4E40EE86DCC 960E4D08B3BAB54C183A9D8715DF0D9B F77EA110E08A6E9A11BDD93CE47C5059 B2E9277A0CFC246B00896DCE82D3038E 9033D92629643D63482BC5D1BA688A40 4A7D2753CFC0A4070B8845B505B233C2 2726D8A21C5E38760703746C245C7D35 A3150724388798F4B8D86440D05EF43D E4BECB98 |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding |
@@ -684,47 +684,47 @@ answer = BA0D89B512D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DD
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 = 54B6436612D252A652492F98B3E7AC76FEFA89A46CE75A078D3BDAEC6CD2D63AD8679DDA0000000000000000FE0001006D2DEC4316EE4A6C99B4637DEA60FBEC3FF3681142DDDF0766A9903FDF521BC1A5A1E96CB38596FC893FE5417A722F4F119542D3AB21DCB06783FE3E4C1E60C2FE225E8B631083A82E3C66AC3959564DFA4BC422DD870106A698726EBD30E152619EE13691355BA52408158C70F890B4CEEA6831CC7D9C357049A38B104BB1EAC19F21EB4F66F5FC63695C85F0DB7F3CB1E8FB0064EBB1EA8092832F1DA77476897FD269F3E9A8B41212ED78CA6EB0456E2DF7014F6D5C7671877E8997EABDECD0DC3F94E986B0EF32A1EA5F5F5563460E8E0D18571FEA329B3B36312B22D24590FFE27BF00F950853F0A837F1276ECC7A0524DEFC1B603BD3C274AA7691D0AD
-padding = 7207D745977DE93E3241406F
-tmp_aes_key = F97885237250E1E2923A564401F69AA32F283C7A9C3448965DAB36A9481EE649
-tmp_aes_iv = 954D4B646A8170F6C46CD9F709B2E4203595359E5AA26C84DA8918FB56018FA1
+data = 54B6436659DEDF5BB5F93FE0B86AA6221D70B0B9A1E068884F45FDC974BAA822301121C30000000000000000FE000100B1952AB41F3302737E52EC2F611B34E444C09B1C21E4CF650E6C6683CB9E99F7EF0A2DB8B9C0268E857670D813E405C57D37C533699513F382D1579EC5B68182DB1C600B3665041247C98F05ADBFB44419CD8B986F268AD8E69993E0A6E9BB5AF9C8425BCDF5B8ADABFAA872D1B34195A8CE178C9353AEF8B8A59FC1C2616627842B86C83236B4E40EE86DCC960E4D08B3BAB54C183A9D8715DF0D9BF77EA110E08A6E9A11BDD93CE47C5059B2E9277A0CFC246B00896DCE82D3038E9033D92629643D63482BC5D1BA688A404A7D2753CFC0A4070B8845B505B233C22726D8A21C5E38760703746C245C7D35A3150724388798F4B8D86440D05EF43DE4BECB98
+padding = F69BBD80927115ACB89164D0
+tmp_aes_key = 56B2C3E6BB7FBD59CA9178DF4059D3BCA25157272819D34C149366D1E04D9851
+tmp_aes_iv = E5D580D8753E8E3F6E6C714C25CB0017D99976612AE7E8689500A2CE821294E3
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 = A503E6CD8B949E333CA530863336E66D42F26723883828EC831280772BCDF29C9770EFC917E6971C83830FA60F32C76696877EBE68620AD75CD5338777835E4CED6E3529CE4391C3FBD97E5E81B47FF060EED9CDFB91BE9DB9E82DE5E32187299DACB5FB667F409E4C2FC9118509CA68CB484B0F9597DE3707B31744DE2FAD949957B3FAA8A9D34CCD4399103704739E2B8620C4FE32737063D46D40833E79BF62A8062EEB5D518C38C02AA4CE85D9EF00B7B975144BEE80C1223A272E6B0EF4373AD6C6F86C30AC0FAA106DFEDDB8D15CA1752B960D39AAD9DB8BC19F1D89AF4DB0FDCE2E2CD407841446ECEF382984E3445096864F39DD9D3CCF1026D45888FE3E5E5864352087BCDC335587ED91E44263EB784C2B31B841A55803AC6A5572517BE118906FDFCFFA815C4B2F911351758117C07DEE4744109866657D281DDD1F6CDA0EDF72CDB43A0333320B12227C
+encrypted_data = 23BC410D26E4C48F28548BC9B1590D266064D3F1E7CB4B06F34FBB73CE3B45713EDEFCECA538578403B8D06ED2CBA2B7EEB2B105CCF468AC8456B602B38602DB37AEF13D3CA9BCB9867BED2C1FA91B5D652D871D2EA71427640CA2BCE82D02578FE43DA39BAA56150D51EDBEACD86090840DABA6DC72265CB49616FB225F5DBB7E6E8C2C3543B7BBAB26B56C3931323C5BD47212B1F2B35471D4E304491A6D4EDC00049DC66176D670F69BB1E1442AD7C6110DCBE3A4AAFBB4A167BECAC2916B91F292C8084251DA204F83E9B3A2CE9E03456D472019F5555AC6BA4E9285FF96536FB7AB369BBBDA7D0AD5C493680EDAE8157DD4313DB2CC6DE351C04B355E39579757E0828598ECCB519E52B4D04AD6C73CE656EB2DC4D76A53F527DEC8ABAF3B71DA1F83D17EB7D0D430CBFE9ACAFA23565A3064EEEAEDCB24EBA89320FAF3F5B90FCEE999AF857EF25AA6E274972D
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 CC 03 0F 00 3A BB 74 65
-0010 | 78 01 00 00 1F 5F 04 F5 12 D2 52 A6 52 49 2F 98
-0020 | B3 E7 AC 76 FE FA 89 A4 6C E7 5A 07 8D 3B DA EC
-0030 | 6C D2 D6 3A D8 67 9D DA FE 50 01 00 A5 03 E6 CD
-0040 | 8B 94 9E 33 3C A5 30 86 33 36 E6 6D 42 F2 67 23
-0050 | 88 38 28 EC 83 12 80 77 2B CD F2 9C 97 70 EF C9
-0060 | 17 E6 97 1C 83 83 0F A6 0F 32 C7 66 96 87 7E BE
-0070 | 68 62 0A D7 5C D5 33 87 77 83 5E 4C ED 6E 35 29
-0080 | CE 43 91 C3 FB D9 7E 5E 81 B4 7F F0 60 EE D9 CD
-0090 | FB 91 BE 9D B9 E8 2D E5 E3 21 87 29 9D AC B5 FB
-00A0 | 66 7F 40 9E 4C 2F C9 11 85 09 CA 68 CB 48 4B 0F
-00B0 | 95 97 DE 37 07 B3 17 44 DE 2F AD 94 99 57 B3 FA
-00C0 | A8 A9 D3 4C CD 43 99 10 37 04 73 9E 2B 86 20 C4
-00D0 | FE 32 73 70 63 D4 6D 40 83 3E 79 BF 62 A8 06 2E
-00E0 | EB 5D 51 8C 38 C0 2A A4 CE 85 D9 EF 00 B7 B9 75
-00F0 | 14 4B EE 80 C1 22 3A 27 2E 6B 0E F4 37 3A D6 C6
-0100 | F8 6C 30 AC 0F AA 10 6D FE DD B8 D1 5C A1 75 2B
-0110 | 96 0D 39 AA D9 DB 8B C1 9F 1D 89 AF 4D B0 FD CE
-0120 | 2E 2C D4 07 84 14 46 EC EF 38 29 84 E3 44 50 96
-0130 | 86 4F 39 DD 9D 3C CF 10 26 D4 58 88 FE 3E 5E 58
-0140 | 64 35 20 87 BC DC 33 55 87 ED 91 E4 42 63 EB 78
-0150 | 4C 2B 31 B8 41 A5 58 03 AC 6A 55 72 51 7B E1 18
-0160 | 90 6F DF CF FA 81 5C 4B 2F 91 13 51 75 81 17 C0
-0170 | 7D EE 47 44 10 98 66 65 7D 28 1D DD 1F 6C DA 0E
-0180 | DF 72 CD B4 3A 03 33 32 0B 12 22 7C
+0000 | 00 00 00 00 00 00 00 00 04 3E 0B 00 C3 BD 74 65
+0010 | 78 01 00 00 1F 5F 04 F5 59 DE DF 5B B5 F9 3F E0
+0020 | B8 6A A6 22 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9
+0030 | 74 BA A8 22 30 11 21 C3 FE 50 01 00 23 BC 41 0D
+0040 | 26 E4 C4 8F 28 54 8B C9 B1 59 0D 26 60 64 D3 F1
+0050 | E7 CB 4B 06 F3 4F BB 73 CE 3B 45 71 3E DE FC EC
+0060 | A5 38 57 84 03 B8 D0 6E D2 CB A2 B7 EE B2 B1 05
+0070 | CC F4 68 AC 84 56 B6 02 B3 86 02 DB 37 AE F1 3D
+0080 | 3C A9 BC B9 86 7B ED 2C 1F A9 1B 5D 65 2D 87 1D
+0090 | 2E A7 14 27 64 0C A2 BC E8 2D 02 57 8F E4 3D A3
+00A0 | 9B AA 56 15 0D 51 ED BE AC D8 60 90 84 0D AB A6
+00B0 | DC 72 26 5C B4 96 16 FB 22 5F 5D BB 7E 6E 8C 2C
+00C0 | 35 43 B7 BB AB 26 B5 6C 39 31 32 3C 5B D4 72 12
+00D0 | B1 F2 B3 54 71 D4 E3 04 49 1A 6D 4E DC 00 04 9D
+00E0 | C6 61 76 D6 70 F6 9B B1 E1 44 2A D7 C6 11 0D CB
+00F0 | E3 A4 AA FB B4 A1 67 BE CA C2 91 6B 91 F2 92 C8
+0100 | 08 42 51 DA 20 4F 83 E9 B3 A2 CE 9E 03 45 6D 47
+0110 | 20 19 F5 55 5A C6 BA 4E 92 85 FF 96 53 6F B7 AB
+0120 | 36 9B BB DA 7D 0A D5 C4 93 68 0E DA E8 15 7D D4
+0130 | 31 3D B2 CC 6D E3 51 C0 4B 35 5E 39 57 97 57 E0
+0140 | 82 85 98 EC CB 51 9E 52 B4 D0 4A D6 C7 3C E6 56
+0150 | EB 2D C4 D7 6A 53 F5 27 DE C8 AB AF 3B 71 DA 1F
+0160 | 83 D1 7E B7 D0 D4 30 CB FE 9A CA FA 23 56 5A 30
+0170 | 64 EE EA ED CB 24 EB A8 93 20 FA F3 F5 B9 0F CE
+0180 | E9 99 AF 85 7E F2 5A A6 E2 74 97 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 |
-CC030F003ABB7465 |
+043E0B00C3BD7465 |
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 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
encrypted_data |
56, 340 |
-FE500100A503E6CD8B949E333CA53086 3336E66D42F26723883828EC83128077 2BCDF29C9770EFC917E6971C83830FA6 0F32C76696877EBE68620AD75CD53387 77835E4CED6E3529CE4391C3FBD97E5E 81B47FF060EED9CDFB91BE9DB9E82DE5 E32187299DACB5FB667F409E4C2FC911 8509CA68CB484B0F9597DE3707B31744 DE2FAD949957B3FAA8A9D34CCD439910 3704739E2B8620C4FE32737063D46D40 833E79BF62A8062EEB5D518C38C02AA4 CE85D9EF00B7B975144BEE80C1223A27 2E6B0EF4373AD6C6F86C30AC0FAA106D FEDDB8D15CA1752B960D39AAD9DB8BC1 9F1D89AF4DB0FDCE2E2CD407841446EC EF382984E3445096864F39DD9D3CCF10 26D45888FE3E5E5864352087BCDC3355 87ED91E44263EB784C2B31B841A55803 AC6A5572517BE118906FDFCFFA815C4B 2F911351758117C07DEE474410986665 7D281DDD1F6CDA0EDF72CDB43A033332 0B12227C |
+FE50010023BC410D26E4C48F28548BC9 B1590D266064D3F1E7CB4B06F34FBB73 CE3B45713EDEFCECA538578403B8D06E D2CBA2B7EEB2B105CCF468AC8456B602 B38602DB37AEF13D3CA9BCB9867BED2C 1FA91B5D652D871D2EA71427640CA2BC E82D02578FE43DA39BAA56150D51EDBE ACD86090840DABA6DC72265CB49616FB 225F5DBB7E6E8C2C3543B7BBAB26B56C 3931323C5BD47212B1F2B35471D4E304 491A6D4EDC00049DC66176D670F69BB1 E1442AD7C6110DCBE3A4AAFBB4A167BE CAC2916B91F292C8084251DA204F83E9 B3A2CE9E03456D472019F5555AC6BA4E 9285FF96536FB7AB369BBBDA7D0AD5C4 93680EDAE8157DD4313DB2CC6DE351C0 4B355E39579757E0828598ECCB519E52 B4D04AD6C73CE656EB2DC4D76A53F527 DEC8ABAF3B71DA1F83D17EB7D0D430CB FE9ACAFA23565A3064EEEAEDCB24EBA8 9320FAF3F5B90FCEE999AF857EF25AA6 E274972D |
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 = 244410BC9D177FCDB8EFFB35E66FFD061C5A1FC1B1B42490DDF5F621C348D9275513C5AD9E4869AA35BE3547282FAA822C1A55D63AF593EA23E09AED79F190DECDD0940CB86C0BA8A983CDC2D97F538D4109DD18955E99B881A95670710532F898C3406113CA35F658099DEA83EC0052272F7C1D0BEED401E3D6A6341499009B961DD2EA74F1875579A90E0F152A87A6853FE320EB27E76DAF367795086597F7160F7C392DEBE55E7AA8B3FB181999659E3B925283211FEEF0DE6FAC7866D43E22F2D5068E5D081C42D291316F750AB1304D13CCFBBB5094529B9E056A49F6C42B5689BBF5475B24C9EF200AF82E4ADF62FC3FA996DB99A4B80549B0C853FCCC
+auth_key = 29D550452738C5D5243D21EEF71D21FFB93F3AB03938FACB83CFA34E19D9614E53A7780CA95FF9A9D94E2301DF8B5C06B1488F80B8CC20E1ABFC68DA7E85CA8893E778577D643CC2E615C186FE195B99A89A3C696D3525A3E186466AB768D246B1D16B360029B13DE4AC41550B97C44AAB0F81BF17AD50FBE38838631660BE90D714BDA7F93E2D8EBC0970D8A303C7F80E4953B58792675D93E59DB40FDAABA5D109B8FCF767E61729DE4712D5C7ACECF9E1ED065280970790394C27E9E1E9BDFDAF331E8646708ADB1502159D3138E77F66E12D9BAA05DA564E14A3694BE7059542819B8EF77CFC232F51DC9BE17BC9C6B099AC2536DB26F67F89C0FFF8E513
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 60 E0 33 3B BB 74 65
-0010 | 9C 00 00 00 34 F7 CB 3B 12 D2 52 A6 52 49 2F 98
-0020 | B3 E7 AC 76 FE FA 89 A4 6C E7 5A 07 8D 3B DA EC
-0030 | 6C D2 D6 3A D8 67 9D DA 8B FA C8 03 5D A7 77 2B
-0040 | 7F 58 18 E2 3A 86 65 79
+0000 | 00 00 00 00 00 00 00 00 01 D8 94 E3 C3 BD 74 65
+0010 | 78 00 00 00 34 F7 CB 3B 59 DE DF 5B B5 F9 3F E0
+0020 | B8 6A A6 22 1D 70 B0 B9 A1 E0 68 88 4F 45 FD C9
+0030 | 74 BA A8 22 30 11 21 C3 75 CE EC A7 57 B5 1E 32
+0040 | 54 6F 1A 52 29 5E 13 ED
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 |
-0160E0333BBB7465 |
+01D894E3C3BD7465 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-9C000000 (156 in decimal) |
+78000000 (120 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 |
-12D252A652492F98B3E7AC76FEFA89A4 |
+59DEDF5BB5F93FE0B86AA6221D70B0B9 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-6CE75A078D3BDAEC6CD2D63AD8679DDA |
+A1E068884F45FDC974BAA822301121C3 |
Value received from server in Step 2 |
new_nonce_hash1 |
56, 16 |
-8BFAC8035DA7772B7F5818E23A866579 |
+75CEECA757B51E32546F1A52295E13ED |
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/help.PeerColors.html b/data/web/corefork.telegram.org/type/help.PeerColors.html
index 248b934c67..0c377f3796 100644
--- a/data/web/corefork.telegram.org/type/help.PeerColors.html
+++ b/data/web/corefork.telegram.org/type/help.PeerColors.html
@@ -111,11 +111,11 @@ help.getPeerColors…">
help.getPeerColors |
- |
+Get the set of accent color palettes » that can be used for messages |
help.getPeerProfileColors |
- |
+Get the set of accent color palettes » that can be used for profiles |
diff --git a/data/web/instantview.telegram.org/templates.html b/data/web/instantview.telegram.org/templates.html
index 3cac75548c..3756e5463d 100644
--- a/data/web/instantview.telegram.org/templates.html
+++ b/data/web/instantview.telegram.org/templates.html
@@ -67,6 +67,16 @@
@@ -326,6 +336,16 @@
Jan 1, 1970
+
1.zt.ua
@@ -686,6 +716,16 @@
Jan 1, 1970
+
24.hu
@@ -896,6 +956,16 @@
Jan 1, 1970
+
@@ -1113,7 +1113,7 @@