diff --git a/data/web/corefork.telegram.org/api/layers.html b/data/web/corefork.telegram.org/api/layers.html index 47d33a60b8..0afd5d3fa6 100644 --- a/data/web/corefork.telegram.org/api/layers.html +++ b/data/web/corefork.telegram.org/api/layers.html @@ -68,14 +68,14 @@
stories_hidden
messages.sendMessage#280d096f flags:# no_webpage:flags.1?true silent:flags.5?true background:flags.6?true clear_draft:flags.7?true noforwards:flags.14?true update_stickersets_order:flags.15?true invert_media:flags.16?true peer:InputPeer reply_to:flags.0?InputReplyTo message:string random_id:long reply_markup:flags.2?ReplyMarkup entities:flags.3?Vector<MessageEntity> schedule_date:flags.10?int send_as:flags.13?InputPeer = Updates;
You may reply to stories posted by users by using messages.sendMessage, messages.sendMedia or any other method used to send messages, passing an inputReplyToStory to reply_to
, with the ID of the user that posted the story (which must also be the destination peer
of the message) and the story ID.
storyFwdHeader#b826e150 flags:# modified:flags.3?true from:flags.0?Peer from_name:flags.1?string story_id:flags.2?int = StoryFwdHeader;
+
+storyItem#af6365a1 flags:# pinned:flags.5?true public:flags.7?true close_friends:flags.8?true min:flags.9?true noforwards:flags.10?true edited:flags.11?true contacts:flags.12?true selected_contacts:flags.13?true out:flags.16?true id:int date:int fwd_from:flags.17?StoryFwdHeader expire_date:int caption:flags.0?string entities:flags.1?Vector<MessageEntity> media:MessageMedia media_areas:flags.14?Vector<MediaArea> privacy:flags.2?Vector<PrivacyRule> views:flags.3?StoryViews sent_reaction:flags.15?Reaction = StoryItem;
+
+---functions---
+
+stories.sendStory#e4e6694b flags:# pinned:flags.2?true noforwards:flags.4?true fwd_modified:flags.7?true peer:InputPeer media:InputMedia media_areas:flags.5?Vector<MediaArea> caption:flags.0?string entities:flags.1?Vector<MessageEntity> privacy_rules:Vector<InputPrivacyRule> random_id:long period:flags.3?int fwd_from_id:flags.6?InputPeer fwd_from_story:flags.6?int = Updates;
+Stories may be reposted by using stories.sendStory, populating the fwd_from_story
field with the original story ID and the fwd_from_id
with the peer that posted the original story.
The user may modify the story (for example by overlaying a round video reaction on top of the media); either way, the modified or the original media must be passed to the media
field as usual, and the fwd_modified
flag must be set if the media was modified.
Reposted stories will have the storyItem set and populated with a storyFwdHeader constructor, containing info about the original story.
inputReportReasonSpam#58dbcab8 = ReportReason;
inputReportReasonViolence#1e22c78d = ReportReason;
diff --git a/data/web/corefork.telegram.org/constructor/peerColor.html b/data/web/corefork.telegram.org/constructor/peerColor.html
index e948b7aedd..414141c946 100644
--- a/data/web/corefork.telegram.org/constructor/peerColor.html
+++ b/data/web/corefork.telegram.org/constructor/peerColor.html
@@ -4,32 +4,10 @@
peerColor
-
+
-
+
@@ -64,7 +42,8 @@ flags.1?long…">
peerColor
-
+ Represents a color palette ».
+
-
Layer 167
@@ -95,17 +74,22 @@ flags.1?long…">
color
flags.0?int
-
+Color palette ID, see here » for more info.
background_emoji_id
flags.1?long
-
+Custom emoji ID used to generate the pattern.
Type
-
+
+Related pages
+Accent colors
+Telegram users and channels can change the accent color and background pattern of their profile page and their messages!
+Custom emojis
+Telegram allows including animated and static custom emojis inside of messages.
diff --git a/data/web/corefork.telegram.org/constructor/storyFwdHeader.html b/data/web/corefork.telegram.org/constructor/storyFwdHeader.html
index 1f3be4b77e..e43ebad077 100644
--- a/data/web/corefork.telegram.org/constructor/storyFwdHeader.html
+++ b/data/web/corefork.telegram.org/constructor/storyFwdHeader.html
@@ -4,36 +4,10 @@
storyFwdHeader
-
+
-
+
@@ -68,7 +42,8 @@ from_name…">
storyFwdHeader
-
+ Contains info about the original poster of a reposted story.
+
-
Layer 167
@@ -99,22 +74,22 @@ from_name…">
modified
flags.3?true
-
+Whether the story media was modified before reposting it (for example by overlaying a round video with a reaction).
from
flags.0?Peer
-
+Peer that originally posted the story; will be empty for stories forwarded from a user with forwards privacy enabled, in which case from_name
will be set, instead.
from_name
flags.1?string
-
+Will be set for stories forwarded from a user with forwards privacy enabled, in which case from
will also be empty.
story_id
flags.2?int
-
+, contains the story ID
diff --git a/data/web/corefork.telegram.org/constructor/storyItem.html b/data/web/corefork.telegram.org/constructor/storyItem.html
index 1a9c3b764f..6d74987f9d 100644
--- a/data/web/corefork.telegram.org/constructor/storyItem.html
+++ b/data/web/corefork.telegram.org/constructor/storyItem.html
@@ -129,7 +129,7 @@
fwd_from
flags.17?StoryFwdHeader
-
+For reposted stories », contains info about the original story.
expire_date
@@ -180,10 +180,10 @@
Telegram allows users to specify granular privacy settings, choosing which users can or can't interact with them in certain ways.
stories.getStoriesByID
Obtain full info about a set of stories by their IDs.
-Styled text with message entities
-How to create styled text with message entities
Stories
-Telegram users and channels can easily post and view stories through the API.
+Telegram users and channels can easily post and view stories through the API.
+Styled text with message entities
+How to create styled text with message entities
diff --git a/data/web/corefork.telegram.org/method/stories.sendStory.html b/data/web/corefork.telegram.org/method/stories.sendStory.html
index 89e8913350..8ec4e28d03 100644
--- a/data/web/corefork.telegram.org/method/stories.sendStory.html
+++ b/data/web/corefork.telegram.org/method/stories.sendStory.html
@@ -92,7 +92,7 @@
fwd_modified
flags.7?true
-
+Set this flag when reposting stories with fwd_from_id
+fwd_from_id
, if the media
was modified before reposting.
peer
@@ -137,12 +137,12 @@
fwd_from_id
flags.6?InputPeer
-
+If set, indicates that this story is a repost of story with ID fwd_from_story
posted by the peer in fwd_from_id
.
fwd_from_story
flags.6?int
-
+If set, indicates that this story is a repost of story with ID fwd_from_story
posted by the peer in fwd_from_id
.
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 0929f4d7c0..da7c7655e0 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 @@
1) Client sends query to server
Sent payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 E8 F0 0D 00 77 12 7B 65
-0010 | 14 00 00 00 F1 8E 7E BE B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39
+0000 | 00 00 00 00 00 00 00 00 BC E9 0E 00 70 87 7B 65
+0010 | 14 00 00 00 F1 8E 7E BE 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77
Payload (de)serialization:
req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
@@ -77,7 +77,7 @@
message_id
8, 8
-E8F00D0077127B65
+BCE90E0070877B65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
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 5C 90 BC 77 12 7B 65
-0010 | 6C 00 00 00 63 24 16 05 B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39 4D 54 EA 31 25 42 43 08
-0030 | 9E 77 01 9C 06 A5 29 F0 08 28 64 C6 51 3F EA 5E
-0040 | 97 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 08 DD 83 70 87 7B 65
+0010 | 70 00 00 00 63 24 16 05 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77 21 63 DE 11 E0 8D 2D 57
+0030 | A8 BF 45 B5 09 21 F8 F9 08 21 84 3C 19 01 A8 7C
+0040 | 41 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
-015C90BC77127B65
+0108DD8370877B65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-6C000000
(108 in decimal)
+70000000
(112 in decimal)
Message body length
@@ -150,19 +150,19 @@
nonce
24, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
40, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Server-generated random number
pq
56, 12
-082864C6513FEA5E97000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2910669311455157911
+0821843C1901A87C41000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2415121378277096513
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 = 2910669311455157911
-Decompose into 2 prime cofactors p < q
: 2910669311455157911 = 1652536009 * 1761334879
-p = 1652536009
-q = 1761334879
+pq = 2415121378277096513
+Decompose into 2 prime cofactors p < q
: 2415121378277096513 = 1407495223 * 1715900231
+p = 1407495223
+q = 1715900231
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 28 64 C6 51 3F EA 5E 97 00 00 00
-0010 | 04 62 7F B2 C9 00 00 00 04 68 FB D6 5F 00 00 00
-0020 | B8 F9 ED 7E FD ED 7E E9 3F AD BE 6C 51 43 F6 39
-0030 | 4D 54 EA 31 25 42 43 08 9E 77 01 9C 06 A5 29 F0
-0040 | 04 95 A8 C6 99 65 6E 8E 1E 82 D7 58 79 73 AD AB
-0050 | 51 95 4C 4F 99 2B 0B 23 CB FE 10 B1 E6 DA 5E B7
+0000 | 95 5F F5 A9 08 21 84 3C 19 01 A8 7C 41 00 00 00
+0010 | 04 53 E4 AC 37 00 00 00 04 66 46 8F 47 00 00 00
+0020 | 48 18 19 9E 5C 2C 90 29 E8 89 4B 0B D5 DC 68 77
+0030 | 21 63 DE 11 E0 8D 2D 57 A8 BF 45 B5 09 21 F8 F9
+0040 | 40 8B 78 A5 3C 89 B6 79 C2 21 EB AA C7 9F 11 58
+0050 | CE C5 16 05 E9 AB A5 68 18 D0 8E 2C AD 7E C4 3E
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 = 1761334879
pq
4, 12
-082864C6513FEA5E97000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2910669311455157911
+0821843C1901A87C41000000
TL byte deserialization
=> bigendian conversion to decimal
=> 2415121378277096513
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-04627FB2C9000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1652536009
+0453E4AC37000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1407495223
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-0468FBD65F000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1761334879
+0466468F47000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1715900231
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
48, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
new_nonce
64, 32
-0495A8C699656E8E1E82D7587973ADAB
51954C4F992B0B23CBFE10B1E6DA5EB7
+408B78A53C89B679C221EBAAC79F1158
CEC51605E9ABA56818D08E2CAD7EC43E
Client-generated random number
@@ -291,39 +291,39 @@ q = 1761334879
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 = 955FF5A9082864C6513FEA5E9700000004627FB2C90000000468FBD65F000000B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F00495A8C699656E8E1E82D7587973ADAB51954C4F992B0B23CBFE10B1E6DA5EB702000000
-random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F313689285293E6ABD665227D7D7F6DF9747964AFFD8BFE7FB449BEB40C4F3A60DB0391F8A542A103F940229C410AE127DE75A755E2D1F78D2015B7B4BFBB3E8C5
+data = 955FF5A90821843C1901A87C410000000453E4AC370000000466468F470000004818199E5C2C9029E8894B0BD5DC68772163DE11E08D2D57A8BF45B50921F8F9408B78A53C89B679C221EBAAC79F1158CEC51605E9ABA56818D08E2CAD7EC43E02000000
+random_padding_bytes = FC7FE25DCA34F6F776A62D270F12B49390B74D47CB5D762700D0EB0B1CFF80FAA086F815EB3A17D08A4D97CC4C254462C3E3178B174CA396D36894233C02854A516189341FA6E5A6CD17E341F7110F1534373DC251209E3D3E35F9BD
And this is the output:
-encrypted_data = 8CA8796C05681B04A1E690D8B70EB945B564654412521387042FCBD4D640184295D621CA9DBBB3B87A5CA2344C6C64D26C4F2652AE6C734227B966FFB030EADF791D0043E98CD9074414C3EC5E8C2E14CB40236B9A0B7533207BD76B0C967969B338C47A7931336B9D1E00B544FA1609AE240817B02922336DC0822A8329761A4F5D65ACFECE79C1379D98F45C346D07CC3F0C785B2A3A04815669B7B1050F98D96476E99637348C66022D079FDE1E40DE34B9588780530610FF5EF0360C260C8C043FEE9708CC5AE5D8F4982F063192424C3B525FEB3298F14E1CF81CD8BC90B95BF2BFDF62B21F29E086134D0ECC05FC4DCD7DF34C774472C32C82553082A0
+encrypted_data = 360B4B89BD69432AEAD228B673E7588B601A3CB1181B4A3DC121020A50AEE9AC411912F33F6E3706A01F642CFEC900F65DBFC579C4D1DC8383EBED5A4C94F4814BEA615196A7607D283E52879437F4C9C6E4B7D9E203BB38DB07EAB2C170DB605C2825ADD7812CF97A7EB8E1A6C1EFBCBCA7349B524D16DB6773506A5521147FF791F52E4DE29846C9A12EAF6CC965B2B5221EA56E1CF5CE558ECEB777827EEDCF49C1083C19A2060CC5F7DAEC806E0BFC1EF4B9C3374A8ADE2802FB3CCDEE0426231B1D537389468AD1F53C93175EB112F1629880F71FFC1ED48BDF9EA219BC301279A0BC7BC9BC74237525A94C86B2E9B369B7D0D6EB7E4620E0D1738FBC27
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 EC F0 0D 00 77 12 7B 65
-0010 | 40 01 00 00 BE E4 12 D7 B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39 4D 54 EA 31 25 42 43 08
-0030 | 9E 77 01 9C 06 A5 29 F0 04 62 7F B2 C9 00 00 00
-0040 | 04 68 FB D6 5F 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 8C A8 79 6C 05 68 1B 04 A1 E6 90 D8
-0060 | B7 0E B9 45 B5 64 65 44 12 52 13 87 04 2F CB D4
-0070 | D6 40 18 42 95 D6 21 CA 9D BB B3 B8 7A 5C A2 34
-0080 | 4C 6C 64 D2 6C 4F 26 52 AE 6C 73 42 27 B9 66 FF
-0090 | B0 30 EA DF 79 1D 00 43 E9 8C D9 07 44 14 C3 EC
-00A0 | 5E 8C 2E 14 CB 40 23 6B 9A 0B 75 33 20 7B D7 6B
-00B0 | 0C 96 79 69 B3 38 C4 7A 79 31 33 6B 9D 1E 00 B5
-00C0 | 44 FA 16 09 AE 24 08 17 B0 29 22 33 6D C0 82 2A
-00D0 | 83 29 76 1A 4F 5D 65 AC FE CE 79 C1 37 9D 98 F4
-00E0 | 5C 34 6D 07 CC 3F 0C 78 5B 2A 3A 04 81 56 69 B7
-00F0 | B1 05 0F 98 D9 64 76 E9 96 37 34 8C 66 02 2D 07
-0100 | 9F DE 1E 40 DE 34 B9 58 87 80 53 06 10 FF 5E F0
-0110 | 36 0C 26 0C 8C 04 3F EE 97 08 CC 5A E5 D8 F4 98
-0120 | 2F 06 31 92 42 4C 3B 52 5F EB 32 98 F1 4E 1C F8
-0130 | 1C D8 BC 90 B9 5B F2 BF DF 62 B2 1F 29 E0 86 13
-0140 | 4D 0E CC 05 FC 4D CD 7D F3 4C 77 44 72 C3 2C 82
-0150 | 55 30 82 A0
+0000 | 00 00 00 00 00 00 00 00 C0 E9 0E 00 70 87 7B 65
+0010 | 40 01 00 00 BE E4 12 D7 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77 21 63 DE 11 E0 8D 2D 57
+0030 | A8 BF 45 B5 09 21 F8 F9 04 53 E4 AC 37 00 00 00
+0040 | 04 66 46 8F 47 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 36 0B 4B 89 BD 69 43 2A EA D2 28 B6
+0060 | 73 E7 58 8B 60 1A 3C B1 18 1B 4A 3D C1 21 02 0A
+0070 | 50 AE E9 AC 41 19 12 F3 3F 6E 37 06 A0 1F 64 2C
+0080 | FE C9 00 F6 5D BF C5 79 C4 D1 DC 83 83 EB ED 5A
+0090 | 4C 94 F4 81 4B EA 61 51 96 A7 60 7D 28 3E 52 87
+00A0 | 94 37 F4 C9 C6 E4 B7 D9 E2 03 BB 38 DB 07 EA B2
+00B0 | C1 70 DB 60 5C 28 25 AD D7 81 2C F9 7A 7E B8 E1
+00C0 | A6 C1 EF BC BC A7 34 9B 52 4D 16 DB 67 73 50 6A
+00D0 | 55 21 14 7F F7 91 F5 2E 4D E2 98 46 C9 A1 2E AF
+00E0 | 6C C9 65 B2 B5 22 1E A5 6E 1C F5 CE 55 8E CE B7
+00F0 | 77 82 7E ED CF 49 C1 08 3C 19 A2 06 0C C5 F7 DA
+0100 | EC 80 6E 0B FC 1E F4 B9 C3 37 4A 8A DE 28 02 FB
+0110 | 3C CD EE 04 26 23 1B 1D 53 73 89 46 8A D1 F5 3C
+0120 | 93 17 5E B1 12 F1 62 98 80 F7 1F FC 1E D4 8B DF
+0130 | 9E A2 19 BC 30 12 79 A0 BC 7B C9 BC 74 23 75 25
+0140 | A9 4C 86 B2 E9 B3 69 B7 D0 D6 EB 7E 46 20 E0 D1
+0150 | 73 8F BC 27
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 = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
message_id
8, 8
-ECF00D0077127B65
+C0E90E0070877B65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
nonce
24, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
40, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
p
56, 8
-04627FB2C9000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1652536009
+0453E4AC37000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1407495223
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-0468FBD65F000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1761334879
+0466468F47000000
TL byte deserialization
=> bigendian conversion to decimal
=> 1715900231
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
encrypted_data
80, 260
-FE0001008CA8796C05681B04A1E690D8
B70EB945B564654412521387042FCBD4
D640184295D621CA9DBBB3B87A5CA234
4C6C64D26C4F2652AE6C734227B966FF
B030EADF791D0043E98CD9074414C3EC
5E8C2E14CB40236B9A0B7533207BD76B
0C967969B338C47A7931336B9D1E00B5
44FA1609AE240817B02922336DC0822A
8329761A4F5D65ACFECE79C1379D98F4
5C346D07CC3F0C785B2A3A04815669B7
B1050F98D96476E99637348C66022D07
9FDE1E40DE34B9588780530610FF5EF0
360C260C8C043FEE9708CC5AE5D8F498
2F063192424C3B525FEB3298F14E1CF8
1CD8BC90B95BF2BFDF62B21F29E08613
4D0ECC05FC4DCD7DF34C774472C32C82
553082A0
+FE000100360B4B89BD69432AEAD228B6
73E7588B601A3CB1181B4A3DC121020A
50AEE9AC411912F33F6E3706A01F642C
FEC900F65DBFC579C4D1DC8383EBED5A
4C94F4814BEA615196A7607D283E5287
9437F4C9C6E4B7D9E203BB38DB07EAB2
C170DB605C2825ADD7812CF97A7EB8E1
A6C1EFBCBCA7349B524D16DB6773506A
5521147FF791F52E4DE29846C9A12EAF
6CC965B2B5221EA56E1CF5CE558ECEB7
77827EEDCF49C1083C19A2060CC5F7DA
EC806E0BFC1EF4B9C3374A8ADE2802FB
3CCDEE0426231B1D537389468AD1F53C
93175EB112F1629880F71FFC1ED48BDF
9EA219BC301279A0BC7BC9BC74237525
A94C86B2E9B369B7D0D6EB7E4620E0D1
738FBC27
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 38 CA 74 78 12 7B 65
-0010 | 78 02 00 00 5C 07 E8 D0 B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39 4D 54 EA 31 25 42 43 08
-0030 | 9E 77 01 9C 06 A5 29 F0 FE 50 02 00 EF 35 0C F0
-0040 | A4 32 F0 37 F4 D2 83 5F DF F9 9B 0C F6 8C 82 16
-0050 | BD 1F 40 7A 24 70 D4 68 97 D2 4E 19 A3 D7 B9 82
-0060 | EE 08 BB 08 4D 1B 5F AC B2 8E 3B D9 C3 03 A8 B4
-0070 | EE E8 0F 3F B1 FD AD A5 63 6C 02 B4 55 04 A9 65
-0080 | AA 76 1A EC CE 3C 70 B4 12 76 64 5D 5C 0F CC 16
-0090 | 15 E4 FC 46 2D 4A 0B 36 F0 C6 0E 8D 4F 5F 39 38
-00A0 | A9 BE DA FF EB 5C BA DD A4 9F EE F2 0D 0F 8A 44
-00B0 | 60 4E 4D 19 F3 AC 2C 00 F3 1C 2C B8 3D C7 01 61
-00C0 | DB 0E 09 13 F6 B7 08 64 D1 C4 12 70 21 85 7A CF
-00D0 | 7E FF FC 88 9F 6C B7 3D FF C2 38 6B 03 9E F3 F8
-00E0 | 2A 35 47 9B E2 F8 C3 4F A1 66 39 E9 59 D1 3B BC
-00F0 | F5 F0 6B 03 E6 E8 93 3C AF 66 0B FE 7F 7F AD D1
-0100 | C7 65 B3 12 B8 CA DB 74 48 91 27 D7 7D BC E0 E8
-0110 | E8 15 E9 DE 09 6F ED E0 BE 5D 57 8C 65 E0 20 14
-0120 | 7C 15 37 32 E1 56 0B 55 D1 84 FE 71 BC 3F AE 52
-0130 | 1F 65 2E 78 FB 13 2D 70 88 00 C2 3A 52 B3 19 26
-0140 | A3 4C 72 E2 21 AC 9F 6B 01 36 70 26 83 59 15 28
-0150 | 21 6E 78 D8 68 A4 21 4F F3 A8 9D 79 13 E0 9A 2C
-0160 | FB 43 01 CA 14 93 13 32 FF 35 C5 ED D2 93 F1 B5
-0170 | EA A3 28 CA 5D B7 FE 3F 3F 5D 9C 5D 1C 0A 0F B3
-0180 | 0B 63 12 41 EB 15 DF D0 18 F6 44 C9 E8 CE 7F F7
-0190 | 9A 5A DD 9E 34 15 13 B0 ED F8 9D 2D 0B 1E 8F 34
-01A0 | 96 23 D5 E3 77 DC 1D F1 86 9D F2 70 87 0C 2E CF
-01B0 | 17 69 BD B0 BA 63 1A 4D 31 04 80 35 CE FF 0A 45
-01C0 | 50 7F AC DA CB 17 09 36 DD 2C 42 A8 1F FB A9 2D
-01D0 | 4E C6 D0 E8 78 EA B5 20 08 25 67 25 3B C7 76 B8
-01E0 | E2 1B F2 9C 38 93 82 17 92 C1 B5 74 C4 31 EA 1B
-01F0 | FE 91 F3 9B E1 A7 B7 25 D5 BF 6F 2E F7 E3 F3 E0
-0200 | 81 6C 7B CC CF F6 97 35 11 AD 68 CC 72 51 21 D9
-0210 | 30 CC FB C5 E2 4E FC 9B 55 B8 43 9D 54 61 36 C4
-0220 | C4 F1 50 29 38 58 74 A1 E7 D4 57 98 A7 62 81 9A
-0230 | EE 49 20 66 44 41 39 88 B2 2F DE 28 48 D2 19 4C
-0240 | B9 2F C9 67 C4 C8 DA 10 AD 71 82 65 92 6D 97 90
-0250 | A8 D1 30 A4 84 D2 D7 17 3B 7E 84 B6 70 2B D6 01
-0260 | 58 3E CB 63 98 02 2B F2 A9 1A 81 53 8B F7 BC 63
-0270 | 89 BF 07 A7 F3 5D BC 68 2A F5 6E A4 1E A1 7B 6F
-0280 | 81 4E 71 2A 9C 8B 45 49 E3 96 A1 31
+0000 | 00 00 00 00 00 00 00 00 01 C0 0D 4C 71 87 7B 65
+0010 | 7C 02 00 00 5C 07 E8 D0 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77 21 63 DE 11 E0 8D 2D 57
+0030 | A8 BF 45 B5 09 21 F8 F9 FE 50 02 00 F0 D0 8A 47
+0040 | 22 FF 05 36 FE 0D 0E 80 20 11 96 F1 1B 6D B2 DE
+0050 | 79 7A 95 A0 B6 BE 47 BC 61 DE 85 5D AF 73 85 83
+0060 | 35 29 20 FD 79 C6 49 61 41 29 CB 11 86 46 38 E7
+0070 | CD 7C 81 E6 23 0B 96 B1 AF 97 9A 47 81 83 7A D9
+0080 | 8A 03 CC 2A 06 38 C1 ED 76 4F 6B C8 46 0D 55 7E
+0090 | 2C 07 B1 D7 E4 21 23 43 A0 7E 1E 2A B6 EA 56 1C
+00A0 | 47 6C C4 A3 D2 BF 61 CD 1A 3E 40 18 2D AE B5 C4
+00B0 | B6 BA B7 01 01 D6 D7 B2 F6 BF 27 F4 C2 F7 30 D6
+00C0 | 94 0E E8 4D 10 4A 63 7C EA 1F 65 AE 2C 5C 43 2E
+00D0 | F7 36 A2 1C 97 FF D6 61 D9 0B 82 56 10 DC 54 DB
+00E0 | AC 19 E7 C2 76 F2 3D B2 F3 9E 88 9D E2 2D DF C4
+00F0 | C5 D6 42 D8 E3 07 88 6C F3 B0 9A F0 0E 26 D9 39
+0100 | 8A 40 4C 10 AF 42 22 F4 31 AC E2 28 EE 70 96 BE
+0110 | 5E 5C 6B 1E 6C 82 89 7E D3 E0 94 FB CD 38 E6 95
+0120 | D9 BA 71 5B 98 8A 76 E1 8B 02 A5 3C 6D 45 8E 3B
+0130 | A1 8A 67 65 7E F2 26 B3 F6 6E 13 99 B0 93 F1 6C
+0140 | CD 27 4A 86 C7 94 86 93 73 D6 C1 B9 07 9D E7 D1
+0150 | 06 B0 75 D5 FD 9A 9B 81 B8 3D 63 9E 8F 75 37 40
+0160 | 07 F0 21 3C 2B 19 02 95 B9 4D D8 90 6C BB 9A C4
+0170 | C1 04 B9 9C F9 5B A9 55 64 FA EE 23 A0 A2 F6 3A
+0180 | 01 E6 CD 5B 23 0B 59 B7 A2 9F AA 95 04 D8 38 0F
+0190 | 50 D2 D9 C4 7A 97 1F 22 9A B0 8F C1 1C 41 2E 38
+01A0 | ED A7 C0 09 53 31 5A 3F 07 4E 3C 92 37 CC EF BF
+01B0 | 5B 0E 09 15 C2 15 41 DA B5 D5 DA 2C A2 0F 1F 32
+01C0 | 02 DF 6E 8C D0 FB 73 83 C8 32 00 5A 3F A5 5A B3
+01D0 | 0C B0 A3 E3 E6 5C 8C BF EF 6E A4 C1 EE 9F EE F0
+01E0 | B3 DB F6 FA 61 33 21 58 86 4C 65 5A 00 EC CA F5
+01F0 | 40 3D 71 AA 29 0D D7 09 CB AF D2 E8 E3 0B 98 A3
+0200 | F6 A7 96 74 4F B9 F0 8A 97 A0 67 4F 3B A6 F3 81
+0210 | 49 15 01 FA E7 E1 55 DB 22 28 F7 DB 00 C8 B9 7E
+0220 | 70 34 C7 B8 78 C0 9C 52 E5 90 78 5B AE DF B3 05
+0230 | 75 BA 43 B8 5F 9B 3D 17 15 C0 CC 58 85 80 AB 01
+0240 | 30 B8 B1 9F 3B B5 96 5D 69 2B BE 51 E0 2F 36 71
+0250 | 37 16 09 93 1B 11 DE EC 45 1B D9 D8 95 A5 BC CE
+0260 | D7 AB 08 60 3F C0 A5 55 27 6B 77 38 62 77 B5 C9
+0270 | 74 95 4C 43 D8 75 6A F9 6C 4F 93 84 C2 A4 1B A3
+0280 | C7 E8 EB 07 D1 95 51 DA 87 FF 63 65
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 = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
message_id
8, 8
-0138CA7478127B65
+01C00D4C71877B65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-78020000
(632 in decimal)
+7C020000
(636 in decimal)
Message body length
@@ -482,19 +482,19 @@ random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
nonce
24, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
40, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
encrypted_answer
56, 596
-FE500200EF350CF0A432F037F4D2835F
DFF99B0CF68C8216BD1F407A2470D468
97D24E19A3D7B982EE08BB084D1B5FAC
B28E3BD9C303A8B4EEE80F3FB1FDADA5
636C02B45504A965AA761AECCE3C70B4
1276645D5C0FCC1615E4FC462D4A0B36
F0C60E8D4F5F3938A9BEDAFFEB5CBADD
A49FEEF20D0F8A44604E4D19F3AC2C00
F31C2CB83DC70161DB0E0913F6B70864
D1C4127021857ACF7EFFFC889F6CB73D
FFC2386B039EF3F82A35479BE2F8C34F
A16639E959D13BBCF5F06B03E6E8933C
AF660BFE7F7FADD1C765B312B8CADB74
489127D77DBCE0E8E815E9DE096FEDE0
BE5D578C65E020147C153732E1560B55
D184FE71BC3FAE521F652E78FB132D70
8800C23A52B31926A34C72E221AC9F6B
0136702683591528216E78D868A4214F
F3A89D7913E09A2CFB4301CA14931332
FF35C5EDD293F1B5EAA328CA5DB7FE3F
3F5D9C5D1C0A0FB30B631241EB15DFD0
18F644C9E8CE7FF79A5ADD9E341513B0
EDF89D2D0B1E8F349623D5E377DC1DF1
869DF270870C2ECF1769BDB0BA631A4D
31048035CEFF0A45507FACDACB170936
DD2C42A81FFBA92D4EC6D0E878EAB520
082567253BC776B8E21BF29C38938217
92C1B574C431EA1BFE91F39BE1A7B725
D5BF6F2EF7E3F3E0816C7BCCCFF69735
11AD68CC725121D930CCFBC5E24EFC9B
55B8439D546136C4C4F15029385874A1
E7D45798A762819AEE49206644413988
B22FDE2848D2194CB92FC967C4C8DA10
AD718265926D9790A8D130A484D2D717
3B7E84B6702BD601583ECB6398022BF2
A91A81538BF7BC6389BF07A7F35DBC68
2AF56EA41EA17B6F814E712A9C8B4549
E396A131
+FE500200F0D08A4722FF0536FE0D0E80
201196F11B6DB2DE797A95A0B6BE47BC
61DE855DAF738583352920FD79C64961
4129CB11864638E7CD7C81E6230B96B1
AF979A4781837AD98A03CC2A0638C1ED
764F6BC8460D557E2C07B1D7E4212343
A07E1E2AB6EA561C476CC4A3D2BF61CD
1A3E40182DAEB5C4B6BAB70101D6D7B2
F6BF27F4C2F730D6940EE84D104A637C
EA1F65AE2C5C432EF736A21C97FFD661
D90B825610DC54DBAC19E7C276F23DB2
F39E889DE22DDFC4C5D642D8E307886C
F3B09AF00E26D9398A404C10AF4222F4
31ACE228EE7096BE5E5C6B1E6C82897E
D3E094FBCD38E695D9BA715B988A76E1
8B02A53C6D458E3BA18A67657EF226B3
F66E1399B093F16CCD274A86C7948693
73D6C1B9079DE7D106B075D5FD9A9B81
B83D639E8F75374007F0213C2B190295
B94DD8906CBB9AC4C104B99CF95BA955
64FAEE23A0A2F63A01E6CD5B230B59B7
A29FAA9504D8380F50D2D9C47A971F22
9AB08FC11C412E38EDA7C00953315A3F
074E3C9237CCEFBF5B0E0915C21541DA
B5D5DA2CA20F1F3202DF6E8CD0FB7383
C832005A3FA55AB30CB0A3E3E65C8CBF
EF6EA4C1EE9FEEF0B3DBF6FA61332158
864C655A00ECCAF5403D71AA290DD709
CBAFD2E8E30B98A3F6A796744FB9F08A
97A0674F3BA6F381491501FAE7E155DB
2228F7DB00C8B97E7034C7B878C09C52
E590785BAEDFB30575BA43B85F9B3D17
15C0CC588580AB0130B8B19F3BB5965D
692BBE51E02F3671371609931B11DEEC
451BD9D895A5BCCED7AB08603FC0A555
276B77386277B5C974954C43D8756AF9
6C4F9384C2A41BA3C7E8EB07D19551DA
87FF6365
See below
@@ -502,20 +502,20 @@ random_padding_bytes = B70F17797E40020F2084C997F2FBA831F3757D853C154951DBA3A9F31
Decrypt encrypted_answer
using the reverse of the process specified in step 6:
-encrypted_answer = EF350CF0A432F037F4D2835FDFF99B0CF68C8216BD1F407A2470D46897D24E19A3D7B982EE08BB084D1B5FACB28E3BD9C303A8B4EEE80F3FB1FDADA5636C02B45504A965AA761AECCE3C70B41276645D5C0FCC1615E4FC462D4A0B36F0C60E8D4F5F3938A9BEDAFFEB5CBADDA49FEEF20D0F8A44604E4D19F3AC2C00F31C2CB83DC70161DB0E0913F6B70864D1C4127021857ACF7EFFFC889F6CB73DFFC2386B039EF3F82A35479BE2F8C34FA16639E959D13BBCF5F06B03E6E8933CAF660BFE7F7FADD1C765B312B8CADB74489127D77DBCE0E8E815E9DE096FEDE0BE5D578C65E020147C153732E1560B55D184FE71BC3FAE521F652E78FB132D708800C23A52B31926A34C72E221AC9F6B0136702683591528216E78D868A4214FF3A89D7913E09A2CFB4301CA14931332FF35C5EDD293F1B5EAA328CA5DB7FE3F3F5D9C5D1C0A0FB30B631241EB15DFD018F644C9E8CE7FF79A5ADD9E341513B0EDF89D2D0B1E8F349623D5E377DC1DF1869DF270870C2ECF1769BDB0BA631A4D31048035CEFF0A45507FACDACB170936DD2C42A81FFBA92D4EC6D0E878EAB520082567253BC776B8E21BF29C3893821792C1B574C431EA1BFE91F39BE1A7B725D5BF6F2EF7E3F3E0816C7BCCCFF6973511AD68CC725121D930CCFBC5E24EFC9B55B8439D546136C4C4F15029385874A1E7D45798A762819AEE49206644413988B22FDE2848D2194CB92FC967C4C8DA10AD718265926D9790A8D130A484D2D7173B7E84B6702BD601583ECB6398022BF2A91A81538BF7BC6389BF07A7F35DBC682AF56EA41EA17B6F814E712A9C8B4549E396A131
-tmp_aes_key = 5028FB57D07AD7AEA070D02B26E6BDE4AB80742328D35421B99A5D37ABE9C368
-tmp_aes_iv = BF6F3CBFCFD7D76DF70B881BF7C1B98C341468E67EC78092191B35790495A8C6
+encrypted_answer = F0D08A4722FF0536FE0D0E80201196F11B6DB2DE797A95A0B6BE47BC61DE855DAF738583352920FD79C649614129CB11864638E7CD7C81E6230B96B1AF979A4781837AD98A03CC2A0638C1ED764F6BC8460D557E2C07B1D7E4212343A07E1E2AB6EA561C476CC4A3D2BF61CD1A3E40182DAEB5C4B6BAB70101D6D7B2F6BF27F4C2F730D6940EE84D104A637CEA1F65AE2C5C432EF736A21C97FFD661D90B825610DC54DBAC19E7C276F23DB2F39E889DE22DDFC4C5D642D8E307886CF3B09AF00E26D9398A404C10AF4222F431ACE228EE7096BE5E5C6B1E6C82897ED3E094FBCD38E695D9BA715B988A76E18B02A53C6D458E3BA18A67657EF226B3F66E1399B093F16CCD274A86C794869373D6C1B9079DE7D106B075D5FD9A9B81B83D639E8F75374007F0213C2B190295B94DD8906CBB9AC4C104B99CF95BA95564FAEE23A0A2F63A01E6CD5B230B59B7A29FAA9504D8380F50D2D9C47A971F229AB08FC11C412E38EDA7C00953315A3F074E3C9237CCEFBF5B0E0915C21541DAB5D5DA2CA20F1F3202DF6E8CD0FB7383C832005A3FA55AB30CB0A3E3E65C8CBFEF6EA4C1EE9FEEF0B3DBF6FA61332158864C655A00ECCAF5403D71AA290DD709CBAFD2E8E30B98A3F6A796744FB9F08A97A0674F3BA6F381491501FAE7E155DB2228F7DB00C8B97E7034C7B878C09C52E590785BAEDFB30575BA43B85F9B3D1715C0CC588580AB0130B8B19F3BB5965D692BBE51E02F3671371609931B11DEEC451BD9D895A5BCCED7AB08603FC0A555276B77386277B5C974954C43D8756AF96C4F9384C2A41BA3C7E8EB07D19551DA87FF6365
+tmp_aes_key = EFEE3DDE87871EE456FFE7D49BDDFC35B6A602DCD88104DE3B916E7B78D9B0C5
+tmp_aes_iv = 78AA7B8D5CAF102BF3DBF0B6CD90720A6FDF35903B4A8448368D1587408B78A5
Yielding:
-answer_with_hash = 398932855BF3991F6550E2CA2D2814AD5B38B854BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100364CFD00A68FCCB95EA58EE4109BE9E30B132F37C0D88DB92059FDF77EDE753539085094B7D23F7E4A8A7603075FFFFD8FEFF0BFFB09CFCE9D977A8617006A669B2D6CA10BF6A753A57695D22165F15E95E8A1DD02452C956B350A52B87FB08A3093DE1068147D4103279F9EDB04C46E7C5ECC7F368CDC9856D40F4C910470ECA8EBBE71C03A6505FBD54655D4874E1F1A4100535A271DF64F7ED72ECDA7EEABA90A09D10FFF8F1B4CC2620C2D133D13ACF7B655A57E1D571F2998BD3D85977253F65AE1C3D11A56FDCE791170ED80B555D8DC0FB28FBFDEC5B31EF3AAAEEA246B620A68EE28A475C9753DDC5E2AA0D372A4E353C5BEE5A84D072E39D50F900B78127B65A06FF77399181DB2
-answer = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100364CFD00A68FCCB95EA58EE4109BE9E30B132F37C0D88DB92059FDF77EDE753539085094B7D23F7E4A8A7603075FFFFD8FEFF0BFFB09CFCE9D977A8617006A669B2D6CA10BF6A753A57695D22165F15E95E8A1DD02452C956B350A52B87FB08A3093DE1068147D4103279F9EDB04C46E7C5ECC7F368CDC9856D40F4C910470ECA8EBBE71C03A6505FBD54655D4874E1F1A4100535A271DF64F7ED72ECDA7EEABA90A09D10FFF8F1B4CC2620C2D133D13ACF7B655A57E1D571F2998BD3D85977253F65AE1C3D11A56FDCE791170ED80B555D8DC0FB28FBFDEC5B31EF3AAAEEA246B620A68EE28A475C9753DDC5E2AA0D372A4E353C5BEE5A84D072E39D50F900B78127B65A06FF77399181DB2
+answer_with_hash = F9BD98069687178F2F1C67C205DE9E858EE691FEBA0D89B54818199E5C2C9029E8894B0BD5DC68772163DE11E08D2D57A8BF45B50921F8F903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100BEEA8F4FA6CD228E02ED03752538DD1B13AF61A1A38A281493D0239E2794D323CC95812974E782DFAA060B5D185FEBA4EA142759FC8EF4915D456D3C4085EE262E28027569FD5440D0D6108604454FC236A7141DEDF3AFFC9E6E3CFF43D9C9B56579E71BF3B5B2900D7CDBCE7F00EEC964218769737E1C6FE8036AB36F0FD5467E39EEE972AA4C246B265B76617F7D235C0BA43EE6149B4413F8F05E9D03AAF49F6A3F256F5B84AB5ECF210226F47BBFF1E47069BC1D296BF374811BFAE88AD65E9122EB7E8F503C17C4C0489A1A30B569F90EDAD26C318FDBA389E931F5182AEC21733FC8A664DC6231E9B8381306D34B0EF7EC1D1985DA1066B97FB8FEADF771877B65E0E1CD79A6DF0D6E
+answer = BA0D89B54818199E5C2C9029E8894B0BD5DC68772163DE11E08D2D57A8BF45B50921F8F903000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100BEEA8F4FA6CD228E02ED03752538DD1B13AF61A1A38A281493D0239E2794D323CC95812974E782DFAA060B5D185FEBA4EA142759FC8EF4915D456D3C4085EE262E28027569FD5440D0D6108604454FC236A7141DEDF3AFFC9E6E3CFF43D9C9B56579E71BF3B5B2900D7CDBCE7F00EEC964218769737E1C6FE8036AB36F0FD5467E39EEE972AA4C246B265B76617F7D235C0BA43EE6149B4413F8F05E9D03AAF49F6A3F256F5B84AB5ECF210226F47BBFF1E47069BC1D296BF374811BFAE88AD65E9122EB7E8F503C17C4C0489A1A30B569F90EDAD26C318FDBA389E931F5182AEC21733FC8A664DC6231E9B8381306D34B0EF7EC1D1985DA1066B97FB8FEADF771877B65E0E1CD79A6DF0D6E
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 B8 F9 ED 7E FD ED 7E E9 3F AD BE 6C
-0010 | 51 43 F6 39 4D 54 EA 31 25 42 43 08 9E 77 01 9C
-0020 | 06 A5 29 F0 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 48 18 19 9E 5C 2C 90 29 E8 89 4B 0B
+0010 | D5 DC 68 77 21 63 DE 11 E0 8D 2D 57 A8 BF 45 B5
+0020 | 09 21 F8 F9 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 = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
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 | 36 4C FD 00 A6 8F CC B9 5E A5 8E E4 10 9B E9 E3
-0140 | 0B 13 2F 37 C0 D8 8D B9 20 59 FD F7 7E DE 75 35
-0150 | 39 08 50 94 B7 D2 3F 7E 4A 8A 76 03 07 5F FF FD
-0160 | 8F EF F0 BF FB 09 CF CE 9D 97 7A 86 17 00 6A 66
-0170 | 9B 2D 6C A1 0B F6 A7 53 A5 76 95 D2 21 65 F1 5E
-0180 | 95 E8 A1 DD 02 45 2C 95 6B 35 0A 52 B8 7F B0 8A
-0190 | 30 93 DE 10 68 14 7D 41 03 27 9F 9E DB 04 C4 6E
-01A0 | 7C 5E CC 7F 36 8C DC 98 56 D4 0F 4C 91 04 70 EC
-01B0 | A8 EB BE 71 C0 3A 65 05 FB D5 46 55 D4 87 4E 1F
-01C0 | 1A 41 00 53 5A 27 1D F6 4F 7E D7 2E CD A7 EE AB
-01D0 | A9 0A 09 D1 0F FF 8F 1B 4C C2 62 0C 2D 13 3D 13
-01E0 | AC F7 B6 55 A5 7E 1D 57 1F 29 98 BD 3D 85 97 72
-01F0 | 53 F6 5A E1 C3 D1 1A 56 FD CE 79 11 70 ED 80 B5
-0200 | 55 D8 DC 0F B2 8F BF DE C5 B3 1E F3 AA AE EA 24
-0210 | 6B 62 0A 68 EE 28 A4 75 C9 75 3D DC 5E 2A A0 D3
-0220 | 72 A4 E3 53 C5 BE E5 A8 4D 07 2E 39 D5 0F 90 0B
-0230 | 78 12 7B 65
+0130 | BE EA 8F 4F A6 CD 22 8E 02 ED 03 75 25 38 DD 1B
+0140 | 13 AF 61 A1 A3 8A 28 14 93 D0 23 9E 27 94 D3 23
+0150 | CC 95 81 29 74 E7 82 DF AA 06 0B 5D 18 5F EB A4
+0160 | EA 14 27 59 FC 8E F4 91 5D 45 6D 3C 40 85 EE 26
+0170 | 2E 28 02 75 69 FD 54 40 D0 D6 10 86 04 45 4F C2
+0180 | 36 A7 14 1D ED F3 AF FC 9E 6E 3C FF 43 D9 C9 B5
+0190 | 65 79 E7 1B F3 B5 B2 90 0D 7C DB CE 7F 00 EE C9
+01A0 | 64 21 87 69 73 7E 1C 6F E8 03 6A B3 6F 0F D5 46
+01B0 | 7E 39 EE E9 72 AA 4C 24 6B 26 5B 76 61 7F 7D 23
+01C0 | 5C 0B A4 3E E6 14 9B 44 13 F8 F0 5E 9D 03 AA F4
+01D0 | 9F 6A 3F 25 6F 5B 84 AB 5E CF 21 02 26 F4 7B BF
+01E0 | F1 E4 70 69 BC 1D 29 6B F3 74 81 1B FA E8 8A D6
+01F0 | 5E 91 22 EB 7E 8F 50 3C 17 C4 C0 48 9A 1A 30 B5
+0200 | 69 F9 0E DA D2 6C 31 8F DB A3 89 E9 31 F5 18 2A
+0210 | EC 21 73 3F C8 A6 64 DC 62 31 E9 B8 38 13 06 D3
+0220 | 4B 0E F7 EC 1D 19 85 DA 10 66 B9 7F B8 FE AD F7
+0230 | 71 87 7B 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 = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
nonce
4, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
20, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
g_a
300, 260
-FE000100364CFD00A68FCCB95EA58EE4
109BE9E30B132F37C0D88DB92059FDF7
7EDE753539085094B7D23F7E4A8A7603
075FFFFD8FEFF0BFFB09CFCE9D977A86
17006A669B2D6CA10BF6A753A57695D2
2165F15E95E8A1DD02452C956B350A52
B87FB08A3093DE1068147D4103279F9E
DB04C46E7C5ECC7F368CDC9856D40F4C
910470ECA8EBBE71C03A6505FBD54655
D4874E1F1A4100535A271DF64F7ED72E
CDA7EEABA90A09D10FFF8F1B4CC2620C
2D133D13ACF7B655A57E1D571F2998BD
3D85977253F65AE1C3D11A56FDCE7911
70ED80B555D8DC0FB28FBFDEC5B31EF3
AAAEEA246B620A68EE28A475C9753DDC
5E2AA0D372A4E353C5BEE5A84D072E39
D50F900B
+FE000100BEEA8F4FA6CD228E02ED0375
2538DD1B13AF61A1A38A281493D0239E
2794D323CC95812974E782DFAA060B5D
185FEBA4EA142759FC8EF4915D456D3C
4085EE262E28027569FD5440D0D61086
04454FC236A7141DEDF3AFFC9E6E3CFF
43D9C9B56579E71BF3B5B2900D7CDBCE
7F00EEC964218769737E1C6FE8036AB3
6F0FD5467E39EEE972AA4C246B265B76
617F7D235C0BA43EE6149B4413F8F05E
9D03AAF49F6A3F256F5B84AB5ECF2102
26F47BBFF1E47069BC1D296BF374811B
FAE88AD65E9122EB7E8F503C17C4C048
9A1A30B569F90EDAD26C318FDBA389E9
31F5182AEC21733FC8A664DC6231E9B8
381306D34B0EF7EC1D1985DA1066B97F
B8FEADF7
g_a
diffie-hellman parameter
server_time
560, 4
-78127B65
(1702564472 in decimal)
+71877B65
(1702594417 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
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 = 6592B40C4B5CBC072AF9D33B1E85212567F9A478365D4CE4B83E75EF4CD633F892776FB80EE860D907655D736C1699C3C882DF67B89E10E6F065DBACEA07B8BB04B65B319013CFD72C3149130FD656300613119568AD5EE8CF4AFBF00DF5E7B7730B6C032A904FD7D0803B8CB0196E628EE617BDB44369D06EDF37C6E04FA12810B763BEC03D8FE00EE7BB69AA9EEF6102EBEFD3A9627A1F8B776A5204D8A9D31CDB208A9E980B52D131B3CC4F80200CEC138DA8A5C686237BC099838136AB75906645704597AE60D74376EB7BDE60731575A898BAC9097F556417103916C6DCEB2AEA7D4E6DF591D55DEB329B8B85332A045E2C4A3EE5646607CA349B2B3018
+b = FD476005C83A2F611E443D33E6B624647F64D0C12E076CF16EFB55B909BBDEE4636D91C13C5BCA57BBEB4C8B5BA22ED412B1CD636E172DD6C763487A69FA48DE4D6E9E79053CF86FF737EDB80F1929E611FCF2DC721F4389B77E5D69CCFF9B6C44BB6EEC9A1F45BDC20B6070BAD4BDF8531F4AC8722B5C1FF7083D23E96926844509E8B8AB925CF57D259608D1F24604191DC45CDB76A27F57EE2BB122C9AB668A0448C703AF957B11E3872DA861A21776D40C4B702403AD0FED89F7B39EB8A102CF2BA909126A7AAB3CB72379C5B3DBFCB5302F0BFDF57C8833531CCFFBBEF19D1C4BE37CD63AADC32A50BAA0CE1604ECB1EED3F5BC48E59C00DA324451A8F8
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 8E56A8EF0B54797579B15BD7757DA0EFF06ED454F5A56DEFB703CA8B7721A5B7F19EC2BE6DA3CC423014F10B045ED5A772B8EFDA8AC8F6D40A2F64FC346E7F2DE9528BE18DE6D113E393C8319CA287DC3C19211CE1177D720B2049CCBAA8C945F672684896AB17BC7CBDDC8CFE62A4DB6D56EC42A0D0F4E776851A52C1EDC6347E93FF26E28EC7FB45E3FB5FF03D10DF418E146D36E62277768080D4E9C3056D40232A7F173A28EB289036E67FBDF6153BF2F866733856ABF19417E675F902F0C8F419A3A53328A633D1B9B0CF3C68F8E445B849EC4BF8EB98DAD6FFE08F2324FE1CBAB01AC3E7540A6B5DCC7CA8317E210F1C5B830C333E70F04FD5392EBDF2
+g_b = 6B4CFDDF0D0E1FD06B16991EF8A85A2D1F4D3CED7D9E83A65A9FD0DA1CE34C7473A4B01F3213F643F1BD63199F776C6A14F73F304627C7724F18A7AE3687B9542288A6BAFD51C7F14459E46C311FB3B7E2E5CB3D7EB5B3DA0FA373B280C1557D4119A4F2C9EBC4AD229C6CDAE0D62A72AF2F5356D0AF8B1F427A487C7D5E7C23006910E3E9BEC75DED1C4C15FB16246FE1B02EBD5BCE620F0A68A7F0425D4E1D17E1CF86EF43A05E68D94C0F4C0B11EBC657953989D20AAB9571B5E113BEDD0B9C952DE481553C133D4CFDD84E4A027D54AF8728CF1824E153D17D1DAF08A8FB69C7929AF8DAE0A33F8371468D565142254850ACDEA2F4FF36BB1F7BBAD5CCF4
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 B8 F9 ED 7E FD ED 7E E9 3F AD BE 6C
-0010 | 51 43 F6 39 4D 54 EA 31 25 42 43 08 9E 77 01 9C
-0020 | 06 A5 29 F0 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 8E 56 A8 EF 0B 54 79 75 79 B1 5B D7 75 7D A0 EF
-0040 | F0 6E D4 54 F5 A5 6D EF B7 03 CA 8B 77 21 A5 B7
-0050 | F1 9E C2 BE 6D A3 CC 42 30 14 F1 0B 04 5E D5 A7
-0060 | 72 B8 EF DA 8A C8 F6 D4 0A 2F 64 FC 34 6E 7F 2D
-0070 | E9 52 8B E1 8D E6 D1 13 E3 93 C8 31 9C A2 87 DC
-0080 | 3C 19 21 1C E1 17 7D 72 0B 20 49 CC BA A8 C9 45
-0090 | F6 72 68 48 96 AB 17 BC 7C BD DC 8C FE 62 A4 DB
-00A0 | 6D 56 EC 42 A0 D0 F4 E7 76 85 1A 52 C1 ED C6 34
-00B0 | 7E 93 FF 26 E2 8E C7 FB 45 E3 FB 5F F0 3D 10 DF
-00C0 | 41 8E 14 6D 36 E6 22 77 76 80 80 D4 E9 C3 05 6D
-00D0 | 40 23 2A 7F 17 3A 28 EB 28 90 36 E6 7F BD F6 15
-00E0 | 3B F2 F8 66 73 38 56 AB F1 94 17 E6 75 F9 02 F0
-00F0 | C8 F4 19 A3 A5 33 28 A6 33 D1 B9 B0 CF 3C 68 F8
-0100 | E4 45 B8 49 EC 4B F8 EB 98 DA D6 FF E0 8F 23 24
-0110 | FE 1C BA B0 1A C3 E7 54 0A 6B 5D CC 7C A8 31 7E
-0120 | 21 0F 1C 5B 83 0C 33 3E 70 F0 4F D5 39 2E BD F2
+0000 | 54 B6 43 66 48 18 19 9E 5C 2C 90 29 E8 89 4B 0B
+0010 | D5 DC 68 77 21 63 DE 11 E0 8D 2D 57 A8 BF 45 B5
+0020 | 09 21 F8 F9 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 6B 4C FD DF 0D 0E 1F D0 6B 16 99 1E F8 A8 5A 2D
+0040 | 1F 4D 3C ED 7D 9E 83 A6 5A 9F D0 DA 1C E3 4C 74
+0050 | 73 A4 B0 1F 32 13 F6 43 F1 BD 63 19 9F 77 6C 6A
+0060 | 14 F7 3F 30 46 27 C7 72 4F 18 A7 AE 36 87 B9 54
+0070 | 22 88 A6 BA FD 51 C7 F1 44 59 E4 6C 31 1F B3 B7
+0080 | E2 E5 CB 3D 7E B5 B3 DA 0F A3 73 B2 80 C1 55 7D
+0090 | 41 19 A4 F2 C9 EB C4 AD 22 9C 6C DA E0 D6 2A 72
+00A0 | AF 2F 53 56 D0 AF 8B 1F 42 7A 48 7C 7D 5E 7C 23
+00B0 | 00 69 10 E3 E9 BE C7 5D ED 1C 4C 15 FB 16 24 6F
+00C0 | E1 B0 2E BD 5B CE 62 0F 0A 68 A7 F0 42 5D 4E 1D
+00D0 | 17 E1 CF 86 EF 43 A0 5E 68 D9 4C 0F 4C 0B 11 EB
+00E0 | C6 57 95 39 89 D2 0A AB 95 71 B5 E1 13 BE DD 0B
+00F0 | 9C 95 2D E4 81 55 3C 13 3D 4C FD D8 4E 4A 02 7D
+0100 | 54 AF 87 28 CF 18 24 E1 53 D1 7D 1D AF 08 A8 FB
+0110 | 69 C7 92 9A F8 DA E0 A3 3F 83 71 46 8D 56 51 42
+0120 | 25 48 50 AC DE A2 F4 FF 36 BB 1F 7B BA D5 CC F4
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 = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
nonce
4, 16
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
20, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
g_b
36, 260
-FE0001008E56A8EF0B54797579B15BD7
757DA0EFF06ED454F5A56DEFB703CA8B
7721A5B7F19EC2BE6DA3CC423014F10B
045ED5A772B8EFDA8AC8F6D40A2F64FC
346E7F2DE9528BE18DE6D113E393C831
9CA287DC3C19211CE1177D720B2049CC
BAA8C945F672684896AB17BC7CBDDC8C
FE62A4DB6D56EC42A0D0F4E776851A52
C1EDC6347E93FF26E28EC7FB45E3FB5F
F03D10DF418E146D36E62277768080D4
E9C3056D40232A7F173A28EB289036E6
7FBDF6153BF2F866733856ABF19417E6
75F902F0C8F419A3A53328A633D1B9B0
CF3C68F8E445B849EC4BF8EB98DAD6FF
E08F2324FE1CBAB01AC3E7540A6B5DCC
7CA8317E210F1C5B830C333E70F04FD5
392EBDF2
+FE0001006B4CFDDF0D0E1FD06B16991E
F8A85A2D1F4D3CED7D9E83A65A9FD0DA
1CE34C7473A4B01F3213F643F1BD6319
9F776C6A14F73F304627C7724F18A7AE
3687B9542288A6BAFD51C7F14459E46C
311FB3B7E2E5CB3D7EB5B3DA0FA373B2
80C1557D4119A4F2C9EBC4AD229C6CDA
E0D62A72AF2F5356D0AF8B1F427A487C
7D5E7C23006910E3E9BEC75DED1C4C15
FB16246FE1B02EBD5BCE620F0A68A7F0
425D4E1D17E1CF86EF43A05E68D94C0F
4C0B11EBC657953989D20AAB9571B5E1
13BEDD0B9C952DE481553C133D4CFDD8
4E4A027D54AF8728CF1824E153D17D1D
AF08A8FB69C7929AF8DAE0A33F837146
8D565142254850ACDEA2F4FF36BB1F7B
BAD5CCF4
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B5B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F
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 = 54B64366B8F9ED7EFDED7EE93FADBE6C5143F6394D54EA31254243089E77019C06A529F00000000000000000FE0001008E56A8EF0B54797579B15BD7757DA0EFF06ED454F5A56DEFB703CA8B7721A5B7F19EC2BE6DA3CC423014F10B045ED5A772B8EFDA8AC8F6D40A2F64FC346E7F2DE9528BE18DE6D113E393C8319CA287DC3C19211CE1177D720B2049CCBAA8C945F672684896AB17BC7CBDDC8CFE62A4DB6D56EC42A0D0F4E776851A52C1EDC6347E93FF26E28EC7FB45E3FB5FF03D10DF418E146D36E62277768080D4E9C3056D40232A7F173A28EB289036E67FBDF6153BF2F866733856ABF19417E675F902F0C8F419A3A53328A633D1B9B0CF3C68F8E445B849EC4BF8EB98DAD6FFE08F2324FE1CBAB01AC3E7540A6B5DCC7CA8317E210F1C5B830C333E70F04FD5392EBDF2
-padding = 40CDB07914884091266F1ABF
-tmp_aes_key = 5028FB57D07AD7AEA070D02B26E6BDE4AB80742328D35421B99A5D37ABE9C368
-tmp_aes_iv = BF6F3CBFCFD7D76DF70B881BF7C1B98C341468E67EC78092191B35790495A8C6
+data = 54B643664818199E5C2C9029E8894B0BD5DC68772163DE11E08D2D57A8BF45B50921F8F90000000000000000FE0001006B4CFDDF0D0E1FD06B16991EF8A85A2D1F4D3CED7D9E83A65A9FD0DA1CE34C7473A4B01F3213F643F1BD63199F776C6A14F73F304627C7724F18A7AE3687B9542288A6BAFD51C7F14459E46C311FB3B7E2E5CB3D7EB5B3DA0FA373B280C1557D4119A4F2C9EBC4AD229C6CDAE0D62A72AF2F5356D0AF8B1F427A487C7D5E7C23006910E3E9BEC75DED1C4C15FB16246FE1B02EBD5BCE620F0A68A7F0425D4E1D17E1CF86EF43A05E68D94C0F4C0B11EBC657953989D20AAB9571B5E113BEDD0B9C952DE481553C133D4CFDD84E4A027D54AF8728CF1824E153D17D1DAF08A8FB69C7929AF8DAE0A33F8371468D565142254850ACDEA2F4FF36BB1F7BBAD5CCF4
+padding = 7F32A4D59B81B5D712AC5517
+tmp_aes_key = EFEE3DDE87871EE456FFE7D49BDDFC35B6A602DCD88104DE3B916E7B78D9B0C5
+tmp_aes_iv = 78AA7B8D5CAF102BF3DBF0B6CD90720A6FDF35903B4A8448368D1587408B78A5
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 = 976CD8BB0F4C15CE6F4600F97BE02EFBE7EFB169AAD735836FB91F978A86EE7AC31D6C2DF542ECFE71778FFADD675964E4C77E8B881E3A69BB15F93B290B3580E63E0833592290FEA95356D0364A4B274711E8E811EA34F3598EEAE1C03004C5C180E05AD9FD786A1FCB8E9F6A50135AB6CD1E333FC473CE83D2B8BE780FC957CBF12EE897B024335E03F6F16B9228FB238C850D629FD4202998F32BDFF9FC02A960F804666D52A9DF3362E12AB73C8098E7DBEA4E3D8E45E5F2080D87E7B2E9BBF7999291D9E1BF023940C5A7DEDBD7D2A3D0FBDC4EAC40069FD982537D2818EA316D51108E8B352406E29F26147DE357B087BDC3633FF2D81E0894551969A6F9F2FE6D3E082FB95C61E10914194F298B0319F72B1747C0C670CC92460BB4A932BD1A97DF3EE135393905674E97A85692ECC46C2CD0F80D080DC8E6CC50BB3A9BCEEDC4FBFB86D7C2EBD78D7DCCE4FB
+encrypted_data = 49E40621EE5D525449EB79599EE5567F19A7DAF16C5391E199B92A269A2600E19A187637874B9128A5F7A18BF9BFC4560D84CD1F592D599608DBD40E161BE0580F3B1753B123F7D777D798EEA7EF75B79BD9BE36956D7B7A8831FB9B02A5E68EF259FCC16F3A8034A4E1AB1F7239C9A905BEB960813714FC9C3B6F5DE03D876E7F004515D9DF7FD99AB2142BC0C84545D5AC90E1519E32494C6E60F9D97DD02625B2700F6B1253856055AEEB6AA40007D6DA4BFB37A657D2ABEAF4B57433EDB992ED9014DDDA1CBA2AB7CF2A7F08A39AFD213E1CBC9FBD79F039CF36FF95F57DC301E116C93A87B2FF5806E6D472BC508E25566B6C6F0D6279CA5249613DAD6E16E1AD92F42F15E785B319C8CEEF67C60D659415A4529689DA00BBFA3A2F0612434D27FE013C81CC03D140330FA8DA0740D22C1745E20D2FD32750D5E7CD1606110C1131A250B9FEA42866E5E39E7687
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 70 96 01 00 78 12 7B 65
-0010 | 78 01 00 00 1F 5F 04 F5 B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39 4D 54 EA 31 25 42 43 08
-0030 | 9E 77 01 9C 06 A5 29 F0 FE 50 01 00 97 6C D8 BB
-0040 | 0F 4C 15 CE 6F 46 00 F9 7B E0 2E FB E7 EF B1 69
-0050 | AA D7 35 83 6F B9 1F 97 8A 86 EE 7A C3 1D 6C 2D
-0060 | F5 42 EC FE 71 77 8F FA DD 67 59 64 E4 C7 7E 8B
-0070 | 88 1E 3A 69 BB 15 F9 3B 29 0B 35 80 E6 3E 08 33
-0080 | 59 22 90 FE A9 53 56 D0 36 4A 4B 27 47 11 E8 E8
-0090 | 11 EA 34 F3 59 8E EA E1 C0 30 04 C5 C1 80 E0 5A
-00A0 | D9 FD 78 6A 1F CB 8E 9F 6A 50 13 5A B6 CD 1E 33
-00B0 | 3F C4 73 CE 83 D2 B8 BE 78 0F C9 57 CB F1 2E E8
-00C0 | 97 B0 24 33 5E 03 F6 F1 6B 92 28 FB 23 8C 85 0D
-00D0 | 62 9F D4 20 29 98 F3 2B DF F9 FC 02 A9 60 F8 04
-00E0 | 66 6D 52 A9 DF 33 62 E1 2A B7 3C 80 98 E7 DB EA
-00F0 | 4E 3D 8E 45 E5 F2 08 0D 87 E7 B2 E9 BB F7 99 92
-0100 | 91 D9 E1 BF 02 39 40 C5 A7 DE DB D7 D2 A3 D0 FB
-0110 | DC 4E AC 40 06 9F D9 82 53 7D 28 18 EA 31 6D 51
-0120 | 10 8E 8B 35 24 06 E2 9F 26 14 7D E3 57 B0 87 BD
-0130 | C3 63 3F F2 D8 1E 08 94 55 19 69 A6 F9 F2 FE 6D
-0140 | 3E 08 2F B9 5C 61 E1 09 14 19 4F 29 8B 03 19 F7
-0150 | 2B 17 47 C0 C6 70 CC 92 46 0B B4 A9 32 BD 1A 97
-0160 | DF 3E E1 35 39 39 05 67 4E 97 A8 56 92 EC C4 6C
-0170 | 2C D0 F8 0D 08 0D C8 E6 CC 50 BB 3A 9B CE ED C4
-0180 | FB FB 86 D7 C2 EB D7 8D 7D CC E4 FB
+0000 | 00 00 00 00 00 00 00 00 60 11 0F 00 71 87 7B 65
+0010 | 78 01 00 00 1F 5F 04 F5 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77 21 63 DE 11 E0 8D 2D 57
+0030 | A8 BF 45 B5 09 21 F8 F9 FE 50 01 00 49 E4 06 21
+0040 | EE 5D 52 54 49 EB 79 59 9E E5 56 7F 19 A7 DA F1
+0050 | 6C 53 91 E1 99 B9 2A 26 9A 26 00 E1 9A 18 76 37
+0060 | 87 4B 91 28 A5 F7 A1 8B F9 BF C4 56 0D 84 CD 1F
+0070 | 59 2D 59 96 08 DB D4 0E 16 1B E0 58 0F 3B 17 53
+0080 | B1 23 F7 D7 77 D7 98 EE A7 EF 75 B7 9B D9 BE 36
+0090 | 95 6D 7B 7A 88 31 FB 9B 02 A5 E6 8E F2 59 FC C1
+00A0 | 6F 3A 80 34 A4 E1 AB 1F 72 39 C9 A9 05 BE B9 60
+00B0 | 81 37 14 FC 9C 3B 6F 5D E0 3D 87 6E 7F 00 45 15
+00C0 | D9 DF 7F D9 9A B2 14 2B C0 C8 45 45 D5 AC 90 E1
+00D0 | 51 9E 32 49 4C 6E 60 F9 D9 7D D0 26 25 B2 70 0F
+00E0 | 6B 12 53 85 60 55 AE EB 6A A4 00 07 D6 DA 4B FB
+00F0 | 37 A6 57 D2 AB EA F4 B5 74 33 ED B9 92 ED 90 14
+0100 | DD DA 1C BA 2A B7 CF 2A 7F 08 A3 9A FD 21 3E 1C
+0110 | BC 9F BD 79 F0 39 CF 36 FF 95 F5 7D C3 01 E1 16
+0120 | C9 3A 87 B2 FF 58 06 E6 D4 72 BC 50 8E 25 56 6B
+0130 | 6C 6F 0D 62 79 CA 52 49 61 3D AD 6E 16 E1 AD 92
+0140 | F4 2F 15 E7 85 B3 19 C8 CE EF 67 C6 0D 65 94 15
+0150 | A4 52 96 89 DA 00 BB FA 3A 2F 06 12 43 4D 27 FE
+0160 | 01 3C 81 CC 03 D1 40 33 0F A8 DA 07 40 D2 2C 17
+0170 | 45 E2 0D 2F D3 27 50 D5 E7 CD 16 06 11 0C 11 31
+0180 | A2 50 B9 FE A4 28 66 E5 E3 9E 76 87
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
-7096010078127B65
+60110F0071877B65
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
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
40, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
encrypted_data
56, 340
-FE500100976CD8BB0F4C15CE6F4600F9
7BE02EFBE7EFB169AAD735836FB91F97
8A86EE7AC31D6C2DF542ECFE71778FFA
DD675964E4C77E8B881E3A69BB15F93B
290B3580E63E0833592290FEA95356D0
364A4B274711E8E811EA34F3598EEAE1
C03004C5C180E05AD9FD786A1FCB8E9F
6A50135AB6CD1E333FC473CE83D2B8BE
780FC957CBF12EE897B024335E03F6F1
6B9228FB238C850D629FD4202998F32B
DFF9FC02A960F804666D52A9DF3362E1
2AB73C8098E7DBEA4E3D8E45E5F2080D
87E7B2E9BBF7999291D9E1BF023940C5
A7DEDBD7D2A3D0FBDC4EAC40069FD982
537D2818EA316D51108E8B352406E29F
26147DE357B087BDC3633FF2D81E0894
551969A6F9F2FE6D3E082FB95C61E109
14194F298B0319F72B1747C0C670CC92
460BB4A932BD1A97DF3EE13539390567
4E97A85692ECC46C2CD0F80D080DC8E6
CC50BB3A9BCEEDC4FBFB86D7C2EBD78D
7DCCE4FB
+FE50010049E40621EE5D525449EB7959
9EE5567F19A7DAF16C5391E199B92A26
9A2600E19A187637874B9128A5F7A18B
F9BFC4560D84CD1F592D599608DBD40E
161BE0580F3B1753B123F7D777D798EE
A7EF75B79BD9BE36956D7B7A8831FB9B
02A5E68EF259FCC16F3A8034A4E1AB1F
7239C9A905BEB960813714FC9C3B6F5D
E03D876E7F004515D9DF7FD99AB2142B
C0C84545D5AC90E1519E32494C6E60F9
D97DD02625B2700F6B1253856055AEEB
6AA40007D6DA4BFB37A657D2ABEAF4B5
7433EDB992ED9014DDDA1CBA2AB7CF2A
7F08A39AFD213E1CBC9FBD79F039CF36
FF95F57DC301E116C93A87B2FF5806E6
D472BC508E25566B6C6F0D6279CA5249
613DAD6E16E1AD92F42F15E785B319C8
CEEF67C60D659415A4529689DA00BBFA
3A2F0612434D27FE013C81CC03D14033
0FA8DA0740D22C1745E20D2FD32750D5
E7CD1606110C1131A250B9FEA42866E5
E39E7687
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 = 823B5A4889770D05C445DFEED1D61CB2CF11F2C0642DA7794CED72BD10D2F8C0E0D6B09EE6A70DC7EAA6487908FAA91959CFDE476ADA6A4301656EA75B19A3204F6B4EC407C8CEC9F4B4EBCE941F133EC6786A74741062A6FFEC3E4DE642A3EE9F02AC306ACABBC3B62350A43097783D055941CB1128373BA6577C136A0D6FBC7976BFC4248438980CF15B952DC397C5998D93A17B683F3943089ED82FC3B3B360ADCB186BAACC2BC5388450B9E15E8F76CD2CCD7CF4763E5DB80BA8EE6961BD310D684CFAC8999E94C8AE99BD1CFE2C009640010B975484CF2A327B1BEA53D93C37968B7EC1677B1189A54836D918E3B4010CEFE009C09EE9DB98C77FA8FD92
+auth_key = BFF2E21820423265E03F1DA0234D96AB746C6C5630C3B44798C0313CEA1F4066A3789D40E1555DEBD559EF505F1F8FF6ACD0B532E3070B9FD49EE552541992B0C91E64EE41AD20146143711DB787566CFA46ED99E0FA2C3B93780F41FE73C2B5E89FEDCD43A3B879647CDB0E3D666A1AE9050FD8CFAE9ED16F61D3F8A9274C08EDA7D8255F3F76A0F70EA15EA12D06DA7E757B30C0F3CFD244AC6CB1D44DE29DA73CB32CB1FF8FC7CD5F707F010975A6E595F335D75D8E55CA029095E2A9EE29B2D0ED4D2B6A9D758C126AE130F39E854CE09F017B0C69B59B55231149762B55F69B00D2E1A0F3FF6CCD2FFA08D75BE83F2A69BDB6A731D2A25A162AA0769965
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 7C 3C BF 78 12 7B 65
-0010 | 60 00 00 00 34 F7 CB 3B B8 F9 ED 7E FD ED 7E E9
-0020 | 3F AD BE 6C 51 43 F6 39 4D 54 EA 31 25 42 43 08
-0030 | 9E 77 01 9C 06 A5 29 F0 DF 20 1E 8B 93 39 C4 F6
-0040 | 41 F8 AA 8E D8 E2 4B DB
+0000 | 00 00 00 00 00 00 00 00 01 48 26 16 72 87 7B 65
+0010 | 44 00 00 00 34 F7 CB 3B 48 18 19 9E 5C 2C 90 29
+0020 | E8 89 4B 0B D5 DC 68 77 21 63 DE 11 E0 8D 2D 57
+0030 | A8 BF 45 B5 09 21 F8 F9 78 8D 89 FB D4 EC C6 A9
+0040 | 66 3E A2 0F 01 88 7A D7
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
-017C3CBF78127B65
+0148261672877B65
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-60000000
(96 in decimal)
+44000000
(68 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
-B8F9ED7EFDED7EE93FADBE6C5143F639
+4818199E5C2C9029E8894B0BD5DC6877
Value generated by client in Step 1
server_nonce
40, 16
-4D54EA31254243089E77019C06A529F0
+2163DE11E08D2D57A8BF45B50921F8F9
Value received from server in Step 2
new_nonce_hash1
56, 16
-DF201E8B9339C4F641F8AA8ED8E24BDB
+788D89FBD4ECC6A9663EA20F01887AD7
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/PeerColor.html b/data/web/corefork.telegram.org/type/PeerColor.html
index 4505ac5dea..40d0c70df2 100644
--- a/data/web/corefork.telegram.org/type/PeerColor.html
+++ b/data/web/corefork.telegram.org/type/PeerColor.html
@@ -8,14 +8,14 @@
Constructor
Description
peerColor
- ">
+Represents a color palette ».">
+Represents a color palette ».">
@@ -74,7 +74,7 @@ peerColor
peerColor
-
+Represents a color palette ».
diff --git a/data/web/corefork.telegram.org/type/StoryFwdHeader.html b/data/web/corefork.telegram.org/type/StoryFwdHeader.html
index a1c2b15a3a..d632745fa7 100644
--- a/data/web/corefork.telegram.org/type/StoryFwdHeader.html
+++ b/data/web/corefork.telegram.org/type/StoryFwdHeader.html
@@ -8,14 +8,14 @@
Constructor
Description
storyFwdHeader
- ">
+Contains info about the original poster of a reposted story.">
+Contains info about the original poster of a reposted story.">
@@ -74,7 +74,7 @@ storyFwdHeader
storyFwdHeader
-
+Contains info about the original poster of a reposted story.