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 c4970a677b..0c74935c57 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
-8CEA080029B81D65
+CC7D0D00D25E2065
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
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 80 2F D3 29 B8 1D 65
-0010 | C0 00 00 00 63 24 16 05 7F 1F 22 C6 09 72 3B CD
-0020 | 45 F7 08 F0 F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E
-0030 | F8 89 83 60 10 85 61 ED 08 1C 13 ED 04 D1 CE F9
-0040 | A9 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 1C 2A C6 D2 5E 20 65
+0010 | 68 00 00 00 63 24 16 05 44 89 D8 96 B9 08 80 A8
+0020 | A6 23 F7 43 BD FB 19 7A 4C 57 92 83 D0 EA 21 D4
+0030 | 47 21 8B 38 DC 9C 55 08 08 2C E5 C2 08 76 5A C5
+0040 | ED 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
-01802FD329B81D65
+011C2AC6D25E2065
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-C0000000
(192 in decimal)
+68000000
(104 in decimal)
Message body length
@@ -150,19 +150,19 @@
nonce
24, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
40, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Server-generated random number
pq
56, 12
-081C13ED04D1CEF9A9000000
TL byte deserialization => bigendian conversion to decimal => 2023221262575139241
+082CE5C208765AC5ED000000
TL byte deserialization => bigendian conversion to decimal => 3235205248936756717
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 = 2023221262575139241
-Decompose into 2 prime cofactors p < q
: 2023221262575139241 = 1405962143 * 1439029687
-p = 1405962143
-q = 1439029687
+pq = 3235205248936756717
+Decompose into 2 prime cofactors p < q
: 3235205248936756717 = 1720569787 * 1880310391
+p = 1720569787
+q = 1880310391
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 1C 13 ED 04 D1 CE F9 A9 00 00 00
-0010 | 04 53 CD 47 9F 00 00 00 04 55 C5 D9 B7 00 00 00
-0020 | 7F 1F 22 C6 09 72 3B CD 45 F7 08 F0 F9 9E 90 BF
-0030 | E9 B1 0D 87 09 A3 90 0E F8 89 83 60 10 85 61 ED
-0040 | 2D 8F D1 E4 9C 89 5A 19 12 2C 25 AB 16 ED 92 27
-0050 | 37 99 E3 97 1F 29 89 FE 2B 11 1B C8 E9 E0 7A D1
+0000 | 95 5F F5 A9 08 2C E5 C2 08 76 5A C5 ED 00 00 00
+0010 | 04 66 8D CF BB 00 00 00 04 70 13 42 77 00 00 00
+0020 | 44 89 D8 96 B9 08 80 A8 A6 23 F7 43 BD FB 19 7A
+0030 | 4C 57 92 83 D0 EA 21 D4 47 21 8B 38 DC 9C 55 08
+0040 | 3C 48 26 39 41 0D E8 BC 5E B6 D9 D7 E5 40 F3 49
+0050 | 77 5A E1 B4 33 6D 7C 7B 31 F4 F1 BD C8 F0 D7 B3
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 = 1439029687
pq
4, 12
-081C13ED04D1CEF9A9000000
TL byte deserialization => bigendian conversion to decimal => 2023221262575139241
+082CE5C208765AC5ED000000
TL byte deserialization => bigendian conversion to decimal => 3235205248936756717
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-0453CD479F000000
TL byte deserialization => bigendian conversion to decimal => 1405962143
+04668DCFBB000000
TL byte deserialization => bigendian conversion to decimal => 1720569787
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-0455C5D9B7000000
TL byte deserialization => bigendian conversion to decimal => 1439029687
+0470134277000000
TL byte deserialization => bigendian conversion to decimal => 1880310391
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
48, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
new_nonce
64, 32
-2D8FD1E49C895A19122C25AB16ED9227
3799E3971F2989FE2B111BC8E9E07AD1
+3C482639410DE8BC5EB6D9D7E540F349
775AE1B4336D7C7B31F4F1BDC8F0D7B3
Client-generated random number
@@ -291,39 +291,39 @@ q = 1439029687
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 = 955FF5A9081C13ED04D1CEF9A90000000453CD479F0000000455C5D9B70000007F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561ED2D8FD1E49C895A19122C25AB16ED92273799E3971F2989FE2B111BC8E9E07AD102000000
-random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7D7924BD85B4919F55FCCE528F22CD56873FC460951188FF0ACAD4195CD194059C4F04D168423BF8876B7010E9FBE8BF5486723FF71EE405A1BB755348E67389
+data = 955FF5A9082CE5C208765AC5ED00000004668DCFBB00000004701342770000004489D896B90880A8A623F743BDFB197A4C579283D0EA21D447218B38DC9C55083C482639410DE8BC5EB6D9D7E540F349775AE1B4336D7C7B31F4F1BDC8F0D7B302000000
+random_padding_bytes = 7585D30C5A72A7367FB7EC2E2026379851BB73A8F326B98D387602DB8FE283DDCA235C1B6976A28031B30FE08420D732446B5CA6555D3D45CAC537E3718D9C66F2FFE03648056033E3E40975BEF2FB50D19B37A05AB4EF0A8A47C962
And this is the output:
-encrypted_data = 67FF69473A3411D0A9357ECB6954EDDB142250313042B4C5D50A8053C2F09546D0B2783F72FD53135FAB86284E112E1F6952F459B413287A49EB74D2E0F1F458216FF6CE8F4134C0E1DC30A51588735A9FCCB4A7C84BFECD95CC47A025CA587AF6E5C5FFC80550DE595FB894B41CE24556D4BB16AC635E851217F74060C828E966998FC06194DBC3D10EDA36291CC2359BF41A908AEAACC94FD8DADFA9DEB4F45BFD5869CD14B8175900824C71F64160C8545083303673D3FE6B58B87B8E34A80FA457835B4AA10F7E26867DFE8F126851D4CBF2587551E40FA50006D74B77858AE3E2C591FAC39E67EB04D84B8663A277A944C6A9998EB0D37900900D2E945C
+encrypted_data = D177563F10EFE0AA71F81FA917FE234D3995C71C486C33EB265C2BE218EF78E485FD8A5C88EB70F6EA7161FEAA85443BD690CA865C4EB7242F2FD8D3C76E8BF61C85FFACC985DC350726AD9D7D1A9B4830C184ED313CE355E9404420D2318C6912921895797D22790AC2780EA1AE38C3B04BEC379799CDD0819D378E6662B8C75449EA2226ED355E9645B83A60F4CD115BCCCFE7584241F904BE4A70A06B03B72ED74703780465D8E8386CF1E0915739981FC984C4CFE31137FDEF2BD8F87B6F01E70BA3E0113B01C338C80F7E0CC800FE8CE464F71B9BB97BB9EEDE308480142F72F75582BB5B78ED995C7D1A9C70CD531AB0077DADD342D507CAFB5E7F6E34
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 90 EA 08 00 29 B8 1D 65
-0010 | 40 01 00 00 BE E4 12 D7 7F 1F 22 C6 09 72 3B CD
-0020 | 45 F7 08 F0 F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E
-0030 | F8 89 83 60 10 85 61 ED 04 53 CD 47 9F 00 00 00
-0040 | 04 55 C5 D9 B7 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 67 FF 69 47 3A 34 11 D0 A9 35 7E CB
-0060 | 69 54 ED DB 14 22 50 31 30 42 B4 C5 D5 0A 80 53
-0070 | C2 F0 95 46 D0 B2 78 3F 72 FD 53 13 5F AB 86 28
-0080 | 4E 11 2E 1F 69 52 F4 59 B4 13 28 7A 49 EB 74 D2
-0090 | E0 F1 F4 58 21 6F F6 CE 8F 41 34 C0 E1 DC 30 A5
-00A0 | 15 88 73 5A 9F CC B4 A7 C8 4B FE CD 95 CC 47 A0
-00B0 | 25 CA 58 7A F6 E5 C5 FF C8 05 50 DE 59 5F B8 94
-00C0 | B4 1C E2 45 56 D4 BB 16 AC 63 5E 85 12 17 F7 40
-00D0 | 60 C8 28 E9 66 99 8F C0 61 94 DB C3 D1 0E DA 36
-00E0 | 29 1C C2 35 9B F4 1A 90 8A EA AC C9 4F D8 DA DF
-00F0 | A9 DE B4 F4 5B FD 58 69 CD 14 B8 17 59 00 82 4C
-0100 | 71 F6 41 60 C8 54 50 83 30 36 73 D3 FE 6B 58 B8
-0110 | 7B 8E 34 A8 0F A4 57 83 5B 4A A1 0F 7E 26 86 7D
-0120 | FE 8F 12 68 51 D4 CB F2 58 75 51 E4 0F A5 00 06
-0130 | D7 4B 77 85 8A E3 E2 C5 91 FA C3 9E 67 EB 04 D8
-0140 | 4B 86 63 A2 77 A9 44 C6 A9 99 8E B0 D3 79 00 90
-0150 | 0D 2E 94 5C
+0000 | 00 00 00 00 00 00 00 00 28 A2 0E 00 D2 5E 20 65
+0010 | 40 01 00 00 BE E4 12 D7 44 89 D8 96 B9 08 80 A8
+0020 | A6 23 F7 43 BD FB 19 7A 4C 57 92 83 D0 EA 21 D4
+0030 | 47 21 8B 38 DC 9C 55 08 04 66 8D CF BB 00 00 00
+0040 | 04 70 13 42 77 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 D1 77 56 3F 10 EF E0 AA 71 F8 1F A9
+0060 | 17 FE 23 4D 39 95 C7 1C 48 6C 33 EB 26 5C 2B E2
+0070 | 18 EF 78 E4 85 FD 8A 5C 88 EB 70 F6 EA 71 61 FE
+0080 | AA 85 44 3B D6 90 CA 86 5C 4E B7 24 2F 2F D8 D3
+0090 | C7 6E 8B F6 1C 85 FF AC C9 85 DC 35 07 26 AD 9D
+00A0 | 7D 1A 9B 48 30 C1 84 ED 31 3C E3 55 E9 40 44 20
+00B0 | D2 31 8C 69 12 92 18 95 79 7D 22 79 0A C2 78 0E
+00C0 | A1 AE 38 C3 B0 4B EC 37 97 99 CD D0 81 9D 37 8E
+00D0 | 66 62 B8 C7 54 49 EA 22 26 ED 35 5E 96 45 B8 3A
+00E0 | 60 F4 CD 11 5B CC CF E7 58 42 41 F9 04 BE 4A 70
+00F0 | A0 6B 03 B7 2E D7 47 03 78 04 65 D8 E8 38 6C F1
+0100 | E0 91 57 39 98 1F C9 84 C4 CF E3 11 37 FD EF 2B
+0110 | D8 F8 7B 6F 01 E7 0B A3 E0 11 3B 01 C3 38 C8 0F
+0120 | 7E 0C C8 00 FE 8C E4 64 F7 1B 9B B9 7B B9 EE DE
+0130 | 30 84 80 14 2F 72 F7 55 82 BB 5B 78 ED 99 5C 7D
+0140 | 1A 9C 70 CD 53 1A B0 07 7D AD D3 42 D5 07 CA FB
+0150 | 5E 7F 6E 34
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 = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
message_id
8, 8
-90EA080029B81D65
+28A20E00D25E2065
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
nonce
24, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
40, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
p
56, 8
-0453CD479F000000
TL byte deserialization => bigendian conversion to decimal => 1405962143
+04668DCFBB000000
TL byte deserialization => bigendian conversion to decimal => 1720569787
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-0455C5D9B7000000
TL byte deserialization => bigendian conversion to decimal => 1439029687
+0470134277000000
TL byte deserialization => bigendian conversion to decimal => 1880310391
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
encrypted_data
80, 260
-FE00010067FF69473A3411D0A9357ECB
6954EDDB142250313042B4C5D50A8053
C2F09546D0B2783F72FD53135FAB8628
4E112E1F6952F459B413287A49EB74D2
E0F1F458216FF6CE8F4134C0E1DC30A5
1588735A9FCCB4A7C84BFECD95CC47A0
25CA587AF6E5C5FFC80550DE595FB894
B41CE24556D4BB16AC635E851217F740
60C828E966998FC06194DBC3D10EDA36
291CC2359BF41A908AEAACC94FD8DADF
A9DEB4F45BFD5869CD14B8175900824C
71F64160C8545083303673D3FE6B58B8
7B8E34A80FA457835B4AA10F7E26867D
FE8F126851D4CBF2587551E40FA50006
D74B77858AE3E2C591FAC39E67EB04D8
4B8663A277A944C6A9998EB0D3790090
0D2E945C
+FE000100D177563F10EFE0AA71F81FA9
17FE234D3995C71C486C33EB265C2BE2
18EF78E485FD8A5C88EB70F6EA7161FE
AA85443BD690CA865C4EB7242F2FD8D3
C76E8BF61C85FFACC985DC350726AD9D
7D1A9B4830C184ED313CE355E9404420
D2318C6912921895797D22790AC2780E
A1AE38C3B04BEC379799CDD0819D378E
6662B8C75449EA2226ED355E9645B83A
60F4CD115BCCCFE7584241F904BE4A70
A06B03B72ED74703780465D8E8386CF1
E0915739981FC984C4CFE31137FDEF2B
D8F87B6F01E70BA3E0113B01C338C80F
7E0CC800FE8CE464F71B9BB97BB9EEDE
308480142F72F75582BB5B78ED995C7D
1A9C70CD531AB0077DADD342D507CAFB
5E7F6E34
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 D4 B2 90 2A B8 1D 65
-0010 | A4 02 00 00 5C 07 E8 D0 7F 1F 22 C6 09 72 3B CD
-0020 | 45 F7 08 F0 F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E
-0030 | F8 89 83 60 10 85 61 ED FE 50 02 00 13 3E AF 1E
-0040 | B2 03 87 D4 32 F5 85 DD 9E CA A4 B8 F3 72 3F 6C
-0050 | 99 20 66 79 13 23 BC E6 53 FE 5A D1 9B CF C2 4D
-0060 | 23 0F CA 24 7C 68 6A 14 90 1C B9 59 B1 2A DD 3B
-0070 | BD F6 27 F1 F5 D5 8A 0F FE 5F 54 F0 3C 27 B5 42
-0080 | 01 CC E7 69 8C 7E 9F D1 CD 6D 62 EC F0 BD 50 B6
-0090 | FE 01 E5 CE E9 B2 6F 4A B8 A0 C6 AD DD DC 2B F0
-00A0 | 32 72 0C 30 5E 70 01 50 01 16 62 F1 76 F6 DF 72
-00B0 | 2A 59 3B 3E 12 81 73 9D 06 32 4A F4 81 01 6C 75
-00C0 | 77 F9 EB B7 E5 59 33 0D 19 71 E5 01 51 5E 42 71
-00D0 | 8B 7F CD 88 3B B2 AF 6A 90 B2 A0 E6 8F 8A DD 50
-00E0 | D1 7C A9 D3 BE 30 06 17 4C C4 EC CE F8 F9 FA 0F
-00F0 | 53 9D BC DC F0 A0 C6 48 DA 8C 76 29 07 1C 6C 8A
-0100 | B0 74 CC 20 65 1E AC B5 DC 34 B4 1F F9 90 7B 59
-0110 | 6A 5F E1 58 F0 87 D4 96 47 F9 E8 01 C8 BF 74 6D
-0120 | AB D3 A4 2A 9A F5 33 E3 29 2D 0D 5C 72 13 A0 33
-0130 | 1B C7 89 E0 23 F3 4C 0B 00 6C 13 C6 D5 3E 6E FD
-0140 | 3F 04 AD 13 FA 04 89 32 A4 DA 95 AC DD 8E 93 48
-0150 | A6 57 F3 EF 7A B0 97 B8 59 46 D7 EA C4 4F 9D 76
-0160 | 1E CC 3E D1 6C 03 2F D4 63 4E FA 4F F9 A4 D2 24
-0170 | DF 86 FE 2D C7 96 3B 39 7D 87 B9 48 99 85 DD 92
-0180 | A6 37 20 8B B1 E4 A5 27 47 47 31 27 60 F8 F1 9F
-0190 | DF BB F1 FA AC 65 C2 99 E4 94 A5 8F D3 6E 8B 2D
-01A0 | 98 2C EE CD A5 84 ED 63 FB 07 A7 BC 9A B6 F8 82
-01B0 | D5 F5 00 7B 75 BD 1C 0C 36 DC D6 0D 12 A4 9B 72
-01C0 | B0 8A DE A3 44 9D B5 C2 CB F8 06 D2 F2 DE B6 32
-01D0 | F6 31 FB 38 ED 32 55 B9 89 CC 4C 0D B5 1E 1A 27
-01E0 | 45 EE 68 22 12 5C 53 97 32 AC 28 92 F7 03 A6 3E
-01F0 | 9C 75 73 89 54 C7 A2 0E 75 28 47 87 EF A5 68 E4
-0200 | D6 C8 96 C8 18 D8 51 0B 79 16 32 D1 D7 A8 D8 90
-0210 | 6F A1 81 52 66 14 08 32 57 34 5C 9D FF E9 3C AF
-0220 | B5 B0 33 99 86 F6 B3 82 F4 E3 75 8D 22 53 10 A6
-0230 | 16 A2 35 D1 4F 4C 47 35 CD 7C 6A F5 C2 73 56 B3
-0240 | E0 45 57 43 D3 E2 D7 06 52 62 5F 72 D9 12 C5 2A
-0250 | C3 A2 F0 26 5C 0A 75 BB 5D 30 9A A5 B0 43 D9 D5
-0260 | CD B2 86 19 1F F3 4E 84 0F B6 CD 33 1F 0F 52 9E
-0270 | 0B C5 1F AC 89 8B 3F 92 F5 B9 82 35 11 EF 1C E2
-0280 | EA EC F1 20 7B 88 FB FB 96 92 4A 47
+0000 | 00 00 00 00 00 00 00 00 01 B8 68 78 D3 5E 20 65
+0010 | E4 02 00 00 5C 07 E8 D0 44 89 D8 96 B9 08 80 A8
+0020 | A6 23 F7 43 BD FB 19 7A 4C 57 92 83 D0 EA 21 D4
+0030 | 47 21 8B 38 DC 9C 55 08 FE 50 02 00 D8 A8 77 B2
+0040 | 68 75 1F A9 EC BD A5 D5 A8 A8 67 46 48 10 AD 8F
+0050 | CB 6B 3E 36 FD DA B9 BB E6 E9 3B D3 83 2F 75 BB
+0060 | F9 CD DE EE 28 42 59 37 55 FF 04 DC 87 27 8B 73
+0070 | 78 96 2C 21 86 DD 37 94 50 64 05 CA 0A 73 CB B1
+0080 | 31 95 90 B5 6C D0 F1 5E A0 5E DF 4F 96 7E 48 9E
+0090 | 11 BB 88 43 EF 09 0D 08 4F CF 0D 4E 00 16 7D 8B
+00A0 | 20 3F 83 9F FD 5F 5C DB 5A 16 35 2D 78 17 42 92
+00B0 | 4B 12 CE 68 F0 4D BD 6C 54 1D 34 BA A9 1E 50 9E
+00C0 | 46 29 AF 32 81 67 86 0F 76 62 8B 12 F1 BB 76 E6
+00D0 | E0 07 FF 53 00 9B 05 16 BD 3C C0 52 F3 A6 83 F3
+00E0 | 1D 42 7C 55 30 59 7E 15 DF DA 3F A0 39 D3 AE 53
+00F0 | F4 08 7E 2C 8B 3B 8D EA 58 28 38 39 53 9F B2 E5
+0100 | 7D 9F B2 8D 39 4A 46 75 B8 AD 1E 83 03 66 63 14
+0110 | 27 DB 2C 98 7F 4B 33 C2 7C 92 51 F5 A7 80 8B 60
+0120 | 28 06 14 2F 1F FB D3 21 53 29 D8 A1 C8 12 44 E2
+0130 | 27 D2 6C AD 12 B5 45 8C 11 41 D2 DB A5 7B DA E3
+0140 | 5C 4F C4 8B 3A EE DB A3 50 DE 91 B9 8F 9E 5A 41
+0150 | 9A E2 E7 E3 1D 47 A3 EC 9E 19 AC F6 5B A3 39 CF
+0160 | 8A D4 C9 44 AB 4C F3 FC DC EE 2E 72 61 71 37 87
+0170 | 6F C7 E5 4E 62 A9 C4 DD 88 26 A4 76 C6 AA 23 AB
+0180 | CF AE 66 98 BB E9 86 22 18 F6 F4 22 01 CB CE 6F
+0190 | A3 AF 9A F6 11 8E DD 74 DE 25 EF C4 AB 6B AB A3
+01A0 | D9 60 6C 66 EC 90 D3 C1 99 FC AB C3 44 28 41 FC
+01B0 | 20 24 DB 95 07 7D 66 73 ED 1F 46 5B 3E 7E AE 19
+01C0 | 91 9A 84 09 04 14 8F B0 73 C2 81 56 72 B4 BB 92
+01D0 | D2 1E A0 03 C8 12 12 63 D7 9D 4A 75 3C 16 90 FC
+01E0 | 4C 45 5D 03 35 0D 61 2F C5 13 FC 79 7E 9E A3 E0
+01F0 | 02 09 F0 86 10 75 72 95 40 F2 BA 5E 21 C6 7A 57
+0200 | A9 53 DB 5E 0B 6A 0E 20 13 71 3D 7E 53 21 BE 56
+0210 | 66 73 10 7B 11 3C 71 21 B9 33 71 C6 60 8A 48 D4
+0220 | C9 E2 9D 39 88 D7 50 B7 99 83 B5 3F D9 84 03 B6
+0230 | 21 AC 0E 00 6D 4D EB C6 61 AA A3 34 21 4A 8F AF
+0240 | 17 C1 32 BE E0 25 95 18 A9 3F D5 DC 45 C2 82 C7
+0250 | 3A 40 29 A2 0C 18 D7 CE A4 BD CF 56 1A D7 3C 29
+0260 | 2A AF 62 70 F2 60 64 69 B5 25 76 A8 6A 39 7A 1A
+0270 | 25 7A 0D DD 3F 76 22 17 E8 C8 4B B9 EA 2E 78 29
+0280 | 3D 66 9C 5C DA 8C 46 E9 20 28 E4 64
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 = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
message_id
8, 8
-01D4B2902AB81D65
+01B86878D35E2065
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-A4020000
(676 in decimal)
+E4020000
(740 in decimal)
Message body length
@@ -482,19 +482,19 @@ random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
nonce
24, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
40, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
encrypted_answer
56, 596
-FE500200133EAF1EB20387D432F585DD
9ECAA4B8F3723F6C992066791323BCE6
53FE5AD19BCFC24D230FCA247C686A14
901CB959B12ADD3BBDF627F1F5D58A0F
FE5F54F03C27B54201CCE7698C7E9FD1
CD6D62ECF0BD50B6FE01E5CEE9B26F4A
B8A0C6ADDDDC2BF032720C305E700150
011662F176F6DF722A593B3E1281739D
06324AF481016C7577F9EBB7E559330D
1971E501515E42718B7FCD883BB2AF6A
90B2A0E68F8ADD50D17CA9D3BE300617
4CC4ECCEF8F9FA0F539DBCDCF0A0C648
DA8C7629071C6C8AB074CC20651EACB5
DC34B41FF9907B596A5FE158F087D496
47F9E801C8BF746DABD3A42A9AF533E3
292D0D5C7213A0331BC789E023F34C0B
006C13C6D53E6EFD3F04AD13FA048932
A4DA95ACDD8E9348A657F3EF7AB097B8
5946D7EAC44F9D761ECC3ED16C032FD4
634EFA4FF9A4D224DF86FE2DC7963B39
7D87B9489985DD92A637208BB1E4A527
4747312760F8F19FDFBBF1FAAC65C299
E494A58FD36E8B2D982CEECDA584ED63
FB07A7BC9AB6F882D5F5007B75BD1C0C
36DCD60D12A49B72B08ADEA3449DB5C2
CBF806D2F2DEB632F631FB38ED3255B9
89CC4C0DB51E1A2745EE6822125C5397
32AC2892F703A63E9C75738954C7A20E
75284787EFA568E4D6C896C818D8510B
791632D1D7A8D8906FA1815266140832
57345C9DFFE93CAFB5B0339986F6B382
F4E3758D225310A616A235D14F4C4735
CD7C6AF5C27356B3E0455743D3E2D706
52625F72D912C52AC3A2F0265C0A75BB
5D309AA5B043D9D5CDB286191FF34E84
0FB6CD331F0F529E0BC51FAC898B3F92
F5B9823511EF1CE2EAECF1207B88FBFB
96924A47
+FE500200D8A877B268751FA9ECBDA5D5
A8A867464810AD8FCB6B3E36FDDAB9BB
E6E93BD3832F75BBF9CDDEEE28425937
55FF04DC87278B7378962C2186DD3794
506405CA0A73CBB1319590B56CD0F15E
A05EDF4F967E489E11BB8843EF090D08
4FCF0D4E00167D8B203F839FFD5F5CDB
5A16352D781742924B12CE68F04DBD6C
541D34BAA91E509E4629AF328167860F
76628B12F1BB76E6E007FF53009B0516
BD3CC052F3A683F31D427C5530597E15
DFDA3FA039D3AE53F4087E2C8B3B8DEA
58283839539FB2E57D9FB28D394A4675
B8AD1E830366631427DB2C987F4B33C2
7C9251F5A7808B602806142F1FFBD321
5329D8A1C81244E227D26CAD12B5458C
1141D2DBA57BDAE35C4FC48B3AEEDBA3
50DE91B98F9E5A419AE2E7E31D47A3EC
9E19ACF65BA339CF8AD4C944AB4CF3FC
DCEE2E72617137876FC7E54E62A9C4DD
8826A476C6AA23ABCFAE6698BBE98622
18F6F42201CBCE6FA3AF9AF6118EDD74
DE25EFC4AB6BABA3D9606C66EC90D3C1
99FCABC3442841FC2024DB95077D6673
ED1F465B3E7EAE19919A840904148FB0
73C2815672B4BB92D21EA003C8121263
D79D4A753C1690FC4C455D03350D612F
C513FC797E9EA3E00209F08610757295
40F2BA5E21C67A57A953DB5E0B6A0E20
13713D7E5321BE566673107B113C7121
B93371C6608A48D4C9E29D3988D750B7
9983B53FD98403B621AC0E006D4DEBC6
61AAA334214A8FAF17C132BEE0259518
A93FD5DC45C282C73A4029A20C18D7CE
A4BDCF561AD73C292AAF6270F2606469
B52576A86A397A1A257A0DDD3F762217
E8C84BB9EA2E78293D669C5CDA8C46E9
2028E464
See below
@@ -502,20 +502,20 @@ random_padding_bytes = 9C0F7EBDEB68050357DE05126F2231A5EB6FAD7E5592E14F68C1BD2C7
Decrypt encrypted_answer
using the reverse of the process specified in step 6 :
-encrypted_answer = 133EAF1EB20387D432F585DD9ECAA4B8F3723F6C992066791323BCE653FE5AD19BCFC24D230FCA247C686A14901CB959B12ADD3BBDF627F1F5D58A0FFE5F54F03C27B54201CCE7698C7E9FD1CD6D62ECF0BD50B6FE01E5CEE9B26F4AB8A0C6ADDDDC2BF032720C305E700150011662F176F6DF722A593B3E1281739D06324AF481016C7577F9EBB7E559330D1971E501515E42718B7FCD883BB2AF6A90B2A0E68F8ADD50D17CA9D3BE3006174CC4ECCEF8F9FA0F539DBCDCF0A0C648DA8C7629071C6C8AB074CC20651EACB5DC34B41FF9907B596A5FE158F087D49647F9E801C8BF746DABD3A42A9AF533E3292D0D5C7213A0331BC789E023F34C0B006C13C6D53E6EFD3F04AD13FA048932A4DA95ACDD8E9348A657F3EF7AB097B85946D7EAC44F9D761ECC3ED16C032FD4634EFA4FF9A4D224DF86FE2DC7963B397D87B9489985DD92A637208BB1E4A5274747312760F8F19FDFBBF1FAAC65C299E494A58FD36E8B2D982CEECDA584ED63FB07A7BC9AB6F882D5F5007B75BD1C0C36DCD60D12A49B72B08ADEA3449DB5C2CBF806D2F2DEB632F631FB38ED3255B989CC4C0DB51E1A2745EE6822125C539732AC2892F703A63E9C75738954C7A20E75284787EFA568E4D6C896C818D8510B791632D1D7A8D8906FA181526614083257345C9DFFE93CAFB5B0339986F6B382F4E3758D225310A616A235D14F4C4735CD7C6AF5C27356B3E0455743D3E2D70652625F72D912C52AC3A2F0265C0A75BB5D309AA5B043D9D5CDB286191FF34E840FB6CD331F0F529E0BC51FAC898B3F92F5B9823511EF1CE2EAECF1207B88FBFB96924A47
-tmp_aes_key = 5E753C94B9FCA27B05005EAD0F3E8318501C3242E1FDE09E523ED033E1D9F393
-tmp_aes_iv = CB5D109B5A14C5077CE6ED86B2B19E46DFA3EC4AD2E3E14B921E71AA2D8FD1E4
+encrypted_answer = D8A877B268751FA9ECBDA5D5A8A867464810AD8FCB6B3E36FDDAB9BBE6E93BD3832F75BBF9CDDEEE2842593755FF04DC87278B7378962C2186DD3794506405CA0A73CBB1319590B56CD0F15EA05EDF4F967E489E11BB8843EF090D084FCF0D4E00167D8B203F839FFD5F5CDB5A16352D781742924B12CE68F04DBD6C541D34BAA91E509E4629AF328167860F76628B12F1BB76E6E007FF53009B0516BD3CC052F3A683F31D427C5530597E15DFDA3FA039D3AE53F4087E2C8B3B8DEA58283839539FB2E57D9FB28D394A4675B8AD1E830366631427DB2C987F4B33C27C9251F5A7808B602806142F1FFBD3215329D8A1C81244E227D26CAD12B5458C1141D2DBA57BDAE35C4FC48B3AEEDBA350DE91B98F9E5A419AE2E7E31D47A3EC9E19ACF65BA339CF8AD4C944AB4CF3FCDCEE2E72617137876FC7E54E62A9C4DD8826A476C6AA23ABCFAE6698BBE9862218F6F42201CBCE6FA3AF9AF6118EDD74DE25EFC4AB6BABA3D9606C66EC90D3C199FCABC3442841FC2024DB95077D6673ED1F465B3E7EAE19919A840904148FB073C2815672B4BB92D21EA003C8121263D79D4A753C1690FC4C455D03350D612FC513FC797E9EA3E00209F0861075729540F2BA5E21C67A57A953DB5E0B6A0E2013713D7E5321BE566673107B113C7121B93371C6608A48D4C9E29D3988D750B79983B53FD98403B621AC0E006D4DEBC661AAA334214A8FAF17C132BEE0259518A93FD5DC45C282C73A4029A20C18D7CEA4BDCF561AD73C292AAF6270F2606469B52576A86A397A1A257A0DDD3F762217E8C84BB9EA2E78293D669C5CDA8C46E92028E464
+tmp_aes_key = E22A39733A0CA04AC31617FEFD7E5A3C54CF06AE3FF1DF7E2B5DF48EF7F937E9
+tmp_aes_iv = 63828DB4E00117FD643F872C5B4975BC013A065BD691CFA5640C797A3C482639
Yielding:
-answer_with_hash = 5AE7003DFE5470A8F4F0E9677AE7C88B22684AD2BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561ED03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010058B8300D1BDC9FC3D40215E54A5D85EFFDE73FA7BF8045FEEA78B52806A2B816B3EE1C11CFCE4F9AC6CDC15EE00DFFEC00E54DC16A3391FEBCDB1E45F7FB8732B074DDB3298470C3989CEF21A1F38EFB850A85885EB1391FE40EC8183745F490C4476F1F07167DE5B487A666A10A4FB3DFC14B08676307328D4B496E98B16730A1AD6509BDFC8188E5DDC7A56EAF72DB4F1377FC22C593C7CAC466AFA49084899309513B04B5E64737244D4EA62B8362F4242A3F749CFA24D1ABDCCC8E3E21C0B296301885925A64E009C149A6518DC6336431F6689140CB1110585A2B51BF2C88E59BDDFFA457100D0F0BE00CCBE2C1C5D53141B18C52B6FCFF716BF6AE8D522AB81D65E58BD6003A5C0B42
-answer = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561ED03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010058B8300D1BDC9FC3D40215E54A5D85EFFDE73FA7BF8045FEEA78B52806A2B816B3EE1C11CFCE4F9AC6CDC15EE00DFFEC00E54DC16A3391FEBCDB1E45F7FB8732B074DDB3298470C3989CEF21A1F38EFB850A85885EB1391FE40EC8183745F490C4476F1F07167DE5B487A666A10A4FB3DFC14B08676307328D4B496E98B16730A1AD6509BDFC8188E5DDC7A56EAF72DB4F1377FC22C593C7CAC466AFA49084899309513B04B5E64737244D4EA62B8362F4242A3F749CFA24D1ABDCCC8E3E21C0B296301885925A64E009C149A6518DC6336431F6689140CB1110585A2B51BF2C88E59BDDFFA457100D0F0BE00CCBE2C1C5D53141B18C52B6FCFF716BF6AE8D522AB81D65E58BD6003A5C0B42
+answer_with_hash = 0B0DD724989BE1A322EC2A4A920D30F1A9C59528BA0D89B54489D896B90880A8A623F743BDFB197A4C579283D0EA21D447218B38DC9C550803000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010081626BD4F644F37B9C05189C924A9DBFF73E82493AE0301961F1FD0AE568D51AD760C54D5B9181CCDB65CF5D912D634CA6E90A67331D4DE4C9AC9534267667E786FEA07F48685ECA15DDEF41DD57415A35F6D40049BD0C62E6653F958230A8223709001B06F579E328EDC8F1AF54275A8B903DDE6E2BF59617F81582D6D496312E97C039A9A531CD629397D630FADE7F5A4D76BDE6E068A73D62688DFE18FB10DF6B4D64CB3E4F5269F01A54098EF37356759FF01A5EF59D8532E47DEA41D8035E5CFE7B6569A8ABAED534523002E1EF85FE2DC1249103B543F9633F3744F30D5BF7150851C0A5EED21FC6D19D3CB4AB3BF56ED08A458D00EFC22CB9AA1BB7F6D35E206597622EE6713630B8
+answer = BA0D89B54489D896B90880A8A623F743BDFB197A4C579283D0EA21D447218B38DC9C550803000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010081626BD4F644F37B9C05189C924A9DBFF73E82493AE0301961F1FD0AE568D51AD760C54D5B9181CCDB65CF5D912D634CA6E90A67331D4DE4C9AC9534267667E786FEA07F48685ECA15DDEF41DD57415A35F6D40049BD0C62E6653F958230A8223709001B06F579E328EDC8F1AF54275A8B903DDE6E2BF59617F81582D6D496312E97C039A9A531CD629397D630FADE7F5A4D76BDE6E068A73D62688DFE18FB10DF6B4D64CB3E4F5269F01A54098EF37356759FF01A5EF59D8532E47DEA41D8035E5CFE7B6569A8ABAED534523002E1EF85FE2DC1249103B543F9633F3744F30D5BF7150851C0A5EED21FC6D19D3CB4AB3BF56ED08A458D00EFC22CB9AA1BB7F6D35E206597622EE6713630B8
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 7F 1F 22 C6 09 72 3B CD 45 F7 08 F0
-0010 | F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E F8 89 83 60
-0020 | 10 85 61 ED 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 44 89 D8 96 B9 08 80 A8 A6 23 F7 43
+0010 | BD FB 19 7A 4C 57 92 83 D0 EA 21 D4 47 21 8B 38
+0020 | DC 9C 55 08 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 = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
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 | 58 B8 30 0D 1B DC 9F C3 D4 02 15 E5 4A 5D 85 EF
-0140 | FD E7 3F A7 BF 80 45 FE EA 78 B5 28 06 A2 B8 16
-0150 | B3 EE 1C 11 CF CE 4F 9A C6 CD C1 5E E0 0D FF EC
-0160 | 00 E5 4D C1 6A 33 91 FE BC DB 1E 45 F7 FB 87 32
-0170 | B0 74 DD B3 29 84 70 C3 98 9C EF 21 A1 F3 8E FB
-0180 | 85 0A 85 88 5E B1 39 1F E4 0E C8 18 37 45 F4 90
-0190 | C4 47 6F 1F 07 16 7D E5 B4 87 A6 66 A1 0A 4F B3
-01A0 | DF C1 4B 08 67 63 07 32 8D 4B 49 6E 98 B1 67 30
-01B0 | A1 AD 65 09 BD FC 81 88 E5 DD C7 A5 6E AF 72 DB
-01C0 | 4F 13 77 FC 22 C5 93 C7 CA C4 66 AF A4 90 84 89
-01D0 | 93 09 51 3B 04 B5 E6 47 37 24 4D 4E A6 2B 83 62
-01E0 | F4 24 2A 3F 74 9C FA 24 D1 AB DC CC 8E 3E 21 C0
-01F0 | B2 96 30 18 85 92 5A 64 E0 09 C1 49 A6 51 8D C6
-0200 | 33 64 31 F6 68 91 40 CB 11 10 58 5A 2B 51 BF 2C
-0210 | 88 E5 9B DD FF A4 57 10 0D 0F 0B E0 0C CB E2 C1
-0220 | C5 D5 31 41 B1 8C 52 B6 FC FF 71 6B F6 AE 8D 52
-0230 | 2A B8 1D 65
+0130 | 81 62 6B D4 F6 44 F3 7B 9C 05 18 9C 92 4A 9D BF
+0140 | F7 3E 82 49 3A E0 30 19 61 F1 FD 0A E5 68 D5 1A
+0150 | D7 60 C5 4D 5B 91 81 CC DB 65 CF 5D 91 2D 63 4C
+0160 | A6 E9 0A 67 33 1D 4D E4 C9 AC 95 34 26 76 67 E7
+0170 | 86 FE A0 7F 48 68 5E CA 15 DD EF 41 DD 57 41 5A
+0180 | 35 F6 D4 00 49 BD 0C 62 E6 65 3F 95 82 30 A8 22
+0190 | 37 09 00 1B 06 F5 79 E3 28 ED C8 F1 AF 54 27 5A
+01A0 | 8B 90 3D DE 6E 2B F5 96 17 F8 15 82 D6 D4 96 31
+01B0 | 2E 97 C0 39 A9 A5 31 CD 62 93 97 D6 30 FA DE 7F
+01C0 | 5A 4D 76 BD E6 E0 68 A7 3D 62 68 8D FE 18 FB 10
+01D0 | DF 6B 4D 64 CB 3E 4F 52 69 F0 1A 54 09 8E F3 73
+01E0 | 56 75 9F F0 1A 5E F5 9D 85 32 E4 7D EA 41 D8 03
+01F0 | 5E 5C FE 7B 65 69 A8 AB AE D5 34 52 30 02 E1 EF
+0200 | 85 FE 2D C1 24 91 03 B5 43 F9 63 3F 37 44 F3 0D
+0210 | 5B F7 15 08 51 C0 A5 EE D2 1F C6 D1 9D 3C B4 AB
+0220 | 3B F5 6E D0 8A 45 8D 00 EF C2 2C B9 AA 1B B7 F6
+0230 | D3 5E 20 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 = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
nonce
4, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
20, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
g_a
300, 260
-FE00010058B8300D1BDC9FC3D40215E5
4A5D85EFFDE73FA7BF8045FEEA78B528
06A2B816B3EE1C11CFCE4F9AC6CDC15E
E00DFFEC00E54DC16A3391FEBCDB1E45
F7FB8732B074DDB3298470C3989CEF21
A1F38EFB850A85885EB1391FE40EC818
3745F490C4476F1F07167DE5B487A666
A10A4FB3DFC14B08676307328D4B496E
98B16730A1AD6509BDFC8188E5DDC7A5
6EAF72DB4F1377FC22C593C7CAC466AF
A49084899309513B04B5E64737244D4E
A62B8362F4242A3F749CFA24D1ABDCCC
8E3E21C0B296301885925A64E009C149
A6518DC6336431F6689140CB1110585A
2B51BF2C88E59BDDFFA457100D0F0BE0
0CCBE2C1C5D53141B18C52B6FCFF716B
F6AE8D52
+FE00010081626BD4F644F37B9C05189C
924A9DBFF73E82493AE0301961F1FD0A
E568D51AD760C54D5B9181CCDB65CF5D
912D634CA6E90A67331D4DE4C9AC9534
267667E786FEA07F48685ECA15DDEF41
DD57415A35F6D40049BD0C62E6653F95
8230A8223709001B06F579E328EDC8F1
AF54275A8B903DDE6E2BF59617F81582
D6D496312E97C039A9A531CD629397D6
30FADE7F5A4D76BDE6E068A73D62688D
FE18FB10DF6B4D64CB3E4F5269F01A54
098EF37356759FF01A5EF59D8532E47D
EA41D8035E5CFE7B6569A8ABAED53452
3002E1EF85FE2DC1249103B543F9633F
3744F30D5BF7150851C0A5EED21FC6D1
9D3CB4AB3BF56ED08A458D00EFC22CB9
AA1BB7F6
g_a
diffie-hellman parameter
server_time
560, 4
-2AB81D65
(1696446506 in decimal)
+D35E2065
(1696620243 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
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 = 6F419AA374D937DF6A21C3686EAF6202514745E51CC8F33C3EF3C25601A6E237C5019C505B9B3B4BF41360FFAAF5E759569A4892AA078F2EBED5BA69A7A0358B40D75C5226A16B28875E892700DD6D34C6C38FC1B56DE68C3F19C333AC9B93901A010B9F5C2E6CA452E525EB1AFFFB89D2B33AF5F83569616D6EB9F0D817D3ECA9A5721EB5A8A21469B761EAE6D2034BA6F4272E368598034F263744E5060997704708969D13A0BDEAA9F7930F8A6540FB73A50503BE6519D26DC63C6B2B673F8ED12D0D8E0B1E1A22A52B8187F6EDB945A347FF39F5F38FACA525DAF830FEE43E9B2212E58D4388117D93DBBDEE1D1FEBC04964D708F2C3E65DED28376868AC
+b = 58C9AB82916CFB407C6038854490D5A8910CEDA18103DDA1468EDD2F996D841B62066E72FE29A7245DA3DE39DDDD319433B1275E101A23493B2E084537BD9F3DE53F7BDDB3F49200118842713F3EEFE39C141DF302ED1DD6EECC1F7B89B4703C3671BBB332159E9CDB025358FE1773A4CCC1EB42E4413606C3F519DB760A8FBC941777729CFF0F894D1BCBB1E6F423C998ACEA2A18A334BF46832D3AAC105304843DAF61373BBA3E3E83A400D53A991BFBA08F64B46FB7336906B1F38BE4D1B6CD67045EE01C6642090F3F91731EAEB0757D9636838C6556D3C2D880F511875C8F55271ECBDBDF922907139FF30C44693A99969FBCB5DBDD15331656A3430FE5
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 457C07E8E8B47AA78DBB462D58E210659C6992D653E1CAB0C85813F0575409C4821B045DF82EC483A333906EDC4FDD9C3E834C2874EEA12A2D0D60405E4C404EA069A8609C635FD103E6A7301B4E274D815BA8E9EBA1A2A7C38D4A255BEF8DA45A83495AB59AA781226D2929E511C73B0454407674B7F4132A387DA023EB7D09D7F30A95765ACB2D87424AF23F52F72871AC281F1053B224F9942B551A59E086E1A6983847C99F1D2502F576B3314AC2CC081659B62F0742C14C1E3181B6EB0863115B9E88A1E6B73CB30C56B3464CED6A5503D9E8209F8DE3B5267C977A036FE75FCF4F1F5D6CF576B19F347858863CAB8CF5E14F9B06F8CD00052829635AAE
+g_b = 9CACAC715E89F072F01C3CF7B9FD8BC8B7242BBCE6A68BB576BC0431387894245A4499354A6B5CFAB18A9E00BDB0E56E2EAEF108FE5C65F54F8F7EA194E62727EC248B3A60CFD96E17C0CA54F00657D20CA1B700F46A0D7A66210E5F039DC626B698D553DA70BAFA6A13B81562DF550EBE6F2683DF86B4C6FEBEF378165D1A48203A93E607C5B74C9BC191700836C59C9B275D06B22FCD6D70AB447F91C9B6A979DABE601B9ED0C8C1326C4EBF44A67DD1EE6CE8A1730C72C227FB3DD51F6A75CFC0DB0B2768006884F9F9837842ADC45CD9EDE3972BC230DCC461406492489343B7228C8560A014F8FA89B8173AF37273BB7897D89BAC1B88CDE0FDD6427CCC
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 7F 1F 22 C6 09 72 3B CD 45 F7 08 F0
-0010 | F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E F8 89 83 60
-0020 | 10 85 61 ED 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 45 7C 07 E8 E8 B4 7A A7 8D BB 46 2D 58 E2 10 65
-0040 | 9C 69 92 D6 53 E1 CA B0 C8 58 13 F0 57 54 09 C4
-0050 | 82 1B 04 5D F8 2E C4 83 A3 33 90 6E DC 4F DD 9C
-0060 | 3E 83 4C 28 74 EE A1 2A 2D 0D 60 40 5E 4C 40 4E
-0070 | A0 69 A8 60 9C 63 5F D1 03 E6 A7 30 1B 4E 27 4D
-0080 | 81 5B A8 E9 EB A1 A2 A7 C3 8D 4A 25 5B EF 8D A4
-0090 | 5A 83 49 5A B5 9A A7 81 22 6D 29 29 E5 11 C7 3B
-00A0 | 04 54 40 76 74 B7 F4 13 2A 38 7D A0 23 EB 7D 09
-00B0 | D7 F3 0A 95 76 5A CB 2D 87 42 4A F2 3F 52 F7 28
-00C0 | 71 AC 28 1F 10 53 B2 24 F9 94 2B 55 1A 59 E0 86
-00D0 | E1 A6 98 38 47 C9 9F 1D 25 02 F5 76 B3 31 4A C2
-00E0 | CC 08 16 59 B6 2F 07 42 C1 4C 1E 31 81 B6 EB 08
-00F0 | 63 11 5B 9E 88 A1 E6 B7 3C B3 0C 56 B3 46 4C ED
-0100 | 6A 55 03 D9 E8 20 9F 8D E3 B5 26 7C 97 7A 03 6F
-0110 | E7 5F CF 4F 1F 5D 6C F5 76 B1 9F 34 78 58 86 3C
-0120 | AB 8C F5 E1 4F 9B 06 F8 CD 00 05 28 29 63 5A AE
+0000 | 54 B6 43 66 44 89 D8 96 B9 08 80 A8 A6 23 F7 43
+0010 | BD FB 19 7A 4C 57 92 83 D0 EA 21 D4 47 21 8B 38
+0020 | DC 9C 55 08 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 9C AC AC 71 5E 89 F0 72 F0 1C 3C F7 B9 FD 8B C8
+0040 | B7 24 2B BC E6 A6 8B B5 76 BC 04 31 38 78 94 24
+0050 | 5A 44 99 35 4A 6B 5C FA B1 8A 9E 00 BD B0 E5 6E
+0060 | 2E AE F1 08 FE 5C 65 F5 4F 8F 7E A1 94 E6 27 27
+0070 | EC 24 8B 3A 60 CF D9 6E 17 C0 CA 54 F0 06 57 D2
+0080 | 0C A1 B7 00 F4 6A 0D 7A 66 21 0E 5F 03 9D C6 26
+0090 | B6 98 D5 53 DA 70 BA FA 6A 13 B8 15 62 DF 55 0E
+00A0 | BE 6F 26 83 DF 86 B4 C6 FE BE F3 78 16 5D 1A 48
+00B0 | 20 3A 93 E6 07 C5 B7 4C 9B C1 91 70 08 36 C5 9C
+00C0 | 9B 27 5D 06 B2 2F CD 6D 70 AB 44 7F 91 C9 B6 A9
+00D0 | 79 DA BE 60 1B 9E D0 C8 C1 32 6C 4E BF 44 A6 7D
+00E0 | D1 EE 6C E8 A1 73 0C 72 C2 27 FB 3D D5 1F 6A 75
+00F0 | CF C0 DB 0B 27 68 00 68 84 F9 F9 83 78 42 AD C4
+0100 | 5C D9 ED E3 97 2B C2 30 DC C4 61 40 64 92 48 93
+0110 | 43 B7 22 8C 85 60 A0 14 F8 FA 89 B8 17 3A F3 72
+0120 | 73 BB 78 97 D8 9B AC 1B 88 CD E0 FD D6 42 7C CC
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 = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
nonce
4, 16
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
20, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
g_b
36, 260
-FE000100457C07E8E8B47AA78DBB462D
58E210659C6992D653E1CAB0C85813F0
575409C4821B045DF82EC483A333906E
DC4FDD9C3E834C2874EEA12A2D0D6040
5E4C404EA069A8609C635FD103E6A730
1B4E274D815BA8E9EBA1A2A7C38D4A25
5BEF8DA45A83495AB59AA781226D2929
E511C73B0454407674B7F4132A387DA0
23EB7D09D7F30A95765ACB2D87424AF2
3F52F72871AC281F1053B224F9942B55
1A59E086E1A6983847C99F1D2502F576
B3314AC2CC081659B62F0742C14C1E31
81B6EB0863115B9E88A1E6B73CB30C56
B3464CED6A5503D9E8209F8DE3B5267C
977A036FE75FCF4F1F5D6CF576B19F34
7858863CAB8CF5E14F9B06F8CD000528
29635AAE
+FE0001009CACAC715E89F072F01C3CF7
B9FD8BC8B7242BBCE6A68BB576BC0431
387894245A4499354A6B5CFAB18A9E00
BDB0E56E2EAEF108FE5C65F54F8F7EA1
94E62727EC248B3A60CFD96E17C0CA54
F00657D20CA1B700F46A0D7A66210E5F
039DC626B698D553DA70BAFA6A13B815
62DF550EBE6F2683DF86B4C6FEBEF378
165D1A48203A93E607C5B74C9BC19170
0836C59C9B275D06B22FCD6D70AB447F
91C9B6A979DABE601B9ED0C8C1326C4E
BF44A67DD1EE6CE8A1730C72C227FB3D
D51F6A75CFC0DB0B2768006884F9F983
7842ADC45CD9EDE3972BC230DCC46140
6492489343B7228C8560A014F8FA89B8
173AF37273BB7897D89BAC1B88CDE0FD
D6427CCC
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B57F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561E
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 = 54B643667F1F22C609723BCD45F708F0F99E90BFE9B10D8709A3900EF8898360108561ED0000000000000000FE000100457C07E8E8B47AA78DBB462D58E210659C6992D653E1CAB0C85813F0575409C4821B045DF82EC483A333906EDC4FDD9C3E834C2874EEA12A2D0D60405E4C404EA069A8609C635FD103E6A7301B4E274D815BA8E9EBA1A2A7C38D4A255BEF8DA45A83495AB59AA781226D2929E511C73B0454407674B7F4132A387DA023EB7D09D7F30A95765ACB2D87424AF23F52F72871AC281F1053B224F9942B551A59E086E1A6983847C99F1D2502F576B3314AC2CC081659B62F0742C14C1E3181B6EB0863115B9E88A1E6B73CB30C56B3464CED6A5503D9E8209F8DE3B5267C977A036FE75FCF4F1F5D6CF576B19F347858863CAB8CF5E14F9B06F8CD00052829635AAE
-padding = CBB1235D6135B0C1C710035D
-tmp_aes_key = 5E753C94B9FCA27B05005EAD0F3E8318501C3242E1FDE09E523ED033E1D9F393
-tmp_aes_iv = CB5D109B5A14C5077CE6ED86B2B19E46DFA3EC4AD2E3E14B921E71AA2D8FD1E4
+data = 54B643664489D896B90880A8A623F743BDFB197A4C579283D0EA21D447218B38DC9C55080000000000000000FE0001009CACAC715E89F072F01C3CF7B9FD8BC8B7242BBCE6A68BB576BC0431387894245A4499354A6B5CFAB18A9E00BDB0E56E2EAEF108FE5C65F54F8F7EA194E62727EC248B3A60CFD96E17C0CA54F00657D20CA1B700F46A0D7A66210E5F039DC626B698D553DA70BAFA6A13B81562DF550EBE6F2683DF86B4C6FEBEF378165D1A48203A93E607C5B74C9BC191700836C59C9B275D06B22FCD6D70AB447F91C9B6A979DABE601B9ED0C8C1326C4EBF44A67DD1EE6CE8A1730C72C227FB3DD51F6A75CFC0DB0B2768006884F9F9837842ADC45CD9EDE3972BC230DCC461406492489343B7228C8560A014F8FA89B8173AF37273BB7897D89BAC1B88CDE0FDD6427CCC
+padding = 3A68BCDA93B6A10751FDB547
+tmp_aes_key = E22A39733A0CA04AC31617FEFD7E5A3C54CF06AE3FF1DF7E2B5DF48EF7F937E9
+tmp_aes_iv = 63828DB4E00117FD643F872C5B4975BC013A065BD691CFA5640C797A3C482639
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 = ECBEEFEA34777EECDE225661931EC3F084FFE74E4E348612FA29746391AD6F817BC7971C777DB5C938D6C827AEFF03A17E7FE9610A22BAA689983E95EF4BF221F75CD6EA799161EBCF01B33925B7662FED6A962EE91152A5C25272EF8470B397B5B2813154E3CF59D84EF783396129B31FE5050B5F54FB2CEFBB5A2992060495E44037C6C3A81CCE5C7724B58F99B30CBBCB52335BB4AF2116CCF75A030995DA6B559A37640697C4AEA13EBF421EE7A2FB6958010006E695C4BABF1F8DB57D0E0FD7B79216C405AA354828F326C4E13A5E4AF0FE26640AC3A1FA08DCD94E76EA53D5E8FCA55475A3DA337E398C249ED8403433815DF29EABBD22CD2B6C6850EDE9B7E2E7D0559597E86E0E11F3B381CFAF0809A81081D89D2AB7D3762CF4BE6E69D073EC4BA0685C42A6F14FFADD77284D691FEE0E0EA1831CB3BF22E56E55D27FDECEB2932CF54AB5A5F1BCF7870114
+encrypted_data = 251F8A30247E4F706052B4ED166B8A3543F6335F56881F4450E329B3B65A4163CC304561C3C0A6AE6BDD02E239D038E4455EAEDE525C3F29ABE8225943B85759A043F464148AA2C3D5E8137CE3B19EB2583A9BC88396F12678A1A916254374806D052F8D30135E5D58C1C67296268A562775AFB164157F55B3AA45CCF1E7D45BABC06D3FCD5A441C362102A6915B6487E12F55BE46F35F0DA1C24BB49A552A32D4F15FB16755B8658583FB00FD2B64C7429016483E850A5D0BD1F5F584A2EAB1DD24A6A6B7AD3C4A4193318C2014E8EA6DAB6685D67F7C2611189E3C7C2A705A54159E82A9A150CEE6161E90D1F2167657481A72F6C96D5C141AEAD665411CC7F9F3C89A495B0268329F1D806A51010B08124B75938FE5EB3ED1DB58C6D7D8F9F4E2203738988758CA57B0FED7B2D7F92048E242ACFC389703DA023064A2A9891B3DB5F3113C20D492B53EFD0B826F28
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 14 4B 0A 00 2A B8 1D 65
-0010 | 78 01 00 00 1F 5F 04 F5 7F 1F 22 C6 09 72 3B CD
-0020 | 45 F7 08 F0 F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E
-0030 | F8 89 83 60 10 85 61 ED FE 50 01 00 EC BE EF EA
-0040 | 34 77 7E EC DE 22 56 61 93 1E C3 F0 84 FF E7 4E
-0050 | 4E 34 86 12 FA 29 74 63 91 AD 6F 81 7B C7 97 1C
-0060 | 77 7D B5 C9 38 D6 C8 27 AE FF 03 A1 7E 7F E9 61
-0070 | 0A 22 BA A6 89 98 3E 95 EF 4B F2 21 F7 5C D6 EA
-0080 | 79 91 61 EB CF 01 B3 39 25 B7 66 2F ED 6A 96 2E
-0090 | E9 11 52 A5 C2 52 72 EF 84 70 B3 97 B5 B2 81 31
-00A0 | 54 E3 CF 59 D8 4E F7 83 39 61 29 B3 1F E5 05 0B
-00B0 | 5F 54 FB 2C EF BB 5A 29 92 06 04 95 E4 40 37 C6
-00C0 | C3 A8 1C CE 5C 77 24 B5 8F 99 B3 0C BB CB 52 33
-00D0 | 5B B4 AF 21 16 CC F7 5A 03 09 95 DA 6B 55 9A 37
-00E0 | 64 06 97 C4 AE A1 3E BF 42 1E E7 A2 FB 69 58 01
-00F0 | 00 06 E6 95 C4 BA BF 1F 8D B5 7D 0E 0F D7 B7 92
-0100 | 16 C4 05 AA 35 48 28 F3 26 C4 E1 3A 5E 4A F0 FE
-0110 | 26 64 0A C3 A1 FA 08 DC D9 4E 76 EA 53 D5 E8 FC
-0120 | A5 54 75 A3 DA 33 7E 39 8C 24 9E D8 40 34 33 81
-0130 | 5D F2 9E AB BD 22 CD 2B 6C 68 50 ED E9 B7 E2 E7
-0140 | D0 55 95 97 E8 6E 0E 11 F3 B3 81 CF AF 08 09 A8
-0150 | 10 81 D8 9D 2A B7 D3 76 2C F4 BE 6E 69 D0 73 EC
-0160 | 4B A0 68 5C 42 A6 F1 4F FA DD 77 28 4D 69 1F EE
-0170 | 0E 0E A1 83 1C B3 BF 22 E5 6E 55 D2 7F DE CE B2
-0180 | 93 2C F5 4A B5 A5 F1 BC F7 87 01 14
+0000 | 00 00 00 00 00 00 00 00 E8 34 00 00 D3 5E 20 65
+0010 | 78 01 00 00 1F 5F 04 F5 44 89 D8 96 B9 08 80 A8
+0020 | A6 23 F7 43 BD FB 19 7A 4C 57 92 83 D0 EA 21 D4
+0030 | 47 21 8B 38 DC 9C 55 08 FE 50 01 00 25 1F 8A 30
+0040 | 24 7E 4F 70 60 52 B4 ED 16 6B 8A 35 43 F6 33 5F
+0050 | 56 88 1F 44 50 E3 29 B3 B6 5A 41 63 CC 30 45 61
+0060 | C3 C0 A6 AE 6B DD 02 E2 39 D0 38 E4 45 5E AE DE
+0070 | 52 5C 3F 29 AB E8 22 59 43 B8 57 59 A0 43 F4 64
+0080 | 14 8A A2 C3 D5 E8 13 7C E3 B1 9E B2 58 3A 9B C8
+0090 | 83 96 F1 26 78 A1 A9 16 25 43 74 80 6D 05 2F 8D
+00A0 | 30 13 5E 5D 58 C1 C6 72 96 26 8A 56 27 75 AF B1
+00B0 | 64 15 7F 55 B3 AA 45 CC F1 E7 D4 5B AB C0 6D 3F
+00C0 | CD 5A 44 1C 36 21 02 A6 91 5B 64 87 E1 2F 55 BE
+00D0 | 46 F3 5F 0D A1 C2 4B B4 9A 55 2A 32 D4 F1 5F B1
+00E0 | 67 55 B8 65 85 83 FB 00 FD 2B 64 C7 42 90 16 48
+00F0 | 3E 85 0A 5D 0B D1 F5 F5 84 A2 EA B1 DD 24 A6 A6
+0100 | B7 AD 3C 4A 41 93 31 8C 20 14 E8 EA 6D AB 66 85
+0110 | D6 7F 7C 26 11 18 9E 3C 7C 2A 70 5A 54 15 9E 82
+0120 | A9 A1 50 CE E6 16 1E 90 D1 F2 16 76 57 48 1A 72
+0130 | F6 C9 6D 5C 14 1A EA D6 65 41 1C C7 F9 F3 C8 9A
+0140 | 49 5B 02 68 32 9F 1D 80 6A 51 01 0B 08 12 4B 75
+0150 | 93 8F E5 EB 3E D1 DB 58 C6 D7 D8 F9 F4 E2 20 37
+0160 | 38 98 87 58 CA 57 B0 FE D7 B2 D7 F9 20 48 E2 42
+0170 | AC FC 38 97 03 DA 02 30 64 A2 A9 89 1B 3D B5 F3
+0180 | 11 3C 20 D4 92 B5 3E FD 0B 82 6F 28
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
-144B0A002AB81D65
+E8340000D35E2065
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
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
40, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
encrypted_data
56, 340
-FE500100ECBEEFEA34777EECDE225661
931EC3F084FFE74E4E348612FA297463
91AD6F817BC7971C777DB5C938D6C827
AEFF03A17E7FE9610A22BAA689983E95
EF4BF221F75CD6EA799161EBCF01B339
25B7662FED6A962EE91152A5C25272EF
8470B397B5B2813154E3CF59D84EF783
396129B31FE5050B5F54FB2CEFBB5A29
92060495E44037C6C3A81CCE5C7724B5
8F99B30CBBCB52335BB4AF2116CCF75A
030995DA6B559A37640697C4AEA13EBF
421EE7A2FB6958010006E695C4BABF1F
8DB57D0E0FD7B79216C405AA354828F3
26C4E13A5E4AF0FE26640AC3A1FA08DC
D94E76EA53D5E8FCA55475A3DA337E39
8C249ED8403433815DF29EABBD22CD2B
6C6850EDE9B7E2E7D0559597E86E0E11
F3B381CFAF0809A81081D89D2AB7D376
2CF4BE6E69D073EC4BA0685C42A6F14F
FADD77284D691FEE0E0EA1831CB3BF22
E56E55D27FDECEB2932CF54AB5A5F1BC
F7870114
+FE500100251F8A30247E4F706052B4ED
166B8A3543F6335F56881F4450E329B3
B65A4163CC304561C3C0A6AE6BDD02E2
39D038E4455EAEDE525C3F29ABE82259
43B85759A043F464148AA2C3D5E8137C
E3B19EB2583A9BC88396F12678A1A916
254374806D052F8D30135E5D58C1C672
96268A562775AFB164157F55B3AA45CC
F1E7D45BABC06D3FCD5A441C362102A6
915B6487E12F55BE46F35F0DA1C24BB4
9A552A32D4F15FB16755B8658583FB00
FD2B64C7429016483E850A5D0BD1F5F5
84A2EAB1DD24A6A6B7AD3C4A4193318C
2014E8EA6DAB6685D67F7C2611189E3C
7C2A705A54159E82A9A150CEE6161E90
D1F2167657481A72F6C96D5C141AEAD6
65411CC7F9F3C89A495B0268329F1D80
6A51010B08124B75938FE5EB3ED1DB58
C6D7D8F9F4E2203738988758CA57B0FE
D7B2D7F92048E242ACFC389703DA0230
64A2A9891B3DB5F3113C20D492B53EFD
0B826F28
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 = 9B401BB89E06A821512D93BD1A3B72F5BBD9841319188D50E005843E348E9FF0AF4DA34BBDFA53D6B76C227D091F05DCE9CDE747B33E80D5B76274E76DCF899EF39DA109DDB8878BAC492CAC0B2FB354CBEA1C0C7BFC3ECEF670C59DB71A57ACDC6CEBD7C34D0484EBF870589863BE1C10454F49F0F197C98BE03805987F2B16C30B67E532BF5CB34805C68A3B46DDD13E4681D767DA7CDD5CC256B39CB70976EE10692447ED8AA8257F22D9F97C1953AFC06EF133E789C43E46245779BEC34861234301F64F2F65BCF8D8C45C66C63E3B3ECD6FE05AE27C0126CC026BAAADE1C86A70035BF0F67AC58530864985638E7615B3E660AC918C664E93263446582B
+auth_key = 5CC8D1130D85E6F0322C0421A2922E2298C7B5C968BA54F1F541E44DD1FD8F1ED82BC7DF72321E28A180624C4B746478B480B16AB3990519A9D9285ED9DD7B5D126172D5D5043B5590A55317F1BF657C46CD002F1D86BD08F9E8DAA471A437D40DA98D0A01E6B3C327A03B6505700067FA4CF627008EACFAE8A40F81F75022208C47A0098F2519917165B16319B105000AD33D5F2A34ECD582FE7DE9C3E46B9975009CC407685734F0D737186B1435F59413DCF9A6297BDAE0BBC50DC5A653E49CEF4EFF78E0B9527D6B1C7AB2203A168B4E6E05AB7EBE60D69A01EAC5DACDCC102EEC578BDF3CBA906CCC3F0C184024B17BD01F9214B3D4A837233C632BAF4B
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 0C 57 D9 2A B8 1D 65
-0010 | 8C 00 00 00 34 F7 CB 3B 7F 1F 22 C6 09 72 3B CD
-0020 | 45 F7 08 F0 F9 9E 90 BF E9 B1 0D 87 09 A3 90 0E
-0030 | F8 89 83 60 10 85 61 ED 4A AD EB C0 80 E4 31 08
-0040 | A6 52 66 DB F5 CE 55 F1
+0000 | 00 00 00 00 00 00 00 00 01 70 DE BF D3 5E 20 65
+0010 | 64 00 00 00 34 F7 CB 3B 44 89 D8 96 B9 08 80 A8
+0020 | A6 23 F7 43 BD FB 19 7A 4C 57 92 83 D0 EA 21 D4
+0030 | 47 21 8B 38 DC 9C 55 08 11 80 E7 9B 75 AB DA F8
+0040 | B9 D6 48 90 66 E9 C1 7A
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
-010C57D92AB81D65
+0170DEBFD35E2065
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-8C000000
(140 in decimal)
+64000000
(100 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
-7F1F22C609723BCD45F708F0F99E90BF
+4489D896B90880A8A623F743BDFB197A
Value generated by client in Step 1
server_nonce
40, 16
-E9B10D8709A3900EF8898360108561ED
+4C579283D0EA21D447218B38DC9C5508
Value received from server in Step 2
new_nonce_hash1
56, 16
-4AADEBC080E43108A65266DBF5CE55F1
+1180E79B75ABDAF8B9D6489066E9C17A
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/Bool.html b/data/web/corefork.telegram.org/type/Bool.html
index 3f7cf5e5a1..e282cc1ce8 100644
--- a/data/web/corefork.telegram.org/type/Bool.html
+++ b/data/web/corefork.telegram.org/type/Bool.html
@@ -821,7 +821,7 @@
stories.canSendStory
-
+Check whether we can post stories as the specified peer.
stories.toggleAllStoriesHidden
@@ -849,7 +849,7 @@
stories.applyBoost
-
+Boost » a channel , leveling it up and granting it permission to post stories » .
diff --git a/data/web/corefork.telegram.org/type/Booster.html b/data/web/corefork.telegram.org/type/Booster.html
index a3b450209b..4e857abdf4 100644
--- a/data/web/corefork.telegram.org/type/Booster.html
+++ b/data/web/corefork.telegram.org/type/Booster.html
@@ -4,18 +4,10 @@
Booster
-
+
-
+
@@ -50,7 +42,8 @@ booster
Booster
-
+
Info about a boost made by a specific user.
+
+
+ Related pages
+
+Telegram users and channels can easily post and view stories through the API.
diff --git a/data/web/corefork.telegram.org/type/stories.BoostersList b/data/web/corefork.telegram.org/type/stories.BoostersList
index eaa1f52b7f..db11981e6c 100644
--- a/data/web/corefork.telegram.org/type/stories.BoostersList
+++ b/data/web/corefork.telegram.org/type/stories.BoostersList
@@ -4,28 +4,10 @@
stories.BoostersList
-
+
-
+
@@ -60,7 +42,8 @@ stories.getBoostersList
stories.BoostersList
-
+
Info about the users currently boosting the channel.
+
@@ -103,10 +86,13 @@ stories.getBoostersList
stories.getBoostersList
-
+Obtain info about the users currently boosting a channel, see here » for more info about boosts.
-
+
+ Related pages
+
+Telegram users and channels can easily post and view stories through the API.
diff --git a/data/web/corefork.telegram.org/type/stories.BoostsStatus b/data/web/corefork.telegram.org/type/stories.BoostsStatus
index f65364768b..2b44c2d855 100644
--- a/data/web/corefork.telegram.org/type/stories.BoostsStatus
+++ b/data/web/corefork.telegram.org/type/stories.BoostsStatus
@@ -4,28 +4,10 @@
stories.BoostsStatus
-
+
-
+
@@ -60,7 +42,8 @@ stories.getBoostsStatus
stories.BoostsStatus
-