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 2fc256033a..9c3ca26b53 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 |
-64C70700ABD58565 |
+08DD0000FCE98565 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -95,7 +95,7 @@
nonce |
24, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
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 44 64 47 AB D5 85 65
-0010 | A0 00 00 00 63 24 16 05 EE 38 98 81 A2 78 AD E0
-0020 | 15 5B 03 1B B8 7D D8 29 93 C1 B1 8D 31 46 40 18
-0030 | ED A8 55 E5 30 D8 9A 96 08 30 4E 2B 2C CB 3D CA
-0040 | AF 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 14 54 F4 FC E9 85 65
+0010 | B0 00 00 00 63 24 16 05 18 9E 5D FD 0E 6A C8 14
+0020 | 5A E0 53 B6 B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29
+0030 | BC 82 84 C2 00 37 4D 19 08 19 E2 B1 2F F3 F5 6D
+0040 | DB 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 |
-01446447ABD58565 |
+011454F4FCE98565 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-A0000000 (160 in decimal) |
+B0000000 (176 in decimal) |
Message body length |
@@ -150,19 +150,19 @@
nonce |
24, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Server-generated random number |
pq |
56, 12 |
-08304E2B2CCB3DCAAF000000 TL byte deserialization => bigendian conversion to decimal => 3480767033392351919 |
+0819E2B12FF3F56DDB000000 TL byte deserialization => bigendian conversion to decimal => 1865248015199333851 |
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 = 3480767033392351919
-Decompose into 2 prime cofactors p < q
: 3480767033392351919 = 1778205773 * 1957460203
-p = 1778205773
-q = 1957460203
+pq = 1865248015199333851
+Decompose into 2 prime cofactors p < q
: 1865248015199333851 = 1360104203 * 1371400817
+p = 1360104203
+q = 1371400817
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 30 4E 2B 2C CB 3D CA AF 00 00 00
-0010 | 04 69 FD 44 4D 00 00 00 04 74 AC 78 EB 00 00 00
-0020 | EE 38 98 81 A2 78 AD E0 15 5B 03 1B B8 7D D8 29
-0030 | 93 C1 B1 8D 31 46 40 18 ED A8 55 E5 30 D8 9A 96
-0040 | D0 9D 3A B9 DF 74 DB F9 60 41 4E D6 E5 7C 83 F0
-0050 | 6A 3C CD 3C FE 45 C1 D9 B2 58 21 CC 17 98 86 1C
+0000 | 95 5F F5 A9 08 19 E2 B1 2F F3 F5 6D DB 00 00 00
+0010 | 04 51 11 8B 0B 00 00 00 04 51 BD EA 71 00 00 00
+0020 | 18 9E 5D FD 0E 6A C8 14 5A E0 53 B6 B0 B0 FE AD
+0030 | 53 D8 C9 E6 C3 EE C9 29 BC 82 84 C2 00 37 4D 19
+0040 | 98 09 E1 28 A2 07 99 22 A3 4A D1 63 6C 13 EC 96
+0050 | 27 A4 14 39 27 CF 85 6F F4 BC B4 80 F7 65 DC 87
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 = 1957460203
pq |
4, 12 |
-08304E2B2CCB3DCAAF000000 TL byte deserialization => bigendian conversion to decimal => 3480767033392351919 |
+0819E2B12FF3F56DDB000000 TL byte deserialization => bigendian conversion to decimal => 1865248015199333851 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding |
p |
16, 8 |
-0469FD444D000000 TL byte deserialization => bigendian conversion to decimal => 1778205773 |
+0451118B0B000000 TL byte deserialization => bigendian conversion to decimal => 1360104203 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
24, 8 |
-0474AC78EB000000 TL byte deserialization => bigendian conversion to decimal => 1957460203 |
+0451BDEA71000000 TL byte deserialization => bigendian conversion to decimal => 1371400817 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
nonce |
32, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
48, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
new_nonce |
64, 32 |
-D09D3AB9DF74DBF960414ED6E57C83F0 6A3CCD3CFE45C1D9B25821CC1798861C |
+9809E128A2079922A34AD1636C13EC96 27A4143927CF856FF4BCB480F765DC87 |
Client-generated random number |
@@ -291,39 +291,39 @@ q = 1957460203
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 = 955FF5A908304E2B2CCB3DCAAF0000000469FD444D0000000474AC78EB000000EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A96D09D3AB9DF74DBF960414ED6E57C83F06A3CCD3CFE45C1D9B25821CC1798861C02000000
-random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C6361F08244287CC541D9683A47982C059107979BE96622AC0F1BF7B008BCEE0AC6DE9A7B6F7A026E155FDD7A412C006615D9816719A713D7C73AA1E389EF3E94C7
+data = 955FF5A90819E2B12FF3F56DDB0000000451118B0B0000000451BDEA71000000189E5DFD0E6AC8145AE053B6B0B0FEAD53D8C9E6C3EEC929BC8284C200374D199809E128A2079922A34AD1636C13EC9627A4143927CF856FF4BCB480F765DC8702000000
+random_padding_bytes = F1B99B993826203137EE714326EB604212EFAF4B4A4CEEBDB438E83BD6A9F4E1F67F4B90DF9DCDE98B728F05077D43EC959CA6156EF6170DDC99C66D99FE280D8218B0246E58524151003DDABEDD0BE2D2A40253B9DDB386B4DDE84D
And this is the output:
-encrypted_data = AA43C12F2B6194B90DC524FDBB12F8DD84E5EC62EA7BB054DF832C4D57E6B6BED7E3638E4498FE385ED2D49B881E0264A344AEDB4B8D19C05E5A0D1C1EF9C78FDABFF36746D675F2D70D8FBBB25F48F2856D1DED8BC10DD5DCE0ACF1A6639101E6619F6E55B01BE1D30428F166D03242F2BB2126347B41EFE18F34334294BACB95AF029626D6A10B0CB6FFD174EE17DA859FB58DB900F2F545DD2AFC004C28890B1ECDB3FF65CF345907D29DC9E48F32C7B2E169614610FCEDB05A424BDDB69D487B28A04076E2555B1DDBC1AA8521EB7E36BB0C2DD6F2AEA100FD3488C53AC7129A08795115CBFA08ADFC4604005339B9131BBD31807658BEF6FE107BA49EE0
+encrypted_data = 1F64F729F5C625295B90ED89A2814938FAD946F39E8DF77A0227524711C12E40F0796785D680C88326299B17421C2DBBDA9A9A9236A5F3510792DA02CDEC51E8F0AF64A81EB189BFE0F1EDDB5336EE023EA44D451E79422B13045000E7262813AF0829535CD09112651D652DE8B814876D6F44FD8056E25DA0CB9F253FFE43D448C16680DD07317AD5FCC696FCFA9E2EF0A0682BCBD16D5A166683E083D71483E2C9E596C9F9A2FA217EB9036CAC4DD603ACF9A90A79363E62D0A85AC980A90719B297DCD5B8414C0F4BF1EACEFBA4FBDBA3B1A293FAD696DBC46A6D9E26D891EBD50DA2D1CB3168EA0864FE7B85EDF555CB9CC78DABBA727F40893CD6E0C523
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 38 23 0B 00 AB D5 85 65
-0010 | 40 01 00 00 BE E4 12 D7 EE 38 98 81 A2 78 AD E0
-0020 | 15 5B 03 1B B8 7D D8 29 93 C1 B1 8D 31 46 40 18
-0030 | ED A8 55 E5 30 D8 9A 96 04 69 FD 44 4D 00 00 00
-0040 | 04 74 AC 78 EB 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 AA 43 C1 2F 2B 61 94 B9 0D C5 24 FD
-0060 | BB 12 F8 DD 84 E5 EC 62 EA 7B B0 54 DF 83 2C 4D
-0070 | 57 E6 B6 BE D7 E3 63 8E 44 98 FE 38 5E D2 D4 9B
-0080 | 88 1E 02 64 A3 44 AE DB 4B 8D 19 C0 5E 5A 0D 1C
-0090 | 1E F9 C7 8F DA BF F3 67 46 D6 75 F2 D7 0D 8F BB
-00A0 | B2 5F 48 F2 85 6D 1D ED 8B C1 0D D5 DC E0 AC F1
-00B0 | A6 63 91 01 E6 61 9F 6E 55 B0 1B E1 D3 04 28 F1
-00C0 | 66 D0 32 42 F2 BB 21 26 34 7B 41 EF E1 8F 34 33
-00D0 | 42 94 BA CB 95 AF 02 96 26 D6 A1 0B 0C B6 FF D1
-00E0 | 74 EE 17 DA 85 9F B5 8D B9 00 F2 F5 45 DD 2A FC
-00F0 | 00 4C 28 89 0B 1E CD B3 FF 65 CF 34 59 07 D2 9D
-0100 | C9 E4 8F 32 C7 B2 E1 69 61 46 10 FC ED B0 5A 42
-0110 | 4B DD B6 9D 48 7B 28 A0 40 76 E2 55 5B 1D DB C1
-0120 | AA 85 21 EB 7E 36 BB 0C 2D D6 F2 AE A1 00 FD 34
-0130 | 88 C5 3A C7 12 9A 08 79 51 15 CB FA 08 AD FC 46
-0140 | 04 00 53 39 B9 13 1B BD 31 80 76 58 BE F6 FE 10
-0150 | 7B A4 9E E0
+0000 | 00 00 00 00 00 00 00 00 0C D0 0C 00 FD E9 85 65
+0010 | 40 01 00 00 BE E4 12 D7 18 9E 5D FD 0E 6A C8 14
+0020 | 5A E0 53 B6 B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29
+0030 | BC 82 84 C2 00 37 4D 19 04 51 11 8B 0B 00 00 00
+0040 | 04 51 BD EA 71 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 1F 64 F7 29 F5 C6 25 29 5B 90 ED 89
+0060 | A2 81 49 38 FA D9 46 F3 9E 8D F7 7A 02 27 52 47
+0070 | 11 C1 2E 40 F0 79 67 85 D6 80 C8 83 26 29 9B 17
+0080 | 42 1C 2D BB DA 9A 9A 92 36 A5 F3 51 07 92 DA 02
+0090 | CD EC 51 E8 F0 AF 64 A8 1E B1 89 BF E0 F1 ED DB
+00A0 | 53 36 EE 02 3E A4 4D 45 1E 79 42 2B 13 04 50 00
+00B0 | E7 26 28 13 AF 08 29 53 5C D0 91 12 65 1D 65 2D
+00C0 | E8 B8 14 87 6D 6F 44 FD 80 56 E2 5D A0 CB 9F 25
+00D0 | 3F FE 43 D4 48 C1 66 80 DD 07 31 7A D5 FC C6 96
+00E0 | FC FA 9E 2E F0 A0 68 2B CB D1 6D 5A 16 66 83 E0
+00F0 | 83 D7 14 83 E2 C9 E5 96 C9 F9 A2 FA 21 7E B9 03
+0100 | 6C AC 4D D6 03 AC F9 A9 0A 79 36 3E 62 D0 A8 5A
+0110 | C9 80 A9 07 19 B2 97 DC D5 B8 41 4C 0F 4B F1 EA
+0120 | CE FB A4 FB DB A3 B1 A2 93 FA D6 96 DB C4 6A 6D
+0130 | 9E 26 D8 91 EB D5 0D A2 D1 CB 31 68 EA 08 64 FE
+0140 | 7B 85 ED F5 55 CB 9C C7 8D AB BA 72 7F 40 89 3C
+0150 | D6 E0 C5 23
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 = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
message_id |
8, 8 |
-38230B00ABD58565 |
+0CD00C00FDE98565 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -363,25 +363,25 @@ random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
nonce |
24, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
p |
56, 8 |
-0469FD444D000000 TL byte deserialization => bigendian conversion to decimal => 1778205773 |
+0451118B0B000000 TL byte deserialization => bigendian conversion to decimal => 1360104203 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
64, 8 |
-0474AC78EB000000 TL byte deserialization => bigendian conversion to decimal => 1957460203 |
+0451BDEA71000000 TL byte deserialization => bigendian conversion to decimal => 1371400817 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
@@ -393,7 +393,7 @@ random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
encrypted_data |
80, 260 |
-FE000100AA43C12F2B6194B90DC524FD BB12F8DD84E5EC62EA7BB054DF832C4D 57E6B6BED7E3638E4498FE385ED2D49B 881E0264A344AEDB4B8D19C05E5A0D1C 1EF9C78FDABFF36746D675F2D70D8FBB B25F48F2856D1DED8BC10DD5DCE0ACF1 A6639101E6619F6E55B01BE1D30428F1 66D03242F2BB2126347B41EFE18F3433 4294BACB95AF029626D6A10B0CB6FFD1 74EE17DA859FB58DB900F2F545DD2AFC 004C28890B1ECDB3FF65CF345907D29D C9E48F32C7B2E169614610FCEDB05A42 4BDDB69D487B28A04076E2555B1DDBC1 AA8521EB7E36BB0C2DD6F2AEA100FD34 88C53AC7129A08795115CBFA08ADFC46 04005339B9131BBD31807658BEF6FE10 7BA49EE0 |
+FE0001001F64F729F5C625295B90ED89 A2814938FAD946F39E8DF77A02275247 11C12E40F0796785D680C88326299B17 421C2DBBDA9A9A9236A5F3510792DA02 CDEC51E8F0AF64A81EB189BFE0F1EDDB 5336EE023EA44D451E79422B13045000 E7262813AF0829535CD09112651D652D E8B814876D6F44FD8056E25DA0CB9F25 3FFE43D448C16680DD07317AD5FCC696 FCFA9E2EF0A0682BCBD16D5A166683E0 83D71483E2C9E596C9F9A2FA217EB903 6CAC4DD603ACF9A90A79363E62D0A85A C980A90719B297DCD5B8414C0F4BF1EA CEFBA4FBDBA3B1A293FAD696DBC46A6D 9E26D891EBD50DA2D1CB3168EA0864FE 7B85EDF555CB9CC78DABBA727F40893C D6E0C523 |
Value generated above |
@@ -402,47 +402,47 @@ random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 F4 D6 F0 AB D5 85 65
-0010 | DC 02 00 00 5C 07 E8 D0 EE 38 98 81 A2 78 AD E0
-0020 | 15 5B 03 1B B8 7D D8 29 93 C1 B1 8D 31 46 40 18
-0030 | ED A8 55 E5 30 D8 9A 96 FE 50 02 00 9E 32 D2 A5
-0040 | 31 30 F5 B7 C1 F5 D0 D6 60 7F 31 CF 72 9F 0F B3
-0050 | E7 99 6A 61 44 A3 61 D4 58 0F 42 EB C1 D4 BF 95
-0060 | BC E8 34 57 20 FE 6A E8 8A 0C D7 5E 7B 33 EE 13
-0070 | EB CB A8 8A F1 8B B6 AD 26 10 92 C8 63 39 56 4E
-0080 | D6 07 CC C1 9A 2B 33 C0 7C 23 32 15 5E 74 F0 40
-0090 | 9A 1C 65 36 94 C9 E5 E5 A5 F0 B6 16 C7 E2 13 58
-00A0 | 26 28 B2 0C 3B DB 23 7B B0 A1 3E AB AD 13 87 15
-00B0 | 49 5C 1B C8 47 E3 72 48 4D 18 C1 B8 48 4C CB 49
-00C0 | DC 40 23 B9 BE F2 0E F6 90 BE 12 55 C7 AA 3A A2
-00D0 | 5D 12 7B CA 47 C1 2C 56 09 75 4B 15 DD 05 EA DC
-00E0 | D3 7F A2 62 A6 42 F9 9B B5 6B 74 EA 00 CA 44 AB
-00F0 | FB 7A 44 F0 AA B8 99 C4 C5 B4 14 4C 1E 53 96 E1
-0100 | CB CD C6 C2 AE 53 44 E5 F5 36 0A 9C EC 92 EC 61
-0110 | 70 9A 9C BA 70 40 C4 B9 12 5C F8 7F 85 58 7B 7C
-0120 | C2 A8 DA 94 61 33 1F 0C AB EA 29 29 59 DC 0F 2D
-0130 | 3F A6 D2 8B 36 C4 CC BC D3 2C D0 63 1E 8B C6 50
-0140 | 37 A8 C6 28 0A 26 38 AE 6C 12 5B 72 A5 F3 45 20
-0150 | 6B 59 4C 72 96 27 F9 9A EA 5F 29 ED C7 69 21 DF
-0160 | 82 99 C6 7F 9C B2 A0 A3 38 66 84 5D 79 C6 0D B8
-0170 | 88 6A D6 8A 18 DC 9D 9F 87 BB 3C 1E 40 E3 0E B0
-0180 | 57 46 0A 93 04 B4 F6 F7 D6 DE 90 18 64 7C AA 6A
-0190 | 7C 07 19 CE F2 4C 89 80 51 F3 54 DB E3 71 7C C3
-01A0 | C8 31 1F 4A 01 D3 60 9C 07 1A ED 51 57 E6 F8 4A
-01B0 | 33 11 58 6F 76 09 D8 FA C2 92 05 0A 9D 1E B2 EB
-01C0 | E1 F7 C9 B4 39 92 38 07 7B FC 64 6A A7 5E AE 30
-01D0 | 0E 11 2F BF 52 A4 4F 59 17 85 8B E7 6D 68 C1 06
-01E0 | B6 4F 74 C0 E6 66 D5 D7 33 BA 39 31 8A 4E 2C 82
-01F0 | A6 F0 A1 05 80 51 20 55 6C DA D4 FD 56 F5 3B BC
-0200 | A6 ED 93 9D 8D 78 65 1A AD 42 27 4E 2E 5E 67 20
-0210 | CE 7A 90 43 98 AC 11 6F 6F 5E E8 91 05 74 4F 3A
-0220 | 64 A8 06 09 82 C4 78 18 12 C3 88 46 F5 85 B5 98
-0230 | 40 E3 9E D3 D9 F8 44 A0 45 9D 0F 54 E1 A3 FD C4
-0240 | DF 30 54 73 66 06 14 44 7A B8 8E F1 C8 D4 06 CA
-0250 | 70 C7 85 85 55 F8 31 8D 17 CA 87 DF 79 D0 A1 00
-0260 | 52 49 C9 50 F8 B1 70 0D D8 7C 18 41 6D A2 AB 20
-0270 | 17 D6 23 47 47 0E 92 1B DB 93 82 D2 0B 84 BC EF
-0280 | 4F E0 D9 CC EB A8 2F 41 E5 71 29 D9
+0000 | 00 00 00 00 00 00 00 00 01 C4 ED BC FD E9 85 65
+0010 | F0 02 00 00 5C 07 E8 D0 18 9E 5D FD 0E 6A C8 14
+0020 | 5A E0 53 B6 B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29
+0030 | BC 82 84 C2 00 37 4D 19 FE 50 02 00 49 90 94 4E
+0040 | 5D F7 F7 1E 3A DF 19 44 8A 7C 01 AE 8B 58 77 64
+0050 | 45 B7 78 84 4A 7A 4C 2B FD F9 60 CC A6 A7 C2 23
+0060 | A2 1D 65 B3 E4 90 EC 38 D1 6E 47 CA 68 B1 A3 15
+0070 | 91 D8 F7 33 0A 82 EF 64 D1 21 B2 5D E6 E4 11 56
+0080 | 5F C7 13 F0 24 10 45 89 F7 33 AA 30 F7 4A D9 86
+0090 | 99 05 74 DB 20 C3 24 2E E8 96 F9 68 23 3D 97 D8
+00A0 | 83 FB 20 96 6F C8 D9 72 CD 3F 28 E3 B1 45 1B 9A
+00B0 | 11 43 53 81 59 86 5A 1E 3A 00 5C 36 DA 95 97 DA
+00C0 | 16 79 2E AC A0 D8 0E ED 34 2A 8E 96 E9 D3 C9 8E
+00D0 | B2 A5 15 20 DC 51 67 7A C4 5F 76 8A 5C 7E 87 9A
+00E0 | 67 8A 87 3D 61 AD 3A 5E 74 95 D2 AA 05 1B 56 09
+00F0 | 4E 45 BB D9 AA 03 D8 EB 25 32 B8 85 C3 2A E5 65
+0100 | 7A E0 16 2C 3E 0A 47 80 96 1D 3B D5 A1 7D 67 E8
+0110 | A6 FA BB 2A 86 FA B6 12 8A D9 EC 1F 05 2E 72 CF
+0120 | BF 9B 40 C3 15 1D 4C 40 2F DD 5E FA 7B 69 EF 25
+0130 | B4 FF 73 C1 19 D9 12 89 6A 90 B7 3C 81 00 91 EE
+0140 | A4 47 57 51 D2 AB 51 9A FA AA 21 AB B2 DD CE 35
+0150 | 3F C8 84 F3 10 24 7E 06 30 7F 13 49 34 A9 FF D3
+0160 | BC 03 12 5B B2 29 7A 5C 46 7B 2F 13 EC 2E AF E7
+0170 | 35 DE 0E 07 28 98 EF 6C AB E5 7D D6 51 6C F8 87
+0180 | 3E 8F 5D 1B 64 D9 52 72 4B D0 C4 6F B3 C3 12 07
+0190 | DE 30 DB 90 04 19 0A 00 60 28 00 7B 22 10 D1 7E
+01A0 | 7F 10 2D 07 D3 12 8D C4 FB 21 DA E6 6C 6C FC 1A
+01B0 | 07 53 94 16 4B 4A FE 5E E4 C4 7F 44 DC 62 91 3D
+01C0 | 35 42 88 26 97 0D 0E 01 7D CF 93 04 C9 F3 78 3D
+01D0 | 76 28 05 73 BB EC EC 3D 1B 5E CD D3 F5 16 BA 5D
+01E0 | 96 3C 05 EE 87 FA C8 1E A5 82 4A C4 6A 67 55 C1
+01F0 | 08 12 58 23 08 94 9E F7 45 2E 62 87 49 07 A5 26
+0200 | A3 D4 02 4C A8 8F 2F 06 4B 36 AB F9 D8 F3 C4 EA
+0210 | 3F 5B 5D 4B 3A C2 33 C1 93 AA 24 62 0F DE 7B BC
+0220 | 1A 6C 4D B6 F5 11 A3 F0 2D BE E6 AB CF B3 89 B9
+0230 | 66 2F 4C 68 D4 86 01 9E 57 34 F1 83 63 4B DA C0
+0240 | 24 C0 88 DA 08 29 79 32 AC 85 87 69 AB B2 C9 35
+0250 | 10 A4 0F 73 C3 07 60 62 0D 63 12 26 3A A0 BF 29
+0260 | AA C0 41 E4 6E F9 C0 2A AB 1B 80 23 4F 42 F8 E0
+0270 | 53 CE 04 64 6B 4D AC 98 8A 17 24 E9 E0 E7 A2 4F
+0280 | 51 1D 44 41 E0 E7 BE AC 8C A0 94 AB
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 = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
message_id |
8, 8 |
-01F4D6F0ABD58565 |
+01C4EDBCFDE98565 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-DC020000 (732 in decimal) |
+F0020000 (752 in decimal) |
Message body length |
@@ -482,19 +482,19 @@ random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
nonce |
24, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
encrypted_answer |
56, 596 |
-FE5002009E32D2A53130F5B7C1F5D0D6 607F31CF729F0FB3E7996A6144A361D4 580F42EBC1D4BF95BCE8345720FE6AE8 8A0CD75E7B33EE13EBCBA88AF18BB6AD 261092C86339564ED607CCC19A2B33C0 7C2332155E74F0409A1C653694C9E5E5 A5F0B616C7E213582628B20C3BDB237B B0A13EABAD138715495C1BC847E37248 4D18C1B8484CCB49DC4023B9BEF20EF6 90BE1255C7AA3AA25D127BCA47C12C56 09754B15DD05EADCD37FA262A642F99B B56B74EA00CA44ABFB7A44F0AAB899C4 C5B4144C1E5396E1CBCDC6C2AE5344E5 F5360A9CEC92EC61709A9CBA7040C4B9 125CF87F85587B7CC2A8DA9461331F0C ABEA292959DC0F2D3FA6D28B36C4CCBC D32CD0631E8BC65037A8C6280A2638AE 6C125B72A5F345206B594C729627F99A EA5F29EDC76921DF8299C67F9CB2A0A3 3866845D79C60DB8886AD68A18DC9D9F 87BB3C1E40E30EB057460A9304B4F6F7 D6DE9018647CAA6A7C0719CEF24C8980 51F354DBE3717CC3C8311F4A01D3609C 071AED5157E6F84A3311586F7609D8FA C292050A9D1EB2EBE1F7C9B439923807 7BFC646AA75EAE300E112FBF52A44F59 17858BE76D68C106B64F74C0E666D5D7 33BA39318A4E2C82A6F0A10580512055 6CDAD4FD56F53BBCA6ED939D8D78651A AD42274E2E5E6720CE7A904398AC116F 6F5EE89105744F3A64A8060982C47818 12C38846F585B59840E39ED3D9F844A0 459D0F54E1A3FDC4DF30547366061444 7AB88EF1C8D406CA70C7858555F8318D 17CA87DF79D0A1005249C950F8B1700D D87C18416DA2AB2017D62347470E921B DB9382D20B84BCEF4FE0D9CCEBA82F41 E57129D9 |
+FE5002004990944E5DF7F71E3ADF1944 8A7C01AE8B58776445B778844A7A4C2B FDF960CCA6A7C223A21D65B3E490EC38 D16E47CA68B1A31591D8F7330A82EF64 D121B25DE6E411565FC713F024104589 F733AA30F74AD986990574DB20C3242E E896F968233D97D883FB20966FC8D972 CD3F28E3B1451B9A1143538159865A1E 3A005C36DA9597DA16792EACA0D80EED 342A8E96E9D3C98EB2A51520DC51677A C45F768A5C7E879A678A873D61AD3A5E 7495D2AA051B56094E45BBD9AA03D8EB 2532B885C32AE5657AE0162C3E0A4780 961D3BD5A17D67E8A6FABB2A86FAB612 8AD9EC1F052E72CFBF9B40C3151D4C40 2FDD5EFA7B69EF25B4FF73C119D91289 6A90B73C810091EEA4475751D2AB519A FAAA21ABB2DDCE353FC884F310247E06 307F134934A9FFD3BC03125BB2297A5C 467B2F13EC2EAFE735DE0E072898EF6C ABE57DD6516CF8873E8F5D1B64D95272 4BD0C46FB3C31207DE30DB9004190A00 6028007B2210D17E7F102D07D3128DC4 FB21DAE66C6CFC1A075394164B4AFE5E E4C47F44DC62913D35428826970D0E01 7DCF9304C9F3783D76280573BBECEC3D 1B5ECDD3F516BA5D963C05EE87FAC81E A5824AC46A6755C10812582308949EF7 452E62874907A526A3D4024CA88F2F06 4B36ABF9D8F3C4EA3F5B5D4B3AC233C1 93AA24620FDE7BBC1A6C4DB6F511A3F0 2DBEE6ABCFB389B9662F4C68D486019E 5734F183634BDAC024C088DA08297932 AC858769ABB2C93510A40F73C3076062 0D6312263AA0BF29AAC041E46EF9C02A AB1B80234F42F8E053CE04646B4DAC98 8A1724E9E0E7A24F511D4441E0E7BEAC 8CA094AB |
See below |
@@ -502,20 +502,20 @@ random_padding_bytes = 0ABD7F39D43CB931315CAF76A899C408E263FD8BE399D070DB104C636
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = 9E32D2A53130F5B7C1F5D0D6607F31CF729F0FB3E7996A6144A361D4580F42EBC1D4BF95BCE8345720FE6AE88A0CD75E7B33EE13EBCBA88AF18BB6AD261092C86339564ED607CCC19A2B33C07C2332155E74F0409A1C653694C9E5E5A5F0B616C7E213582628B20C3BDB237BB0A13EABAD138715495C1BC847E372484D18C1B8484CCB49DC4023B9BEF20EF690BE1255C7AA3AA25D127BCA47C12C5609754B15DD05EADCD37FA262A642F99BB56B74EA00CA44ABFB7A44F0AAB899C4C5B4144C1E5396E1CBCDC6C2AE5344E5F5360A9CEC92EC61709A9CBA7040C4B9125CF87F85587B7CC2A8DA9461331F0CABEA292959DC0F2D3FA6D28B36C4CCBCD32CD0631E8BC65037A8C6280A2638AE6C125B72A5F345206B594C729627F99AEA5F29EDC76921DF8299C67F9CB2A0A33866845D79C60DB8886AD68A18DC9D9F87BB3C1E40E30EB057460A9304B4F6F7D6DE9018647CAA6A7C0719CEF24C898051F354DBE3717CC3C8311F4A01D3609C071AED5157E6F84A3311586F7609D8FAC292050A9D1EB2EBE1F7C9B4399238077BFC646AA75EAE300E112FBF52A44F5917858BE76D68C106B64F74C0E666D5D733BA39318A4E2C82A6F0A105805120556CDAD4FD56F53BBCA6ED939D8D78651AAD42274E2E5E6720CE7A904398AC116F6F5EE89105744F3A64A8060982C4781812C38846F585B59840E39ED3D9F844A0459D0F54E1A3FDC4DF305473660614447AB88EF1C8D406CA70C7858555F8318D17CA87DF79D0A1005249C950F8B1700DD87C18416DA2AB2017D62347470E921BDB9382D20B84BCEF4FE0D9CCEBA82F41E57129D9
-tmp_aes_key = B9999F36CF51D0F3AB415490489808866DA6081900CB17D50BFF98218DE10C1A
-tmp_aes_iv = 0729C72EBEC2A2611B8AFBD181369F15641F2B635D5C9DA3B6F30AA2D09D3AB9
+encrypted_answer = 4990944E5DF7F71E3ADF19448A7C01AE8B58776445B778844A7A4C2BFDF960CCA6A7C223A21D65B3E490EC38D16E47CA68B1A31591D8F7330A82EF64D121B25DE6E411565FC713F024104589F733AA30F74AD986990574DB20C3242EE896F968233D97D883FB20966FC8D972CD3F28E3B1451B9A1143538159865A1E3A005C36DA9597DA16792EACA0D80EED342A8E96E9D3C98EB2A51520DC51677AC45F768A5C7E879A678A873D61AD3A5E7495D2AA051B56094E45BBD9AA03D8EB2532B885C32AE5657AE0162C3E0A4780961D3BD5A17D67E8A6FABB2A86FAB6128AD9EC1F052E72CFBF9B40C3151D4C402FDD5EFA7B69EF25B4FF73C119D912896A90B73C810091EEA4475751D2AB519AFAAA21ABB2DDCE353FC884F310247E06307F134934A9FFD3BC03125BB2297A5C467B2F13EC2EAFE735DE0E072898EF6CABE57DD6516CF8873E8F5D1B64D952724BD0C46FB3C31207DE30DB9004190A006028007B2210D17E7F102D07D3128DC4FB21DAE66C6CFC1A075394164B4AFE5EE4C47F44DC62913D35428826970D0E017DCF9304C9F3783D76280573BBECEC3D1B5ECDD3F516BA5D963C05EE87FAC81EA5824AC46A6755C10812582308949EF7452E62874907A526A3D4024CA88F2F064B36ABF9D8F3C4EA3F5B5D4B3AC233C193AA24620FDE7BBC1A6C4DB6F511A3F02DBEE6ABCFB389B9662F4C68D486019E5734F183634BDAC024C088DA08297932AC858769ABB2C93510A40F73C30760620D6312263AA0BF29AAC041E46EF9C02AAB1B80234F42F8E053CE04646B4DAC988A1724E9E0E7A24F511D4441E0E7BEAC8CA094AB
+tmp_aes_key = CF537FDF9879314FFB2E219E429CB37756678D2AEB597079226589C313999341
+tmp_aes_iv = 8E954BAA06C039F427BA6C8E77E1DA643CFBA6CBA2129FE6EEEDFD2A9809E128
Yielding:
-answer_with_hash = 58C17ABE181B5823DD267BBEAD3FEFA7943B5F3DBA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9603000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010074F237BC03131D4A943668B9CC26401877C263803EC3BB9DBF1CFA9F9AC1A9ED568FFF2EC0622F129E680BBA4B00CCBE9C7559FB7F524A88EB2D6CA771DC0E329321F19F27BDB4AEFFD2CBF00F6132E76E3C5E2B7A5DA7840DB2D583016B30C9319A918208FE4C8D7633C85F664ED10C92D5DCBEFFC3D174B4B2D1F0C83AD7236320E663B9E746EE438F4EDEE14F7268F74C2AFC6D301174136FE45A7D2C744E1B87F98E5D73DC0B448ECEB83B8448F1C593D444D76B5B5E3E81C30E105E1B786D12A77EBD199CD24214AF0BEF457E7B172C43A5A6E64F35B26919BA8BBBEAF31E5F8CEACEE4D927EF1F4B48A9D6EF0F16E733EE45B556ABBF975D263823CA24ABD58565875C69B9E992834B
-answer = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9603000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010074F237BC03131D4A943668B9CC26401877C263803EC3BB9DBF1CFA9F9AC1A9ED568FFF2EC0622F129E680BBA4B00CCBE9C7559FB7F524A88EB2D6CA771DC0E329321F19F27BDB4AEFFD2CBF00F6132E76E3C5E2B7A5DA7840DB2D583016B30C9319A918208FE4C8D7633C85F664ED10C92D5DCBEFFC3D174B4B2D1F0C83AD7236320E663B9E746EE438F4EDEE14F7268F74C2AFC6D301174136FE45A7D2C744E1B87F98E5D73DC0B448ECEB83B8448F1C593D444D76B5B5E3E81C30E105E1B786D12A77EBD199CD24214AF0BEF457E7B172C43A5A6E64F35B26919BA8BBBEAF31E5F8CEACEE4D927EF1F4B48A9D6EF0F16E733EE45B556ABBF975D263823CA24ABD58565875C69B9E992834B
+answer_with_hash = 2E1091F67B717BFE1238DFB01549A0059899F8E0BA0D89B5189E5DFD0E6AC8145AE053B6B0B0FEAD53D8C9E6C3EEC929BC8284C200374D1903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010024CD49B6D8668347B8F4FA18D3671B54F83CDE7D5F21C601EDA62AE9802120613779E02ED620C76D6A96C782031725EB5168FCA81D8FFC2ABA304B41470C3E5114D5A5A7A2AA53A5CBAA26B40ABAE18E9A04009627CD1A74A7A10ED4ECE9BFE8BFF975DACF64130821B767B36F169BF27167EBD7647CC100458879DC784AE18DB3CB4FF9862F0F3F88A1515434E0A716F75B972BD57C9AD082A640D096A6481412051DF94BBD1B68D4356655153D6666F5B1008094BB2DADC262F15C92C89733363CD524916B49E6E381F7C38CDD361D77FA59A136F19785EC744A002AE803D4A984B04B8EE975A45F148B53CE8743C41252F8D43DA2F98BEA692F7F3A3A8AB4FDE98565DD0DD30FDDB9F187
+answer = BA0D89B5189E5DFD0E6AC8145AE053B6B0B0FEAD53D8C9E6C3EEC929BC8284C200374D1903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010024CD49B6D8668347B8F4FA18D3671B54F83CDE7D5F21C601EDA62AE9802120613779E02ED620C76D6A96C782031725EB5168FCA81D8FFC2ABA304B41470C3E5114D5A5A7A2AA53A5CBAA26B40ABAE18E9A04009627CD1A74A7A10ED4ECE9BFE8BFF975DACF64130821B767B36F169BF27167EBD7647CC100458879DC784AE18DB3CB4FF9862F0F3F88A1515434E0A716F75B972BD57C9AD082A640D096A6481412051DF94BBD1B68D4356655153D6666F5B1008094BB2DADC262F15C92C89733363CD524916B49E6E381F7C38CDD361D77FA59A136F19785EC744A002AE803D4A984B04B8EE975A45F148B53CE8743C41252F8D43DA2F98BEA692F7F3A3A8AB4FDE98565DD0DD30FDDB9F187
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 EE 38 98 81 A2 78 AD E0 15 5B 03 1B
-0010 | B8 7D D8 29 93 C1 B1 8D 31 46 40 18 ED A8 55 E5
-0020 | 30 D8 9A 96 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 18 9E 5D FD 0E 6A C8 14 5A E0 53 B6
+0010 | B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29 BC 82 84 C2
+0020 | 00 37 4D 19 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 = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
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 | 74 F2 37 BC 03 13 1D 4A 94 36 68 B9 CC 26 40 18
-0140 | 77 C2 63 80 3E C3 BB 9D BF 1C FA 9F 9A C1 A9 ED
-0150 | 56 8F FF 2E C0 62 2F 12 9E 68 0B BA 4B 00 CC BE
-0160 | 9C 75 59 FB 7F 52 4A 88 EB 2D 6C A7 71 DC 0E 32
-0170 | 93 21 F1 9F 27 BD B4 AE FF D2 CB F0 0F 61 32 E7
-0180 | 6E 3C 5E 2B 7A 5D A7 84 0D B2 D5 83 01 6B 30 C9
-0190 | 31 9A 91 82 08 FE 4C 8D 76 33 C8 5F 66 4E D1 0C
-01A0 | 92 D5 DC BE FF C3 D1 74 B4 B2 D1 F0 C8 3A D7 23
-01B0 | 63 20 E6 63 B9 E7 46 EE 43 8F 4E DE E1 4F 72 68
-01C0 | F7 4C 2A FC 6D 30 11 74 13 6F E4 5A 7D 2C 74 4E
-01D0 | 1B 87 F9 8E 5D 73 DC 0B 44 8E CE B8 3B 84 48 F1
-01E0 | C5 93 D4 44 D7 6B 5B 5E 3E 81 C3 0E 10 5E 1B 78
-01F0 | 6D 12 A7 7E BD 19 9C D2 42 14 AF 0B EF 45 7E 7B
-0200 | 17 2C 43 A5 A6 E6 4F 35 B2 69 19 BA 8B BB EA F3
-0210 | 1E 5F 8C EA CE E4 D9 27 EF 1F 4B 48 A9 D6 EF 0F
-0220 | 16 E7 33 EE 45 B5 56 AB BF 97 5D 26 38 23 CA 24
-0230 | AB D5 85 65
+0130 | 24 CD 49 B6 D8 66 83 47 B8 F4 FA 18 D3 67 1B 54
+0140 | F8 3C DE 7D 5F 21 C6 01 ED A6 2A E9 80 21 20 61
+0150 | 37 79 E0 2E D6 20 C7 6D 6A 96 C7 82 03 17 25 EB
+0160 | 51 68 FC A8 1D 8F FC 2A BA 30 4B 41 47 0C 3E 51
+0170 | 14 D5 A5 A7 A2 AA 53 A5 CB AA 26 B4 0A BA E1 8E
+0180 | 9A 04 00 96 27 CD 1A 74 A7 A1 0E D4 EC E9 BF E8
+0190 | BF F9 75 DA CF 64 13 08 21 B7 67 B3 6F 16 9B F2
+01A0 | 71 67 EB D7 64 7C C1 00 45 88 79 DC 78 4A E1 8D
+01B0 | B3 CB 4F F9 86 2F 0F 3F 88 A1 51 54 34 E0 A7 16
+01C0 | F7 5B 97 2B D5 7C 9A D0 82 A6 40 D0 96 A6 48 14
+01D0 | 12 05 1D F9 4B BD 1B 68 D4 35 66 55 15 3D 66 66
+01E0 | F5 B1 00 80 94 BB 2D AD C2 62 F1 5C 92 C8 97 33
+01F0 | 36 3C D5 24 91 6B 49 E6 E3 81 F7 C3 8C DD 36 1D
+0200 | 77 FA 59 A1 36 F1 97 85 EC 74 4A 00 2A E8 03 D4
+0210 | A9 84 B0 4B 8E E9 75 A4 5F 14 8B 53 CE 87 43 C4
+0220 | 12 52 F8 D4 3D A2 F9 8B EA 69 2F 7F 3A 3A 8A B4
+0230 | FD E9 85 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 = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
nonce |
4, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
@@ -594,13 +594,13 @@ answer = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
g_a |
300, 260 |
-FE00010074F237BC03131D4A943668B9 CC26401877C263803EC3BB9DBF1CFA9F 9AC1A9ED568FFF2EC0622F129E680BBA 4B00CCBE9C7559FB7F524A88EB2D6CA7 71DC0E329321F19F27BDB4AEFFD2CBF0 0F6132E76E3C5E2B7A5DA7840DB2D583 016B30C9319A918208FE4C8D7633C85F 664ED10C92D5DCBEFFC3D174B4B2D1F0 C83AD7236320E663B9E746EE438F4EDE E14F7268F74C2AFC6D301174136FE45A 7D2C744E1B87F98E5D73DC0B448ECEB8 3B8448F1C593D444D76B5B5E3E81C30E 105E1B786D12A77EBD199CD24214AF0B EF457E7B172C43A5A6E64F35B26919BA 8BBBEAF31E5F8CEACEE4D927EF1F4B48 A9D6EF0F16E733EE45B556ABBF975D26 3823CA24 |
+FE00010024CD49B6D8668347B8F4FA18 D3671B54F83CDE7D5F21C601EDA62AE9 802120613779E02ED620C76D6A96C782 031725EB5168FCA81D8FFC2ABA304B41 470C3E5114D5A5A7A2AA53A5CBAA26B4 0ABAE18E9A04009627CD1A74A7A10ED4 ECE9BFE8BFF975DACF64130821B767B3 6F169BF27167EBD7647CC100458879DC 784AE18DB3CB4FF9862F0F3F88A15154 34E0A716F75B972BD57C9AD082A640D0 96A6481412051DF94BBD1B68D4356655 153D6666F5B1008094BB2DADC262F15C 92C89733363CD524916B49E6E381F7C3 8CDD361D77FA59A136F19785EC744A00 2AE803D4A984B04B8EE975A45F148B53 CE8743C41252F8D43DA2F98BEA692F7F 3A3A8AB4 |
g_a diffie-hellman parameter |
server_time |
560, 4 |
-ABD58565 (1703269803 in decimal) |
+FDE98565 (1703275005 in decimal) |
Server time |
@@ -609,34 +609,34 @@ answer = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
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 = D66F739F17DEEDA1C9F49C223DCD4DF0255C78819AAB02C2D69E95D846CD9B9F790835C59713AF53A2CF5AA06F855AA1E4B835B8B9EBA25EF92068D86B78A648286A99449104471FB7BF424E3FAED841A60FD290D39263A2CF1072910F38D510F377634896B3FADD459C028A77FFCF5A5BD3810EE57D49FE693EEC09E98934900B562D854876F9CD197A746C2958FBC2B5D59CEF64B7354674D7268B3728C2546BC9E111650BFDFF216D6AE7AAF20E3DB7AA1C04F30EDA10F9DC0368CA8AA02818A3FE53A1A798B4DBCF3BDBD43305693FD01EB7389AEFD099DF7B0121E6CCF9AB69CA66D292631C5C75617AA0758CEDFD55784738BAE6A31124D77596A5982B
+b = 80C01C6C35246EEE787F9FEA25B1FA1836E71B6EC710FE2080D0581FEEA7C3DA14B40A9787FDDE368250AD6459B482A61C5EC80EB69E45157443F11AC12606251079FCB2EAFEC2A4550759B8A1240A6D43AD853F8C02E1C29783DBE5FEE22F42DF61D12A29271A2597CA404AE11329EE0714DCBAEE2BEBDACC9200D773D9F6E6639F5B9BED0FBE8FE919842934971F591060BE5AC5C5E3864839872734AB8179D9BEB281F87E3047ED04DDF40A158017B22536BF2BBCD2759495CF1FA23C757EE02F2C7EEE9F04CA6CE1D6841EE004C3EAF2E2A18AE66B1E0FCE2C8FDB4A8DD3ABFD740E3B755D9B719D0DEA741782252922C576DCFC4F6D1184313BA28C3EE9
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 601769B88D746B65AAAA1C6105EBCBBBA5EFD3891E0F618E16309AFF062609E3D126784E6B67EF632C432B08C2CEEC7D243D5174A1D78558FC3F18BE5B02A4FDA8B88C0E6F5BDF87E1FC2E2DE7D690F1EEAB14F16A587DA85BC144FB7B5808191760F2ADDB20E3C97E56DC4A27531788A08AC76B4EC9C207BC07696D2C42CFF03EA1C1AC4F78DC347B00F0D7E8F683AE5BDC9422C7605D391D12BA21E88B89A28B59A1AA3B510ED9558C26C02C6EAEB653550BE3C6FCFC8A7F2B58C7F718CB35CB079DEC9189A00DB6815528AD93A2ECA99A50828B324A55117C97C2165918E43958B926844FB0957FA419FC9343CEF5347A5A2384B293AF3BCF5DE635DB0F1C
+g_b = 0B6BAF090D24DE7CD22B6F4C1F9AC06AED68D3EF23DC60DC9BFDAF3A5EB1870F4E8DEC6AE2AD832904F3C3185FE2160347C4EBBEAD18DAB0CEFA78C7E13B17E8A2377FE54A2F9FFDEA51FF3953D309FC618E034FDCC300120DB9A75E2F62D68AF288164A38E2206EDCE2AB74D76886D0D5CA742F3C825AAE199AB606EBA20966C7BCB3811FB51988A9281428E46D00017D6C05A34DB9FB444181229BE40639BB964DD109DEC9998A83AD5D634B799F0ED323BB310BA0D2E4F76363418A3666655C086B6CFC71B9890D7ADFEB87B0B592C4A3506FEBF7730C9BE1DACE3E41B006870F41E9A4E89B4CFA672BC459D31BD34B1A18592B639DF2FFB4679C46559114
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 EE 38 98 81 A2 78 AD E0 15 5B 03 1B
-0010 | B8 7D D8 29 93 C1 B1 8D 31 46 40 18 ED A8 55 E5
-0020 | 30 D8 9A 96 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 60 17 69 B8 8D 74 6B 65 AA AA 1C 61 05 EB CB BB
-0040 | A5 EF D3 89 1E 0F 61 8E 16 30 9A FF 06 26 09 E3
-0050 | D1 26 78 4E 6B 67 EF 63 2C 43 2B 08 C2 CE EC 7D
-0060 | 24 3D 51 74 A1 D7 85 58 FC 3F 18 BE 5B 02 A4 FD
-0070 | A8 B8 8C 0E 6F 5B DF 87 E1 FC 2E 2D E7 D6 90 F1
-0080 | EE AB 14 F1 6A 58 7D A8 5B C1 44 FB 7B 58 08 19
-0090 | 17 60 F2 AD DB 20 E3 C9 7E 56 DC 4A 27 53 17 88
-00A0 | A0 8A C7 6B 4E C9 C2 07 BC 07 69 6D 2C 42 CF F0
-00B0 | 3E A1 C1 AC 4F 78 DC 34 7B 00 F0 D7 E8 F6 83 AE
-00C0 | 5B DC 94 22 C7 60 5D 39 1D 12 BA 21 E8 8B 89 A2
-00D0 | 8B 59 A1 AA 3B 51 0E D9 55 8C 26 C0 2C 6E AE B6
-00E0 | 53 55 0B E3 C6 FC FC 8A 7F 2B 58 C7 F7 18 CB 35
-00F0 | CB 07 9D EC 91 89 A0 0D B6 81 55 28 AD 93 A2 EC
-0100 | A9 9A 50 82 8B 32 4A 55 11 7C 97 C2 16 59 18 E4
-0110 | 39 58 B9 26 84 4F B0 95 7F A4 19 FC 93 43 CE F5
-0120 | 34 7A 5A 23 84 B2 93 AF 3B CF 5D E6 35 DB 0F 1C
+0000 | 54 B6 43 66 18 9E 5D FD 0E 6A C8 14 5A E0 53 B6
+0010 | B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29 BC 82 84 C2
+0020 | 00 37 4D 19 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 0B 6B AF 09 0D 24 DE 7C D2 2B 6F 4C 1F 9A C0 6A
+0040 | ED 68 D3 EF 23 DC 60 DC 9B FD AF 3A 5E B1 87 0F
+0050 | 4E 8D EC 6A E2 AD 83 29 04 F3 C3 18 5F E2 16 03
+0060 | 47 C4 EB BE AD 18 DA B0 CE FA 78 C7 E1 3B 17 E8
+0070 | A2 37 7F E5 4A 2F 9F FD EA 51 FF 39 53 D3 09 FC
+0080 | 61 8E 03 4F DC C3 00 12 0D B9 A7 5E 2F 62 D6 8A
+0090 | F2 88 16 4A 38 E2 20 6E DC E2 AB 74 D7 68 86 D0
+00A0 | D5 CA 74 2F 3C 82 5A AE 19 9A B6 06 EB A2 09 66
+00B0 | C7 BC B3 81 1F B5 19 88 A9 28 14 28 E4 6D 00 01
+00C0 | 7D 6C 05 A3 4D B9 FB 44 41 81 22 9B E4 06 39 BB
+00D0 | 96 4D D1 09 DE C9 99 8A 83 AD 5D 63 4B 79 9F 0E
+00E0 | D3 23 BB 31 0B A0 D2 E4 F7 63 63 41 8A 36 66 65
+00F0 | 5C 08 6B 6C FC 71 B9 89 0D 7A DF EB 87 B0 B5 92
+0100 | C4 A3 50 6F EB F7 73 0C 9B E1 DA CE 3E 41 B0 06
+0110 | 87 0F 41 E9 A4 E8 9B 4C FA 67 2B C4 59 D3 1B D3
+0120 | 4B 1A 18 59 2B 63 9D F2 FF B4 67 9C 46 55 91 14
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 = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
nonce |
4, 16 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
g_b |
36, 260 |
-FE000100601769B88D746B65AAAA1C61 05EBCBBBA5EFD3891E0F618E16309AFF 062609E3D126784E6B67EF632C432B08 C2CEEC7D243D5174A1D78558FC3F18BE 5B02A4FDA8B88C0E6F5BDF87E1FC2E2D E7D690F1EEAB14F16A587DA85BC144FB 7B5808191760F2ADDB20E3C97E56DC4A 27531788A08AC76B4EC9C207BC07696D 2C42CFF03EA1C1AC4F78DC347B00F0D7 E8F683AE5BDC9422C7605D391D12BA21 E88B89A28B59A1AA3B510ED9558C26C0 2C6EAEB653550BE3C6FCFC8A7F2B58C7 F718CB35CB079DEC9189A00DB6815528 AD93A2ECA99A50828B324A55117C97C2 165918E43958B926844FB0957FA419FC 9343CEF5347A5A2384B293AF3BCF5DE6 35DB0F1C |
+FE0001000B6BAF090D24DE7CD22B6F4C 1F9AC06AED68D3EF23DC60DC9BFDAF3A 5EB1870F4E8DEC6AE2AD832904F3C318 5FE2160347C4EBBEAD18DAB0CEFA78C7 E13B17E8A2377FE54A2F9FFDEA51FF39 53D309FC618E034FDCC300120DB9A75E 2F62D68AF288164A38E2206EDCE2AB74 D76886D0D5CA742F3C825AAE199AB606 EBA20966C7BCB3811FB51988A9281428 E46D00017D6C05A34DB9FB444181229B E40639BB964DD109DEC9998A83AD5D63 4B799F0ED323BB310BA0D2E4F7636341 8A3666655C086B6CFC71B9890D7ADFEB 87B0B592C4A3506FEBF7730C9BE1DACE 3E41B006870F41E9A4E89B4CFA672BC4 59D31BD34B1A18592B639DF2FFB4679C 46559114 |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding |
@@ -684,47 +684,47 @@ answer = BA0D89B5EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A9
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 = 54B64366EE389881A278ADE0155B031BB87DD82993C1B18D31464018EDA855E530D89A960000000000000000FE000100601769B88D746B65AAAA1C6105EBCBBBA5EFD3891E0F618E16309AFF062609E3D126784E6B67EF632C432B08C2CEEC7D243D5174A1D78558FC3F18BE5B02A4FDA8B88C0E6F5BDF87E1FC2E2DE7D690F1EEAB14F16A587DA85BC144FB7B5808191760F2ADDB20E3C97E56DC4A27531788A08AC76B4EC9C207BC07696D2C42CFF03EA1C1AC4F78DC347B00F0D7E8F683AE5BDC9422C7605D391D12BA21E88B89A28B59A1AA3B510ED9558C26C02C6EAEB653550BE3C6FCFC8A7F2B58C7F718CB35CB079DEC9189A00DB6815528AD93A2ECA99A50828B324A55117C97C2165918E43958B926844FB0957FA419FC9343CEF5347A5A2384B293AF3BCF5DE635DB0F1C
-padding = 8408E875F1DD235836F0162B
-tmp_aes_key = B9999F36CF51D0F3AB415490489808866DA6081900CB17D50BFF98218DE10C1A
-tmp_aes_iv = 0729C72EBEC2A2611B8AFBD181369F15641F2B635D5C9DA3B6F30AA2D09D3AB9
+data = 54B64366189E5DFD0E6AC8145AE053B6B0B0FEAD53D8C9E6C3EEC929BC8284C200374D190000000000000000FE0001000B6BAF090D24DE7CD22B6F4C1F9AC06AED68D3EF23DC60DC9BFDAF3A5EB1870F4E8DEC6AE2AD832904F3C3185FE2160347C4EBBEAD18DAB0CEFA78C7E13B17E8A2377FE54A2F9FFDEA51FF3953D309FC618E034FDCC300120DB9A75E2F62D68AF288164A38E2206EDCE2AB74D76886D0D5CA742F3C825AAE199AB606EBA20966C7BCB3811FB51988A9281428E46D00017D6C05A34DB9FB444181229BE40639BB964DD109DEC9998A83AD5D634B799F0ED323BB310BA0D2E4F76363418A3666655C086B6CFC71B9890D7ADFEB87B0B592C4A3506FEBF7730C9BE1DACE3E41B006870F41E9A4E89B4CFA672BC459D31BD34B1A18592B639DF2FFB4679C46559114
+padding = 9F846C85D3C7DD330FECD76D
+tmp_aes_key = CF537FDF9879314FFB2E219E429CB37756678D2AEB597079226589C313999341
+tmp_aes_iv = 8E954BAA06C039F427BA6C8E77E1DA643CFBA6CBA2129FE6EEEDFD2A9809E128
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 = 10261D5A6B92AE7AF5B7A0258B9308FC18E06974A1AD1D49B2839CD60990A5A92FD755D54D0E24E9010E2AA0B50DEE6E18FB06A78C76E2D2F5F02781675A95F501B6EA76D1885C693BE75B4B99FFCDCB64782CB8617720E2690A87007714CEB5320533285EE1F5800613EC0F3ED2DC0DB5002936C24944B0646FF023E86C529DCCD6FAA56533BBF532123B463EB51243368BFC297ADA2C2BB585FF48F0C476D3DD899FD04A964830D4F4CA27939D4D226A5663A9C4C9731AC44E334BF84F98E03B8003A04C889D86D81CFC559A31AF449C9C9085BFE50149D3F0B3555906468F579BA86A129AA0EB2FEE03BF1FCD30CBDDA4BD88B4B2D73DDF766E3C181A5161AA8293DDBD44A22D83EB4CC1907B1394F4BCAE4CE52D9FD3F8DB897AD9C5F43CBD487799DF69ABE119AF7511E3F640FCC211538075A06BC531E6B4597E5B56D283D534B79667BC3BCA94E53EBC7B3BEA
+encrypted_data = 9F28C26255696EB825338D79912369103C7784D8C0B31EDA9EBD4962CBBEC508F3BAF2B1BDE659282DB2E16EA6C94DC6E7C42FDEB51004CEAB3812269A14D4C584E03D0D6DDBC19D900A469B11DDC9879235F2F74EB124C3D365C96F5B6B4B92729A760F724996129DD9202225B0F63B05690B3889D60FF553FD28EA57EFBDEB3E5EE6780CEC17503623FFD466DF8E2D4B74143501839B3E3E14005E7627EDA5D2D39872B600D324BF7C4804355D52ECD700B509524EB5C2DA2E791D2983A240F8908394985F78D0855BFBFF58C0961FED41B5FBBB4D2865EF58C62FBA6BE1F119B36FAA8481248C35266DE83D6388F777736A0731FF7C557464580DAF234532AEBA9A13BD8F7E3B6F6BD581BC9D16174016CBD141298210FC60B294129FA0F8D795FE6095BDDE307C212E5E95090EFDC7958CEEFD05DF8122714753B4642FD04A2981DE3A54DDB9B3FE4698C0093EA0
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 BC B6 0B 00 AB D5 85 65
-0010 | 78 01 00 00 1F 5F 04 F5 EE 38 98 81 A2 78 AD E0
-0020 | 15 5B 03 1B B8 7D D8 29 93 C1 B1 8D 31 46 40 18
-0030 | ED A8 55 E5 30 D8 9A 96 FE 50 01 00 10 26 1D 5A
-0040 | 6B 92 AE 7A F5 B7 A0 25 8B 93 08 FC 18 E0 69 74
-0050 | A1 AD 1D 49 B2 83 9C D6 09 90 A5 A9 2F D7 55 D5
-0060 | 4D 0E 24 E9 01 0E 2A A0 B5 0D EE 6E 18 FB 06 A7
-0070 | 8C 76 E2 D2 F5 F0 27 81 67 5A 95 F5 01 B6 EA 76
-0080 | D1 88 5C 69 3B E7 5B 4B 99 FF CD CB 64 78 2C B8
-0090 | 61 77 20 E2 69 0A 87 00 77 14 CE B5 32 05 33 28
-00A0 | 5E E1 F5 80 06 13 EC 0F 3E D2 DC 0D B5 00 29 36
-00B0 | C2 49 44 B0 64 6F F0 23 E8 6C 52 9D CC D6 FA A5
-00C0 | 65 33 BB F5 32 12 3B 46 3E B5 12 43 36 8B FC 29
-00D0 | 7A DA 2C 2B B5 85 FF 48 F0 C4 76 D3 DD 89 9F D0
-00E0 | 4A 96 48 30 D4 F4 CA 27 93 9D 4D 22 6A 56 63 A9
-00F0 | C4 C9 73 1A C4 4E 33 4B F8 4F 98 E0 3B 80 03 A0
-0100 | 4C 88 9D 86 D8 1C FC 55 9A 31 AF 44 9C 9C 90 85
-0110 | BF E5 01 49 D3 F0 B3 55 59 06 46 8F 57 9B A8 6A
-0120 | 12 9A A0 EB 2F EE 03 BF 1F CD 30 CB DD A4 BD 88
-0130 | B4 B2 D7 3D DF 76 6E 3C 18 1A 51 61 AA 82 93 DD
-0140 | BD 44 A2 2D 83 EB 4C C1 90 7B 13 94 F4 BC AE 4C
-0150 | E5 2D 9F D3 F8 DB 89 7A D9 C5 F4 3C BD 48 77 99
-0160 | DF 69 AB E1 19 AF 75 11 E3 F6 40 FC C2 11 53 80
-0170 | 75 A0 6B C5 31 E6 B4 59 7E 5B 56 D2 83 D5 34 B7
-0180 | 96 67 BC 3B CA 94 E5 3E BC 7B 3B EA
+0000 | 00 00 00 00 00 00 00 00 10 D0 0C 00 FD E9 85 65
+0010 | 78 01 00 00 1F 5F 04 F5 18 9E 5D FD 0E 6A C8 14
+0020 | 5A E0 53 B6 B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29
+0030 | BC 82 84 C2 00 37 4D 19 FE 50 01 00 9F 28 C2 62
+0040 | 55 69 6E B8 25 33 8D 79 91 23 69 10 3C 77 84 D8
+0050 | C0 B3 1E DA 9E BD 49 62 CB BE C5 08 F3 BA F2 B1
+0060 | BD E6 59 28 2D B2 E1 6E A6 C9 4D C6 E7 C4 2F DE
+0070 | B5 10 04 CE AB 38 12 26 9A 14 D4 C5 84 E0 3D 0D
+0080 | 6D DB C1 9D 90 0A 46 9B 11 DD C9 87 92 35 F2 F7
+0090 | 4E B1 24 C3 D3 65 C9 6F 5B 6B 4B 92 72 9A 76 0F
+00A0 | 72 49 96 12 9D D9 20 22 25 B0 F6 3B 05 69 0B 38
+00B0 | 89 D6 0F F5 53 FD 28 EA 57 EF BD EB 3E 5E E6 78
+00C0 | 0C EC 17 50 36 23 FF D4 66 DF 8E 2D 4B 74 14 35
+00D0 | 01 83 9B 3E 3E 14 00 5E 76 27 ED A5 D2 D3 98 72
+00E0 | B6 00 D3 24 BF 7C 48 04 35 5D 52 EC D7 00 B5 09
+00F0 | 52 4E B5 C2 DA 2E 79 1D 29 83 A2 40 F8 90 83 94
+0100 | 98 5F 78 D0 85 5B FB FF 58 C0 96 1F ED 41 B5 FB
+0110 | BB 4D 28 65 EF 58 C6 2F BA 6B E1 F1 19 B3 6F AA
+0120 | 84 81 24 8C 35 26 6D E8 3D 63 88 F7 77 73 6A 07
+0130 | 31 FF 7C 55 74 64 58 0D AF 23 45 32 AE BA 9A 13
+0140 | BD 8F 7E 3B 6F 6B D5 81 BC 9D 16 17 40 16 CB D1
+0150 | 41 29 82 10 FC 60 B2 94 12 9F A0 F8 D7 95 FE 60
+0160 | 95 BD DE 30 7C 21 2E 5E 95 09 0E FD C7 95 8C EE
+0170 | FD 05 DF 81 22 71 47 53 B4 64 2F D0 4A 29 81 DE
+0180 | 3A 54 DD B9 B3 FE 46 98 C0 09 3E A0
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 |
-BCB60B00ABD58565 |
+10D00C00FDE98565 |
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 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
encrypted_data |
56, 340 |
-FE50010010261D5A6B92AE7AF5B7A025 8B9308FC18E06974A1AD1D49B2839CD6 0990A5A92FD755D54D0E24E9010E2AA0 B50DEE6E18FB06A78C76E2D2F5F02781 675A95F501B6EA76D1885C693BE75B4B 99FFCDCB64782CB8617720E2690A8700 7714CEB5320533285EE1F5800613EC0F 3ED2DC0DB5002936C24944B0646FF023 E86C529DCCD6FAA56533BBF532123B46 3EB51243368BFC297ADA2C2BB585FF48 F0C476D3DD899FD04A964830D4F4CA27 939D4D226A5663A9C4C9731AC44E334B F84F98E03B8003A04C889D86D81CFC55 9A31AF449C9C9085BFE50149D3F0B355 5906468F579BA86A129AA0EB2FEE03BF 1FCD30CBDDA4BD88B4B2D73DDF766E3C 181A5161AA8293DDBD44A22D83EB4CC1 907B1394F4BCAE4CE52D9FD3F8DB897A D9C5F43CBD487799DF69ABE119AF7511 E3F640FCC211538075A06BC531E6B459 7E5B56D283D534B79667BC3BCA94E53E BC7B3BEA |
+FE5001009F28C26255696EB825338D79 912369103C7784D8C0B31EDA9EBD4962 CBBEC508F3BAF2B1BDE659282DB2E16E A6C94DC6E7C42FDEB51004CEAB381226 9A14D4C584E03D0D6DDBC19D900A469B 11DDC9879235F2F74EB124C3D365C96F 5B6B4B92729A760F724996129DD92022 25B0F63B05690B3889D60FF553FD28EA 57EFBDEB3E5EE6780CEC17503623FFD4 66DF8E2D4B74143501839B3E3E14005E 7627EDA5D2D39872B600D324BF7C4804 355D52ECD700B509524EB5C2DA2E791D 2983A240F8908394985F78D0855BFBFF 58C0961FED41B5FBBB4D2865EF58C62F BA6BE1F119B36FAA8481248C35266DE8 3D6388F777736A0731FF7C557464580D AF234532AEBA9A13BD8F7E3B6F6BD581 BC9D16174016CBD141298210FC60B294 129FA0F8D795FE6095BDDE307C212E5E 95090EFDC7958CEEFD05DF8122714753 B4642FD04A2981DE3A54DDB9B3FE4698 C0093EA0 |
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 = A094E7B849A3D77BF20868297AEA3E0CD4A885853B671328F2E8589A88FC397208A0DD5809878E5B5CB459D02A26045E0740DD3A70981F1C3C326AD0B22BDD934482A92679D1BF71A51B1286882151943BD1707BD00BBA0E275230AC3886CD7FD2512430638671FBB8EF0C10136021D700057A7DFC619AD9528719B5C0AA8885B7909A6ED5DC6FC244B540B1474B2636B1E2950E84BFE2B07B008A5B6DE3B54CCC4DBF01243C70F9BA14FCFC663E1BC13DFFFEAF642116C54600AFB3CF85B48B6F64736419E1BEFC79F8E082251041EC648BFD94EC96438310A5E6A91BA7A286CAEA3FF2AECAD5FF436675A3328FA077AA8BA9B88BCA282100915628F0471AEF
+auth_key = 86E125594578BDE4CBCB496A8F0DAF54B10C16893A48C9E92D340734CF0052DAD976AD808ADB14AB8C34A32D0D85E18588C43E5A859337792CC7729640230D367D60FFD71BCEB4A810FF8FD0EF0597A6DE4E71E0A487C1BDF1765BC7F5C9F78C8EF66E49291838021A522C3686772DA45F40760C7E3F371A6F47F48AE9AE5AFD93BFE63C156FC8651691AD40BCDB41D5A7C0A1596AD707C34BF61C8D5723F367FCEB198F321869E3E1D44A9EB433E8DD44625FA0511913FB74AFA6ACA6CC6A8842A9EB2032D6DE5822564F74F75B32972231932240C68EF463AD123DD93A34096010989213784A5F15DCA9B5D3CB25CF3AED9BEBDAB25271B9520C9EEA5B86EC
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 18 9F 42 AC D5 85 65
-0010 | 94 00 00 00 34 F7 CB 3B EE 38 98 81 A2 78 AD E0
-0020 | 15 5B 03 1B B8 7D D8 29 93 C1 B1 8D 31 46 40 18
-0030 | ED A8 55 E5 30 D8 9A 96 5A 8C F1 49 6A 43 A2 62
-0040 | 8A 54 F3 1D 8B 88 07 AD
+0000 | 00 00 00 00 00 00 00 00 01 6C 55 0F FE E9 85 65
+0010 | AC 00 00 00 34 F7 CB 3B 18 9E 5D FD 0E 6A C8 14
+0020 | 5A E0 53 B6 B0 B0 FE AD 53 D8 C9 E6 C3 EE C9 29
+0030 | BC 82 84 C2 00 37 4D 19 EE DD 05 3D B1 27 BC 7C
+0040 | 83 B0 CA 44 80 25 EA A9
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 |
-01189F42ACD58565 |
+016C550FFEE98565 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-94000000 (148 in decimal) |
+AC000000 (172 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 |
-EE389881A278ADE0155B031BB87DD829 |
+189E5DFD0E6AC8145AE053B6B0B0FEAD |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-93C1B18D31464018EDA855E530D89A96 |
+53D8C9E6C3EEC929BC8284C200374D19 |
Value received from server in Step 2 |
new_nonce_hash1 |
56, 16 |
-5A8CF1496A43A2628A54F31D8B8807AD |
+EEDD053DB127BC7C83B0CA448025EAA9 |
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/InputInvoice.html b/data/web/corefork.telegram.org/type/InputInvoice.html
index 898043c5a6..b1b964eb88 100644
--- a/data/web/corefork.telegram.org/type/InputInvoice.html
+++ b/data/web/corefork.telegram.org/type/InputInvoice.html
@@ -77,7 +77,7 @@
inputInvoicePremiumGiftCode |
- |
+Used if the user wishes to start a channel giveaway or send some giftcodes to members of a channel, in exchange for boosts. |
diff --git a/data/web/corefork.telegram.org/type/InputStorePaymentPurpose.html b/data/web/corefork.telegram.org/type/InputStorePaymentPurpose.html
index cb3a924de5..250b804378 100644
--- a/data/web/corefork.telegram.org/type/InputStorePaymentPurpose.html
+++ b/data/web/corefork.telegram.org/type/InputStorePaymentPurpose.html
@@ -78,11 +78,11 @@
inputStorePaymentPremiumGiftCode |
- |
+Used to gift Telegram Premium subscriptions only to some specific subscribers of a channel or to some of our contacts, see here » for more info on giveaways and gifts. |
inputStorePaymentPremiumGiveaway |
- |
+Used to pay for a giveaway, see here » for more info. |
diff --git a/data/web/corefork.telegram.org/type/MessageAction.html b/data/web/corefork.telegram.org/type/MessageAction.html
index 2c857915b9..b5abaad566 100644
--- a/data/web/corefork.telegram.org/type/MessageAction.html
+++ b/data/web/corefork.telegram.org/type/MessageAction.html
@@ -259,15 +259,15 @@
messageActionGiftCode |
- |
+Contains a Telegram Premium giftcode link. |
messageActionGiveawayLaunch |
- |
+A giveaway was started. |
messageActionGiveawayResults |
- |
+A giveaway has ended. |
diff --git a/data/web/corefork.telegram.org/type/MessageMedia.html b/data/web/corefork.telegram.org/type/MessageMedia.html
index d3ac7adf6f..98f0ec8af5 100644
--- a/data/web/corefork.telegram.org/type/MessageMedia.html
+++ b/data/web/corefork.telegram.org/type/MessageMedia.html
@@ -143,7 +143,7 @@
messageMediaGiveaway |
- |
+Contains info about a giveaway, see here » for more info. |
diff --git a/data/web/corefork.telegram.org/type/PrepaidGiveaway.html b/data/web/corefork.telegram.org/type/PrepaidGiveaway.html
index 399a77c305..7a2692b26d 100644
--- a/data/web/corefork.telegram.org/type/PrepaidGiveaway.html
+++ b/data/web/corefork.telegram.org/type/PrepaidGiveaway.html
@@ -67,7 +67,7 @@
prepaidGiveaway |
- |
+Contains info about a prepaid giveaway ». |
diff --git a/data/web/corefork.telegram.org/type/Update.html b/data/web/corefork.telegram.org/type/Update.html
index eee10cc88a..5b2ed6bb4b 100644
--- a/data/web/corefork.telegram.org/type/Update.html
+++ b/data/web/corefork.telegram.org/type/Update.html
@@ -658,7 +658,7 @@
updateChannelViewForumAsMessages |
- |
+Users may also choose to display messages from all topics as if they were sent to a normal group, using a "View as messages" setting in the local client. This setting only affects the current account, and is synced to other logged in sessions using the channels.toggleViewForumAsMessages method; invoking this method will update the value of the view_forum_as_messages flag of channelFull or dialog and emit an updateChannelViewForumAsMessages. |
updatePeerWallpaper |
diff --git a/data/web/corefork.telegram.org/type/Updates.html b/data/web/corefork.telegram.org/type/Updates.html
index 6236970bec..6e12ad8e1c 100644
--- a/data/web/corefork.telegram.org/type/Updates.html
+++ b/data/web/corefork.telegram.org/type/Updates.html
@@ -606,7 +606,7 @@
channels.toggleViewForumAsMessages |
-Users may also choose to display messages from all topics of a forum as if they were sent to a normal group, using a "View as messages" setting in the local client: this setting only affects the current account, and is synced to other logged in sessions using this method.
Invoking this method will update the value of the view_forum_as_messages flag of channelFull or dialog. |
+Users may also choose to display messages from all topics of a forum as if they were sent to a normal group, using a "View as messages" setting in the local client: this setting only affects the current account, and is synced to other logged in sessions using this method.
Invoking this method will update the value of the view_forum_as_messages flag of channelFull or dialog and emit an updateChannelViewForumAsMessages. |
diff --git a/data/web/corefork.telegram.org/type/payments.CheckedGiftCode.html b/data/web/corefork.telegram.org/type/payments.CheckedGiftCode.html
index b5013db9cb..c7ec2a5334 100644
--- a/data/web/corefork.telegram.org/type/payments.CheckedGiftCode.html
+++ b/data/web/corefork.telegram.org/type/payments.CheckedGiftCode.html
@@ -71,7 +71,7 @@
payments.checkedGiftCode |
- |
+Contains info about a Telegram Premium giftcode link. |
diff --git a/data/web/promote.telegram.org/css/promote.css b/data/web/promote.telegram.org/css/promote.css
index 3338086830..229d842b16 100644
--- a/data/web/promote.telegram.org/css/promote.css
+++ b/data/web/promote.telegram.org/css/promote.css
@@ -2218,12 +2218,6 @@ a.pr-account-button-wrap:focus {
.field-readonly .pr-form-control-wrap:after {
display: none;
}
-.pr-form-control-wrap.has-locked .input,
-.pr-form-control-wrap.has-locked input.form-control,
-.pr-form-control-wrap.has-locked .select {
- padding-right: 40px;
- text-overflow: ellipsis;
-}
.pr-form-control-wrap.has-photo .pr-form-control,
.pr-form-control-wrap.has-progress.field-loading .pr-form-control {
padding-right: 48px;