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 04ec6837e1..0e86f0bcd6 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 |
-34E8060079785E65 |
+A47609002B805E65 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -95,7 +95,7 @@
nonce |
24, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
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 D0 91 DC 79 78 5E 65
-0010 | 94 00 00 00 63 24 16 05 9E D2 F5 84 EA 8D 6F A9
-0020 | FB BC 0C 3C B6 87 53 EE 86 E3 AD 1A CB CC D1 93
-0030 | E8 5F 59 80 B3 27 7A 00 08 22 02 C8 34 E1 53 4B
-0040 | E3 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
+0000 | 00 00 00 00 00 00 00 00 01 88 74 87 2B 80 5E 65
+0010 | 74 00 00 00 63 24 16 05 B9 77 20 53 8F F9 BE 7C
+0020 | 1C 0F 2D 85 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1
+0030 | C6 97 0B 97 BE 0B 75 79 08 1F 3C DD F3 F5 5F F2
+0040 | AF 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 |
-01D091DC79785E65 |
+018874872B805E65 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-94000000 (148 in decimal) |
+74000000 (116 in decimal) |
Message body length |
@@ -150,19 +150,19 @@
nonce |
24, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Server-generated random number |
pq |
56, 12 |
-082202C834E1534BE3000000 TL byte deserialization => bigendian conversion to decimal => 2450741276687158243 |
+081F3CDDF3F55FF2AF000000 TL byte deserialization => bigendian conversion to decimal => 2250917953641902767 |
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 = 2450741276687158243
-Decompose into 2 prime cofactors p < q
: 2450741276687158243 = 1480128193 * 1655762851
-p = 1480128193
-q = 1655762851
+pq = 2250917953641902767
+Decompose into 2 prime cofactors p < q
: 2250917953641902767 = 1475963039 * 1525050353
+p = 1475963039
+q = 1525050353
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 22 02 C8 34 E1 53 4B E3 00 00 00
-0010 | 04 58 38 F6 C1 00 00 00 04 62 B0 EF A3 00 00 00
-0020 | 9E D2 F5 84 EA 8D 6F A9 FB BC 0C 3C B6 87 53 EE
-0030 | 86 E3 AD 1A CB CC D1 93 E8 5F 59 80 B3 27 7A 00
-0040 | A3 CB A1 3D 34 D8 64 69 FB CC 3D E3 C4 A7 D4 22
-0050 | 89 AE 34 44 7E 9A 10 B0 23 45 B0 60 A0 86 FC BF
+0000 | 95 5F F5 A9 08 1F 3C DD F3 F5 5F F2 AF 00 00 00
+0010 | 04 57 F9 68 9F 00 00 00 04 5A E6 6B F1 00 00 00
+0020 | B9 77 20 53 8F F9 BE 7C 1C 0F 2D 85 09 9F E2 B2
+0030 | B9 F1 49 F4 F7 59 81 C1 C6 97 0B 97 BE 0B 75 79
+0040 | 1C A4 07 E6 67 EE 73 15 DC 50 68 74 45 55 AC 33
+0050 | EE D3 35 45 5F 79 14 9A 13 34 B5 F5 65 84 5B EF
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 = 1655762851
pq |
4, 12 |
-082202C834E1534BE3000000 TL byte deserialization => bigendian conversion to decimal => 2450741276687158243 |
+081F3CDDF3F55FF2AF000000 TL byte deserialization => bigendian conversion to decimal => 2250917953641902767 |
Single-byte prefix denoting length, 8-byte string, and three bytes of padding |
p |
16, 8 |
-045838F6C1000000 TL byte deserialization => bigendian conversion to decimal => 1480128193 |
+0457F9689F000000 TL byte deserialization => bigendian conversion to decimal => 1475963039 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
24, 8 |
-0462B0EFA3000000 TL byte deserialization => bigendian conversion to decimal => 1655762851 |
+045AE66BF1000000 TL byte deserialization => bigendian conversion to decimal => 1525050353 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
nonce |
32, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
48, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
new_nonce |
64, 32 |
-A3CBA13D34D86469FBCC3DE3C4A7D422 89AE34447E9A10B02345B060A086FCBF |
+1CA407E667EE7315DC5068744555AC33 EED335455F79149A1334B5F565845BEF |
Client-generated random number |
@@ -291,39 +291,39 @@ q = 1655762851
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 = 955FF5A9082202C834E1534BE3000000045838F6C10000000462B0EFA30000009ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A00A3CBA13D34D86469FBCC3DE3C4A7D42289AE34447E9A10B02345B060A086FCBF02000000
-random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD3AADEC12AB77B68FA23AB6C4BD61593C56FC2CDC7500094189999DC0C3638922B46B07CFE65C2DCB2B99DAFD4F6DA6520119606CFA090FD3E7145B01676C39E
+data = 955FF5A9081F3CDDF3F55FF2AF0000000457F9689F000000045AE66BF1000000B97720538FF9BE7C1C0F2D85099FE2B2B9F149F4F75981C1C6970B97BE0B75791CA407E667EE7315DC5068744555AC33EED335455F79149A1334B5F565845BEF02000000
+random_padding_bytes = 5BB8B2F6F15C2FCD6BDEF289F6EB65EC90BFA6C48C185F5D609B0FF7689021475BEC462A9C82B5D3B057977305DE7300B840598F59AE5EC7EA1345C6187BF8B3988DAE77E834FCC8286ABE4E0C4054F4649CBDEE9364ACD8EEFE9DD1
And this is the output:
-encrypted_data = 3DF5BF94758DDF82CEDA146C9E09A2EEC36242D7B6A095FB4FE4266CB7CC6FFC6546FAE35E8D024485186D8D446F2B1590DC9A867C6A47D29177EEC49CEC419C964C8804CD3A8ED7B6F3B837AE9ACF9844EB3F5F23B13C423BF0F0D940F0BA472161E481186E9C28C6DBC10383DC95B72C9596415E8976192A9584A8FEF5A56BF186FF6A397235248AFB0990F1CA3C072FF28237AD3B73AC07E1720B8F9C8E70A71061EE7C06E3DEED3AD6844ECD2601E3EBBC19EB2B72F4B4CE16B68E8600166E89FF047933FA0627A168E8F99E899C5D3CB42E45268409AD121EF33378D0D8856B0BBA89824DAED93159E2480079A658CF4D431460FCA77F492A182508D9E0
+encrypted_data = 41DAD62847B39899E5614117FB1DBDFD1B3553B41165FB4E87FD5CBC4AD720542AE387B8E61471A867701DE9381B4893478A6E35420ED7502412083F49F05B92150DFB2B593CE346B3EB9927A55D7C4448C48810BDC71A5FDD63024D18013B66A14C35B23B748508EA04C2F2F23EC64A3EA0B2428E017774C24E031B4E612FD281AB68E9A80F3D2C44B5AD768FDF3DB6D756E7D90BF4C7EBFF1D9B3D40A6137980B75EB017D0ABA59459E6B0126E3F25055B0DE4F1A1043C573D4710160BFA549837668DF4B1BB8C50E67BEF4084AD4CCABFD76D6DC61FE43D8C386530293FD6E257E415695CDC40738BC634784EFEDA8913426904E142F157F418DF162679B0
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 00 53 0A 00 79 78 5E 65
-0010 | 40 01 00 00 BE E4 12 D7 9E D2 F5 84 EA 8D 6F A9
-0020 | FB BC 0C 3C B6 87 53 EE 86 E3 AD 1A CB CC D1 93
-0030 | E8 5F 59 80 B3 27 7A 00 04 58 38 F6 C1 00 00 00
-0040 | 04 62 B0 EF A3 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 3D F5 BF 94 75 8D DF 82 CE DA 14 6C
-0060 | 9E 09 A2 EE C3 62 42 D7 B6 A0 95 FB 4F E4 26 6C
-0070 | B7 CC 6F FC 65 46 FA E3 5E 8D 02 44 85 18 6D 8D
-0080 | 44 6F 2B 15 90 DC 9A 86 7C 6A 47 D2 91 77 EE C4
-0090 | 9C EC 41 9C 96 4C 88 04 CD 3A 8E D7 B6 F3 B8 37
-00A0 | AE 9A CF 98 44 EB 3F 5F 23 B1 3C 42 3B F0 F0 D9
-00B0 | 40 F0 BA 47 21 61 E4 81 18 6E 9C 28 C6 DB C1 03
-00C0 | 83 DC 95 B7 2C 95 96 41 5E 89 76 19 2A 95 84 A8
-00D0 | FE F5 A5 6B F1 86 FF 6A 39 72 35 24 8A FB 09 90
-00E0 | F1 CA 3C 07 2F F2 82 37 AD 3B 73 AC 07 E1 72 0B
-00F0 | 8F 9C 8E 70 A7 10 61 EE 7C 06 E3 DE ED 3A D6 84
-0100 | 4E CD 26 01 E3 EB BC 19 EB 2B 72 F4 B4 CE 16 B6
-0110 | 8E 86 00 16 6E 89 FF 04 79 33 FA 06 27 A1 68 E8
-0120 | F9 9E 89 9C 5D 3C B4 2E 45 26 84 09 AD 12 1E F3
-0130 | 33 78 D0 D8 85 6B 0B BA 89 82 4D AE D9 31 59 E2
-0140 | 48 00 79 A6 58 CF 4D 43 14 60 FC A7 7F 49 2A 18
-0150 | 25 08 D9 E0
+0000 | 00 00 00 00 00 00 00 00 6C F9 0A 00 2B 80 5E 65
+0010 | 40 01 00 00 BE E4 12 D7 B9 77 20 53 8F F9 BE 7C
+0020 | 1C 0F 2D 85 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1
+0030 | C6 97 0B 97 BE 0B 75 79 04 57 F9 68 9F 00 00 00
+0040 | 04 5A E6 6B F1 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 41 DA D6 28 47 B3 98 99 E5 61 41 17
+0060 | FB 1D BD FD 1B 35 53 B4 11 65 FB 4E 87 FD 5C BC
+0070 | 4A D7 20 54 2A E3 87 B8 E6 14 71 A8 67 70 1D E9
+0080 | 38 1B 48 93 47 8A 6E 35 42 0E D7 50 24 12 08 3F
+0090 | 49 F0 5B 92 15 0D FB 2B 59 3C E3 46 B3 EB 99 27
+00A0 | A5 5D 7C 44 48 C4 88 10 BD C7 1A 5F DD 63 02 4D
+00B0 | 18 01 3B 66 A1 4C 35 B2 3B 74 85 08 EA 04 C2 F2
+00C0 | F2 3E C6 4A 3E A0 B2 42 8E 01 77 74 C2 4E 03 1B
+00D0 | 4E 61 2F D2 81 AB 68 E9 A8 0F 3D 2C 44 B5 AD 76
+00E0 | 8F DF 3D B6 D7 56 E7 D9 0B F4 C7 EB FF 1D 9B 3D
+00F0 | 40 A6 13 79 80 B7 5E B0 17 D0 AB A5 94 59 E6 B0
+0100 | 12 6E 3F 25 05 5B 0D E4 F1 A1 04 3C 57 3D 47 10
+0110 | 16 0B FA 54 98 37 66 8D F4 B1 BB 8C 50 E6 7B EF
+0120 | 40 84 AD 4C CA BF D7 6D 6D C6 1F E4 3D 8C 38 65
+0130 | 30 29 3F D6 E2 57 E4 15 69 5C DC 40 73 8B C6 34
+0140 | 78 4E FE DA 89 13 42 69 04 E1 42 F1 57 F4 18 DF
+0150 | 16 26 79 B0
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 = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
message_id |
8, 8 |
-00530A0079785E65 |
+6CF90A002B805E65 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
@@ -363,25 +363,25 @@ random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
nonce |
24, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
p |
56, 8 |
-045838F6C1000000 TL byte deserialization => bigendian conversion to decimal => 1480128193 |
+0457F9689F000000 TL byte deserialization => bigendian conversion to decimal => 1475963039 |
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
q |
64, 8 |
-0462B0EFA3000000 TL byte deserialization => bigendian conversion to decimal => 1655762851 |
+045AE66BF1000000 TL byte deserialization => bigendian conversion to decimal => 1525050353 |
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding |
@@ -393,7 +393,7 @@ random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
encrypted_data |
80, 260 |
-FE0001003DF5BF94758DDF82CEDA146C 9E09A2EEC36242D7B6A095FB4FE4266C B7CC6FFC6546FAE35E8D024485186D8D 446F2B1590DC9A867C6A47D29177EEC4 9CEC419C964C8804CD3A8ED7B6F3B837 AE9ACF9844EB3F5F23B13C423BF0F0D9 40F0BA472161E481186E9C28C6DBC103 83DC95B72C9596415E8976192A9584A8 FEF5A56BF186FF6A397235248AFB0990 F1CA3C072FF28237AD3B73AC07E1720B 8F9C8E70A71061EE7C06E3DEED3AD684 4ECD2601E3EBBC19EB2B72F4B4CE16B6 8E8600166E89FF047933FA0627A168E8 F99E899C5D3CB42E45268409AD121EF3 3378D0D8856B0BBA89824DAED93159E2 480079A658CF4D431460FCA77F492A18 2508D9E0 |
+FE00010041DAD62847B39899E5614117 FB1DBDFD1B3553B41165FB4E87FD5CBC 4AD720542AE387B8E61471A867701DE9 381B4893478A6E35420ED7502412083F 49F05B92150DFB2B593CE346B3EB9927 A55D7C4448C48810BDC71A5FDD63024D 18013B66A14C35B23B748508EA04C2F2 F23EC64A3EA0B2428E017774C24E031B 4E612FD281AB68E9A80F3D2C44B5AD76 8FDF3DB6D756E7D90BF4C7EBFF1D9B3D 40A6137980B75EB017D0ABA59459E6B0 126E3F25055B0DE4F1A1043C573D4710 160BFA549837668DF4B1BB8C50E67BEF 4084AD4CCABFD76D6DC61FE43D8C3865 30293FD6E257E415695CDC40738BC634 784EFEDA8913426904E142F157F418DF 162679B0 |
Value generated above |
@@ -402,47 +402,47 @@ random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 08 FD 92 7A 78 5E 65
-0010 | EC 02 00 00 5C 07 E8 D0 9E D2 F5 84 EA 8D 6F A9
-0020 | FB BC 0C 3C B6 87 53 EE 86 E3 AD 1A CB CC D1 93
-0030 | E8 5F 59 80 B3 27 7A 00 FE 50 02 00 83 63 2B B8
-0040 | C0 4A AE 42 82 1A 1B 00 22 81 B1 D6 DE FA C1 A1
-0050 | 0D DC FE 59 2D 5D 9C 89 7D C8 7F CC 63 EF 95 87
-0060 | F2 58 48 F5 CB 76 D2 50 64 5C 3A BE F7 F6 12 06
-0070 | 34 97 BC A6 27 FC 94 A2 0E D4 8C 9F 39 BB 87 BE
-0080 | A1 F0 BB C0 24 87 53 7C 67 78 3C 62 EC D4 64 E2
-0090 | 4F B3 BF F3 6E 40 4D AA D3 81 3E A5 44 6F 03 45
-00A0 | 4B 2B 11 5C 15 08 13 D5 5D 8D E1 16 2E 3B 4B 45
-00B0 | 81 B7 06 E6 46 43 05 D5 60 C5 5F B4 9B A9 78 4C
-00C0 | FA 34 FF 0A 36 EC 7B AF F8 0A 27 28 1C 04 4C 5E
-00D0 | 10 12 BD 7D DD 8F 12 7A 1C EC EE 47 FE 38 25 65
-00E0 | 8F 19 87 19 78 03 CF 8F BA 3D 3E 92 E4 49 81 C4
-00F0 | 31 0C 96 F4 23 CD 7C 92 8C 60 8E 04 47 DA 30 A5
-0100 | 09 6B 1E 12 38 44 E0 AE 73 8C 0A AC 35 24 8A 38
-0110 | C6 FC B2 3C 0E D2 89 AC 65 0D 0E C3 8A E5 FF 21
-0120 | 41 46 4C 74 00 93 D3 71 08 CA 43 A9 7C A7 92 33
-0130 | 2C A3 1D AD 03 7C BE E3 7D D3 3E 8E DB 53 A5 5E
-0140 | B1 BF E6 AB 1D 98 7F 40 E0 AB C7 BB DB 10 23 23
-0150 | F8 40 00 F3 C9 DF 07 98 3D 42 F4 D3 DA 28 AB 46
-0160 | AC 01 13 70 6C 8E EE B2 95 A7 90 85 67 19 46 01
-0170 | FF F4 BC 86 4A D1 BC 40 12 8F 50 AE 18 8C 1B 38
-0180 | 37 85 7B C8 BD 7E 56 E3 58 D8 33 A0 7A BF 42 C6
-0190 | 63 A5 47 DC EB E5 51 06 9B A3 AD 8B D8 D1 EC FA
-01A0 | 9A 1B 93 7E 01 BE 10 33 70 82 E5 04 F3 A5 EC 94
-01B0 | 74 26 38 87 49 15 0D AD 76 A2 CD BA 44 41 3A 9C
-01C0 | 8D 02 84 88 69 73 49 E1 BD 30 B5 F3 B3 89 6C A4
-01D0 | E4 B5 96 D5 44 E9 F0 23 B6 D2 98 45 3E 2F F3 70
-01E0 | ED CD EF 86 79 D0 84 F3 D4 A6 1A AA F2 09 C6 6A
-01F0 | 73 BA 25 F6 40 E1 B9 EA 42 1E FE 71 C9 5A 5D 7F
-0200 | 48 32 A5 96 8D 5E B8 D4 D2 ED 21 80 3D 09 06 4E
-0210 | C8 77 50 39 37 66 BD 9E CB 89 A9 39 A3 32 46 37
-0220 | 23 36 29 42 62 E7 7F AD 40 67 6B 7F 17 B1 4B D7
-0230 | 2C 68 9E 43 AB 0F 4C F4 F9 ED 3A 95 1C 3D 38 DA
-0240 | 6B 76 A8 61 31 1D 2E 1F F6 6E EF 5E 7E 63 A5 39
-0250 | 33 FD 4E C4 6A 3C 4B 14 57 84 CA EE 37 3A 25 CD
-0260 | 6A B8 2A AE BD 13 0F 9C 6D 50 2D EE 95 59 01 32
-0270 | 7C 13 CE C8 35 0C 05 18 96 99 D5 7E BE 94 ED 7D
-0280 | 6B A6 FB 93 8F 60 5A C9 B2 F3 54 D8
+0000 | 00 00 00 00 00 00 00 00 01 6C BC 21 2C 80 5E 65
+0010 | E8 02 00 00 5C 07 E8 D0 B9 77 20 53 8F F9 BE 7C
+0020 | 1C 0F 2D 85 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1
+0030 | C6 97 0B 97 BE 0B 75 79 FE 50 02 00 19 A9 47 72
+0040 | D9 DF 71 D9 84 8C DC 10 AE 1C 1F 8A 82 E4 05 B0
+0050 | 2C 4A 9C 80 06 7F 9C D2 64 E6 E8 2C 18 56 EC DE
+0060 | 45 C2 81 15 E5 F8 7C FD C2 FC 19 32 40 A1 CD D2
+0070 | 7D 0C FB 7A 46 67 58 2D 4C 17 FC 68 EF BE 09 4C
+0080 | 1C 55 BD 09 FE 7E 86 E1 4E 33 0E 56 76 DC 88 A9
+0090 | 1A 0C 40 1C 12 DC 97 A8 EF 8B 55 DE 00 66 00 4E
+00A0 | B0 A6 95 E7 52 60 63 46 C4 3E 90 B6 94 21 BE 21
+00B0 | C3 44 72 58 68 6C 21 DB 3A 8B 70 55 C9 BB E5 F3
+00C0 | 04 83 05 9A F4 91 72 D1 BF 9E C1 AB 19 30 3A FD
+00D0 | 9F E0 64 EE A9 A3 4C EA 9A 65 1B FE 2A A4 6F 0C
+00E0 | 8F B7 8C 60 18 68 52 10 A2 00 A5 B3 50 C5 34 51
+00F0 | 4D 00 F0 F6 AE A9 F3 A8 65 73 69 9B 80 CE 59 92
+0100 | CD 5F 53 07 22 F3 5F A2 B2 55 1C CF B9 E6 F3 21
+0110 | EE F4 6D FF 68 E5 10 A8 35 85 F3 04 DF 62 06 8B
+0120 | 34 B5 CA B0 74 39 F8 5E 00 55 B5 BB 96 B9 E3 E5
+0130 | A8 F5 1B 5C 12 84 C4 2D EC C5 FF 39 13 6D 74 90
+0140 | 1A 4B 8A 29 4B 8F B7 1C 01 47 CD E0 7A 1F 10 E6
+0150 | 1F DD B2 1B 7F 88 78 AB AF D6 AF 70 C0 2E 55 EF
+0160 | 01 DF 46 C4 3A BA 72 E7 04 61 1E 35 B6 3B 8D 30
+0170 | 87 B2 1D 04 F6 D8 36 45 2D 30 7A 64 B8 99 68 A1
+0180 | E6 A6 7A 0E 3E 21 7D 61 ED 5B 5B B0 94 6D 5E 72
+0190 | BE F7 73 BA 84 0A 77 FE F6 29 CD 2C 0C 47 02 15
+01A0 | 77 1F EE 3B 21 A2 31 EB 50 9E 0A 93 B6 54 97 A4
+01B0 | CF 16 4C CE 51 9B A2 35 7C A0 8D 61 60 F2 F0 B2
+01C0 | 1F B8 71 53 EB 8F 00 D2 54 E7 D5 EF 50 37 4D 07
+01D0 | 16 94 28 B6 E7 95 B6 94 FB 16 FF 7F 53 AE 0A F5
+01E0 | DC E7 0E 0C 30 76 E2 52 62 F2 1B C8 38 9D 02 72
+01F0 | 2B 05 13 C8 8E 3F C8 5B 75 3F 20 7F 12 B5 EB 98
+0200 | 79 FC C3 EF F5 85 B3 91 57 7B 57 38 72 97 49 DD
+0210 | 99 22 09 13 7A 5E 1F 0D C5 D7 B1 F1 33 C3 3B C8
+0220 | BD DD E1 5E DD 41 BB 71 BE 72 E5 89 CA 84 AB E7
+0230 | 9C DA A5 5A EA F5 66 FC 24 8B 81 6C 1F 6F 5D FA
+0240 | 40 CA 09 3D F3 05 A6 CA 20 7B FD 88 A9 81 1F 77
+0250 | 77 86 6C C2 85 82 25 3E A5 FE D7 C0 AE 77 B5 53
+0260 | 43 36 EB 3E 13 F2 4C BE 88 6C 35 54 F5 6D 38 A3
+0270 | 9A 71 1A 98 96 D5 7B 56 55 16 E5 59 87 0F 26 8C
+0280 | 21 D0 84 F1 26 C8 64 21 2D 9C 73 A8
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 = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
message_id |
8, 8 |
-0108FD927A785E65 |
+016CBC212C805E65 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-EC020000 (748 in decimal) |
+E8020000 (744 in decimal) |
Message body length |
@@ -482,19 +482,19 @@ random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
nonce |
24, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
encrypted_answer |
56, 596 |
-FE50020083632BB8C04AAE42821A1B00 2281B1D6DEFAC1A10DDCFE592D5D9C89 7DC87FCC63EF9587F25848F5CB76D250 645C3ABEF7F612063497BCA627FC94A2 0ED48C9F39BB87BEA1F0BBC02487537C 67783C62ECD464E24FB3BFF36E404DAA D3813EA5446F03454B2B115C150813D5 5D8DE1162E3B4B4581B706E6464305D5 60C55FB49BA9784CFA34FF0A36EC7BAF F80A27281C044C5E1012BD7DDD8F127A 1CECEE47FE3825658F1987197803CF8F BA3D3E92E44981C4310C96F423CD7C92 8C608E0447DA30A5096B1E123844E0AE 738C0AAC35248A38C6FCB23C0ED289AC 650D0EC38AE5FF2141464C740093D371 08CA43A97CA792332CA31DAD037CBEE3 7DD33E8EDB53A55EB1BFE6AB1D987F40 E0ABC7BBDB102323F84000F3C9DF0798 3D42F4D3DA28AB46AC0113706C8EEEB2 95A7908567194601FFF4BC864AD1BC40 128F50AE188C1B3837857BC8BD7E56E3 58D833A07ABF42C663A547DCEBE55106 9BA3AD8BD8D1ECFA9A1B937E01BE1033 7082E504F3A5EC947426388749150DAD 76A2CDBA44413A9C8D028488697349E1 BD30B5F3B3896CA4E4B596D544E9F023 B6D298453E2FF370EDCDEF8679D084F3 D4A61AAAF209C66A73BA25F640E1B9EA 421EFE71C95A5D7F4832A5968D5EB8D4 D2ED21803D09064EC87750393766BD9E CB89A939A33246372336294262E77FAD 40676B7F17B14BD72C689E43AB0F4CF4 F9ED3A951C3D38DA6B76A861311D2E1F F66EEF5E7E63A53933FD4EC46A3C4B14 5784CAEE373A25CD6AB82AAEBD130F9C 6D502DEE955901327C13CEC8350C0518 9699D57EBE94ED7D6BA6FB938F605AC9 B2F354D8 |
+FE50020019A94772D9DF71D9848CDC10 AE1C1F8A82E405B02C4A9C80067F9CD2 64E6E82C1856ECDE45C28115E5F87CFD C2FC193240A1CDD27D0CFB7A4667582D 4C17FC68EFBE094C1C55BD09FE7E86E1 4E330E5676DC88A91A0C401C12DC97A8 EF8B55DE0066004EB0A695E752606346 C43E90B69421BE21C3447258686C21DB 3A8B7055C9BBE5F30483059AF49172D1 BF9EC1AB19303AFD9FE064EEA9A34CEA 9A651BFE2AA46F0C8FB78C6018685210 A200A5B350C534514D00F0F6AEA9F3A8 6573699B80CE5992CD5F530722F35FA2 B2551CCFB9E6F321EEF46DFF68E510A8 3585F304DF62068B34B5CAB07439F85E 0055B5BB96B9E3E5A8F51B5C1284C42D ECC5FF39136D74901A4B8A294B8FB71C 0147CDE07A1F10E61FDDB21B7F8878AB AFD6AF70C02E55EF01DF46C43ABA72E7 04611E35B63B8D3087B21D04F6D83645 2D307A64B89968A1E6A67A0E3E217D61 ED5B5BB0946D5E72BEF773BA840A77FE F629CD2C0C470215771FEE3B21A231EB 509E0A93B65497A4CF164CCE519BA235 7CA08D6160F2F0B21FB87153EB8F00D2 54E7D5EF50374D07169428B6E795B694 FB16FF7F53AE0AF5DCE70E0C3076E252 62F21BC8389D02722B0513C88E3FC85B 753F207F12B5EB9879FCC3EFF585B391 577B5738729749DD992209137A5E1F0D C5D7B1F133C33BC8BDDDE15EDD41BB71 BE72E589CA84ABE79CDAA55AEAF566FC 248B816C1F6F5DFA40CA093DF305A6CA 207BFD88A9811F7777866CC28582253E A5FED7C0AE77B5534336EB3E13F24CBE 886C3554F56D38A39A711A9896D57B56 5516E559870F268C21D084F126C86421 2D9C73A8 |
See below |
@@ -502,20 +502,20 @@ random_padding_bytes = 1142DD6B3DC4ADC50CC3B20931F03FAD2F58A5AC0EFD8724415D5D4CD
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = 83632BB8C04AAE42821A1B002281B1D6DEFAC1A10DDCFE592D5D9C897DC87FCC63EF9587F25848F5CB76D250645C3ABEF7F612063497BCA627FC94A20ED48C9F39BB87BEA1F0BBC02487537C67783C62ECD464E24FB3BFF36E404DAAD3813EA5446F03454B2B115C150813D55D8DE1162E3B4B4581B706E6464305D560C55FB49BA9784CFA34FF0A36EC7BAFF80A27281C044C5E1012BD7DDD8F127A1CECEE47FE3825658F1987197803CF8FBA3D3E92E44981C4310C96F423CD7C928C608E0447DA30A5096B1E123844E0AE738C0AAC35248A38C6FCB23C0ED289AC650D0EC38AE5FF2141464C740093D37108CA43A97CA792332CA31DAD037CBEE37DD33E8EDB53A55EB1BFE6AB1D987F40E0ABC7BBDB102323F84000F3C9DF07983D42F4D3DA28AB46AC0113706C8EEEB295A7908567194601FFF4BC864AD1BC40128F50AE188C1B3837857BC8BD7E56E358D833A07ABF42C663A547DCEBE551069BA3AD8BD8D1ECFA9A1B937E01BE10337082E504F3A5EC947426388749150DAD76A2CDBA44413A9C8D028488697349E1BD30B5F3B3896CA4E4B596D544E9F023B6D298453E2FF370EDCDEF8679D084F3D4A61AAAF209C66A73BA25F640E1B9EA421EFE71C95A5D7F4832A5968D5EB8D4D2ED21803D09064EC87750393766BD9ECB89A939A33246372336294262E77FAD40676B7F17B14BD72C689E43AB0F4CF4F9ED3A951C3D38DA6B76A861311D2E1FF66EEF5E7E63A53933FD4EC46A3C4B145784CAEE373A25CD6AB82AAEBD130F9C6D502DEE955901327C13CEC8350C05189699D57EBE94ED7D6BA6FB938F605AC9B2F354D8
-tmp_aes_key = 99CCA58E7584C1EE1903081987F4183B912B1AE70BB654F456246DC0B30EF7BC
-tmp_aes_iv = 116AD638FEE958A8C07EB2FF218C4F69AEB73C67B95A2D596BAC4C2CA3CBA13D
+encrypted_answer = 19A94772D9DF71D9848CDC10AE1C1F8A82E405B02C4A9C80067F9CD264E6E82C1856ECDE45C28115E5F87CFDC2FC193240A1CDD27D0CFB7A4667582D4C17FC68EFBE094C1C55BD09FE7E86E14E330E5676DC88A91A0C401C12DC97A8EF8B55DE0066004EB0A695E752606346C43E90B69421BE21C3447258686C21DB3A8B7055C9BBE5F30483059AF49172D1BF9EC1AB19303AFD9FE064EEA9A34CEA9A651BFE2AA46F0C8FB78C6018685210A200A5B350C534514D00F0F6AEA9F3A86573699B80CE5992CD5F530722F35FA2B2551CCFB9E6F321EEF46DFF68E510A83585F304DF62068B34B5CAB07439F85E0055B5BB96B9E3E5A8F51B5C1284C42DECC5FF39136D74901A4B8A294B8FB71C0147CDE07A1F10E61FDDB21B7F8878ABAFD6AF70C02E55EF01DF46C43ABA72E704611E35B63B8D3087B21D04F6D836452D307A64B89968A1E6A67A0E3E217D61ED5B5BB0946D5E72BEF773BA840A77FEF629CD2C0C470215771FEE3B21A231EB509E0A93B65497A4CF164CCE519BA2357CA08D6160F2F0B21FB87153EB8F00D254E7D5EF50374D07169428B6E795B694FB16FF7F53AE0AF5DCE70E0C3076E25262F21BC8389D02722B0513C88E3FC85B753F207F12B5EB9879FCC3EFF585B391577B5738729749DD992209137A5E1F0DC5D7B1F133C33BC8BDDDE15EDD41BB71BE72E589CA84ABE79CDAA55AEAF566FC248B816C1F6F5DFA40CA093DF305A6CA207BFD88A9811F7777866CC28582253EA5FED7C0AE77B5534336EB3E13F24CBE886C3554F56D38A39A711A9896D57B565516E559870F268C21D084F126C864212D9C73A8
+tmp_aes_key = AA8882764BC26DFE930BE3FB9AA4E2184C5765AA0AA9595FF95C3E95A2284393
+tmp_aes_iv = F6EA80B37B880959A2DAD4F084F26E88853A15B5BBC5F1FAC00383C91CA407E6
Yielding:
-answer_with_hash = A4E6837A9535664B7F4DFEE7AEB23B17B430319ABA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001004C398589774D1EE9C58C3B5D7971D0C1523ACD94534C83BE3415E324ED48EC51934F6AFA7AA13E5A063F5962CE16AF8CE2952B1C6CDFCCF6F7FDEEB5880DC8AA0832A3362C05318C1F6CCB11CE506DBA4C8D1D44BE78B949652CD93988899FF9448770E8E5F56F208E68B0FE339C65D93B37C3ABE1C8B02CFFF24674D30B1FB4D190B7B810884E94C761B166DB3A31440363B8EBCB8A177604AD57C362FC172F8990A1EBC5436EA56F149BCDC56320A7DC0C9DF5C347FED9285DCBF14B5CA0FE59F9D064BECC5EE25FEBB1D0FDC5D8A72BC4665CC068BFFF7FAE9838DF3B7F5C91F91EEC3886EC383443F2BFED145A651F20CEE50B007003EBD9E0D606D3D4EC7A785E65711F1E5835C05429
-answer = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001004C398589774D1EE9C58C3B5D7971D0C1523ACD94534C83BE3415E324ED48EC51934F6AFA7AA13E5A063F5962CE16AF8CE2952B1C6CDFCCF6F7FDEEB5880DC8AA0832A3362C05318C1F6CCB11CE506DBA4C8D1D44BE78B949652CD93988899FF9448770E8E5F56F208E68B0FE339C65D93B37C3ABE1C8B02CFFF24674D30B1FB4D190B7B810884E94C761B166DB3A31440363B8EBCB8A177604AD57C362FC172F8990A1EBC5436EA56F149BCDC56320A7DC0C9DF5C347FED9285DCBF14B5CA0FE59F9D064BECC5EE25FEBB1D0FDC5D8A72BC4665CC068BFFF7FAE9838DF3B7F5C91F91EEC3886EC383443F2BFED145A651F20CEE50B007003EBD9E0D606D3D4EC7A785E65711F1E5835C05429
+answer_with_hash = 32998DCF6AF6467851C4C9A73FE906A83024D162BA0D89B5B97720538FF9BE7C1C0F2D85099FE2B2B9F149F4F75981C1C6970B97BE0B757903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001008E277E51724573843F071F72D2ACAE8B5BCACD92CDEF10EBC446DBF6D6A2035AB7B9222DE61BBAF79960672300C4D4DCC2538A6490F0FBB861902124922A8F0B9A32CAD60010187048FBC5D5D53C858C4EF7BB24E65985B836D3A66A6462FD4EA04110D58E52468DD0C4CAFB92D8730F41DBC154FF965DBA85E22605225C5A17F1679E3C4E3DAF63EBF91DC2D65D340FC64F76A391E5C5A4AAE0A0BB3445521CCA868F5BDCDF8C42547684F4DF318564572D57FFA83E165C14B465527BA45C0109FD0F3720C0B0B3FE5907B3F74FD989FA0071D2E9327FA3961020854683A98E2B88F8F3112CA74E8834D4ADB0FDAADD8FBEF1057DC03D68E05C0338614725122C805E651DAAA8B0951CE4BD
+answer = BA0D89B5B97720538FF9BE7C1C0F2D85099FE2B2B9F149F4F75981C1C6970B97BE0B757903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001008E277E51724573843F071F72D2ACAE8B5BCACD92CDEF10EBC446DBF6D6A2035AB7B9222DE61BBAF79960672300C4D4DCC2538A6490F0FBB861902124922A8F0B9A32CAD60010187048FBC5D5D53C858C4EF7BB24E65985B836D3A66A6462FD4EA04110D58E52468DD0C4CAFB92D8730F41DBC154FF965DBA85E22605225C5A17F1679E3C4E3DAF63EBF91DC2D65D340FC64F76A391E5C5A4AAE0A0BB3445521CCA868F5BDCDF8C42547684F4DF318564572D57FFA83E165C14B465527BA45C0109FD0F3720C0B0B3FE5907B3F74FD989FA0071D2E9327FA3961020854683A98E2B88F8F3112CA74E8834D4ADB0FDAADD8FBEF1057DC03D68E05C0338614725122C805E651DAAA8B0951CE4BD
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 9E D2 F5 84 EA 8D 6F A9 FB BC 0C 3C
-0010 | B6 87 53 EE 86 E3 AD 1A CB CC D1 93 E8 5F 59 80
-0020 | B3 27 7A 00 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 B9 77 20 53 8F F9 BE 7C 1C 0F 2D 85
+0010 | 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1 C6 97 0B 97
+0020 | BE 0B 75 79 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 = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
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 | 4C 39 85 89 77 4D 1E E9 C5 8C 3B 5D 79 71 D0 C1
-0140 | 52 3A CD 94 53 4C 83 BE 34 15 E3 24 ED 48 EC 51
-0150 | 93 4F 6A FA 7A A1 3E 5A 06 3F 59 62 CE 16 AF 8C
-0160 | E2 95 2B 1C 6C DF CC F6 F7 FD EE B5 88 0D C8 AA
-0170 | 08 32 A3 36 2C 05 31 8C 1F 6C CB 11 CE 50 6D BA
-0180 | 4C 8D 1D 44 BE 78 B9 49 65 2C D9 39 88 89 9F F9
-0190 | 44 87 70 E8 E5 F5 6F 20 8E 68 B0 FE 33 9C 65 D9
-01A0 | 3B 37 C3 AB E1 C8 B0 2C FF F2 46 74 D3 0B 1F B4
-01B0 | D1 90 B7 B8 10 88 4E 94 C7 61 B1 66 DB 3A 31 44
-01C0 | 03 63 B8 EB CB 8A 17 76 04 AD 57 C3 62 FC 17 2F
-01D0 | 89 90 A1 EB C5 43 6E A5 6F 14 9B CD C5 63 20 A7
-01E0 | DC 0C 9D F5 C3 47 FE D9 28 5D CB F1 4B 5C A0 FE
-01F0 | 59 F9 D0 64 BE CC 5E E2 5F EB B1 D0 FD C5 D8 A7
-0200 | 2B C4 66 5C C0 68 BF FF 7F AE 98 38 DF 3B 7F 5C
-0210 | 91 F9 1E EC 38 86 EC 38 34 43 F2 BF ED 14 5A 65
-0220 | 1F 20 CE E5 0B 00 70 03 EB D9 E0 D6 06 D3 D4 EC
-0230 | 7A 78 5E 65
+0130 | 8E 27 7E 51 72 45 73 84 3F 07 1F 72 D2 AC AE 8B
+0140 | 5B CA CD 92 CD EF 10 EB C4 46 DB F6 D6 A2 03 5A
+0150 | B7 B9 22 2D E6 1B BA F7 99 60 67 23 00 C4 D4 DC
+0160 | C2 53 8A 64 90 F0 FB B8 61 90 21 24 92 2A 8F 0B
+0170 | 9A 32 CA D6 00 10 18 70 48 FB C5 D5 D5 3C 85 8C
+0180 | 4E F7 BB 24 E6 59 85 B8 36 D3 A6 6A 64 62 FD 4E
+0190 | A0 41 10 D5 8E 52 46 8D D0 C4 CA FB 92 D8 73 0F
+01A0 | 41 DB C1 54 FF 96 5D BA 85 E2 26 05 22 5C 5A 17
+01B0 | F1 67 9E 3C 4E 3D AF 63 EB F9 1D C2 D6 5D 34 0F
+01C0 | C6 4F 76 A3 91 E5 C5 A4 AA E0 A0 BB 34 45 52 1C
+01D0 | CA 86 8F 5B DC DF 8C 42 54 76 84 F4 DF 31 85 64
+01E0 | 57 2D 57 FF A8 3E 16 5C 14 B4 65 52 7B A4 5C 01
+01F0 | 09 FD 0F 37 20 C0 B0 B3 FE 59 07 B3 F7 4F D9 89
+0200 | FA 00 71 D2 E9 32 7F A3 96 10 20 85 46 83 A9 8E
+0210 | 2B 88 F8 F3 11 2C A7 4E 88 34 D4 AD B0 FD AA DD
+0220 | 8F BE F1 05 7D C0 3D 68 E0 5C 03 38 61 47 25 12
+0230 | 2C 80 5E 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 = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
nonce |
4, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
@@ -594,13 +594,13 @@ answer = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
g_a |
300, 260 |
-FE0001004C398589774D1EE9C58C3B5D 7971D0C1523ACD94534C83BE3415E324 ED48EC51934F6AFA7AA13E5A063F5962 CE16AF8CE2952B1C6CDFCCF6F7FDEEB5 880DC8AA0832A3362C05318C1F6CCB11 CE506DBA4C8D1D44BE78B949652CD939 88899FF9448770E8E5F56F208E68B0FE 339C65D93B37C3ABE1C8B02CFFF24674 D30B1FB4D190B7B810884E94C761B166 DB3A31440363B8EBCB8A177604AD57C3 62FC172F8990A1EBC5436EA56F149BCD C56320A7DC0C9DF5C347FED9285DCBF1 4B5CA0FE59F9D064BECC5EE25FEBB1D0 FDC5D8A72BC4665CC068BFFF7FAE9838 DF3B7F5C91F91EEC3886EC383443F2BF ED145A651F20CEE50B007003EBD9E0D6 06D3D4EC |
+FE0001008E277E51724573843F071F72 D2ACAE8B5BCACD92CDEF10EBC446DBF6 D6A2035AB7B9222DE61BBAF799606723 00C4D4DCC2538A6490F0FBB861902124 922A8F0B9A32CAD60010187048FBC5D5 D53C858C4EF7BB24E65985B836D3A66A 6462FD4EA04110D58E52468DD0C4CAFB 92D8730F41DBC154FF965DBA85E22605 225C5A17F1679E3C4E3DAF63EBF91DC2 D65D340FC64F76A391E5C5A4AAE0A0BB 3445521CCA868F5BDCDF8C42547684F4 DF318564572D57FFA83E165C14B46552 7BA45C0109FD0F3720C0B0B3FE5907B3 F74FD989FA0071D2E9327FA396102085 4683A98E2B88F8F3112CA74E8834D4AD B0FDAADD8FBEF1057DC03D68E05C0338 61472512 |
g_a diffie-hellman parameter |
server_time |
560, 4 |
-7A785E65 (1700690042 in decimal) |
+2C805E65 (1700692012 in decimal) |
Server time |
@@ -609,34 +609,34 @@ answer = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
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 = BFEB74412651EE4B6ACA63489ED6458293D8F260002B655851B882DCDFDB02CD65C8C016FB08A7070382C8E1D4FABD2455BC16E7C10AC968CEAB96FC16FFA25D9C58012DEE4548D1A512BBDEAFF66E0B8722623B16BC496CE4A31E6B4914BD491137FFEAE4994D6817BEDB5304CBF1F4424AE94AC9BC75791F58C6726B5D6C44EBEEDA4F1426DEF6DEAB1F251AA0516A833B0932C9914B29312BCA4F983F5DB83CABFC6F55469C6CB235139838A1FD73BD4B05A5FF1EA08CB5EF2B1907E30959EEBF53CB807F40B1736D334784F7D12D38763A5DE16AF904AF4883A1BF8D8E49B0EB09337B0CB3634389507B90E338DBE8EBB54D19902A7D14BD26BEB09E2EED
+b = 87DA6F6F3B4A7E0410514BD4842AEEDCE3CCD5D48F1DEDCF9FE4B40D26C54B801DA831774F7AAEABAFF900F17316615D91C80CED7EF7AD6B1EC6BF1D3DE93171C4CDE593B6F3FC56FD55DA1D446CB56F9C0842097DA51DFAF605B7D1694FC8AF1BAD75E6C14D10F557EE08A7B2976D6F2550B3A6F57C12A37EB7A623A465D283976FE30DC5ACBB0DE415996A0806130BBED0513647B03DDEEC52D7AFAC236416AF62E98C5774DE1845E16C1238BC09711A323C57A5B19671095B9C327022A760A156913735B39AD8D181DDB527F56DD97B59AABB1BDBCE6A8DC57222D3811C70E7CE84B32B1B729F52A3CD27CFE994734FE0559BC54A8042EADF70C418296BCB
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 05DC721E4B0B65C253CB91862BAAE2058D48F664B2ABE26C98900B0FFDB1A459CF301AE12C324998C3D6F31069D2A8E6EB7ACF242E6749CBB954526D27BB59DEE0E889CEB673705AFAA01CDB05B52FC65AAC0E0C5E1D0187E46A792E0F6F6B23898E3197AA69590110988D8F4A6658DA64A3CE8300FEEF763888D6D6CD3088A94191FEC20A2960709A75FE7583B0E5AECC25192646792C30899F7B05AB4A0EADC9345343E46F5E10719806A51D36A8377D8902069FCEC02B952141734B7100294B1A8434D6060D8E10D326CA9DADB0E89352A26ABFCBD7DCB448182C45E781081B0526B0CBC66AFE2E66242C43CC5412E3C0F0157B9D6F0FEADDD5D822922007
+g_b = B845C908C2DD4A0A4D8DBB9636A32956ED87ACEBE67F864A5AC9E10F3D38F536A5F6C9BE77EF95A5E306D37C770ECC4551E8738E1F2CBBD4230139F21B143484C4EAEFB1B93120335461F34FE7BCDF38D4E481E025B2D626557B7AEBBE40275A1C05753AFADEF12F7851D06509F6282F3FD1EA225B5AA24A953FFAC11A26967DD3235C359465F0994539D19CD76EB5554D650A6B739C04E805963517877487E580FA3AD1BC38EF84A2EAAA5D057C89B19F6B26E39452BF0D2AB11D68FB16DA6D1DF9F485DC977F25A9FE974B25C9F875FD532E249307E29FB8A05A239A2B31DD8AE2B1C2D0E0625DEA4E60E006FE83C3C3454B463B38903A8F2F13A297C7080C
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 9E D2 F5 84 EA 8D 6F A9 FB BC 0C 3C
-0010 | B6 87 53 EE 86 E3 AD 1A CB CC D1 93 E8 5F 59 80
-0020 | B3 27 7A 00 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 05 DC 72 1E 4B 0B 65 C2 53 CB 91 86 2B AA E2 05
-0040 | 8D 48 F6 64 B2 AB E2 6C 98 90 0B 0F FD B1 A4 59
-0050 | CF 30 1A E1 2C 32 49 98 C3 D6 F3 10 69 D2 A8 E6
-0060 | EB 7A CF 24 2E 67 49 CB B9 54 52 6D 27 BB 59 DE
-0070 | E0 E8 89 CE B6 73 70 5A FA A0 1C DB 05 B5 2F C6
-0080 | 5A AC 0E 0C 5E 1D 01 87 E4 6A 79 2E 0F 6F 6B 23
-0090 | 89 8E 31 97 AA 69 59 01 10 98 8D 8F 4A 66 58 DA
-00A0 | 64 A3 CE 83 00 FE EF 76 38 88 D6 D6 CD 30 88 A9
-00B0 | 41 91 FE C2 0A 29 60 70 9A 75 FE 75 83 B0 E5 AE
-00C0 | CC 25 19 26 46 79 2C 30 89 9F 7B 05 AB 4A 0E AD
-00D0 | C9 34 53 43 E4 6F 5E 10 71 98 06 A5 1D 36 A8 37
-00E0 | 7D 89 02 06 9F CE C0 2B 95 21 41 73 4B 71 00 29
-00F0 | 4B 1A 84 34 D6 06 0D 8E 10 D3 26 CA 9D AD B0 E8
-0100 | 93 52 A2 6A BF CB D7 DC B4 48 18 2C 45 E7 81 08
-0110 | 1B 05 26 B0 CB C6 6A FE 2E 66 24 2C 43 CC 54 12
-0120 | E3 C0 F0 15 7B 9D 6F 0F EA DD D5 D8 22 92 20 07
+0000 | 54 B6 43 66 B9 77 20 53 8F F9 BE 7C 1C 0F 2D 85
+0010 | 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1 C6 97 0B 97
+0020 | BE 0B 75 79 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | B8 45 C9 08 C2 DD 4A 0A 4D 8D BB 96 36 A3 29 56
+0040 | ED 87 AC EB E6 7F 86 4A 5A C9 E1 0F 3D 38 F5 36
+0050 | A5 F6 C9 BE 77 EF 95 A5 E3 06 D3 7C 77 0E CC 45
+0060 | 51 E8 73 8E 1F 2C BB D4 23 01 39 F2 1B 14 34 84
+0070 | C4 EA EF B1 B9 31 20 33 54 61 F3 4F E7 BC DF 38
+0080 | D4 E4 81 E0 25 B2 D6 26 55 7B 7A EB BE 40 27 5A
+0090 | 1C 05 75 3A FA DE F1 2F 78 51 D0 65 09 F6 28 2F
+00A0 | 3F D1 EA 22 5B 5A A2 4A 95 3F FA C1 1A 26 96 7D
+00B0 | D3 23 5C 35 94 65 F0 99 45 39 D1 9C D7 6E B5 55
+00C0 | 4D 65 0A 6B 73 9C 04 E8 05 96 35 17 87 74 87 E5
+00D0 | 80 FA 3A D1 BC 38 EF 84 A2 EA AA 5D 05 7C 89 B1
+00E0 | 9F 6B 26 E3 94 52 BF 0D 2A B1 1D 68 FB 16 DA 6D
+00F0 | 1D F9 F4 85 DC 97 7F 25 A9 FE 97 4B 25 C9 F8 75
+0100 | FD 53 2E 24 93 07 E2 9F B8 A0 5A 23 9A 2B 31 DD
+0110 | 8A E2 B1 C2 D0 E0 62 5D EA 4E 60 E0 06 FE 83 C3
+0120 | C3 45 4B 46 3B 38 90 3A 8F 2F 13 A2 97 C7 08 0C
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 = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
nonce |
4, 16 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
20, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
g_b |
36, 260 |
-FE00010005DC721E4B0B65C253CB9186 2BAAE2058D48F664B2ABE26C98900B0F FDB1A459CF301AE12C324998C3D6F310 69D2A8E6EB7ACF242E6749CBB954526D 27BB59DEE0E889CEB673705AFAA01CDB 05B52FC65AAC0E0C5E1D0187E46A792E 0F6F6B23898E3197AA69590110988D8F 4A6658DA64A3CE8300FEEF763888D6D6 CD3088A94191FEC20A2960709A75FE75 83B0E5AECC25192646792C30899F7B05 AB4A0EADC9345343E46F5E10719806A5 1D36A8377D8902069FCEC02B95214173 4B7100294B1A8434D6060D8E10D326CA 9DADB0E89352A26ABFCBD7DCB448182C 45E781081B0526B0CBC66AFE2E66242C 43CC5412E3C0F0157B9D6F0FEADDD5D8 22922007 |
+FE000100B845C908C2DD4A0A4D8DBB96 36A32956ED87ACEBE67F864A5AC9E10F 3D38F536A5F6C9BE77EF95A5E306D37C 770ECC4551E8738E1F2CBBD4230139F2 1B143484C4EAEFB1B93120335461F34F E7BCDF38D4E481E025B2D626557B7AEB BE40275A1C05753AFADEF12F7851D065 09F6282F3FD1EA225B5AA24A953FFAC1 1A26967DD3235C359465F0994539D19C D76EB5554D650A6B739C04E805963517 877487E580FA3AD1BC38EF84A2EAAA5D 057C89B19F6B26E39452BF0D2AB11D68 FB16DA6D1DF9F485DC977F25A9FE974B 25C9F875FD532E249307E29FB8A05A23 9A2B31DD8AE2B1C2D0E0625DEA4E60E0 06FE83C3C3454B463B38903A8F2F13A2 97C7080C |
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding |
@@ -684,47 +684,47 @@ answer = BA0D89B59ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A0
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 = 54B643669ED2F584EA8D6FA9FBBC0C3CB68753EE86E3AD1ACBCCD193E85F5980B3277A000000000000000000FE00010005DC721E4B0B65C253CB91862BAAE2058D48F664B2ABE26C98900B0FFDB1A459CF301AE12C324998C3D6F31069D2A8E6EB7ACF242E6749CBB954526D27BB59DEE0E889CEB673705AFAA01CDB05B52FC65AAC0E0C5E1D0187E46A792E0F6F6B23898E3197AA69590110988D8F4A6658DA64A3CE8300FEEF763888D6D6CD3088A94191FEC20A2960709A75FE7583B0E5AECC25192646792C30899F7B05AB4A0EADC9345343E46F5E10719806A51D36A8377D8902069FCEC02B952141734B7100294B1A8434D6060D8E10D326CA9DADB0E89352A26ABFCBD7DCB448182C45E781081B0526B0CBC66AFE2E66242C43CC5412E3C0F0157B9D6F0FEADDD5D822922007
-padding = 461732066CB04B25F76D017E
-tmp_aes_key = 99CCA58E7584C1EE1903081987F4183B912B1AE70BB654F456246DC0B30EF7BC
-tmp_aes_iv = 116AD638FEE958A8C07EB2FF218C4F69AEB73C67B95A2D596BAC4C2CA3CBA13D
+data = 54B64366B97720538FF9BE7C1C0F2D85099FE2B2B9F149F4F75981C1C6970B97BE0B75790000000000000000FE000100B845C908C2DD4A0A4D8DBB9636A32956ED87ACEBE67F864A5AC9E10F3D38F536A5F6C9BE77EF95A5E306D37C770ECC4551E8738E1F2CBBD4230139F21B143484C4EAEFB1B93120335461F34FE7BCDF38D4E481E025B2D626557B7AEBBE40275A1C05753AFADEF12F7851D06509F6282F3FD1EA225B5AA24A953FFAC11A26967DD3235C359465F0994539D19CD76EB5554D650A6B739C04E805963517877487E580FA3AD1BC38EF84A2EAAA5D057C89B19F6B26E39452BF0D2AB11D68FB16DA6D1DF9F485DC977F25A9FE974B25C9F875FD532E249307E29FB8A05A239A2B31DD8AE2B1C2D0E0625DEA4E60E006FE83C3C3454B463B38903A8F2F13A297C7080C
+padding = 35BCD6E492AA8C344652AD3F
+tmp_aes_key = AA8882764BC26DFE930BE3FB9AA4E2184C5765AA0AA9595FF95C3E95A2284393
+tmp_aes_iv = F6EA80B37B880959A2DAD4F084F26E88853A15B5BBC5F1FAC00383C91CA407E6
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 = 65D4EFF0AF3B43A2336ADE8EBB600587DF201DFCE35C7F76BD0807A01995158AAAEB5E4AA477973D24851A9642B4E1BB4E3A732F3D87B5EC27EAA19B38DEB596047BADD8FF15AB2278B18255031011B1C58213123AE98EDA4A32DC17F2065290A72B9AEA1D95026E0367C051A1370BA38E1F2B66FED1D99DEE1FB7BCD5674C5C828E3738CE587B5C252FD11C9D5A2DBB216B82F620042141FB81AA61B73CF9F2EFEF898FB2E26BB3D4D61393AA55C125C0366D97DB4EE42F9526796A611FE89C9736337228AE221A171B59723A374181A2548BDCDEE5B24A33C0252F8D88D625EF996DB4E99DC2E41E263779B8CD8E593B75587CCE43C70148098D41345680DA1B5DE11835EDE90530E56DC7750E2DD7A7AB5197C42CF244E72A980F071B885B43975DC32EF129C85FB49130CA4CB923CC190731460434E7C6B7992C2D969794AC42A14381B6C1B955897945EFC4A6C9
+encrypted_data = 14BBD880C1BCA4F77973155171EDE459AB79622D0D8C94650735263F5A4C0CA5D53B67FFB09582FEB8560D68883847758F87CFB8688644530B9E5E2714E8516733FAC4D9519ACF9A2ACCFE84E28D3570E0BF876D2F4B8FEE1E8CADA5971A51D8D4072272625F5D0B620BACEDF75206226D67806554A04388C6FDE44C082707F18FF649A9410BE0E3026ED9819982F445CD13AB8FB1AA1AFC83E843C9BB7D1ECB49FDB2536BD68EB7AC236105EFDF7FF22CADFBC4388F267129ED57F45781FBFE70CC128F64A8ABB468D25D9ADEA3A06DB11BE49606B8B43BCFCF871D5C5751F43F051605E39519371101967F6F772D4EDB9CA06A14FBB8807AFF5AAB0A36CD13299BFACF02B8503664511059C919B8D590F51749787415B1A26A28869B351FED9F59F7D6E0F45DD884962E3EF7817F9F59E96EED43DD38D82727E63894288CD20175371B0AE49F96C71326C84ED6A305
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 0C 8E 03 00 7A 78 5E 65
-0010 | 78 01 00 00 1F 5F 04 F5 9E D2 F5 84 EA 8D 6F A9
-0020 | FB BC 0C 3C B6 87 53 EE 86 E3 AD 1A CB CC D1 93
-0030 | E8 5F 59 80 B3 27 7A 00 FE 50 01 00 65 D4 EF F0
-0040 | AF 3B 43 A2 33 6A DE 8E BB 60 05 87 DF 20 1D FC
-0050 | E3 5C 7F 76 BD 08 07 A0 19 95 15 8A AA EB 5E 4A
-0060 | A4 77 97 3D 24 85 1A 96 42 B4 E1 BB 4E 3A 73 2F
-0070 | 3D 87 B5 EC 27 EA A1 9B 38 DE B5 96 04 7B AD D8
-0080 | FF 15 AB 22 78 B1 82 55 03 10 11 B1 C5 82 13 12
-0090 | 3A E9 8E DA 4A 32 DC 17 F2 06 52 90 A7 2B 9A EA
-00A0 | 1D 95 02 6E 03 67 C0 51 A1 37 0B A3 8E 1F 2B 66
-00B0 | FE D1 D9 9D EE 1F B7 BC D5 67 4C 5C 82 8E 37 38
-00C0 | CE 58 7B 5C 25 2F D1 1C 9D 5A 2D BB 21 6B 82 F6
-00D0 | 20 04 21 41 FB 81 AA 61 B7 3C F9 F2 EF EF 89 8F
-00E0 | B2 E2 6B B3 D4 D6 13 93 AA 55 C1 25 C0 36 6D 97
-00F0 | DB 4E E4 2F 95 26 79 6A 61 1F E8 9C 97 36 33 72
-0100 | 28 AE 22 1A 17 1B 59 72 3A 37 41 81 A2 54 8B DC
-0110 | DE E5 B2 4A 33 C0 25 2F 8D 88 D6 25 EF 99 6D B4
-0120 | E9 9D C2 E4 1E 26 37 79 B8 CD 8E 59 3B 75 58 7C
-0130 | CE 43 C7 01 48 09 8D 41 34 56 80 DA 1B 5D E1 18
-0140 | 35 ED E9 05 30 E5 6D C7 75 0E 2D D7 A7 AB 51 97
-0150 | C4 2C F2 44 E7 2A 98 0F 07 1B 88 5B 43 97 5D C3
-0160 | 2E F1 29 C8 5F B4 91 30 CA 4C B9 23 CC 19 07 31
-0170 | 46 04 34 E7 C6 B7 99 2C 2D 96 97 94 AC 42 A1 43
-0180 | 81 B6 C1 B9 55 89 79 45 EF C4 A6 C9
+0000 | 00 00 00 00 00 00 00 00 50 74 01 00 2C 80 5E 65
+0010 | 78 01 00 00 1F 5F 04 F5 B9 77 20 53 8F F9 BE 7C
+0020 | 1C 0F 2D 85 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1
+0030 | C6 97 0B 97 BE 0B 75 79 FE 50 01 00 14 BB D8 80
+0040 | C1 BC A4 F7 79 73 15 51 71 ED E4 59 AB 79 62 2D
+0050 | 0D 8C 94 65 07 35 26 3F 5A 4C 0C A5 D5 3B 67 FF
+0060 | B0 95 82 FE B8 56 0D 68 88 38 47 75 8F 87 CF B8
+0070 | 68 86 44 53 0B 9E 5E 27 14 E8 51 67 33 FA C4 D9
+0080 | 51 9A CF 9A 2A CC FE 84 E2 8D 35 70 E0 BF 87 6D
+0090 | 2F 4B 8F EE 1E 8C AD A5 97 1A 51 D8 D4 07 22 72
+00A0 | 62 5F 5D 0B 62 0B AC ED F7 52 06 22 6D 67 80 65
+00B0 | 54 A0 43 88 C6 FD E4 4C 08 27 07 F1 8F F6 49 A9
+00C0 | 41 0B E0 E3 02 6E D9 81 99 82 F4 45 CD 13 AB 8F
+00D0 | B1 AA 1A FC 83 E8 43 C9 BB 7D 1E CB 49 FD B2 53
+00E0 | 6B D6 8E B7 AC 23 61 05 EF DF 7F F2 2C AD FB C4
+00F0 | 38 8F 26 71 29 ED 57 F4 57 81 FB FE 70 CC 12 8F
+0100 | 64 A8 AB B4 68 D2 5D 9A DE A3 A0 6D B1 1B E4 96
+0110 | 06 B8 B4 3B CF CF 87 1D 5C 57 51 F4 3F 05 16 05
+0120 | E3 95 19 37 11 01 96 7F 6F 77 2D 4E DB 9C A0 6A
+0130 | 14 FB B8 80 7A FF 5A AB 0A 36 CD 13 29 9B FA CF
+0140 | 02 B8 50 36 64 51 10 59 C9 19 B8 D5 90 F5 17 49
+0150 | 78 74 15 B1 A2 6A 28 86 9B 35 1F ED 9F 59 F7 D6
+0160 | E0 F4 5D D8 84 96 2E 3E F7 81 7F 9F 59 E9 6E ED
+0170 | 43 DD 38 D8 27 27 E6 38 94 28 8C D2 01 75 37 1B
+0180 | 0A E4 9F 96 C7 13 26 C8 4E D6 A3 05
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 |
-0C8E03007A785E65 |
+507401002C805E65 |
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 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
encrypted_data |
56, 340 |
-FE50010065D4EFF0AF3B43A2336ADE8E BB600587DF201DFCE35C7F76BD0807A0 1995158AAAEB5E4AA477973D24851A96 42B4E1BB4E3A732F3D87B5EC27EAA19B 38DEB596047BADD8FF15AB2278B18255 031011B1C58213123AE98EDA4A32DC17 F2065290A72B9AEA1D95026E0367C051 A1370BA38E1F2B66FED1D99DEE1FB7BC D5674C5C828E3738CE587B5C252FD11C 9D5A2DBB216B82F620042141FB81AA61 B73CF9F2EFEF898FB2E26BB3D4D61393 AA55C125C0366D97DB4EE42F9526796A 611FE89C9736337228AE221A171B5972 3A374181A2548BDCDEE5B24A33C0252F 8D88D625EF996DB4E99DC2E41E263779 B8CD8E593B75587CCE43C70148098D41 345680DA1B5DE11835EDE90530E56DC7 750E2DD7A7AB5197C42CF244E72A980F 071B885B43975DC32EF129C85FB49130 CA4CB923CC190731460434E7C6B7992C 2D969794AC42A14381B6C1B955897945 EFC4A6C9 |
+FE50010014BBD880C1BCA4F779731551 71EDE459AB79622D0D8C94650735263F 5A4C0CA5D53B67FFB09582FEB8560D68 883847758F87CFB8688644530B9E5E27 14E8516733FAC4D9519ACF9A2ACCFE84 E28D3570E0BF876D2F4B8FEE1E8CADA5 971A51D8D4072272625F5D0B620BACED F75206226D67806554A04388C6FDE44C 082707F18FF649A9410BE0E3026ED981 9982F445CD13AB8FB1AA1AFC83E843C9 BB7D1ECB49FDB2536BD68EB7AC236105 EFDF7FF22CADFBC4388F267129ED57F4 5781FBFE70CC128F64A8ABB468D25D9A DEA3A06DB11BE49606B8B43BCFCF871D 5C5751F43F051605E39519371101967F 6F772D4EDB9CA06A14FBB8807AFF5AAB 0A36CD13299BFACF02B8503664511059 C919B8D590F51749787415B1A26A2886 9B351FED9F59F7D6E0F45DD884962E3E F7817F9F59E96EED43DD38D82727E638 94288CD20175371B0AE49F96C71326C8 4ED6A305 |
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 = 93C34DA0D84A1EF6FCD2ECD5F8FBA80C2BBCD67DFF004B4AE900F9C139362A54F3E0489FEF95369A44CCE0206F3DE4B8B17EB87E70E9BD47A07359D6D013A2A44D45C12CD3A2058322E689F6495531043D1AEBFF8C071E3C4E8DE8AD0EDDD69D215E988372865734634E20AF01225BD0ECD3C402D8564382C26C6D7631ABCCBC5E5AFB1E9B4E37A4A85788327D7CC1CBE14E158A060A1AB7F5F97285278211E423F52FAAC3F97F002668919C957784A5F99612FA940E3DFD53759F65BA265B90ECFEF32AE33660417E827E04D598C717846FE907545E3F5136E3BD9D319A59AB9595772B73C79D02F27AA7C7CC49B70892226CCA7A5389BB05E7AB04FDABC926
+auth_key = 683DD344B42333A5133E63D191F6D221FEFF3F9D42FB37D04AAEFB110C0154E48961C5E8B29AA81395A3C1EB22F0B4A4E3645AEC999BEF182B0AB22E306B9943D7B224E62C5B312E3EFA944B1FE9447B09D514D1E5728C9AA720446A39ECE1916A5938C14A92332616168FC5F7AEBBD3F1708BA740F481F246FBA323EFF851D4319A9CDF176E516FB122184C821212B723F6FF6ECC6BD0CF46305110E11657FEF8CE0B98A2D9031C9AF734FA08F06D2B7CB0792F819BB4F6B176C10C9663527647D6291313CAF2F74F8C6B4E468DF0FD52A7A625B412E43021AECC44B8493384EFA18137D438CA65FD3CDE8861E5F8EF49398A2F9DF0270E5AEA0A053AF9C88A
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 E4 9B DA 7A 78 5E 65
-0010 | 60 00 00 00 34 F7 CB 3B 9E D2 F5 84 EA 8D 6F A9
-0020 | FB BC 0C 3C B6 87 53 EE 86 E3 AD 1A CB CC D1 93
-0030 | E8 5F 59 80 B3 27 7A 00 8A 54 7D C0 35 E2 7F 30
-0040 | EF 1F BA 06 6B 3D 79 0A
+0000 | 00 00 00 00 00 00 00 00 01 E0 C6 78 2C 80 5E 65
+0010 | 80 00 00 00 34 F7 CB 3B B9 77 20 53 8F F9 BE 7C
+0020 | 1C 0F 2D 85 09 9F E2 B2 B9 F1 49 F4 F7 59 81 C1
+0030 | C6 97 0B 97 BE 0B 75 79 32 E5 26 89 0C 8A 31 E2
+0040 | 38 DA BA FF BE 43 C9 29
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 |
-01E49BDA7A785E65 |
+01E0C6782C805E65 |
Message ID generated as specified here » (unixtime() << 32) + (N*4) |
message_length |
16, 4 |
-60000000 (96 in decimal) |
+80000000 (128 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 |
-9ED2F584EA8D6FA9FBBC0C3CB68753EE |
+B97720538FF9BE7C1C0F2D85099FE2B2 |
Value generated by client in Step 1 |
server_nonce |
40, 16 |
-86E3AD1ACBCCD193E85F5980B3277A00 |
+B9F149F4F75981C1C6970B97BE0B7579 |
Value received from server in Step 2 |
new_nonce_hash1 |
56, 16 |
-8A547DC035E27F30EF1FBA066B3D790A |
+32E526890C8A31E238DABAFFBE43C929 |
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 737850f728..bf96f4fd22 100644
--- a/data/web/corefork.telegram.org/type/Bool.html
+++ b/data/web/corefork.telegram.org/type/Bool.html
@@ -809,7 +809,7 @@
account.invalidateSignInCodes |
- |
+Invalidate the specified login codes, see here » for more info. |
channels.clickSponsoredMessage |