diff --git a/data/web/corefork.telegram.org/constructor/autoDownloadSettings.html b/data/web/corefork.telegram.org/constructor/autoDownloadSettings.html
index 748f8a97d3..59872a461e 100644
--- a/data/web/corefork.telegram.org/constructor/autoDownloadSettings.html
+++ b/data/web/corefork.telegram.org/constructor/autoDownloadSettings.html
@@ -119,12 +119,12 @@
@@ -77,7 +77,7 @@
message_id |
8, 8 |
-541C0900094F8765 |
+E80E0C0068258865 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -95,7 +95,7 @@
nonce |
24, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
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 98 97 00 0A 4F 87 65
-0010 | 64 00 00 00 63 24 16 05 A1 D0 50 58 4C B7 93 A7
-0020 | 9A 25 1D C4 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08
-0030 | F3 47 27 D8 7F 16 88 3C 08 1D 5A 9F 5F 40 CF 9C
-0040 | 09 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 98 CA AF 68 25 88 65
+0010 | C8 00 00 00 63 24 16 05 D2 08 7A B2 B7 EF 08 2C
+0020 | F1 3E 12 F8 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D
+0030 | 53 37 4C DB 6D C7 9F 47 08 0E B6 DC 88 26 FC 4C
+0040 | F1 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 |
-019897000A4F8765 |
+0198CAAF68258865 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-64000000 (100 in decimal) |
+C8000000 (200 in decimal) |
Message body length |
@@ -150,19 +150,19 @@
nonce |
24, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Server-generated random number |
pq |
56, 12 |
-081D5A9F5F40CF9C09000000 TL byte deserialization => bigendian conversion to decimal => 2115178206461926409 |
+080EB6DC8826FC4CF1000000 TL byte deserialization => bigendian conversion to decimal => 1060277239620062449 |
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 = 2115178206461926409
-Decompose into 2 prime cofactors p < q
: 2115178206461926409 = 1264823717 * 1672310677
-p = 1264823717
-q = 1672310677
+pq = 1060277239620062449
+Decompose into 2 prime cofactors p < q
: 1060277239620062449 = 1026477719 * 1032927671
+p = 1026477719
+q = 1032927671
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 1D 5A 9F 5F 40 CF 9C 09 00 00 00
-0010 | 04 4B 63 AD A5 00 00 00 04 63 AD 6F 95 00 00 00
-0020 | A1 D0 50 58 4C B7 93 A7 9A 25 1D C4 34 D9 E6 C6
-0030 | 69 FF A0 EA 0B C5 AC 08 F3 47 27 D8 7F 16 88 3C
-0040 | 97 4F F7 44 53 23 58 48 12 A4 81 96 97 1A 8A FF
-0050 | 98 8C 3A 65 16 C7 09 06 81 83 69 57 93 F2 35 20
+0000 | 95 5F F5 A9 08 0E B6 DC 88 26 FC 4C F1 00 00 00
+0010 | 04 3D 2E CE 97 00 00 00 04 3D 91 39 B7 00 00 00
+0020 | D2 08 7A B2 B7 EF 08 2C F1 3E 12 F8 22 63 E2 72
+0030 | A2 0E 1D AF 2E 4F 2B 1D 53 37 4C DB 6D C7 9F 47
+0040 | CD 73 18 26 F3 7B 34 0A 9D B0 A8 AA 8A 8C 07 B3
+0050 | B0 A8 2F D2 0D 4C 42 B8 F5 81 3F 70 34 5C CF F3
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 = 1672310677
pq |
4, 12 |
-081D5A9F5F40CF9C09000000 TL byte deserialization => bigendian conversion to decimal => 2115178206461926409 |
+080EB6DC8826FC4CF1000000 TL byte deserialization => bigendian conversion to decimal => 1060277239620062449 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding |
p |
16, 8 |
-044B63ADA5000000 TL byte deserialization => bigendian conversion to decimal => 1264823717 |
+043D2ECE97000000 TL byte deserialization => bigendian conversion to decimal => 1026477719 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
24, 8 |
-0463AD6F95000000 TL byte deserialization => bigendian conversion to decimal => 1672310677 |
+043D9139B7000000 TL byte deserialization => bigendian conversion to decimal => 1032927671 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
nonce |
32, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
48, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
new_nonce |
64, 32 |
-974FF7445323584812A48196971A8AFF 988C3A6516C709068183695793F23520 |
+CD731826F37B340A9DB0A8AA8A8C07B3 B0A82FD20D4C42B8F5813F70345CCFF3 |
Client-generated random number |
@@ -291,39 +291,39 @@ q = 1672310677
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 = 955FF5A9081D5A9F5F40CF9C09000000044B63ADA50000000463AD6F95000000A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883C974FF7445323584812A48196971A8AFF988C3A6516C709068183695793F2352002000000
-random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF64AB6A45704B352DEEBB51135AF8C91909D183568A5F2FE80D02CA5354CC5482276909FEC32D1E14CE72A9D338E47F706A9CD0E07A5693F0248A266FC9E3BFB8
+data = 955FF5A9080EB6DC8826FC4CF1000000043D2ECE97000000043D9139B7000000D2087AB2B7EF082CF13E12F82263E272A20E1DAF2E4F2B1D53374CDB6DC79F47CD731826F37B340A9DB0A8AA8A8C07B3B0A82FD20D4C42B8F5813F70345CCFF302000000
+random_padding_bytes = 2E73D9D0C93AAB380AE6EF27EBF31871543DC810D77E42C50CEAA1DB94C035E93B1BCB0CCEA69E9AE49D73EEA597D8CD47C9CA4A148E8E5875A3F00F576B5A5E8E700421185FEEB43B778073974064D7EBC3EABB6EC5D011F3A657A2
And this is the output:
-encrypted_data = BE04CA7B6C62E8531B3DCE1D486F9C5C64CC3966FFE6ED7946ABE52720D7D568ECD36C2AD390BF2EC2F0B652A6259BF80F3544D38C7CE718E83522DED2DCD3121EBA30B8D89079BCB6603840C41C63C5DDA14DEE1BC2306D14F1D9D3E0D5B5D252B44A187CAA9815E302430FFC6E4D60DF59A3E038A7C67CB2C0004C5483EF1176F2BEC1D5F3E1C1137F368D3785F8CF3A184C56E0FB62F98917BD888928565A4138534E84BC1113F38B04E14A3ACDD4158B4517FA6D89E8257861705B7D7F939491B5CDE35FD32B921773BE6B99701F35C76A6BC8FC7F7AAE11C674505B79B8916B8370CCFCEFE61DDA7FB5BEAD720826A8D0A984294B68B1E1D4FEF55C027F
+encrypted_data = E3A7D57B19C3E792872C9D58B57E98599F6E26EE5A35A5368F4F97869B44FE71814F2C2DB42F99D6E9607A0D8D1A8534CCA8AFAB51F331244160B39A71DF59F7206D7C8309FFC25FE85470F6FB3A4B5A9151D971AE129787B2DD0C47FFD4C607DBDA9AB76D8A393DE0DDF7EA321BC77AB1CBE5055DA969A506EB0A131EEA6476FC40CED87DFB8300003EAEA81A775426A927A971D166D583323A7FC60B45C40B15BBFAFEF27C267AE9D4ED013672580562ED71BF148ED43959AAE3C3BABEA82E03625CC66E87ABFFC48454249AB7C644B97ABDD2BD5D8F03AD25B72272D18089285995B1BCAAE6BA5C69A52A105B1867D88A87A1F1DC3BF39092BBA8B9C0708F
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 C4 1F 0D 00 0A 4F 87 65
-0010 | 40 01 00 00 BE E4 12 D7 A1 D0 50 58 4C B7 93 A7
-0020 | 9A 25 1D C4 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08
-0030 | F3 47 27 D8 7F 16 88 3C 04 4B 63 AD A5 00 00 00
-0040 | 04 63 AD 6F 95 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 BE 04 CA 7B 6C 62 E8 53 1B 3D CE 1D
-0060 | 48 6F 9C 5C 64 CC 39 66 FF E6 ED 79 46 AB E5 27
-0070 | 20 D7 D5 68 EC D3 6C 2A D3 90 BF 2E C2 F0 B6 52
-0080 | A6 25 9B F8 0F 35 44 D3 8C 7C E7 18 E8 35 22 DE
-0090 | D2 DC D3 12 1E BA 30 B8 D8 90 79 BC B6 60 38 40
-00A0 | C4 1C 63 C5 DD A1 4D EE 1B C2 30 6D 14 F1 D9 D3
-00B0 | E0 D5 B5 D2 52 B4 4A 18 7C AA 98 15 E3 02 43 0F
-00C0 | FC 6E 4D 60 DF 59 A3 E0 38 A7 C6 7C B2 C0 00 4C
-00D0 | 54 83 EF 11 76 F2 BE C1 D5 F3 E1 C1 13 7F 36 8D
-00E0 | 37 85 F8 CF 3A 18 4C 56 E0 FB 62 F9 89 17 BD 88
-00F0 | 89 28 56 5A 41 38 53 4E 84 BC 11 13 F3 8B 04 E1
-0100 | 4A 3A CD D4 15 8B 45 17 FA 6D 89 E8 25 78 61 70
-0110 | 5B 7D 7F 93 94 91 B5 CD E3 5F D3 2B 92 17 73 BE
-0120 | 6B 99 70 1F 35 C7 6A 6B C8 FC 7F 7A AE 11 C6 74
-0130 | 50 5B 79 B8 91 6B 83 70 CC FC EF E6 1D DA 7F B5
-0140 | BE AD 72 08 26 A8 D0 A9 84 29 4B 68 B1 E1 D4 FE
-0150 | F5 5C 02 7F
+0000 | 00 00 00 00 00 00 00 00 EC 0E 0C 00 68 25 88 65
+0010 | 40 01 00 00 BE E4 12 D7 D2 08 7A B2 B7 EF 08 2C
+0020 | F1 3E 12 F8 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D
+0030 | 53 37 4C DB 6D C7 9F 47 04 3D 2E CE 97 00 00 00
+0040 | 04 3D 91 39 B7 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 E3 A7 D5 7B 19 C3 E7 92 87 2C 9D 58
+0060 | B5 7E 98 59 9F 6E 26 EE 5A 35 A5 36 8F 4F 97 86
+0070 | 9B 44 FE 71 81 4F 2C 2D B4 2F 99 D6 E9 60 7A 0D
+0080 | 8D 1A 85 34 CC A8 AF AB 51 F3 31 24 41 60 B3 9A
+0090 | 71 DF 59 F7 20 6D 7C 83 09 FF C2 5F E8 54 70 F6
+00A0 | FB 3A 4B 5A 91 51 D9 71 AE 12 97 87 B2 DD 0C 47
+00B0 | FF D4 C6 07 DB DA 9A B7 6D 8A 39 3D E0 DD F7 EA
+00C0 | 32 1B C7 7A B1 CB E5 05 5D A9 69 A5 06 EB 0A 13
+00D0 | 1E EA 64 76 FC 40 CE D8 7D FB 83 00 00 3E AE A8
+00E0 | 1A 77 54 26 A9 27 A9 71 D1 66 D5 83 32 3A 7F C6
+00F0 | 0B 45 C4 0B 15 BB FA FE F2 7C 26 7A E9 D4 ED 01
+0100 | 36 72 58 05 62 ED 71 BF 14 8E D4 39 59 AA E3 C3
+0110 | BA BE A8 2E 03 62 5C C6 6E 87 AB FF C4 84 54 24
+0120 | 9A B7 C6 44 B9 7A BD D2 BD 5D 8F 03 AD 25 B7 22
+0130 | 72 D1 80 89 28 59 95 B1 BC AA E6 BA 5C 69 A5 2A
+0140 | 10 5B 18 67 D8 8A 87 A1 F1 DC 3B F3 90 92 BB A8
+0150 | B9 C0 70 8F
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 = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
message_id |
8, 8 |
-C41F0D000A4F8765 |
+EC0E0C0068258865 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -363,25 +363,25 @@ random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
nonce |
24, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
p |
56, 8 |
-044B63ADA5000000 TL byte deserialization => bigendian conversion to decimal => 1264823717 |
+043D2ECE97000000 TL byte deserialization => bigendian conversion to decimal => 1026477719 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
64, 8 |
-0463AD6F95000000 TL byte deserialization => bigendian conversion to decimal => 1672310677 |
+043D9139B7000000 TL byte deserialization => bigendian conversion to decimal => 1032927671 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
@@ -393,7 +393,7 @@ random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
encrypted_data |
80, 260 |
-FE000100BE04CA7B6C62E8531B3DCE1D 486F9C5C64CC3966FFE6ED7946ABE527 20D7D568ECD36C2AD390BF2EC2F0B652 A6259BF80F3544D38C7CE718E83522DE D2DCD3121EBA30B8D89079BCB6603840 C41C63C5DDA14DEE1BC2306D14F1D9D3 E0D5B5D252B44A187CAA9815E302430F FC6E4D60DF59A3E038A7C67CB2C0004C 5483EF1176F2BEC1D5F3E1C1137F368D 3785F8CF3A184C56E0FB62F98917BD88 8928565A4138534E84BC1113F38B04E1 4A3ACDD4158B4517FA6D89E825786170 5B7D7F939491B5CDE35FD32B921773BE 6B99701F35C76A6BC8FC7F7AAE11C674 505B79B8916B8370CCFCEFE61DDA7FB5 BEAD720826A8D0A984294B68B1E1D4FE F55C027F |
+FE000100E3A7D57B19C3E792872C9D58 B57E98599F6E26EE5A35A5368F4F9786 9B44FE71814F2C2DB42F99D6E9607A0D 8D1A8534CCA8AFAB51F331244160B39A 71DF59F7206D7C8309FFC25FE85470F6 FB3A4B5A9151D971AE129787B2DD0C47 FFD4C607DBDA9AB76D8A393DE0DDF7EA 321BC77AB1CBE5055DA969A506EB0A13 1EEA6476FC40CED87DFB8300003EAEA8 1A775426A927A971D166D583323A7FC6 0B45C40B15BBFAFEF27C267AE9D4ED01 3672580562ED71BF148ED43959AAE3C3 BABEA82E03625CC66E87ABFFC4845424 9AB7C644B97ABDD2BD5D8F03AD25B722 72D18089285995B1BCAAE6BA5C69A52A 105B1867D88A87A1F1DC3BF39092BBA8 B9C0708F |
Value generated above |
@@ -402,47 +402,47 @@ random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 94 DF A9 0A 4F 87 65
-0010 | D0 02 00 00 5C 07 E8 D0 A1 D0 50 58 4C B7 93 A7
-0020 | 9A 25 1D C4 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08
-0030 | F3 47 27 D8 7F 16 88 3C FE 50 02 00 23 BF 4E BA
-0040 | 09 FE D0 74 63 97 04 06 16 B4 7A 0D 59 40 41 39
-0050 | FD 9D 20 6F 23 F3 5B D8 03 CC 0C A8 06 C7 29 84
-0060 | FC E1 4F 45 0D 1C 35 8B DE 23 FC AD CB C4 8F 7D
-0070 | CB CE B8 BD E2 A3 B0 74 E8 EB A2 FE DE B7 C9 7D
-0080 | 93 6E 7B 69 51 62 F6 B1 37 BB A8 CE 52 92 A1 2B
-0090 | DA 8D FA A5 01 29 CA 99 A4 89 B1 63 A2 88 11 FC
-00A0 | 8F EC 1A 00 D7 48 C9 84 ED DD 71 F9 05 AA D8 44
-00B0 | 19 0B 4C 17 AC 4B 4E E3 74 32 24 B5 3D 0B 67 AC
-00C0 | 02 7A 58 D2 03 F6 E7 C6 BA 2F 87 65 AF 7D 24 62
-00D0 | 07 0D 69 07 C7 98 80 13 C9 74 25 87 48 87 21 33
-00E0 | 7B E0 CE E7 77 B9 76 F8 01 18 66 D9 EE 4D B2 AC
-00F0 | A4 41 B3 33 49 2D 32 C8 70 4F 01 85 DF EF 08 10
-0100 | B6 C3 6F DF EE 69 02 F0 55 66 3D 99 22 C6 78 3F
-0110 | 86 14 9C 8A 51 BE F0 EE A9 81 6E 79 95 08 53 AD
-0120 | 7C 4D D5 6D C4 EC DA 7D 8B 08 E8 EE 98 16 33 EE
-0130 | 55 94 50 4D C6 2B 8B B5 A1 AC 16 D7 BD D0 BE EF
-0140 | EF 60 B4 6D 06 53 57 05 A9 E9 0B EA A9 B5 B7 F2
-0150 | 8C 0F 67 CB 8F D2 B9 9C C3 47 8F D8 CC 75 5D 5C
-0160 | 2B DF 28 DF A6 B4 EE BC F2 4C A6 1F 3B 3C F8 37
-0170 | D5 E6 39 3E CE 79 E4 F0 47 2A 00 4A E1 4F 4B 33
-0180 | 9D ED B3 7B 28 F6 A1 56 78 B9 45 E2 1E 1F CE 2D
-0190 | 4B 65 45 9B 63 97 35 9A 32 77 45 54 29 A1 A1 07
-01A0 | CA 34 6A C3 4E D3 07 BC 7D 61 50 29 10 0C 87 E9
-01B0 | 31 EB B0 97 A2 F1 F3 2E 76 26 37 72 53 61 99 4B
-01C0 | C6 9B 97 3A 7B A7 8B 6B 67 54 FC C4 AE 0F 24 F3
-01D0 | 23 0F 95 59 D8 D4 97 ED 45 23 BE 8C C2 72 3B 24
-01E0 | 50 E1 B0 01 56 9A E5 08 C7 5B 85 27 A3 56 2F 59
-01F0 | 21 07 FD 2D D5 13 36 6A C8 6B AB 2C 95 FF BD 2B
-0200 | 95 C2 E3 4C F0 2E 67 E6 50 94 D3 34 7D 8A C3 FB
-0210 | 87 8B 5F 43 DF E5 38 4C 0D D2 02 73 75 9C 06 09
-0220 | 91 CA 65 32 DA 5F CD 8D 6F C3 BD 4E 67 9F 53 49
-0230 | 0E D2 6A D3 8A 7C 60 38 29 64 D9 36 BC 07 01 15
-0240 | 0E 48 66 94 8D 7E 34 D9 14 B1 1A 2B BC 2D A4 24
-0250 | 42 D9 07 65 33 FF 84 D3 4C 9D 6D 0D D5 B5 D9 C0
-0260 | 47 66 A1 BA FE 96 E1 91 94 51 CE AB 40 F9 7F 38
-0270 | CD BA 0C E4 DA AA 29 70 0E 69 00 E4 5F 37 47 64
-0280 | 4D 6B 3E A7 69 29 EA 12 C9 EB 1B 34
+0000 | 00 00 00 00 00 00 00 00 01 F0 AE 79 69 25 88 65
+0010 | 98 02 00 00 5C 07 E8 D0 D2 08 7A B2 B7 EF 08 2C
+0020 | F1 3E 12 F8 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D
+0030 | 53 37 4C DB 6D C7 9F 47 FE 50 02 00 EF E1 2F 5F
+0040 | 46 FC 0A 39 40 03 05 58 E3 0F E7 23 0C 76 D3 19
+0050 | C3 23 1D 8D 73 04 A2 69 3F A1 2B E4 A6 79 CA F5
+0060 | 2B 2B 33 4D A4 E9 F8 42 CD EB 46 C6 E6 53 92 80
+0070 | E3 F7 C2 53 D3 EB 82 70 A4 B6 86 DB 8B FB 19 DB
+0080 | 29 6E DB 7B 95 CF 3B 42 53 83 12 9B 36 80 0D E5
+0090 | 3A 85 5F C0 8D 6C 14 93 D8 03 65 3F 95 13 C9 B0
+00A0 | 79 B5 F0 D2 FC D1 66 B2 5B 19 9C E1 CE FE 7B B4
+00B0 | 69 82 AD 38 B2 69 79 3D 7A 46 7E 77 6C BB D8 5D
+00C0 | 26 95 4E 20 31 91 C2 5B 6B 3C 11 EB C6 88 40 97
+00D0 | F4 12 AE 90 04 9F 6E D5 DA 99 37 96 48 79 F9 D0
+00E0 | D2 0B 5E 52 23 A7 59 CF C3 AC 77 27 57 6F CA FD
+00F0 | 5B 69 58 5B 73 F7 EB 87 9D F0 E3 75 0A 67 A2 CD
+0100 | A2 46 83 E7 9B 5A 23 D6 5D 1D 48 07 63 A3 1A 41
+0110 | AC AC EF 45 B8 AD 2C 74 F4 27 92 7E EC 57 79 67
+0120 | 70 77 47 03 F1 62 BC EE 3A 78 30 0B B2 94 CC F5
+0130 | 1A 25 99 CB B4 01 1D 35 82 1C E9 3E 79 2B 83 CE
+0140 | B3 E2 0B 1E B1 38 00 22 4A 52 AF 1A 15 0C BF 65
+0150 | 9B 53 5F 8E 1B 80 77 F7 65 D8 7E C6 38 EA 36 B0
+0160 | 11 E4 88 01 98 8D 58 2A 10 02 B2 10 AA 7D E8 E0
+0170 | BF 0D 69 F2 A8 A7 F7 2D 93 9E E3 DC 27 D9 1B C1
+0180 | C9 10 32 19 06 2A EB 6D 62 1F BA 77 DA 23 E6 36
+0190 | B8 1F 84 B8 5B B1 39 74 DE 74 C9 53 3D B0 A0 29
+01A0 | 4C BD AD 81 C1 D9 70 04 DE 6F E1 49 76 8A CD 0F
+01B0 | AD 17 17 D4 BF FD 57 0F 2C 80 2E EA E3 DA F1 8C
+01C0 | 9B FE 08 C7 08 D4 33 19 D5 61 E2 47 96 7D A5 42
+01D0 | F5 CA 8C 2E DE 98 C8 43 A1 88 C9 62 8C AC E0 44
+01E0 | 44 D3 C9 A3 66 E4 CE B6 A3 0C 08 8B F3 E5 AA AC
+01F0 | 77 A0 C8 8B 02 51 5A CE D1 37 4C E5 4F A7 FE 9F
+0200 | 8B E1 36 82 D3 E7 41 22 4D BB A8 B9 4E 08 F6 F4
+0210 | AD 16 8D 0B 01 C0 AA AF 7A 7B 95 32 BF 6F 45 5C
+0220 | 60 32 DA 76 07 95 B7 88 73 7C 6A 9B 6B 11 B2 E5
+0230 | 4A 27 A9 94 26 2F 41 99 02 D9 8A 0A 2E 0E 2B C7
+0240 | F5 8F 98 45 6D DF 5E 4D 40 E1 3E 98 F7 6F D3 36
+0250 | 57 E0 AE 6F B8 DB AB 20 58 AE F1 43 D2 1F 03 16
+0260 | DE 1A 6B 65 4B 6F 37 C4 A4 00 33 C9 0E 33 DB 19
+0270 | 5E D2 4B D9 6C 46 E8 26 D4 F9 1A 1C 9B 06 E2 93
+0280 | 93 B4 9E E9 AD 9A 6F 1D 8C 02 07 09
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 = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
message_id |
8, 8 |
-0194DFA90A4F8765 |
+01F0AE7969258865 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-D0020000 (720 in decimal) |
+98020000 (664 in decimal) |
Message body length |
@@ -482,19 +482,19 @@ random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
nonce |
24, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
encrypted_answer |
56, 596 |
-FE50020023BF4EBA09FED07463970406 16B47A0D59404139FD9D206F23F35BD8 03CC0CA806C72984FCE14F450D1C358B DE23FCADCBC48F7DCBCEB8BDE2A3B074 E8EBA2FEDEB7C97D936E7B695162F6B1 37BBA8CE5292A12BDA8DFAA50129CA99 A489B163A28811FC8FEC1A00D748C984 EDDD71F905AAD844190B4C17AC4B4EE3 743224B53D0B67AC027A58D203F6E7C6 BA2F8765AF7D2462070D6907C7988013 C9742587488721337BE0CEE777B976F8 011866D9EE4DB2ACA441B333492D32C8 704F0185DFEF0810B6C36FDFEE6902F0 55663D9922C6783F86149C8A51BEF0EE A9816E79950853AD7C4DD56DC4ECDA7D 8B08E8EE981633EE5594504DC62B8BB5 A1AC16D7BDD0BEEFEF60B46D06535705 A9E90BEAA9B5B7F28C0F67CB8FD2B99C C3478FD8CC755D5C2BDF28DFA6B4EEBC F24CA61F3B3CF837D5E6393ECE79E4F0 472A004AE14F4B339DEDB37B28F6A156 78B945E21E1FCE2D4B65459B6397359A 3277455429A1A107CA346AC34ED307BC 7D615029100C87E931EBB097A2F1F32E 762637725361994BC69B973A7BA78B6B 6754FCC4AE0F24F3230F9559D8D497ED 4523BE8CC2723B2450E1B001569AE508 C75B8527A3562F592107FD2DD513366A C86BAB2C95FFBD2B95C2E34CF02E67E6 5094D3347D8AC3FB878B5F43DFE5384C 0DD20273759C060991CA6532DA5FCD8D 6FC3BD4E679F53490ED26AD38A7C6038 2964D936BC0701150E4866948D7E34D9 14B11A2BBC2DA42442D9076533FF84D3 4C9D6D0DD5B5D9C04766A1BAFE96E191 9451CEAB40F97F38CDBA0CE4DAAA2970 0E6900E45F3747644D6B3EA76929EA12 C9EB1B34 |
+FE500200EFE12F5F46FC0A3940030558 E30FE7230C76D319C3231D8D7304A269 3FA12BE4A679CAF52B2B334DA4E9F842 CDEB46C6E6539280E3F7C253D3EB8270 A4B686DB8BFB19DB296EDB7B95CF3B42 5383129B36800DE53A855FC08D6C1493 D803653F9513C9B079B5F0D2FCD166B2 5B199CE1CEFE7BB46982AD38B269793D 7A467E776CBBD85D26954E203191C25B 6B3C11EBC6884097F412AE90049F6ED5 DA9937964879F9D0D20B5E5223A759CF C3AC7727576FCAFD5B69585B73F7EB87 9DF0E3750A67A2CDA24683E79B5A23D6 5D1D480763A31A41ACACEF45B8AD2C74 F427927EEC57796770774703F162BCEE 3A78300BB294CCF51A2599CBB4011D35 821CE93E792B83CEB3E20B1EB1380022 4A52AF1A150CBF659B535F8E1B8077F7 65D87EC638EA36B011E48801988D582A 1002B210AA7DE8E0BF0D69F2A8A7F72D 939EE3DC27D91BC1C9103219062AEB6D 621FBA77DA23E636B81F84B85BB13974 DE74C9533DB0A0294CBDAD81C1D97004 DE6FE149768ACD0FAD1717D4BFFD570F 2C802EEAE3DAF18C9BFE08C708D43319 D561E247967DA542F5CA8C2EDE98C843 A188C9628CACE04444D3C9A366E4CEB6 A30C088BF3E5AAAC77A0C88B02515ACE D1374CE54FA7FE9F8BE13682D3E74122 4DBBA8B94E08F6F4AD168D0B01C0AAAF 7A7B9532BF6F455C6032DA760795B788 737C6A9B6B11B2E54A27A994262F4199 02D98A0A2E0E2BC7F58F98456DDF5E4D 40E13E98F76FD33657E0AE6FB8DBAB20 58AEF143D21F0316DE1A6B654B6F37C4 A40033C90E33DB195ED24BD96C46E826 D4F91A1C9B06E29393B49EE9AD9A6F1D 8C020709 |
See below |
@@ -502,20 +502,20 @@ random_padding_bytes = E1D17479B26E38705348671BC9D13509EF615573C0BAC08E8066A3DF6
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = 23BF4EBA09FED0746397040616B47A0D59404139FD9D206F23F35BD803CC0CA806C72984FCE14F450D1C358BDE23FCADCBC48F7DCBCEB8BDE2A3B074E8EBA2FEDEB7C97D936E7B695162F6B137BBA8CE5292A12BDA8DFAA50129CA99A489B163A28811FC8FEC1A00D748C984EDDD71F905AAD844190B4C17AC4B4EE3743224B53D0B67AC027A58D203F6E7C6BA2F8765AF7D2462070D6907C7988013C9742587488721337BE0CEE777B976F8011866D9EE4DB2ACA441B333492D32C8704F0185DFEF0810B6C36FDFEE6902F055663D9922C6783F86149C8A51BEF0EEA9816E79950853AD7C4DD56DC4ECDA7D8B08E8EE981633EE5594504DC62B8BB5A1AC16D7BDD0BEEFEF60B46D06535705A9E90BEAA9B5B7F28C0F67CB8FD2B99CC3478FD8CC755D5C2BDF28DFA6B4EEBCF24CA61F3B3CF837D5E6393ECE79E4F0472A004AE14F4B339DEDB37B28F6A15678B945E21E1FCE2D4B65459B6397359A3277455429A1A107CA346AC34ED307BC7D615029100C87E931EBB097A2F1F32E762637725361994BC69B973A7BA78B6B6754FCC4AE0F24F3230F9559D8D497ED4523BE8CC2723B2450E1B001569AE508C75B8527A3562F592107FD2DD513366AC86BAB2C95FFBD2B95C2E34CF02E67E65094D3347D8AC3FB878B5F43DFE5384C0DD20273759C060991CA6532DA5FCD8D6FC3BD4E679F53490ED26AD38A7C60382964D936BC0701150E4866948D7E34D914B11A2BBC2DA42442D9076533FF84D34C9D6D0DD5B5D9C04766A1BAFE96E1919451CEAB40F97F38CDBA0CE4DAAA29700E6900E45F3747644D6B3EA76929EA12C9EB1B34
-tmp_aes_key = CB7D6D9817AD90C5CA0D0C9DE2B6A96777A9DDC44B7D75E8FB68509CF0D6C892
-tmp_aes_iv = E0FADC1731AFFFB59DC98A1B7A8B390C5BDDF383365551EFE75FB469974FF744
+encrypted_answer = EFE12F5F46FC0A3940030558E30FE7230C76D319C3231D8D7304A2693FA12BE4A679CAF52B2B334DA4E9F842CDEB46C6E6539280E3F7C253D3EB8270A4B686DB8BFB19DB296EDB7B95CF3B425383129B36800DE53A855FC08D6C1493D803653F9513C9B079B5F0D2FCD166B25B199CE1CEFE7BB46982AD38B269793D7A467E776CBBD85D26954E203191C25B6B3C11EBC6884097F412AE90049F6ED5DA9937964879F9D0D20B5E5223A759CFC3AC7727576FCAFD5B69585B73F7EB879DF0E3750A67A2CDA24683E79B5A23D65D1D480763A31A41ACACEF45B8AD2C74F427927EEC57796770774703F162BCEE3A78300BB294CCF51A2599CBB4011D35821CE93E792B83CEB3E20B1EB13800224A52AF1A150CBF659B535F8E1B8077F765D87EC638EA36B011E48801988D582A1002B210AA7DE8E0BF0D69F2A8A7F72D939EE3DC27D91BC1C9103219062AEB6D621FBA77DA23E636B81F84B85BB13974DE74C9533DB0A0294CBDAD81C1D97004DE6FE149768ACD0FAD1717D4BFFD570F2C802EEAE3DAF18C9BFE08C708D43319D561E247967DA542F5CA8C2EDE98C843A188C9628CACE04444D3C9A366E4CEB6A30C088BF3E5AAAC77A0C88B02515ACED1374CE54FA7FE9F8BE13682D3E741224DBBA8B94E08F6F4AD168D0B01C0AAAF7A7B9532BF6F455C6032DA760795B788737C6A9B6B11B2E54A27A994262F419902D98A0A2E0E2BC7F58F98456DDF5E4D40E13E98F76FD33657E0AE6FB8DBAB2058AEF143D21F0316DE1A6B654B6F37C4A40033C90E33DB195ED24BD96C46E826D4F91A1C9B06E29393B49EE9AD9A6F1D8C020709
+tmp_aes_key = 7485114AC6140821FF57D30B90473FED4F905B663D46526B50D36FF6A90DBA26
+tmp_aes_iv = 5E472BBF1F2782B792E0EB7E26E3BCEF79A02E6CF37F0F6DFFBB2899CD731826
Yielding:
-answer_with_hash = F1370A9F5C98174D45C7879701005F13FE5E9519BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883C03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010087F03ADD09F978C37CBD8F34AE67093243963588D7107B423BE28877BFFFC7B2195A0A6A6774A6F5AC2627662A6BE12E3D15CFD80CF99C93B30BABAD76C9EDFB258E0345BBC3D9A246DBB217382C18DB7E1CB04949DEB10C8C4CA8F7AB67E6085993EF69290147448F429B412D07CD3E79B47F5EA5DB8ED01D5A0DAF0DBF70BEE9E64150D2EC06DA395081BE7D2AF9195099C97562148FD9493CB12426096A32214833EE2018423FF054B49127A89C914A2D4D84D6702FD0330E7D5C36D81110CDD5B5007F44E686E534A58536BF0DD84B17A01C0A50FCDD7F24283ECFD030508B65490D993E703D1F79A5FA9CB0FAB30FD0EDD953491D84E25D8F055C86B15F0A4F87651B5929D26FD657AC
-answer = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883C03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE00010087F03ADD09F978C37CBD8F34AE67093243963588D7107B423BE28877BFFFC7B2195A0A6A6774A6F5AC2627662A6BE12E3D15CFD80CF99C93B30BABAD76C9EDFB258E0345BBC3D9A246DBB217382C18DB7E1CB04949DEB10C8C4CA8F7AB67E6085993EF69290147448F429B412D07CD3E79B47F5EA5DB8ED01D5A0DAF0DBF70BEE9E64150D2EC06DA395081BE7D2AF9195099C97562148FD9493CB12426096A32214833EE2018423FF054B49127A89C914A2D4D84D6702FD0330E7D5C36D81110CDD5B5007F44E686E534A58536BF0DD84B17A01C0A50FCDD7F24283ECFD030508B65490D993E703D1F79A5FA9CB0FAB30FD0EDD953491D84E25D8F055C86B15F0A4F87651B5929D26FD657AC
+answer_with_hash = F6DB36B3D0AD50E262DC9B8CB08961283051B8C8BA0D89B5D2087AB2B7EF082CF13E12F82263E272A20E1DAF2E4F2B1D53374CDB6DC79F4703000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100544DC651034C590A0B2ACC429B32D2A381696C92401BE264CD63159498AE0B28BB1D3B9CF5F907ED3A05D62AE10D08797FB4103CB09E2265ACE276CB9454BCFA92D68792720FED32CB6008E98D22BA5FFA5605DDB0D85426CAA73538A75043ED81E90519EC6D8F1680E694C2543DB5C11472244CA7B8CBAE49D3FAEA10DA929D28034CCE837153416BCD54D93CC3B13015BBC3E9A8950DAD0925837BE01348B54BEE8D5415F5F0A8B5A1F96906B570CBE092B0C1DAB1B5A6C9617B1A476CDFC44FAA2A1DB0162EAC404E9FDD38C2412BDB2ABDE041A0C5A92AB07693D0EFA164D3F2FF2054C19BB296F1278716C7138168147F2A02E842D1488E1ECE9206038669258865210D0FAFE251C1DB
+answer = BA0D89B5D2087AB2B7EF082CF13E12F82263E272A20E1DAF2E4F2B1D53374CDB6DC79F4703000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100544DC651034C590A0B2ACC429B32D2A381696C92401BE264CD63159498AE0B28BB1D3B9CF5F907ED3A05D62AE10D08797FB4103CB09E2265ACE276CB9454BCFA92D68792720FED32CB6008E98D22BA5FFA5605DDB0D85426CAA73538A75043ED81E90519EC6D8F1680E694C2543DB5C11472244CA7B8CBAE49D3FAEA10DA929D28034CCE837153416BCD54D93CC3B13015BBC3E9A8950DAD0925837BE01348B54BEE8D5415F5F0A8B5A1F96906B570CBE092B0C1DAB1B5A6C9617B1A476CDFC44FAA2A1DB0162EAC404E9FDD38C2412BDB2ABDE041A0C5A92AB07693D0EFA164D3F2FF2054C19BB296F1278716C7138168147F2A02E842D1488E1ECE9206038669258865210D0FAFE251C1DB
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 A1 D0 50 58 4C B7 93 A7 9A 25 1D C4
-0010 | 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08 F3 47 27 D8
-0020 | 7F 16 88 3C 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 D2 08 7A B2 B7 EF 08 2C F1 3E 12 F8
+0010 | 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D 53 37 4C DB
+0020 | 6D C7 9F 47 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 = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
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 | 87 F0 3A DD 09 F9 78 C3 7C BD 8F 34 AE 67 09 32
-0140 | 43 96 35 88 D7 10 7B 42 3B E2 88 77 BF FF C7 B2
-0150 | 19 5A 0A 6A 67 74 A6 F5 AC 26 27 66 2A 6B E1 2E
-0160 | 3D 15 CF D8 0C F9 9C 93 B3 0B AB AD 76 C9 ED FB
-0170 | 25 8E 03 45 BB C3 D9 A2 46 DB B2 17 38 2C 18 DB
-0180 | 7E 1C B0 49 49 DE B1 0C 8C 4C A8 F7 AB 67 E6 08
-0190 | 59 93 EF 69 29 01 47 44 8F 42 9B 41 2D 07 CD 3E
-01A0 | 79 B4 7F 5E A5 DB 8E D0 1D 5A 0D AF 0D BF 70 BE
-01B0 | E9 E6 41 50 D2 EC 06 DA 39 50 81 BE 7D 2A F9 19
-01C0 | 50 99 C9 75 62 14 8F D9 49 3C B1 24 26 09 6A 32
-01D0 | 21 48 33 EE 20 18 42 3F F0 54 B4 91 27 A8 9C 91
-01E0 | 4A 2D 4D 84 D6 70 2F D0 33 0E 7D 5C 36 D8 11 10
-01F0 | CD D5 B5 00 7F 44 E6 86 E5 34 A5 85 36 BF 0D D8
-0200 | 4B 17 A0 1C 0A 50 FC DD 7F 24 28 3E CF D0 30 50
-0210 | 8B 65 49 0D 99 3E 70 3D 1F 79 A5 FA 9C B0 FA B3
-0220 | 0F D0 ED D9 53 49 1D 84 E2 5D 8F 05 5C 86 B1 5F
-0230 | 0A 4F 87 65
+0130 | 54 4D C6 51 03 4C 59 0A 0B 2A CC 42 9B 32 D2 A3
+0140 | 81 69 6C 92 40 1B E2 64 CD 63 15 94 98 AE 0B 28
+0150 | BB 1D 3B 9C F5 F9 07 ED 3A 05 D6 2A E1 0D 08 79
+0160 | 7F B4 10 3C B0 9E 22 65 AC E2 76 CB 94 54 BC FA
+0170 | 92 D6 87 92 72 0F ED 32 CB 60 08 E9 8D 22 BA 5F
+0180 | FA 56 05 DD B0 D8 54 26 CA A7 35 38 A7 50 43 ED
+0190 | 81 E9 05 19 EC 6D 8F 16 80 E6 94 C2 54 3D B5 C1
+01A0 | 14 72 24 4C A7 B8 CB AE 49 D3 FA EA 10 DA 92 9D
+01B0 | 28 03 4C CE 83 71 53 41 6B CD 54 D9 3C C3 B1 30
+01C0 | 15 BB C3 E9 A8 95 0D AD 09 25 83 7B E0 13 48 B5
+01D0 | 4B EE 8D 54 15 F5 F0 A8 B5 A1 F9 69 06 B5 70 CB
+01E0 | E0 92 B0 C1 DA B1 B5 A6 C9 61 7B 1A 47 6C DF C4
+01F0 | 4F AA 2A 1D B0 16 2E AC 40 4E 9F DD 38 C2 41 2B
+0200 | DB 2A BD E0 41 A0 C5 A9 2A B0 76 93 D0 EF A1 64
+0210 | D3 F2 FF 20 54 C1 9B B2 96 F1 27 87 16 C7 13 81
+0220 | 68 14 7F 2A 02 E8 42 D1 48 8E 1E CE 92 06 03 86
+0230 | 69 25 88 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 = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
nonce |
4, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
@@ -594,13 +594,13 @@ answer = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
g_a |
300, 260 |
-FE00010087F03ADD09F978C37CBD8F34 AE67093243963588D7107B423BE28877 BFFFC7B2195A0A6A6774A6F5AC262766 2A6BE12E3D15CFD80CF99C93B30BABAD 76C9EDFB258E0345BBC3D9A246DBB217 382C18DB7E1CB04949DEB10C8C4CA8F7 AB67E6085993EF69290147448F429B41 2D07CD3E79B47F5EA5DB8ED01D5A0DAF 0DBF70BEE9E64150D2EC06DA395081BE 7D2AF9195099C97562148FD9493CB124 26096A32214833EE2018423FF054B491 27A89C914A2D4D84D6702FD0330E7D5C 36D81110CDD5B5007F44E686E534A585 36BF0DD84B17A01C0A50FCDD7F24283E CFD030508B65490D993E703D1F79A5FA 9CB0FAB30FD0EDD953491D84E25D8F05 5C86B15F |
+FE000100544DC651034C590A0B2ACC42 9B32D2A381696C92401BE264CD631594 98AE0B28BB1D3B9CF5F907ED3A05D62A E10D08797FB4103CB09E2265ACE276CB 9454BCFA92D68792720FED32CB6008E9 8D22BA5FFA5605DDB0D85426CAA73538 A75043ED81E90519EC6D8F1680E694C2 543DB5C11472244CA7B8CBAE49D3FAEA 10DA929D28034CCE837153416BCD54D9 3CC3B13015BBC3E9A8950DAD0925837B E01348B54BEE8D5415F5F0A8B5A1F969 06B570CBE092B0C1DAB1B5A6C9617B1A 476CDFC44FAA2A1DB0162EAC404E9FDD 38C2412BDB2ABDE041A0C5A92AB07693 D0EFA164D3F2FF2054C19BB296F12787 16C7138168147F2A02E842D1488E1ECE 92060386 |
g_a diffie-hellman parameter |
server_time |
560, 4 |
-0A4F8765 (1703366410 in decimal) |
+69258865 (1703421289 in decimal) |
Server time |
@@ -609,34 +609,34 @@ answer = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
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 = 20A03DED499A18AE912DCD0BAEF0F391C4C28F9F901EF3031C10F5FD2364D223312153A7A51D2FC62044AD600D31AC7973C0D93E4CDA2741DEEE9F50FE0D83D317396270DB47415034155DC3C701B3F508C0542858921CE84FC7E0A338D8D8CD6D31F5E4DD959328443067D8B536C869A5E221C2DF17A1BE81FA5113A4E04934E924967BD7EC04B2E80E3ABFDC6FD13BFF7D2B3A075CC6B0DC9DAA1752E95926166A30A47C9EE96265F78FD5FFA1E18C0A346F5A139003A7A34731A3D394E54396D5CD3A97684303D1B0A083969673903D744E99EF19328C1DB743D2C8D86EE3C259E460F44AAD04F3E2E561FDC550DEE81E1ADD839FA23DADE591CDFB6A5200
+b = 86187B02975022C9C73549603451911D41AC68E6632EE10BCE9ED1E98D83CC92F2B63119DE3E47B54044A02EC6782673F35DBB3BF33C6D33F20354071215FF4EE9E60ED745B024B5AF1EAAF9B76882C65BE26C0BC8FDB2D65F4AE8AA22358FBE7561BD19CB13C0711053BFD3E0704CE1DE86B93BC3DAC71AA4A7F1374536B6EAF96FE733F0094AD945A4D855641F2C00A323AD0151251FE6255EE717E166BFE2C4B0C0F3FBA38989FD1B362FE468272884FAFFE12874A3E42F87EFB0E336CEEFCF1AD6596B1C86756B6EDADB4222495B01FB95C9214B8AD025213A45EFCEAAFB386A6712311A4CB05DC13292CF5050774B4D413847441E6C7AF1DCACC64DE105
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 65F6C6F42E720D4A1EE898D1195C970DA2ADEB0460D361AE413E7AFF5109CAD730C3216D0067078A740B704D66AD80FA0869B86A50AE4D2C9D1050EA2CFBA8EBDB88403B70049ED0EB1F54D550A4A8FC877A0A682EBF7F62BB3230041131FFAFDE91E5CBE1F22EBE141332E20D5658C7BFDBC3DEAC5875637BED83FE7C2C800DF6FC87D89149F33150FCD96338DBE8E98DFF4D9FA5E6EE718CFE76CE3721AAD9B4667109C855AF0D04D41A5CC8D6131ABD7511B3E04010532DFE8D42B8085B7BD8180EED3DD134B5B018B81DAF086495210524EB8F6615077FA71C9A8EB2110757548347DEB2277CB464328E2A982D5FCEB5155587910485282CE77084D56D3B
+g_b = C8A0AF3369F5194F3F4A6A37FF8B2EF8B88F9F5B0813F2B5160046862395A604230EFA17A69A6FEE669C005E7D19E84DAA0DE3302B7512C61413EA9124F9C36B93FB2A8C8EF1973A1773169AB5AB7DF272678A66448AF4B8326824483E6A54348E993B9F412DE09DA82E67DEA7484A1E9B90A7D423DBD00313155B1DCAE1D5B5DBD80E47716C6AB9751BD8FF447C1130E2EE32FCF86B28C0D5F0C2334E4F2903B931334A384B3E327CB8C595F2641E88D85C387B504F3B1998D165576522D2C780ADD95684580847A611B4160760A2D3D6CB956633A82335C76C8C696876D885B1D99D3B99AB8C6DC03F9C1EB531E8F53B628B8FA5A778FDE7EE92779001B1
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 A1 D0 50 58 4C B7 93 A7 9A 25 1D C4
-0010 | 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08 F3 47 27 D8
-0020 | 7F 16 88 3C 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 65 F6 C6 F4 2E 72 0D 4A 1E E8 98 D1 19 5C 97 0D
-0040 | A2 AD EB 04 60 D3 61 AE 41 3E 7A FF 51 09 CA D7
-0050 | 30 C3 21 6D 00 67 07 8A 74 0B 70 4D 66 AD 80 FA
-0060 | 08 69 B8 6A 50 AE 4D 2C 9D 10 50 EA 2C FB A8 EB
-0070 | DB 88 40 3B 70 04 9E D0 EB 1F 54 D5 50 A4 A8 FC
-0080 | 87 7A 0A 68 2E BF 7F 62 BB 32 30 04 11 31 FF AF
-0090 | DE 91 E5 CB E1 F2 2E BE 14 13 32 E2 0D 56 58 C7
-00A0 | BF DB C3 DE AC 58 75 63 7B ED 83 FE 7C 2C 80 0D
-00B0 | F6 FC 87 D8 91 49 F3 31 50 FC D9 63 38 DB E8 E9
-00C0 | 8D FF 4D 9F A5 E6 EE 71 8C FE 76 CE 37 21 AA D9
-00D0 | B4 66 71 09 C8 55 AF 0D 04 D4 1A 5C C8 D6 13 1A
-00E0 | BD 75 11 B3 E0 40 10 53 2D FE 8D 42 B8 08 5B 7B
-00F0 | D8 18 0E ED 3D D1 34 B5 B0 18 B8 1D AF 08 64 95
-0100 | 21 05 24 EB 8F 66 15 07 7F A7 1C 9A 8E B2 11 07
-0110 | 57 54 83 47 DE B2 27 7C B4 64 32 8E 2A 98 2D 5F
-0120 | CE B5 15 55 87 91 04 85 28 2C E7 70 84 D5 6D 3B
+0000 | 54 B6 43 66 D2 08 7A B2 B7 EF 08 2C F1 3E 12 F8
+0010 | 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D 53 37 4C DB
+0020 | 6D C7 9F 47 00 00 00 00 00 00 00 00 FE FF 00 00
+0030 | C8 A0 AF 33 69 F5 19 4F 3F 4A 6A 37 FF 8B 2E F8
+0040 | B8 8F 9F 5B 08 13 F2 B5 16 00 46 86 23 95 A6 04
+0050 | 23 0E FA 17 A6 9A 6F EE 66 9C 00 5E 7D 19 E8 4D
+0060 | AA 0D E3 30 2B 75 12 C6 14 13 EA 91 24 F9 C3 6B
+0070 | 93 FB 2A 8C 8E F1 97 3A 17 73 16 9A B5 AB 7D F2
+0080 | 72 67 8A 66 44 8A F4 B8 32 68 24 48 3E 6A 54 34
+0090 | 8E 99 3B 9F 41 2D E0 9D A8 2E 67 DE A7 48 4A 1E
+00A0 | 9B 90 A7 D4 23 DB D0 03 13 15 5B 1D CA E1 D5 B5
+00B0 | DB D8 0E 47 71 6C 6A B9 75 1B D8 FF 44 7C 11 30
+00C0 | E2 EE 32 FC F8 6B 28 C0 D5 F0 C2 33 4E 4F 29 03
+00D0 | B9 31 33 4A 38 4B 3E 32 7C B8 C5 95 F2 64 1E 88
+00E0 | D8 5C 38 7B 50 4F 3B 19 98 D1 65 57 65 22 D2 C7
+00F0 | 80 AD D9 56 84 58 08 47 A6 11 B4 16 07 60 A2 D3
+0100 | D6 CB 95 66 33 A8 23 35 C7 6C 8C 69 68 76 D8 85
+0110 | B1 D9 9D 3B 99 AB 8C 6D C0 3F 9C 1E B5 31 E8 F5
+0120 | 3B 62 8B 8F A5 A7 78 FD E7 EE 92 77 90 01 B1 00
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 = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
nonce |
4, 16 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
g_b |
36, 260 |
-FE00010065F6C6F42E720D4A1EE898D1 195C970DA2ADEB0460D361AE413E7AFF 5109CAD730C3216D0067078A740B704D 66AD80FA0869B86A50AE4D2C9D1050EA 2CFBA8EBDB88403B70049ED0EB1F54D5 50A4A8FC877A0A682EBF7F62BB323004 1131FFAFDE91E5CBE1F22EBE141332E2 0D5658C7BFDBC3DEAC5875637BED83FE 7C2C800DF6FC87D89149F33150FCD963 38DBE8E98DFF4D9FA5E6EE718CFE76CE 3721AAD9B4667109C855AF0D04D41A5C C8D6131ABD7511B3E04010532DFE8D42 B8085B7BD8180EED3DD134B5B018B81D AF086495210524EB8F6615077FA71C9A 8EB2110757548347DEB2277CB464328E 2A982D5FCEB5155587910485282CE770 84D56D3B |
+FEFF0000C8A0AF3369F5194F3F4A6A37 FF8B2EF8B88F9F5B0813F2B516004686 2395A604230EFA17A69A6FEE669C005E 7D19E84DAA0DE3302B7512C61413EA91 24F9C36B93FB2A8C8EF1973A1773169A B5AB7DF272678A66448AF4B832682448 3E6A54348E993B9F412DE09DA82E67DE A7484A1E9B90A7D423DBD00313155B1D CAE1D5B5DBD80E47716C6AB9751BD8FF 447C1130E2EE32FCF86B28C0D5F0C233 4E4F2903B931334A384B3E327CB8C595 F2641E88D85C387B504F3B1998D16557 6522D2C780ADD95684580847A611B416 0760A2D3D6CB956633A82335C76C8C69 6876D885B1D99D3B99AB8C6DC03F9C1E B531E8F53B628B8FA5A778FDE7EE9277 9001B100 |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding |
@@ -684,47 +684,47 @@ answer = BA0D89B5A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883
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 = 54B64366A1D050584CB793A79A251DC434D9E6C669FFA0EA0BC5AC08F34727D87F16883C0000000000000000FE00010065F6C6F42E720D4A1EE898D1195C970DA2ADEB0460D361AE413E7AFF5109CAD730C3216D0067078A740B704D66AD80FA0869B86A50AE4D2C9D1050EA2CFBA8EBDB88403B70049ED0EB1F54D550A4A8FC877A0A682EBF7F62BB3230041131FFAFDE91E5CBE1F22EBE141332E20D5658C7BFDBC3DEAC5875637BED83FE7C2C800DF6FC87D89149F33150FCD96338DBE8E98DFF4D9FA5E6EE718CFE76CE3721AAD9B4667109C855AF0D04D41A5CC8D6131ABD7511B3E04010532DFE8D42B8085B7BD8180EED3DD134B5B018B81DAF086495210524EB8F6615077FA71C9A8EB2110757548347DEB2277CB464328E2A982D5FCEB5155587910485282CE77084D56D3B
-padding = 20089454DE689556049E0E6C
-tmp_aes_key = CB7D6D9817AD90C5CA0D0C9DE2B6A96777A9DDC44B7D75E8FB68509CF0D6C892
-tmp_aes_iv = E0FADC1731AFFFB59DC98A1B7A8B390C5BDDF383365551EFE75FB469974FF744
+data = 54B64366D2087AB2B7EF082CF13E12F82263E272A20E1DAF2E4F2B1D53374CDB6DC79F470000000000000000FEFF0000C8A0AF3369F5194F3F4A6A37FF8B2EF8B88F9F5B0813F2B5160046862395A604230EFA17A69A6FEE669C005E7D19E84DAA0DE3302B7512C61413EA9124F9C36B93FB2A8C8EF1973A1773169AB5AB7DF272678A66448AF4B8326824483E6A54348E993B9F412DE09DA82E67DEA7484A1E9B90A7D423DBD00313155B1DCAE1D5B5DBD80E47716C6AB9751BD8FF447C1130E2EE32FCF86B28C0D5F0C2334E4F2903B931334A384B3E327CB8C595F2641E88D85C387B504F3B1998D165576522D2C780ADD95684580847A611B4160760A2D3D6CB956633A82335C76C8C696876D885B1D99D3B99AB8C6DC03F9C1EB531E8F53B628B8FA5A778FDE7EE92779001B100
+padding = 8C8E6724036934BE02708A38
+tmp_aes_key = 7485114AC6140821FF57D30B90473FED4F905B663D46526B50D36FF6A90DBA26
+tmp_aes_iv = 5E472BBF1F2782B792E0EB7E26E3BCEF79A02E6CF37F0F6DFFBB2899CD731826
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 = 23A72F1531023903698D2F7F28D09832154B6EECBA016FF7A223B00CA85B4CB68A0C2A0085D4A909E00F5933443E3FA2B4783151392C5733B640594C4CE541F26850B4499DE1F0E35406A2CEE3E23D7C3C26C19AB41E589CCCEC618FD53DBCA65D8479FA43D0521173AACE311B6A1D0BF0BF4209B60C1C04F45BA4FC58AF15D779B00B6B3136B5158D04CAAA34633524EC69827623DC62DD417F422CC858A370963DDE17CA5EFAAA07D2ECDFD3D786D2DC3AA4EEC74C30B4663131A30B09AA4AFD44D36ECD397ED1EDD99C8F02725047B5821C87F4CEA539A970C6AEDB7A2AE8B18C0D22AF538466F0C8224256DEE4CBACE4ED1EE78758E03275DE34AA47D4EAB9FF253F3FAEA05DB754A4C4F1D0EA8141D3B599DE5DA06858889FE00625F5F0C95B70E2F72CF024987B49C9BCC958CBEE3010F70AF6E914D7FDF84706C60FEAA6DBA643153792712D0E5305C94AF5C6
+encrypted_data = 9619702B57EF02FA81BFAA7E4F074F4072B9CD65E7184B84FE66CAC6CFF515AE749C651B60D8B383F5EA77BE79B023B52A52C4CD7F8AD36210137A10D2EBEEA539BE86FEB428A0FEA8012FDCD84FFA968716C609F2B96AC6729E4EBD07037F6D81A151C9361E03AB1E54CE8B53F32C2A27F2744A1BED378B5A341F5F9764244C5937AC6C22876C46E9178DFE5A3220AEB586782C43120B0A87CAEABEE6C70DBDED469EA2937A9574429F7B1095BB7A6C74C7EADD2DE406178193A2DBE2F48CAD343BD5D4843BC4CD4503C23C477A489B0D4771AF5B9194A4F02FEF4891A40D1F0EF44E4A7A1E7630AF2712D85B7F50735DC39D89E7A84E258C6BF5BAAF4535835508C7399A3D6EC1FFBE64A82F6AE2EA001C23EAA815A9B2E8611359506623AB89C3636AD657082D20B1A37408E9E91A91DF0413779EB70348650E4A0DB32427133F4656D1741687E92F0A1BE4075C79
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 C8 1F 0D 00 0A 4F 87 65
-0010 | 78 01 00 00 1F 5F 04 F5 A1 D0 50 58 4C B7 93 A7
-0020 | 9A 25 1D C4 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08
-0030 | F3 47 27 D8 7F 16 88 3C FE 50 01 00 23 A7 2F 15
-0040 | 31 02 39 03 69 8D 2F 7F 28 D0 98 32 15 4B 6E EC
-0050 | BA 01 6F F7 A2 23 B0 0C A8 5B 4C B6 8A 0C 2A 00
-0060 | 85 D4 A9 09 E0 0F 59 33 44 3E 3F A2 B4 78 31 51
-0070 | 39 2C 57 33 B6 40 59 4C 4C E5 41 F2 68 50 B4 49
-0080 | 9D E1 F0 E3 54 06 A2 CE E3 E2 3D 7C 3C 26 C1 9A
-0090 | B4 1E 58 9C CC EC 61 8F D5 3D BC A6 5D 84 79 FA
-00A0 | 43 D0 52 11 73 AA CE 31 1B 6A 1D 0B F0 BF 42 09
-00B0 | B6 0C 1C 04 F4 5B A4 FC 58 AF 15 D7 79 B0 0B 6B
-00C0 | 31 36 B5 15 8D 04 CA AA 34 63 35 24 EC 69 82 76
-00D0 | 23 DC 62 DD 41 7F 42 2C C8 58 A3 70 96 3D DE 17
-00E0 | CA 5E FA AA 07 D2 EC DF D3 D7 86 D2 DC 3A A4 EE
-00F0 | C7 4C 30 B4 66 31 31 A3 0B 09 AA 4A FD 44 D3 6E
-0100 | CD 39 7E D1 ED D9 9C 8F 02 72 50 47 B5 82 1C 87
-0110 | F4 CE A5 39 A9 70 C6 AE DB 7A 2A E8 B1 8C 0D 22
-0120 | AF 53 84 66 F0 C8 22 42 56 DE E4 CB AC E4 ED 1E
-0130 | E7 87 58 E0 32 75 DE 34 AA 47 D4 EA B9 FF 25 3F
-0140 | 3F AE A0 5D B7 54 A4 C4 F1 D0 EA 81 41 D3 B5 99
-0150 | DE 5D A0 68 58 88 9F E0 06 25 F5 F0 C9 5B 70 E2
-0160 | F7 2C F0 24 98 7B 49 C9 BC C9 58 CB EE 30 10 F7
-0170 | 0A F6 E9 14 D7 FD F8 47 06 C6 0F EA A6 DB A6 43
-0180 | 15 37 92 71 2D 0E 53 05 C9 4A F5 C6
+0000 | 00 00 00 00 00 00 00 00 C4 49 0D 00 69 25 88 65
+0010 | 78 01 00 00 1F 5F 04 F5 D2 08 7A B2 B7 EF 08 2C
+0020 | F1 3E 12 F8 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D
+0030 | 53 37 4C DB 6D C7 9F 47 FE 50 01 00 96 19 70 2B
+0040 | 57 EF 02 FA 81 BF AA 7E 4F 07 4F 40 72 B9 CD 65
+0050 | E7 18 4B 84 FE 66 CA C6 CF F5 15 AE 74 9C 65 1B
+0060 | 60 D8 B3 83 F5 EA 77 BE 79 B0 23 B5 2A 52 C4 CD
+0070 | 7F 8A D3 62 10 13 7A 10 D2 EB EE A5 39 BE 86 FE
+0080 | B4 28 A0 FE A8 01 2F DC D8 4F FA 96 87 16 C6 09
+0090 | F2 B9 6A C6 72 9E 4E BD 07 03 7F 6D 81 A1 51 C9
+00A0 | 36 1E 03 AB 1E 54 CE 8B 53 F3 2C 2A 27 F2 74 4A
+00B0 | 1B ED 37 8B 5A 34 1F 5F 97 64 24 4C 59 37 AC 6C
+00C0 | 22 87 6C 46 E9 17 8D FE 5A 32 20 AE B5 86 78 2C
+00D0 | 43 12 0B 0A 87 CA EA BE E6 C7 0D BD ED 46 9E A2
+00E0 | 93 7A 95 74 42 9F 7B 10 95 BB 7A 6C 74 C7 EA DD
+00F0 | 2D E4 06 17 81 93 A2 DB E2 F4 8C AD 34 3B D5 D4
+0100 | 84 3B C4 CD 45 03 C2 3C 47 7A 48 9B 0D 47 71 AF
+0110 | 5B 91 94 A4 F0 2F EF 48 91 A4 0D 1F 0E F4 4E 4A
+0120 | 7A 1E 76 30 AF 27 12 D8 5B 7F 50 73 5D C3 9D 89
+0130 | E7 A8 4E 25 8C 6B F5 BA AF 45 35 83 55 08 C7 39
+0140 | 9A 3D 6E C1 FF BE 64 A8 2F 6A E2 EA 00 1C 23 EA
+0150 | A8 15 A9 B2 E8 61 13 59 50 66 23 AB 89 C3 63 6A
+0160 | D6 57 08 2D 20 B1 A3 74 08 E9 E9 1A 91 DF 04 13
+0170 | 77 9E B7 03 48 65 0E 4A 0D B3 24 27 13 3F 46 56
+0180 | D1 74 16 87 E9 2F 0A 1B E4 07 5C 79
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 |
-C81F0D000A4F8765 |
+C4490D0069258865 |
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 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
encrypted_data |
56, 340 |
-FE50010023A72F1531023903698D2F7F 28D09832154B6EECBA016FF7A223B00C A85B4CB68A0C2A0085D4A909E00F5933 443E3FA2B4783151392C5733B640594C 4CE541F26850B4499DE1F0E35406A2CE E3E23D7C3C26C19AB41E589CCCEC618F D53DBCA65D8479FA43D0521173AACE31 1B6A1D0BF0BF4209B60C1C04F45BA4FC 58AF15D779B00B6B3136B5158D04CAAA 34633524EC69827623DC62DD417F422C C858A370963DDE17CA5EFAAA07D2ECDF D3D786D2DC3AA4EEC74C30B4663131A3 0B09AA4AFD44D36ECD397ED1EDD99C8F 02725047B5821C87F4CEA539A970C6AE DB7A2AE8B18C0D22AF538466F0C82242 56DEE4CBACE4ED1EE78758E03275DE34 AA47D4EAB9FF253F3FAEA05DB754A4C4 F1D0EA8141D3B599DE5DA06858889FE0 0625F5F0C95B70E2F72CF024987B49C9 BCC958CBEE3010F70AF6E914D7FDF847 06C60FEAA6DBA643153792712D0E5305 C94AF5C6 |
+FE5001009619702B57EF02FA81BFAA7E 4F074F4072B9CD65E7184B84FE66CAC6 CFF515AE749C651B60D8B383F5EA77BE 79B023B52A52C4CD7F8AD36210137A10 D2EBEEA539BE86FEB428A0FEA8012FDC D84FFA968716C609F2B96AC6729E4EBD 07037F6D81A151C9361E03AB1E54CE8B 53F32C2A27F2744A1BED378B5A341F5F 9764244C5937AC6C22876C46E9178DFE 5A3220AEB586782C43120B0A87CAEABE E6C70DBDED469EA2937A9574429F7B10 95BB7A6C74C7EADD2DE406178193A2DB E2F48CAD343BD5D4843BC4CD4503C23C 477A489B0D4771AF5B9194A4F02FEF48 91A40D1F0EF44E4A7A1E7630AF2712D8 5B7F50735DC39D89E7A84E258C6BF5BA AF4535835508C7399A3D6EC1FFBE64A8 2F6AE2EA001C23EAA815A9B2E8611359 506623AB89C3636AD657082D20B1A374 08E9E91A91DF0413779EB70348650E4A 0DB32427133F4656D1741687E92F0A1B E4075C79 |
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 = 621E2237406242E39078280AC35DB0AD5A959E560511A96DB02B62103F55AA27B967D7249C0A5F7AB666CD010A57E5D997A495E9824D706FE54173DFDA3A3B41C05E39134F97E7E042DFFCC2161D3DC54DC37857C85DFF33C437D00B9BC995599DEF9827B18FFB5DDB42B905C86E0EAD2F4767B174456B36A42AB581BCDC11E4AEF282A8B8FF04374C07A0A1694B7738A703E4D085030432EDC5E5EAF6BA060FE17AC628049671CF2E555272D5BBB863F2B2355110C8071C746AB4465F10A8BA9BB105DF755AF82B47F991B8EAC10146638623534A05FDDF100B2653A25F8B89594D2575699A6091A0201C2C54CDEEB7481EB8B355B9A9811B31BE2DE24C98B7
+auth_key = 3F1407958B54C897F4A8B876EBEC04FCCDCAEAE844BD64AC0146A4E75BD9959F39ECBFDFC1FFFD54F1811917956C9388CBA9439C15038CDCE70A35DD95751C43900CD0FC79DE65FD89BABF8BF1E0C3D4099E7679BB2675B6352C5B9CDD02A1F4CB43E09EE40A28261F6A285585E8FF355B57AD2D34E404573C7B4CA68B259DFDDC224E8809B91D4BF21F41B90FE5762BD326771E0B5E2947C79F6642A6DAEC7BC17690C5720F3C158426F023D0920C239E616E27C7B29574A2567DEEBC0A29F1C9360A2D3BD948E13213F21034E47666B271302A1EF116D5A2EE264C7CC6933E24BC509A284A406E358E4E9ED1F66559D47FF3E1C339DCA9CDC7A6F8D774AB21
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 10 34 FE 0A 4F 87 65
-0010 | 94 00 00 00 34 F7 CB 3B A1 D0 50 58 4C B7 93 A7
-0020 | 9A 25 1D C4 34 D9 E6 C6 69 FF A0 EA 0B C5 AC 08
-0030 | F3 47 27 D8 7F 16 88 3C B8 12 43 C5 4D B8 F0 71
-0040 | 95 87 E0 B9 73 A2 11 4D
+0000 | 00 00 00 00 00 00 00 00 01 CC 9B D0 69 25 88 65
+0010 | 68 00 00 00 34 F7 CB 3B D2 08 7A B2 B7 EF 08 2C
+0020 | F1 3E 12 F8 22 63 E2 72 A2 0E 1D AF 2E 4F 2B 1D
+0030 | 53 37 4C DB 6D C7 9F 47 8A 9B 84 08 DF 87 E2 BE
+0040 | F6 0E 57 06 6B E3 08 57
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 |
-011034FE0A4F8765 |
+01CC9BD069258865 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-94000000 (148 in decimal) |
+68000000 (104 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 |
-A1D050584CB793A79A251DC434D9E6C6 |
+D2087AB2B7EF082CF13E12F82263E272 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-69FFA0EA0BC5AC08F34727D87F16883C |
+A20E1DAF2E4F2B1D53374CDB6DC79F47 |
Value received from server in Step 2 |
new_nonce_hash1 |
56, 16 |
-B81243C54DB8F0719587E0B973A2114D |
+8A9B8408DF87E2BEF60E57066BE30857 |
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/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;