From 46c5ba755e45b4ad0d3d7011b8e7839b078457e8 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 4 Dec 2023 22:44:45 +0000 Subject: [PATCH] Update content of files --- .../web/corefork.telegram.org/api/layers.html | 46 ++ .../api/push-updates.html | 161 ++++--- .../corefork.telegram.org/api/takeout.html | 6 +- .../method/channels.createChannel.html | 7 +- .../method/channels.createForumTopic.html | 5 + .../method/channels.editForumTopic.html | 4 +- .../method/messages.checkChatInvite.html | 5 - .../method/messages.migrateChat.html | 5 - .../method/messages.transcribeAudio.html | 5 + .../method/stories.getPeerStories.html | 5 + .../method/stories.getStoriesViews.html | 5 + .../method/upload.getCdnFileHashes.html | 5 + .../mtproto/samples-auth_key.html | 412 +++++++++--------- .../type/MessageEntity.html | 4 - 14 files changed, 383 insertions(+), 292 deletions(-) diff --git a/data/web/corefork.telegram.org/api/layers.html b/data/web/corefork.telegram.org/api/layers.html index 9d476b246e..0a58c74933 100644 --- a/data/web/corefork.telegram.org/api/layers.html +++ b/data/web/corefork.telegram.org/api/layers.html @@ -165,6 +165,52 @@ +

PUSH notification changes

+
New PUSH notifications
+ +
Changed PUSH notifications
+

Schema

dialog#d58a08c6 flags:# pinned:flags.2?true unread_mark:flags.3?true view_forum_as_messages:flags.6?true peer:Peer top_message:int read_inbox_max_id:int read_outbox_max_id:int unread_count:int unread_mentions_count:int unread_reactions_count:int notify_settings:PeerNotifySettings pts:flags.0?int draft:flags.1?DraftMessage folder_id:flags.4?int ttl_period:flags.5?int = Dialog;
inputPeerNotifySettings#cacb6ae2 flags:# show_previews:flags.0?Bool silent:flags.1?Bool mute_until:flags.2?int sound:flags.3?NotificationSound stories_muted:flags.6?Bool stories_hide_sender:flags.7?Bool stories_sound:flags.8?NotificationSound = InputPeerNotifySettings;
diff --git a/data/web/corefork.telegram.org/api/push-updates.html b/data/web/corefork.telegram.org/api/push-updates.html index af40d1b42c..ca6e27083d 100644 --- a/data/web/corefork.telegram.org/api/push-updates.html +++ b/data/web/corefork.telegram.org/api/push-updates.html @@ -64,6 +64,7 @@ Simple push works by sending a simple PUT request with a version=number10 - Web push (web push, see below)
  • 11 - MPNS VoIP (token for microsoft push VoIP)
  • 12 - Tizen (token for tizen push)
  • +
  • 13 - Huawei push
  • For 10 web push, the token must be a JSON-encoded object with the following keys:

      @@ -289,6 +290,11 @@ Simple push works by sending a simple PUT request with a version=number1. Channel name
      2. Sticker emoji +CHANNEL_MESSAGE_STORY +{1} shared a story +1. Channel name + + CHANNEL_MESSAGE_TEXT {1}: {2} 1. Channel name
      2. Message body @@ -439,6 +445,11 @@ Simple push works by sending a simple PUT request with a version=number1. User name
      2. Group name
      3. Sticker emoji +CHAT_MESSAGE_STORY +{1} shared a story to the group +1. Group name + + CHAT_MESSAGE_TEXT {1} @ {2}: {3} 1. Message author
      2. Chat name
      3. Message body @@ -460,83 +471,83 @@ Simple push works by sending a simple PUT request with a version=number CHAT_REACT_AUDIO -{1}: {3} to your voice message in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your voice message in {2} +2. Group name
      3. Reaction CHAT_REACT_CONTACT -{1}: {3} to your contact {4} in {2} -1. User name
      2. Group name
      3. Reaction
      4. Contact name +{3} to your contact {4} in {2} +2. Group name
      3. Reaction
      4. Contact name CHAT_REACT_DOC -{1}: {3} to your file in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your file in {2} +2. Group name
      3. Reaction CHAT_REACT_GAME -{1}: {3} to your game in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your game in {2} +2. Group name
      3. Reaction CHAT_REACT_GEO -{1}: {3} to your map in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your map in {2} +2. Group name
      3. Reaction CHAT_REACT_GEOLIVE -{1}: {3} to your live location in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your live location in {2} +2. Group name
      3. Reaction CHAT_REACT_GIF -{1}: {3} to your GIF in {2} -1. User name
      2. Group name
      3. Reaction +{1} is calling you! +1. User name CHAT_REACT_INVOICE -{1}: {3} to your invoice in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your invoice in {2} +2. Group name
      3. Reaction CHAT_REACT_NOTEXT -{1}: {3} to your message in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your message in {2} +2. Group name
      3. Reaction CHAT_REACT_PHOTO -{1}: {3} to your photo in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your photo in {2} +2. Group name
      3. Reaction CHAT_REACT_POLL -{1}: {3} to your poll {4} in {2} -1. User name
      2. Group name
      3. Reaction
      4. Poll name +{3} to your poll {4} in {2} +2. Group name
      3. Reaction
      4. Poll name CHAT_REACT_QUIZ -{1}: {3} to your quiz {4} in {2} -1. User name
      2. Group name
      3. Reaction
      4. Quiz name +{3} to your quiz {4} in {2} +2. Group name
      3. Reaction
      4. Quiz name CHAT_REACT_ROUND -{1}: {3} to your video message in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your video message in {2} +2. Group name
      3. Reaction CHAT_REACT_STICKER -{1}: {3} to your {4} sticker in {2} -1. User name
      2. Group name
      3. Reaction
      4. Sticker emoji +{3} to your {4} sticker in {2} +2. Group name
      3. Reaction
      4. Sticker emoji CHAT_REACT_TEXT -{1}: {3} in {2} to your "{4}" -1. User name
      2. Group name
      3. Reaction
      4. Message body +{3} in {2} to your "{4}" +2. Group name
      3. Reaction
      4. Message body CHAT_REACT_VIDEO -{1}: {3} to your video in {2} -1. User name
      2. Group name
      3. Reaction +{3} to your video in {2} +2. Group name
      3. Reaction CHAT_REQ_JOINED @@ -695,7 +706,7 @@ Simple push works by sending a simple PUT request with a version=number MESSAGE_RECURRING_PAY -You were charged {2} by {1} +{1} were charged {2} 1. The entity to which money was sent for a recurring subscription
      2. The amount of money charged for a recurring subscription @@ -714,6 +725,16 @@ Simple push works by sending a simple PUT request with a version=number1. User name
      2. Sticker emoji +MESSAGE_STORY +{1} shared a story with you +1. User name + + +MESSAGE_STORY_MENTION +mentioned you in a story +  + + MESSAGE_TEXT {1}: {2} 1. Message author
      2. Message body @@ -915,83 +936,93 @@ Simple push works by sending a simple PUT request with a version=number REACT_AUDIO -{1}: {2} to your voice message -1. User name
      2. Reaction +{2} to your voice message +2. Reaction REACT_CONTACT -{1}: {2} to your contact {3} -1. User name
      2. Reaction
      3. Contact name +{2} to your contact {3} +2. Reaction
      3. Contact name REACT_DOC -{1}: {2} to your file -1. User name
      2. Reaction +{2} to your file +2. Reaction REACT_GAME -{1}: {2} to your game -1. User name
      2. Reaction +{2} to your game +2. Reaction REACT_GEO -{1}: {2} to your map -1. User name
      2. Reaction +{2} to your map +2. Reaction REACT_GEOLIVE -{1}: {2} to your live location -1. User name
      2. Reaction +{2} to your live location +2. Reaction REACT_GIF -{1}: {2} to your GIF -1. User name
      2. Reaction +{2} to your GIF +2. Reaction REACT_INVOICE -{1}: {2} to your invoice -1. User name
      2. Reaction +{2} to your invoice +2. Reaction REACT_NOTEXT -{1}: {2} to your message -1. User name
      2. Reaction +{2} to your message +2. Reaction REACT_PHOTO -{1}: {2} to your photo -1. User name
      2. Reaction +{2} to your photo +2. Reaction REACT_POLL -{1}: {2} to your poll {3} -1. User name
      2. Reaction
      3. Poll name +{2} to your poll {3} +2. Reaction
      3. Poll name REACT_QUIZ -{1}: {2} to your quiz {3} -1. User name
      2. Reaction
      3. Quiz name +{2} to your quiz {3} +2. Reaction
      3. Quiz name REACT_ROUND -{1}: {2} to your video message -1. User name
      2. Reaction +{2} to your video message +2. Reaction REACT_STICKER -{1}: {2} to your {3} sticker -1. User name
      2. Reaction
      3. Sticker emoji +{2} to your {3} sticker +2. Reaction
      3. Sticker emoji REACT_TEXT -{1}: {2} to your "{3}" -1. User name
      2. Reaction
      3. Message body +{2} to your "{3}" +2. Reaction
      3. Message body REACT_VIDEO -{1}: {2} to your video -1. User name
      2. Reaction +{2} to your video +2. Reaction + + +STORY_HIDDEN_AUTHOR +  +  + + +STORY_NOTEXT +posted a story + 
    diff --git a/data/web/corefork.telegram.org/api/takeout.html b/data/web/corefork.telegram.org/api/takeout.html index 4e2692411e..62d47f5f70 100644 --- a/data/web/corefork.telegram.org/api/takeout.html +++ b/data/web/corefork.telegram.org/api/takeout.html @@ -71,7 +71,7 @@ invokeWithMessagesRange#365275f2 {X:Type} range:MessageRange query:!X = X;First of all, obtain a list of message ranges by invoking messages.getSplitRanges (wrapping it in an invokeWithTakeout as usual).

    Then, when invoking methods that require message range pagination, wrap the method using invokeWithMessagesRange, before also wrapping it in an invokeWithTakeout as usual.

    Start by passing the first message range; continue passing the same message range while paginating using the usual offset_*, limit, etc parameters; once there are no more results left, switch to the next message range, re-starting offset_*, limit pagination from the beginning.
    -Repeat until you've finished all message ranges.

    +Repeat until you've finished all the message ranges that were returned by messages.getSplitRanges.

    Contacts

    savedPhoneContact#1142bd56 phone:string first_name:string last_name:string date:int = SavedContact;
     
    @@ -88,9 +88,7 @@ Repeat until you've finished all message ranges.  

    channels.getLeftChannels#8341ecc0 offset:int = messages.Chats;

    This method does not require pagination using message ranges.

    -

    Use channels.getLeftChannels to get a list of channels or supergroups we left.

    -

    -

    This method requires pagination using message ranges.

    +

    Use channels.getLeftChannels to get a list of channels or supergroups we left.

    diff --git a/data/web/corefork.telegram.org/method/channels.createChannel.html b/data/web/corefork.telegram.org/method/channels.createChannel.html index b98c1d3b98..3f9858dac9 100644 --- a/data/web/corefork.telegram.org/method/channels.createChannel.html +++ b/data/web/corefork.telegram.org/method/channels.createChannel.html @@ -141,7 +141,7 @@ 400 ADDRESS_INVALID -  +The specified geopoint address is invalid. 400 @@ -159,6 +159,11 @@ Chat about too long. +500 +CHAT_INVALID +Invalid chat. + + 400 CHAT_TITLE_EMPTY No chat title provided. diff --git a/data/web/corefork.telegram.org/method/channels.createForumTopic.html b/data/web/corefork.telegram.org/method/channels.createForumTopic.html index d7088e997b..241ce5aea7 100644 --- a/data/web/corefork.telegram.org/method/channels.createForumTopic.html +++ b/data/web/corefork.telegram.org/method/channels.createForumTopic.html @@ -139,6 +139,11 @@ You can't write in this chat. +403 +PREMIUM_ACCOUNT_REQUIRED +A premium account is required to execute this action. + + 400 TOPIC_TITLE_EMPTY The specified topic title is empty. diff --git a/data/web/corefork.telegram.org/method/channels.editForumTopic.html b/data/web/corefork.telegram.org/method/channels.editForumTopic.html index 991b66add5..7d6b69beab 100644 --- a/data/web/corefork.telegram.org/method/channels.editForumTopic.html +++ b/data/web/corefork.telegram.org/method/channels.editForumTopic.html @@ -146,12 +146,12 @@ 400 TOPIC_CLOSE_SEPARATELY -  +The close flag cannot be provided together with any of the other flags. 400 TOPIC_HIDE_SEPARATELY -  +The hide flag cannot be provided together with any of the other flags. 400 diff --git a/data/web/corefork.telegram.org/method/messages.checkChatInvite.html b/data/web/corefork.telegram.org/method/messages.checkChatInvite.html index 3f30965c57..75e04fe503 100644 --- a/data/web/corefork.telegram.org/method/messages.checkChatInvite.html +++ b/data/web/corefork.telegram.org/method/messages.checkChatInvite.html @@ -95,11 +95,6 @@ You haven't joined this channel/supergroup. -500 -CHAT_MEMBERS_CHANNEL -  - - 400 INVITE_HASH_EMPTY The invite hash is empty. diff --git a/data/web/corefork.telegram.org/method/messages.migrateChat.html b/data/web/corefork.telegram.org/method/messages.migrateChat.html index c4861d50ca..3995fc70b5 100644 --- a/data/web/corefork.telegram.org/method/messages.migrateChat.html +++ b/data/web/corefork.telegram.org/method/messages.migrateChat.html @@ -99,11 +99,6 @@ You have joined too many channels/supergroups. -500 -CHANNEL_ID_GENERATE_FAILED -  - - 403 CHAT_ADMIN_REQUIRED You must be an admin in this chat to do this. diff --git a/data/web/corefork.telegram.org/method/messages.transcribeAudio.html b/data/web/corefork.telegram.org/method/messages.transcribeAudio.html index 5c39c17fd4..3a4a083899 100644 --- a/data/web/corefork.telegram.org/method/messages.transcribeAudio.html +++ b/data/web/corefork.telegram.org/method/messages.transcribeAudio.html @@ -93,6 +93,11 @@ +400 +PEER_ID_INVALID +The provided peer id is invalid. + + 403 PREMIUM_ACCOUNT_REQUIRED A premium account is required to execute this action. diff --git a/data/web/corefork.telegram.org/method/stories.getPeerStories.html b/data/web/corefork.telegram.org/method/stories.getPeerStories.html index 6b49e15dc9..a55f79c4f2 100644 --- a/data/web/corefork.telegram.org/method/stories.getPeerStories.html +++ b/data/web/corefork.telegram.org/method/stories.getPeerStories.html @@ -94,6 +94,11 @@ 400 +MSG_ID_INVALID +Invalid message ID provided. + + +400 PEER_ID_INVALID The provided peer id is invalid. diff --git a/data/web/corefork.telegram.org/method/stories.getStoriesViews.html b/data/web/corefork.telegram.org/method/stories.getStoriesViews.html index a8b0f89a77..c3e9974316 100644 --- a/data/web/corefork.telegram.org/method/stories.getStoriesViews.html +++ b/data/web/corefork.telegram.org/method/stories.getStoriesViews.html @@ -107,6 +107,11 @@ PEER_ID_INVALID The provided peer id is invalid. + +400 +STORY_ID_EMPTY +You specified no story IDs. +

    Related pages

    diff --git a/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html b/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html index c43065ba62..9aa949a61b 100644 --- a/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html +++ b/data/web/corefork.telegram.org/method/upload.getCdnFileHashes.html @@ -98,6 +98,11 @@ 400 +FILE_TOKEN_INVALID +The specified file token is invalid. + + +400 RSA_DECRYPT_FAILED Internal RSA decryption failed. 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 11045ae706..2bed5973d4 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 98 37 0B 00 07 EB 6C 65
    -0010 | 14 00 00 00 F1 8E 7E BE 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A
    +
    0000 | 00 00 00 00 00 00 00 00 D4 6C 0C 00 5D 54 6E 65
    +0010 | 14 00 00 00 F1 8E 7E BE A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34

    Payload (de)serialization:

    req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
    @@ -77,7 +77,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -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 48 CB 4A 07 EB 6C 65
    -0010 | C4 00 00 00 63 24 16 05 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C
    -0030 | B1 CF FB 2E 5A 4C 90 B1 08 1B 02 0A 05 F2 85 48
    -0040 | 2D 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 00 27 D4 5D 54 6E 65
    +0010 | 60 00 00 00 63 24 16 05 A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34 69 41 64 B6 A2 26 86 5F
    +0030 | 51 76 4C C1 1D 1D 1C C1 08 2B E8 4F 32 72 57 A7
    +0040 | 45 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 @@
    - + - + @@ -150,19 +150,19 @@ - + - + - + @@ -208,22 +208,22 @@

    Proof of work

    3) Client decomposes pq into prime factors such that p < q.
    -
    pq = 1946129009637410861
    -

    Decompose into 2 prime cofactors p < q: 1946129009637410861 = 1037997977 * 1874887093

    -
    p = 1037997977
    -q = 1874887093
    +
    pq = 3163865816313079621
    +

    Decompose into 2 prime cofactors p < q: 3163865816313079621 = 1751455103 * 1806421307

    +
    p = 1751455103
    +q = 1806421307

    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 1B 02 0A 05 F2 85 48 2D 00 00 00
    -0010 | 04 3D DE 97 99 00 00 00 04 6F C0 81 B5 00 00 00
    -0020 | 2B 61 E8 CE 46 92 30 D3 F0 2E B0 DD 8B 34 7C 7A
    -0030 | 0B 13 97 9C AF 03 8B 9C B1 CF FB 2E 5A 4C 90 B1
    -0040 | 16 40 1E E2 AC E9 2F A4 AE 0E E0 BC EE EF FB 29
    -0050 | 69 3D CD 74 E7 07 FE 6F 97 33 4E 2C A1 6F 15 64
    +
    0000 | 95 5F F5 A9 08 2B E8 4F 32 72 57 A7 45 00 00 00
    +0010 | 04 68 65 15 7F 00 00 00 04 6B AB CD 3B 00 00 00
    +0020 | A9 A9 E7 60 C1 90 09 93 EF 1D D3 FA 51 4A 0E 34
    +0030 | 69 41 64 B6 A2 26 86 5F 51 76 4C C1 1D 1D 1C C1
    +0040 | 28 80 34 A2 9E 8F 8D 40 A2 76 0B BA AC 78 99 1B
    +0050 | F1 AD BF 24 F2 D6 68 DA 91 2D BD 36 C4 1A DA EE
     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 = 1874887093
    - + - + - + - + - + - + @@ -291,39 +291,39 @@ q = 1874887093

    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 = 955FF5A9081B020A05F285482D000000043DDE9799000000046FC081B50000002B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B116401EE2ACE92FA4AE0EE0BCEEEFFB29693DCD74E707FE6F97334E2CA16F156402000000
    -random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D2248993E1A8DCABFF33C447069EA746881CC901111E6C8DDF5E102C734C35F3D9A7E512D98CB7BF509C07DBA2DF796C8554D58513AFF799E58260D6D47334B6C7
    +
    data = 955FF5A9082BE84F327257A745000000046865157F000000046BABCD3B000000A9A9E760C1900993EF1DD3FA514A0E34694164B6A226865F51764CC11D1D1CC1288034A29E8F8D40A2760BBAAC78991BF1ADBF24F2D668DA912DBD36C41ADAEE02000000
    +random_padding_bytes = 62802FD3A854F23BC3BAA4B2784CC11390362E1839E954F5CA27D3DFB0172A3CE3D5A92E066E5560611C3848F65DE71D73970E063E23B113E36237D21EE06BF414B3E954FCCED55A2F97B9CBA320CC800A387B2CFF90D3C229D9DC6F

    And this is the output:

    -
    encrypted_data = 7C7116856E39AEE23DA81918C4964BFEDB3446BB7225CB18068BCAEFFB302AE8D231A4AED8E27893126979F9A667AABB485D5BCFFA4EB8A4DB98E623F513E88AD39FD7A10C5317BB73F43C12926A7B7589B076BBC3BB6EEC22622C68C2DBDA42806A7CB1295DACD847F50D455C417FD37298907D8805AFA4961347ADD77A6B1A118E78C6A721B2BC15EEABB498EB44838FE64839E075CFB822C597F6DB17B82967AAB3379906AB78BEC7B0BDA340479186E3BB6516E781E216954CF4B856247256DA25B6EF332D86C682A841694B05FAB3DFB8DFB766AE7A06D996BBB7DCB56659D13F67D22221EA37502ECC98AF03AF55D20530D2DB5BBB3476CBA3FD0F3C8E
    +
    encrypted_data = 859CE2A8C3343953B8B51FD840A5E91FC5068B2996283AD7AFF31CEC7239C4F280B193EC199B8F37FAAC476589AEAAA308EF5623EF7C596FA3E7FF808E205073AE98CDD56F3C8F57347E0A1601D9F6BF4435E14CB099DD9EA4FBD85EFC6A69C49324FFA923058A366C9B1416EAB246F90091F4D17B5455B606AF1DDE9E19C44AED6F243BE547B79E804E7683246D14D1D7B6A66A89C7DD1536BD9C26AC8826341787FCEDA5A0DEB8411E5EC5B0D547721EC1D278D92C83C9D79B405F9AA6C41C61AEF0476577ACD165C8AD3E29079ACADDA7F3A22D44A16BCE21C5C10778779AF9BDCB7F6CA1A6D709D2B55C4B34195B9ACBFE3FBD38A33FFEA4BD3F7541DA94

    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 9C EB 0D 00 07 EB 6C 65
    -0010 | 40 01 00 00 BE E4 12 D7 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C
    -0030 | B1 CF FB 2E 5A 4C 90 B1 04 3D DE 97 99 00 00 00
    -0040 | 04 6F C0 81 B5 00 00 00 85 FD 64 DE 85 1D 9D D0
    -0050 | FE 00 01 00 7C 71 16 85 6E 39 AE E2 3D A8 19 18
    -0060 | C4 96 4B FE DB 34 46 BB 72 25 CB 18 06 8B CA EF
    -0070 | FB 30 2A E8 D2 31 A4 AE D8 E2 78 93 12 69 79 F9
    -0080 | A6 67 AA BB 48 5D 5B CF FA 4E B8 A4 DB 98 E6 23
    -0090 | F5 13 E8 8A D3 9F D7 A1 0C 53 17 BB 73 F4 3C 12
    -00A0 | 92 6A 7B 75 89 B0 76 BB C3 BB 6E EC 22 62 2C 68
    -00B0 | C2 DB DA 42 80 6A 7C B1 29 5D AC D8 47 F5 0D 45
    -00C0 | 5C 41 7F D3 72 98 90 7D 88 05 AF A4 96 13 47 AD
    -00D0 | D7 7A 6B 1A 11 8E 78 C6 A7 21 B2 BC 15 EE AB B4
    -00E0 | 98 EB 44 83 8F E6 48 39 E0 75 CF B8 22 C5 97 F6
    -00F0 | DB 17 B8 29 67 AA B3 37 99 06 AB 78 BE C7 B0 BD
    -0100 | A3 40 47 91 86 E3 BB 65 16 E7 81 E2 16 95 4C F4
    -0110 | B8 56 24 72 56 DA 25 B6 EF 33 2D 86 C6 82 A8 41
    -0120 | 69 4B 05 FA B3 DF B8 DF B7 66 AE 7A 06 D9 96 BB
    -0130 | B7 DC B5 66 59 D1 3F 67 D2 22 21 EA 37 50 2E CC
    -0140 | 98 AF 03 AF 55 D2 05 30 D2 DB 5B BB 34 76 CB A3
    -0150 | FD 0F 3C 8E
    +
    0000 | 00 00 00 00 00 00 00 00 D8 6C 0C 00 5D 54 6E 65
    +0010 | 40 01 00 00 BE E4 12 D7 A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34 69 41 64 B6 A2 26 86 5F
    +0030 | 51 76 4C C1 1D 1D 1C C1 04 68 65 15 7F 00 00 00
    +0040 | 04 6B AB CD 3B 00 00 00 85 FD 64 DE 85 1D 9D D0
    +0050 | FE 00 01 00 85 9C E2 A8 C3 34 39 53 B8 B5 1F D8
    +0060 | 40 A5 E9 1F C5 06 8B 29 96 28 3A D7 AF F3 1C EC
    +0070 | 72 39 C4 F2 80 B1 93 EC 19 9B 8F 37 FA AC 47 65
    +0080 | 89 AE AA A3 08 EF 56 23 EF 7C 59 6F A3 E7 FF 80
    +0090 | 8E 20 50 73 AE 98 CD D5 6F 3C 8F 57 34 7E 0A 16
    +00A0 | 01 D9 F6 BF 44 35 E1 4C B0 99 DD 9E A4 FB D8 5E
    +00B0 | FC 6A 69 C4 93 24 FF A9 23 05 8A 36 6C 9B 14 16
    +00C0 | EA B2 46 F9 00 91 F4 D1 7B 54 55 B6 06 AF 1D DE
    +00D0 | 9E 19 C4 4A ED 6F 24 3B E5 47 B7 9E 80 4E 76 83
    +00E0 | 24 6D 14 D1 D7 B6 A6 6A 89 C7 DD 15 36 BD 9C 26
    +00F0 | AC 88 26 34 17 87 FC ED A5 A0 DE B8 41 1E 5E C5
    +0100 | B0 D5 47 72 1E C1 D2 78 D9 2C 83 C9 D7 9B 40 5F
    +0110 | 9A A6 C4 1C 61 AE F0 47 65 77 AC D1 65 C8 AD 3E
    +0120 | 29 07 9A CA DD A7 F3 A2 2D 44 A1 6B CE 21 C5 C1
    +0130 | 07 78 77 9A F9 BD CB 7F 6C A1 A6 D7 09 D2 B5 5C
    +0140 | 4B 34 19 5B 9A CB FE 3F BD 38 A3 3F FE A4 BD 3F
    +0150 | 75 41 DA 94

    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;
    message_id 8, 898370B0007EB6C65D46C0C005D546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Random number
    message_id 8, 80148CB4A07EB6C65010027D45D546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 4C4000000 (196 in decimal)60000000 (96 in decimal) Message body length
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 40, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Server-generated random number
    pq 56, 12081B020A05F285482D000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1946129009637410861
    082BE84F327257A745000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 3163865816313079621
    Single-byte prefix denoting length, an 8-byte string, and three bytes of padding
    pq 4, 12081B020A05F285482D000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1946129009637410861
    082BE84F327257A745000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 3163865816313079621
    Single-byte prefix denoting length, 8-byte string, and three bytes of padding
    p 16, 8043DDE9799000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1037997977
    046865157F000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1751455103
    First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    q 24, 8046FC081B5000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1874887093
    046BABCD3B000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1806421307
    Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    nonce 32, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 48, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    new_nonce 64, 3216401EE2ACE92FA4AE0EE0BCEEEFFB29 693DCD74E707FE6F97334E2CA16F1564288034A29E8F8D40A2760BBAAC78991B F1ADBF24F2D668DA912DBD36C41ADAEE Client-generated random number
    @@ -345,7 +345,7 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22 - + @@ -363,25 +363,25 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22 - + - + - + - + @@ -393,7 +393,7 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22 - + @@ -402,47 +402,47 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22
    6) Server responds with:

    Received payload (excluding transport headers/trailers):

    -
    0000 | 00 00 00 00 00 00 00 00 01 B4 EA F2 07 EB 6C 65
    -0010 | BC 02 00 00 5C 07 E8 D0 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C
    -0030 | B1 CF FB 2E 5A 4C 90 B1 FE 50 02 00 F5 31 B3 DD
    -0040 | 83 6C AE 3B E2 8E 2C 1B 46 86 CA F7 70 06 58 FF
    -0050 | DE 89 1B 3B 49 DD 4C E5 B7 3D 9F FA 6C 86 62 90
    -0060 | 18 57 39 93 9A F0 D6 AE CA B0 A0 B7 85 F5 3B 62
    -0070 | C4 C3 C4 F8 F5 97 27 86 CC ED 85 3D 2C FE C7 C6
    -0080 | F0 1A 38 36 ED 3C 67 B7 98 AB 8A 7A 5D 40 FF 09
    -0090 | A5 A1 89 F0 4C EB AD CC 7F D8 A2 25 86 B7 EF 6A
    -00A0 | 39 F3 98 82 FF 5C A4 85 5A B6 95 36 83 B6 7D F8
    -00B0 | DE 80 3D 15 75 30 01 F7 51 10 E8 B9 7D 48 49 49
    -00C0 | 7A 11 0D 0A 8C 8B 21 98 3B 0E CF 8D 43 AB 9F 14
    -00D0 | 95 8A 48 12 C5 FF 13 DA 1C 32 B9 59 66 B5 39 2C
    -00E0 | 93 16 39 F6 21 56 77 2D A2 06 A4 91 39 89 56 A1
    -00F0 | 28 7E 70 02 17 4F 71 FA 22 12 BC EE C1 A3 DA AE
    -0100 | 61 79 89 D9 43 92 6C 3B 1B AE 39 FE 9E F2 77 ED
    -0110 | 39 EF D4 22 62 E1 CD FD 1D C9 EF 3D 9E 89 ED A6
    -0120 | 86 64 57 FC 7E 5F FB C5 CB C6 CC 89 86 EF 9B F6
    -0130 | 56 E2 50 CD BF 1D 00 BF F9 B9 9C C8 7B EC B3 86
    -0140 | 38 FD 67 36 6E 61 6B 79 9B B4 BF 6F 09 0A 61 87
    -0150 | 68 EC 3A E6 26 53 AD 5A 0B 8D 15 95 0A 40 A7 A0
    -0160 | B3 3A 3B 35 5B A1 0E 0B 04 26 9F F0 42 C4 91 6E
    -0170 | DA 6D 53 2E 0C DE CC F3 CE 11 6D 65 E4 17 4A BA
    -0180 | 90 51 ED B8 0F 12 45 95 A2 92 8B 8E A8 E2 8C 2D
    -0190 | D9 B9 93 C4 5B A1 6E 26 51 E3 0E 9B 63 B4 00 EA
    -01A0 | 65 89 96 2D CC 05 F4 EE 32 2D AA FB 47 5E 97 C3
    -01B0 | 37 C2 FF 2B 07 55 E9 6B 9D E4 02 E9 EE BB C0 D4
    -01C0 | 20 D5 E4 46 8A 3D 00 9A A5 1C 32 7B 54 C2 EA F4
    -01D0 | 63 90 DE 0C EA D4 51 C7 B6 06 DD 13 24 B8 AB D5
    -01E0 | 82 4D FF 7A 59 5B 4E FD 37 90 F1 CF F4 0E 58 F3
    -01F0 | D2 DA 00 00 D9 BD 1C CC F4 54 75 E5 E9 60 26 AC
    -0200 | 34 DD 5E 72 E1 90 88 AC 41 43 2F 39 8F F0 42 0F
    -0210 | 40 BF 9F 63 BF B3 2C 92 4A 40 C4 14 83 02 60 33
    -0220 | 12 D3 55 B7 21 8A CB 70 CA DB 13 1A 9D 16 D7 4E
    -0230 | 9F 17 73 C0 BF 03 F3 BB 88 7F 22 A8 A4 EA 40 F6
    -0240 | 1F 33 51 DD 9A 84 4C 8E AE 16 70 83 B4 C7 2B 39
    -0250 | 58 E8 E2 D7 20 92 EE F3 49 18 FD 25 6C 8E 9B B4
    -0260 | FE 12 C6 77 74 D1 F4 7E BA EE 20 67 48 81 3F 5A
    -0270 | AC 44 36 A6 7E A7 B2 FC 08 EA FF E6 BB 22 31 8C
    -0280 | 83 E3 A7 5B 0F 3F 47 EE E9 BF 7C 70
    +
    0000 | 00 00 00 00 00 00 00 00 01 70 B2 7B 5E 54 6E 65
    +0010 | 98 02 00 00 5C 07 E8 D0 A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34 69 41 64 B6 A2 26 86 5F
    +0030 | 51 76 4C C1 1D 1D 1C C1 FE 50 02 00 C9 EF 02 01
    +0040 | 32 84 BC 69 5E FF AA 67 C2 90 7D 89 E3 E6 A4 06
    +0050 | AD 58 0B BF 65 16 27 9B 4A DD 57 F9 F9 AE A7 CE
    +0060 | 38 AE 90 4A D5 65 D7 6D C5 18 45 2B AE 9B B9 B6
    +0070 | DA 5A 1A D1 20 3D FC 5A 6E 45 8C 0E 13 1A 8D 8F
    +0080 | 9E 67 19 2A 3E E1 AF 22 30 6D F7 72 ED ED 7C 56
    +0090 | 87 FB FD B3 76 DC 17 76 FF 84 4C B4 52 6E 61 21
    +00A0 | DD 82 5F 8D 4A A3 94 43 B5 11 1A 1A 0E C4 83 2A
    +00B0 | 55 71 36 3A CB EC 73 B7 77 16 08 B2 8B 14 F5 E3
    +00C0 | 5D 5D 8E 9F A8 B7 A4 7A AB 42 08 C3 43 78 70 3C
    +00D0 | 3E 6A 5F 3A 22 E7 DA 67 05 10 B6 44 BA FB 30 14
    +00E0 | 92 CD C6 7C 7D 99 50 24 E8 2E 99 E3 1A E7 6F FD
    +00F0 | 2B F4 00 E0 66 63 2B F3 A6 22 3F B9 99 61 74 A9
    +0100 | 37 C3 E8 BE 22 8F 07 47 E6 92 DC 69 66 A2 5E 1F
    +0110 | BE 2F 84 1C 29 27 FB 63 45 34 CC 0F 27 D5 B2 97
    +0120 | 6B 3D BF 32 73 B6 05 BF 82 FC 6A F9 44 3D F7 7F
    +0130 | 25 53 A2 30 81 9B CE CA 28 25 98 8E 9C E6 E3 6B
    +0140 | 2B FF 5F A9 36 D1 F8 5D 0E 6F 93 50 E2 C4 37 3C
    +0150 | 5F 3C EB C1 80 B0 D1 CB 57 6E 0F 33 32 32 D9 F1
    +0160 | 18 13 FE 4C 17 3B B2 EA 73 63 8E 8E 93 29 2F 4C
    +0170 | 99 D9 AA DA 44 7C BD 2D CB 6A 96 0F 0D C3 90 71
    +0180 | 02 FC 67 72 DF 40 D2 F2 0C 97 80 16 0E 95 F0 C6
    +0190 | 6C 76 74 80 F5 D2 09 4E 4B 68 2A EA 02 67 AC 63
    +01A0 | B7 F5 BE C6 D2 71 34 87 36 42 A8 93 93 BF FF 61
    +01B0 | 3D F0 5E 6C AD C5 BE D2 B1 C1 03 4D 25 5D 91 C5
    +01C0 | 3E DF 4D 2F 31 77 28 F4 81 44 EF 54 B9 6A 65 93
    +01D0 | 15 2C 03 8D 5B 2E 8F A5 7F 06 AC BF 38 33 D8 BD
    +01E0 | 3D D2 B6 7C 4B AB 60 AD F4 27 84 E0 3A 97 CC 65
    +01F0 | 6C A8 44 E8 06 30 CC 19 93 62 4B 30 6E E9 64 ED
    +0200 | 16 84 BF BC C2 25 18 7E C9 5C 69 6A 92 0F 34 F5
    +0210 | DF 0A 3B A1 52 68 26 97 58 ED B7 0F F8 66 54 1D
    +0220 | 28 58 8A DE 93 4B DF BE 55 90 5E 6F 3E 8B FD 1A
    +0230 | 66 0B 34 B2 1B BD 94 C4 CD FE 50 C6 0A 36 0A C1
    +0240 | 33 DA 1B B6 73 F6 77 39 17 C1 15 01 AF 67 EF DE
    +0250 | 31 16 58 AC C9 6B D2 59 FF 56 3A B4 0A CE 0E 06
    +0260 | F7 0E 2B FA 2C 84 05 F3 F3 95 DE 5F D8 58 62 2B
    +0270 | D1 A1 8E 1C 3A 6A 4D B5 A8 F8 2B B9 F7 EC 52 D4
    +0280 | 10 83 DC 58 94 8E F3 7F CD 24 E8 39

    Payload (de)serialization:

    server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
    message_id 8, 89CEB0D0007EB6C65D86C0C005D546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 40, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    p 56, 8043DDE9799000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1037997977
    046865157F000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1751455103
    First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    q 64, 8046FC081B5000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1874887093
    046BABCD3B000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1806421307
    Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    encrypted_data 80, 260FE0001007C7116856E39AEE23DA81918 C4964BFEDB3446BB7225CB18068BCAEF FB302AE8D231A4AED8E27893126979F9 A667AABB485D5BCFFA4EB8A4DB98E623 F513E88AD39FD7A10C5317BB73F43C12 926A7B7589B076BBC3BB6EEC22622C68 C2DBDA42806A7CB1295DACD847F50D45 5C417FD37298907D8805AFA4961347AD D77A6B1A118E78C6A721B2BC15EEABB4 98EB44838FE64839E075CFB822C597F6 DB17B82967AAB3379906AB78BEC7B0BD A340479186E3BB6516E781E216954CF4 B856247256DA25B6EF332D86C682A841 694B05FAB3DFB8DFB766AE7A06D996BB B7DCB56659D13F67D22221EA37502ECC 98AF03AF55D20530D2DB5BBB3476CBA3
    FD0F3C8E
    FE000100859CE2A8C3343953B8B51FD8 40A5E91FC5068B2996283AD7AFF31CEC 7239C4F280B193EC199B8F37FAAC4765 89AEAAA308EF5623EF7C596FA3E7FF80 8E205073AE98CDD56F3C8F57347E0A16 01D9F6BF4435E14CB099DD9EA4FBD85E FC6A69C49324FFA923058A366C9B1416 EAB246F90091F4D17B5455B606AF1DDE 9E19C44AED6F243BE547B79E804E7683 246D14D1D7B6A66A89C7DD1536BD9C26 AC8826341787FCEDA5A0DEB8411E5EC5 B0D547721EC1D278D92C83C9D79B405F 9AA6C41C61AEF0476577ACD165C8AD3E 29079ACADDA7F3A22D44A16BCE21C5C1 0778779AF9BDCB7F6CA1A6D709D2B55C 4B34195B9ACBFE3FBD38A33FFEA4BD3F
    7541DA94
    Value generated above
    @@ -464,13 +464,13 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22 - + - + @@ -482,19 +482,19 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22 - + - + - + @@ -502,20 +502,20 @@ random_padding_bytes = 038B6B72765B208DFB7DD5D30A19AC5B73DBBA1920AA200A4B1987D22

    Decrypt encrypted_answer using the reverse of the process specified in step 6:

    -
    encrypted_answer = F531B3DD836CAE3BE28E2C1B4686CAF7700658FFDE891B3B49DD4CE5B73D9FFA6C866290185739939AF0D6AECAB0A0B785F53B62C4C3C4F8F5972786CCED853D2CFEC7C6F01A3836ED3C67B798AB8A7A5D40FF09A5A189F04CEBADCC7FD8A22586B7EF6A39F39882FF5CA4855AB6953683B67DF8DE803D15753001F75110E8B97D4849497A110D0A8C8B21983B0ECF8D43AB9F14958A4812C5FF13DA1C32B95966B5392C931639F62156772DA206A491398956A1287E7002174F71FA2212BCEEC1A3DAAE617989D943926C3B1BAE39FE9EF277ED39EFD42262E1CDFD1DC9EF3D9E89EDA6866457FC7E5FFBC5CBC6CC8986EF9BF656E250CDBF1D00BFF9B99CC87BECB38638FD67366E616B799BB4BF6F090A618768EC3AE62653AD5A0B8D15950A40A7A0B33A3B355BA10E0B04269FF042C4916EDA6D532E0CDECCF3CE116D65E4174ABA9051EDB80F124595A2928B8EA8E28C2DD9B993C45BA16E2651E30E9B63B400EA6589962DCC05F4EE322DAAFB475E97C337C2FF2B0755E96B9DE402E9EEBBC0D420D5E4468A3D009AA51C327B54C2EAF46390DE0CEAD451C7B606DD1324B8ABD5824DFF7A595B4EFD3790F1CFF40E58F3D2DA0000D9BD1CCCF45475E5E96026AC34DD5E72E19088AC41432F398FF0420F40BF9F63BFB32C924A40C4148302603312D355B7218ACB70CADB131A9D16D74E9F1773C0BF03F3BB887F22A8A4EA40F61F3351DD9A844C8EAE167083B4C72B3958E8E2D72092EEF34918FD256C8E9BB4FE12C67774D1F47EBAEE206748813F5AAC4436A67EA7B2FC08EAFFE6BB22318C83E3A75B0F3F47EEE9BF7C70
    -tmp_aes_key = 0EC4F0C14F035104D377C5113F23FFDF8E92F502C8482FACE4396EE318ACBEA1
    -tmp_aes_iv = FC4DDAFCB1351D8B0E53DB5B10E1B7F5EFA5AB0F2B8188414A4BC90C16401EE2
    +
    encrypted_answer = C9EF02013284BC695EFFAA67C2907D89E3E6A406AD580BBF6516279B4ADD57F9F9AEA7CE38AE904AD565D76DC518452BAE9BB9B6DA5A1AD1203DFC5A6E458C0E131A8D8F9E67192A3EE1AF22306DF772EDED7C5687FBFDB376DC1776FF844CB4526E6121DD825F8D4AA39443B5111A1A0EC4832A5571363ACBEC73B7771608B28B14F5E35D5D8E9FA8B7A47AAB4208C34378703C3E6A5F3A22E7DA670510B644BAFB301492CDC67C7D995024E82E99E31AE76FFD2BF400E066632BF3A6223FB9996174A937C3E8BE228F0747E692DC6966A25E1FBE2F841C2927FB634534CC0F27D5B2976B3DBF3273B605BF82FC6AF9443DF77F2553A230819BCECA2825988E9CE6E36B2BFF5FA936D1F85D0E6F9350E2C4373C5F3CEBC180B0D1CB576E0F333232D9F11813FE4C173BB2EA73638E8E93292F4C99D9AADA447CBD2DCB6A960F0DC3907102FC6772DF40D2F20C9780160E95F0C66C767480F5D2094E4B682AEA0267AC63B7F5BEC6D27134873642A89393BFFF613DF05E6CADC5BED2B1C1034D255D91C53EDF4D2F317728F48144EF54B96A6593152C038D5B2E8FA57F06ACBF3833D8BD3DD2B67C4BAB60ADF42784E03A97CC656CA844E80630CC1993624B306EE964ED1684BFBCC225187EC95C696A920F34F5DF0A3BA15268269758EDB70FF866541D28588ADE934BDFBE55905E6F3E8BFD1A660B34B21BBD94C4CDFE50C60A360AC133DA1BB673F6773917C11501AF67EFDE311658ACC96BD259FF563AB40ACE0E06F70E2BFA2C8405F3F395DE5FD858622BD1A18E1C3A6A4DB5A8F82BB9F7EC52D41083DC58948EF37FCD24E839
    +tmp_aes_key = E96A1792988B55D95430AE549C488BF681641EC28E79158F9E3CC33BFDF87960
    +tmp_aes_iv = 8861AD3E24391A7C3CC470124711FB6AC4F42268A01FFE4DD29D9FCA288034A2

    Yielding:

    -
    answer_with_hash = 4025DC61AA8D3AD9FCF7D215C8FB2808285ACBD8BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B103000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001002DDF0E0962C4FF122336959E5F1EF9ECDE0D5133DDA3F5226BF41BAAAFF1E406040D53EA007E1F860A6C492FDBC9081F5C961331348B8F53BB48EAA9F0CBD48FB8B8BD70DB1158296F0BF749D70DD32DBA7D83C5C4CE6B59B433030AE2C262BC0E39928A8120A262EF2B6BE8C1EADB73F39B77C85432B8230223774AF46ABBD790D4833CA1C169E0DA63F98CB9471AE9C9E12BCA8131C93B299E1A2EEA8FA3D452F80C72AC032AF5691560E84D2C4E7F89216C33B9ECE8D7C886DBC704C906DA70C459DADDBD31A891968A0876E66E634D635653A80985D5D9B19FB3A2E0C35415613F272CE291166B4D7C354BEA323B11930D99E2E405EF8B3CCEDCE1B4B2CB07EB6C6513675A1B626B5E92
    -answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B103000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001002DDF0E0962C4FF122336959E5F1EF9ECDE0D5133DDA3F5226BF41BAAAFF1E406040D53EA007E1F860A6C492FDBC9081F5C961331348B8F53BB48EAA9F0CBD48FB8B8BD70DB1158296F0BF749D70DD32DBA7D83C5C4CE6B59B433030AE2C262BC0E39928A8120A262EF2B6BE8C1EADB73F39B77C85432B8230223774AF46ABBD790D4833CA1C169E0DA63F98CB9471AE9C9E12BCA8131C93B299E1A2EEA8FA3D452F80C72AC032AF5691560E84D2C4E7F89216C33B9ECE8D7C886DBC704C906DA70C459DADDBD31A891968A0876E66E634D635653A80985D5D9B19FB3A2E0C35415613F272CE291166B4D7C354BEA323B11930D99E2E405EF8B3CCEDCE1B4B2CB07EB6C6513675A1B626B5E92
    +
    answer_with_hash = 04EFE59D8CA105B3FEFD125A52ED14A395F52677BA0D89B5A9A9E760C1900993EF1DD3FA514A0E34694164B6A226865F51764CC11D1D1CC103000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100B0C038130ECF205F6785B02CF13BA26796D2DCE18D6C8ADE7C682D7F8214CE9404A30DF9B071B2713CE3F6CC9F690245BAB323F905E1B6811C19BEDEB515F9297C7C4ADC9F0C2C045223128E6443B7CD05C004C4F5A36851114ED6E8FC6580C48C7A1955B21EC90ECFC30E8F30F9E97854755920040CEC5E75FDCABE9E2C2EC3BD895CED053B0BBD3A251DDF321E17EC81757155ECB0DC3770D3FD5F60A287C42CF298DB44E1F68D54921DDE2D17227C1121D75F37952EAC2B350C3F8E8059D65F404BB1FCEA36FFB996150D41DD0624CEB2628A085A859CFF174D5C366983451D50D912C722D44B80924A19138F7DCBFA56273E9119643FFC4B5A782FFE0AC45E546E65C1255A8B7D9F86A3
    +answer = BA0D89B5A9A9E760C1900993EF1DD3FA514A0E34694164B6A226865F51764CC11D1D1CC103000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100B0C038130ECF205F6785B02CF13BA26796D2DCE18D6C8ADE7C682D7F8214CE9404A30DF9B071B2713CE3F6CC9F690245BAB323F905E1B6811C19BEDEB515F9297C7C4ADC9F0C2C045223128E6443B7CD05C004C4F5A36851114ED6E8FC6580C48C7A1955B21EC90ECFC30E8F30F9E97854755920040CEC5E75FDCABE9E2C2EC3BD895CED053B0BBD3A251DDF321E17EC81757155ECB0DC3770D3FD5F60A287C42CF298DB44E1F68D54921DDE2D17227C1121D75F37952EAC2B350C3F8E8059D65F404BB1FCEA36FFB996150D41DD0624CEB2628A085A859CFF174D5C366983451D50D912C722D44B80924A19138F7DCBFA56273E9119643FFC4B5A782FFE0AC45E546E65C1255A8B7D9F86A3

    Generated payload (excluding transport headers/trailers):

    -
    0000 | BA 0D 89 B5 2B 61 E8 CE 46 92 30 D3 F0 2E B0 DD
    -0010 | 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C B1 CF FB 2E
    -0020 | 5A 4C 90 B1 03 00 00 00 FE 00 01 00 C7 1C AE B9
    +
    0000 | BA 0D 89 B5 A9 A9 E7 60 C1 90 09 93 EF 1D D3 FA
    +0010 | 51 4A 0E 34 69 41 64 B6 A2 26 86 5F 51 76 4C C1
    +0020 | 1D 1D 1C C1 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 = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B
     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 | 2D DF 0E 09 62 C4 FF 12 23 36 95 9E 5F 1E F9 EC
    -0140 | DE 0D 51 33 DD A3 F5 22 6B F4 1B AA AF F1 E4 06
    -0150 | 04 0D 53 EA 00 7E 1F 86 0A 6C 49 2F DB C9 08 1F
    -0160 | 5C 96 13 31 34 8B 8F 53 BB 48 EA A9 F0 CB D4 8F
    -0170 | B8 B8 BD 70 DB 11 58 29 6F 0B F7 49 D7 0D D3 2D
    -0180 | BA 7D 83 C5 C4 CE 6B 59 B4 33 03 0A E2 C2 62 BC
    -0190 | 0E 39 92 8A 81 20 A2 62 EF 2B 6B E8 C1 EA DB 73
    -01A0 | F3 9B 77 C8 54 32 B8 23 02 23 77 4A F4 6A BB D7
    -01B0 | 90 D4 83 3C A1 C1 69 E0 DA 63 F9 8C B9 47 1A E9
    -01C0 | C9 E1 2B CA 81 31 C9 3B 29 9E 1A 2E EA 8F A3 D4
    -01D0 | 52 F8 0C 72 AC 03 2A F5 69 15 60 E8 4D 2C 4E 7F
    -01E0 | 89 21 6C 33 B9 EC E8 D7 C8 86 DB C7 04 C9 06 DA
    -01F0 | 70 C4 59 DA DD BD 31 A8 91 96 8A 08 76 E6 6E 63
    -0200 | 4D 63 56 53 A8 09 85 D5 D9 B1 9F B3 A2 E0 C3 54
    -0210 | 15 61 3F 27 2C E2 91 16 6B 4D 7C 35 4B EA 32 3B
    -0220 | 11 93 0D 99 E2 E4 05 EF 8B 3C CE DC E1 B4 B2 CB
    -0230 | 07 EB 6C 65
    +0130 | B0 C0 38 13 0E CF 20 5F 67 85 B0 2C F1 3B A2 67 +0140 | 96 D2 DC E1 8D 6C 8A DE 7C 68 2D 7F 82 14 CE 94 +0150 | 04 A3 0D F9 B0 71 B2 71 3C E3 F6 CC 9F 69 02 45 +0160 | BA B3 23 F9 05 E1 B6 81 1C 19 BE DE B5 15 F9 29 +0170 | 7C 7C 4A DC 9F 0C 2C 04 52 23 12 8E 64 43 B7 CD +0180 | 05 C0 04 C4 F5 A3 68 51 11 4E D6 E8 FC 65 80 C4 +0190 | 8C 7A 19 55 B2 1E C9 0E CF C3 0E 8F 30 F9 E9 78 +01A0 | 54 75 59 20 04 0C EC 5E 75 FD CA BE 9E 2C 2E C3 +01B0 | BD 89 5C ED 05 3B 0B BD 3A 25 1D DF 32 1E 17 EC +01C0 | 81 75 71 55 EC B0 DC 37 70 D3 FD 5F 60 A2 87 C4 +01D0 | 2C F2 98 DB 44 E1 F6 8D 54 92 1D DE 2D 17 22 7C +01E0 | 11 21 D7 5F 37 95 2E AC 2B 35 0C 3F 8E 80 59 D6 +01F0 | 5F 40 4B B1 FC EA 36 FF B9 96 15 0D 41 DD 06 24 +0200 | CE B2 62 8A 08 5A 85 9C FF 17 4D 5C 36 69 83 45 +0210 | 1D 50 D9 12 C7 22 D4 4B 80 92 4A 19 13 8F 7D CB +0220 | FA 56 27 3E 91 19 64 3F FC 4B 5A 78 2F FE 0A C4 +0230 | 5E 54 6E 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;
    message_id 8, 801B4EAF207EB6C650170B27B5E546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 4BC020000 (700 in decimal)98020000 (664 in decimal) Message body length
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 40, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    encrypted_answer 56, 596FE500200F531B3DD836CAE3BE28E2C1B 4686CAF7700658FFDE891B3B49DD4CE5 B73D9FFA6C866290185739939AF0D6AE CAB0A0B785F53B62C4C3C4F8F5972786 CCED853D2CFEC7C6F01A3836ED3C67B7 98AB8A7A5D40FF09A5A189F04CEBADCC 7FD8A22586B7EF6A39F39882FF5CA485 5AB6953683B67DF8DE803D15753001F7 5110E8B97D4849497A110D0A8C8B2198 3B0ECF8D43AB9F14958A4812C5FF13DA 1C32B95966B5392C931639F62156772D A206A491398956A1287E7002174F71FA 2212BCEEC1A3DAAE617989D943926C3B 1BAE39FE9EF277ED39EFD42262E1CDFD 1DC9EF3D9E89EDA6866457FC7E5FFBC5 CBC6CC8986EF9BF656E250CDBF1D00BF F9B99CC87BECB38638FD67366E616B79 9BB4BF6F090A618768EC3AE62653AD5A 0B8D15950A40A7A0B33A3B355BA10E0B 04269FF042C4916EDA6D532E0CDECCF3 CE116D65E4174ABA9051EDB80F124595 A2928B8EA8E28C2DD9B993C45BA16E26 51E30E9B63B400EA6589962DCC05F4EE 322DAAFB475E97C337C2FF2B0755E96B 9DE402E9EEBBC0D420D5E4468A3D009A A51C327B54C2EAF46390DE0CEAD451C7 B606DD1324B8ABD5824DFF7A595B4EFD 3790F1CFF40E58F3D2DA0000D9BD1CCC F45475E5E96026AC34DD5E72E19088AC 41432F398FF0420F40BF9F63BFB32C92 4A40C4148302603312D355B7218ACB70 CADB131A9D16D74E9F1773C0BF03F3BB 887F22A8A4EA40F61F3351DD9A844C8E AE167083B4C72B3958E8E2D72092EEF3 4918FD256C8E9BB4FE12C67774D1F47E BAEE206748813F5AAC4436A67EA7B2FC 08EAFFE6BB22318C83E3A75B0F3F47EE
    E9BF7C70
    FE500200C9EF02013284BC695EFFAA67 C2907D89E3E6A406AD580BBF6516279B 4ADD57F9F9AEA7CE38AE904AD565D76D C518452BAE9BB9B6DA5A1AD1203DFC5A 6E458C0E131A8D8F9E67192A3EE1AF22 306DF772EDED7C5687FBFDB376DC1776 FF844CB4526E6121DD825F8D4AA39443 B5111A1A0EC4832A5571363ACBEC73B7 771608B28B14F5E35D5D8E9FA8B7A47A AB4208C34378703C3E6A5F3A22E7DA67 0510B644BAFB301492CDC67C7D995024 E82E99E31AE76FFD2BF400E066632BF3 A6223FB9996174A937C3E8BE228F0747 E692DC6966A25E1FBE2F841C2927FB63 4534CC0F27D5B2976B3DBF3273B605BF 82FC6AF9443DF77F2553A230819BCECA 2825988E9CE6E36B2BFF5FA936D1F85D 0E6F9350E2C4373C5F3CEBC180B0D1CB 576E0F333232D9F11813FE4C173BB2EA 73638E8E93292F4C99D9AADA447CBD2D CB6A960F0DC3907102FC6772DF40D2F2 0C9780160E95F0C66C767480F5D2094E 4B682AEA0267AC63B7F5BEC6D2713487 3642A89393BFFF613DF05E6CADC5BED2 B1C1034D255D91C53EDF4D2F317728F4 8144EF54B96A6593152C038D5B2E8FA5 7F06ACBF3833D8BD3DD2B67C4BAB60AD F42784E03A97CC656CA844E80630CC19 93624B306EE964ED1684BFBCC225187E C95C696A920F34F5DF0A3BA152682697 58EDB70FF866541D28588ADE934BDFBE 55905E6F3E8BFD1A660B34B21BBD94C4 CDFE50C60A360AC133DA1BB673F67739 17C11501AF67EFDE311658ACC96BD259 FF563AB40ACE0E06F70E2BFA2C8405F3 F395DE5FD858622BD1A18E1C3A6A4DB5 A8F82BB9F7EC52D41083DC58948EF37F
    CD24E839
    See below
    @@ -570,13 +570,13 @@ answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B - + - + @@ -594,13 +594,13 @@ answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B - + - + @@ -609,34 +609,34 @@ answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B
    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 = 7CAC5DD30984C50AA842F48F90D80FBB1B7C7E480D5094E366EF8CD9A3B9A653AA5AF5EAA939787618D5A4AB2D7BE565CB706BF7AD36F0BC9C9D518E25FBCC0404E9C815647B604A08CC827286D898058C7B4582B27956543D102CFD3D74F7874DCE8BA87E543A79FD89155B066119373A8D71B7A10D6774C21E5C8A9CDDFF75FDD6A5A38F5CD0FAB8206DAC93E6AE19004F7DE83A1542657ABD407E388F1AE26A789D0B136B64A20954914404A2E9605E71578D1B8B2F6D60CE51A26A39DA4ABFC1186FA3753F1A335F0FA2EAD84C00A2A1DA24E1E066569FADFD43FD1A1C21582600FD42352831965A3410FD163065CEAADE55EF6727EB613BD709543171C0
    +
    b = 98E98E89E25659746BB1B7D32360E34685BD948BC6B8D6B1EA94A994E018D7E45F8A218021B583C181E8F0FAB182796B011ABE552528E4BB9600AC0CE69D17F1AF0099F412F037F1E5D54784F8B57DB102B2D02B00AD84D4A33F7EAF049EFFB4ADAC676099D2C680BA2D6C508DC6D6E56898EB8504D4E46C64D3277A643EC1A53CAF435D47C35F1BF2D53B298269459B36FAF38BAF8429CD72BEB0467E75B4867B291D5D18A18CDA3372E7B714E28A8CAEFAA3476E007EE8AB54D482CC9814B13F7CF5B8DA04E4303BBA0F58A4A1BA7A3077A02619F435E638B9A520996E9A545FC09EB97D7C404AA451878B9FE0B5C5F48C178B099400DDF627200AA06A4FEC

    Then compute g_b = pow(g, b) mod dh_prime

    -
    g_b = 5DE63467EDB3BFAA85242250ED73AD59FFB6421128FC16D29B5863532214029F0A553DA6AFE4C6C9B0B8471156308B17DBC829B8DDA7D48A762AE917726E80380AE83915F29A76D44964F6EFE3171CAC12EB3293FF42F2430793219478BABD6575F30BD1FCA2D1386421ABFA37D064D15F95E3B20F12171485150EFAA6F4EAF7F6B7CC3F8BA663322962005380A9BE9E3D7C1F4C3C080862DD7420488B072EC81873F872B62A7FCD3798E7E92C5F53DD730E92AB882406C4A10644A9B71A86F3C96229F5A11C1B1EDB40817556F15075A3CB9B5CCA73BA1CE7B3EF3EB4D0661D01F5EC8A2AF64928C902DDE03BCAF13AA51417A81116817CA753EF924020F12A
    +
    g_b = 2588E25A92633AD1B5FC851F5A4B9F8BB0A26145EC5E160369577DFF86CAF703A4D02DB7F512E696ECA856DA52C0D3FCFE91991D1A7D7207AEE7C20B0553EE13DFFF4CBE3771299FA40C2AC5281DF37B68E9E314440CFE3C59C2A2AD607C13607815AB8A6744551F2F6F890AA3C2BA8649DFB1C910BD1B166698B7A75B00BCA5D2F0444C88D97B843350AE83095C1BE4BACDF25720BA2248D473CDD6571A35E54C2E350892AD752CF92D6F5D1189C7914A2D6033D78591FB2EF7DAFD3F3E9A43AA84875CDCAAD4AC423A2856BFC110226C9688981F5AE981FB84432D49FF2FC04ACFC6A82BA89BC336D93359C6CECE1C1ECCE7450B079DB9581D01A895805CD6
    7.1) generation of encrypted_data

    Generated payload (excluding transport headers/trailers):

    -
    0000 | 54 B6 43 66 2B 61 E8 CE 46 92 30 D3 F0 2E B0 DD
    -0010 | 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C B1 CF FB 2E
    -0020 | 5A 4C 90 B1 00 00 00 00 00 00 00 00 FE 00 01 00
    -0030 | 5D E6 34 67 ED B3 BF AA 85 24 22 50 ED 73 AD 59
    -0040 | FF B6 42 11 28 FC 16 D2 9B 58 63 53 22 14 02 9F
    -0050 | 0A 55 3D A6 AF E4 C6 C9 B0 B8 47 11 56 30 8B 17
    -0060 | DB C8 29 B8 DD A7 D4 8A 76 2A E9 17 72 6E 80 38
    -0070 | 0A E8 39 15 F2 9A 76 D4 49 64 F6 EF E3 17 1C AC
    -0080 | 12 EB 32 93 FF 42 F2 43 07 93 21 94 78 BA BD 65
    -0090 | 75 F3 0B D1 FC A2 D1 38 64 21 AB FA 37 D0 64 D1
    -00A0 | 5F 95 E3 B2 0F 12 17 14 85 15 0E FA A6 F4 EA F7
    -00B0 | F6 B7 CC 3F 8B A6 63 32 29 62 00 53 80 A9 BE 9E
    -00C0 | 3D 7C 1F 4C 3C 08 08 62 DD 74 20 48 8B 07 2E C8
    -00D0 | 18 73 F8 72 B6 2A 7F CD 37 98 E7 E9 2C 5F 53 DD
    -00E0 | 73 0E 92 AB 88 24 06 C4 A1 06 44 A9 B7 1A 86 F3
    -00F0 | C9 62 29 F5 A1 1C 1B 1E DB 40 81 75 56 F1 50 75
    -0100 | A3 CB 9B 5C CA 73 BA 1C E7 B3 EF 3E B4 D0 66 1D
    -0110 | 01 F5 EC 8A 2A F6 49 28 C9 02 DD E0 3B CA F1 3A
    -0120 | A5 14 17 A8 11 16 81 7C A7 53 EF 92 40 20 F1 2A
    +
    0000 | 54 B6 43 66 A9 A9 E7 60 C1 90 09 93 EF 1D D3 FA
    +0010 | 51 4A 0E 34 69 41 64 B6 A2 26 86 5F 51 76 4C C1
    +0020 | 1D 1D 1C C1 00 00 00 00 00 00 00 00 FE 00 01 00
    +0030 | 25 88 E2 5A 92 63 3A D1 B5 FC 85 1F 5A 4B 9F 8B
    +0040 | B0 A2 61 45 EC 5E 16 03 69 57 7D FF 86 CA F7 03
    +0050 | A4 D0 2D B7 F5 12 E6 96 EC A8 56 DA 52 C0 D3 FC
    +0060 | FE 91 99 1D 1A 7D 72 07 AE E7 C2 0B 05 53 EE 13
    +0070 | DF FF 4C BE 37 71 29 9F A4 0C 2A C5 28 1D F3 7B
    +0080 | 68 E9 E3 14 44 0C FE 3C 59 C2 A2 AD 60 7C 13 60
    +0090 | 78 15 AB 8A 67 44 55 1F 2F 6F 89 0A A3 C2 BA 86
    +00A0 | 49 DF B1 C9 10 BD 1B 16 66 98 B7 A7 5B 00 BC A5
    +00B0 | D2 F0 44 4C 88 D9 7B 84 33 50 AE 83 09 5C 1B E4
    +00C0 | BA CD F2 57 20 BA 22 48 D4 73 CD D6 57 1A 35 E5
    +00D0 | 4C 2E 35 08 92 AD 75 2C F9 2D 6F 5D 11 89 C7 91
    +00E0 | 4A 2D 60 33 D7 85 91 FB 2E F7 DA FD 3F 3E 9A 43
    +00F0 | AA 84 87 5C DC AA D4 AC 42 3A 28 56 BF C1 10 22
    +0100 | 6C 96 88 98 1F 5A E9 81 FB 84 43 2D 49 FF 2F C0
    +0110 | 4A CF C6 A8 2B A8 9B C3 36 D9 33 59 C6 CE CE 1C
    +0120 | 1E CC E7 45 0B 07 9D B9 58 1D 01 A8 95 80 5C D6

    Payload (de)serialization:

    client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data;
    nonce 4, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 20, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    g_a 300, 260FE0001002DDF0E0962C4FF122336959E 5F1EF9ECDE0D5133DDA3F5226BF41BAA AFF1E406040D53EA007E1F860A6C492F DBC9081F5C961331348B8F53BB48EAA9 F0CBD48FB8B8BD70DB1158296F0BF749 D70DD32DBA7D83C5C4CE6B59B433030A E2C262BC0E39928A8120A262EF2B6BE8 C1EADB73F39B77C85432B8230223774A F46ABBD790D4833CA1C169E0DA63F98C B9471AE9C9E12BCA8131C93B299E1A2E EA8FA3D452F80C72AC032AF5691560E8 4D2C4E7F89216C33B9ECE8D7C886DBC7 04C906DA70C459DADDBD31A891968A08 76E66E634D635653A80985D5D9B19FB3 A2E0C35415613F272CE291166B4D7C35 4BEA323B11930D99E2E405EF8B3CCEDC
    E1B4B2CB
    FE000100B0C038130ECF205F6785B02C F13BA26796D2DCE18D6C8ADE7C682D7F 8214CE9404A30DF9B071B2713CE3F6CC 9F690245BAB323F905E1B6811C19BEDE B515F9297C7C4ADC9F0C2C045223128E 6443B7CD05C004C4F5A36851114ED6E8 FC6580C48C7A1955B21EC90ECFC30E8F 30F9E97854755920040CEC5E75FDCABE 9E2C2EC3BD895CED053B0BBD3A251DDF 321E17EC81757155ECB0DC3770D3FD5F 60A287C42CF298DB44E1F68D54921DDE 2D17227C1121D75F37952EAC2B350C3F 8E8059D65F404BB1FCEA36FFB996150D 41DD0624CEB2628A085A859CFF174D5C 366983451D50D912C722D44B80924A19 138F7DCBFA56273E9119643FFC4B5A78
    2FFE0AC4
    g_a diffie-hellman parameter
    server_time 560, 407EB6C65 (1701636871 in decimal)5E546E65 (1701729374 in decimal) Server time
    @@ -658,19 +658,19 @@ answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B - + - + - + @@ -684,47 +684,47 @@ answer = BA0D89B52B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B

    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 = 54B643662B61E8CE469230D3F02EB0DD8B347C7A0B13979CAF038B9CB1CFFB2E5A4C90B10000000000000000FE0001005DE63467EDB3BFAA85242250ED73AD59FFB6421128FC16D29B5863532214029F0A553DA6AFE4C6C9B0B8471156308B17DBC829B8DDA7D48A762AE917726E80380AE83915F29A76D44964F6EFE3171CAC12EB3293FF42F2430793219478BABD6575F30BD1FCA2D1386421ABFA37D064D15F95E3B20F12171485150EFAA6F4EAF7F6B7CC3F8BA663322962005380A9BE9E3D7C1F4C3C080862DD7420488B072EC81873F872B62A7FCD3798E7E92C5F53DD730E92AB882406C4A10644A9B71A86F3C96229F5A11C1B1EDB40817556F15075A3CB9B5CCA73BA1CE7B3EF3EB4D0661D01F5EC8A2AF64928C902DDE03BCAF13AA51417A81116817CA753EF924020F12A
    -padding = 31258D84C9988CCA58689670
    -tmp_aes_key = 0EC4F0C14F035104D377C5113F23FFDF8E92F502C8482FACE4396EE318ACBEA1
    -tmp_aes_iv = FC4DDAFCB1351D8B0E53DB5B10E1B7F5EFA5AB0F2B8188414A4BC90C16401EE2
    +
    data = 54B64366A9A9E760C1900993EF1DD3FA514A0E34694164B6A226865F51764CC11D1D1CC10000000000000000FE0001002588E25A92633AD1B5FC851F5A4B9F8BB0A26145EC5E160369577DFF86CAF703A4D02DB7F512E696ECA856DA52C0D3FCFE91991D1A7D7207AEE7C20B0553EE13DFFF4CBE3771299FA40C2AC5281DF37B68E9E314440CFE3C59C2A2AD607C13607815AB8A6744551F2F6F890AA3C2BA8649DFB1C910BD1B166698B7A75B00BCA5D2F0444C88D97B843350AE83095C1BE4BACDF25720BA2248D473CDD6571A35E54C2E350892AD752CF92D6F5D1189C7914A2D6033D78591FB2EF7DAFD3F3E9A43AA84875CDCAAD4AC423A2856BFC110226C9688981F5AE981FB84432D49FF2FC04ACFC6A82BA89BC336D93359C6CECE1C1ECCE7450B079DB9581D01A895805CD6
    +padding = 970F83BB03E563DE1C1C370E
    +tmp_aes_key = E96A1792988B55D95430AE549C488BF681641EC28E79158F9E3CC33BFDF87960
    +tmp_aes_iv = 8861AD3E24391A7C3CC470124711FB6AC4F42268A01FFE4DD29D9FCA288034A2

    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 = 03B6A54797F1485038D9AE309CA59FDA675B09F363EC6A9728D282D71AEC467BC5451C0C80A8E87AC073591ED197E3DDE2E026B4C375B60089C5AF1899FBB86CFBD763F5E295BB8B256E40027C536B6835265FA270708ECE9BE46388706839EC90C9EA697B69985277F1AD4C96C939E6A4C5E0245BF4C4BFA36E7083EFD5701F72845137C88FFAEEEB15546DE8DD405120755D022C68888A55546C28A4982B2E06030297A18C720AE560E7C86764D3B239469E07BEE02D804104163C5176D6FF881724C279614AC53DDCBE47DDA625F5D2BFCF249904AABC474DCDA70298178F4D5EFB295E6ECB97742939B335163B204145B0A4ABEE779B14FB956FEDD6DB6C4960E029F16E14CD45A14BB8612F4814933541D4E9BBC32489E120604DF76FA043B9131A83CA20C3BF129C5846DF6E802259401E482BA5314901DB1ED9713A8ACCBAEC6E74AE2F18DB566EB2ED354768
    +
    encrypted_data = 3100EDA298CD8244750C6E6C869D860C090E77B7E459E730FF1536D707787EC4BCDC65955E0E0A6A35FD241EE8AA3D04F4182F096CB43E85AD31A07AFDE27D64196B4E7FB7076057F12C7DA829D0B188645DC2674E466D031C93CEF333AD57FABD08ED86A5431DA34BFFAE8BAD98FB379875DB69316DA8A4B2678A5DE565DC380659155C50855C279B7CC76C599E66DA2DCCD9ECEF66539B1C2DCE512FD7FB5F5F5426BB64C01BADA6D5D98665022C5EC2B201F162404A66CDC6B27F5CCAA9AF971EB7D7CC07098FB8D3D9BA6F511753F8D11E2797CC3632D5B87AB4B5AB11E708D81BF0CC62695D5150460BAD2C14D918B50BA4E57026992692CDF299537458BBD977907EA0DB2EAC49E29523AE767F57C60EE317F4E9F541115EE445B2D8B91983ADABDE5D05C2269FA3062F4FAACC148574F5127C814F2C9CE550F0D5E9D9F19C5031836655CD773082ABAC0BE5A9

    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 A0 EB 0D 00 07 EB 6C 65
    -0010 | 78 01 00 00 1F 5F 04 F5 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C
    -0030 | B1 CF FB 2E 5A 4C 90 B1 FE 50 01 00 03 B6 A5 47
    -0040 | 97 F1 48 50 38 D9 AE 30 9C A5 9F DA 67 5B 09 F3
    -0050 | 63 EC 6A 97 28 D2 82 D7 1A EC 46 7B C5 45 1C 0C
    -0060 | 80 A8 E8 7A C0 73 59 1E D1 97 E3 DD E2 E0 26 B4
    -0070 | C3 75 B6 00 89 C5 AF 18 99 FB B8 6C FB D7 63 F5
    -0080 | E2 95 BB 8B 25 6E 40 02 7C 53 6B 68 35 26 5F A2
    -0090 | 70 70 8E CE 9B E4 63 88 70 68 39 EC 90 C9 EA 69
    -00A0 | 7B 69 98 52 77 F1 AD 4C 96 C9 39 E6 A4 C5 E0 24
    -00B0 | 5B F4 C4 BF A3 6E 70 83 EF D5 70 1F 72 84 51 37
    -00C0 | C8 8F FA EE EB 15 54 6D E8 DD 40 51 20 75 5D 02
    -00D0 | 2C 68 88 8A 55 54 6C 28 A4 98 2B 2E 06 03 02 97
    -00E0 | A1 8C 72 0A E5 60 E7 C8 67 64 D3 B2 39 46 9E 07
    -00F0 | BE E0 2D 80 41 04 16 3C 51 76 D6 FF 88 17 24 C2
    -0100 | 79 61 4A C5 3D DC BE 47 DD A6 25 F5 D2 BF CF 24
    -0110 | 99 04 AA BC 47 4D CD A7 02 98 17 8F 4D 5E FB 29
    -0120 | 5E 6E CB 97 74 29 39 B3 35 16 3B 20 41 45 B0 A4
    -0130 | AB EE 77 9B 14 FB 95 6F ED D6 DB 6C 49 60 E0 29
    -0140 | F1 6E 14 CD 45 A1 4B B8 61 2F 48 14 93 35 41 D4
    -0150 | E9 BB C3 24 89 E1 20 60 4D F7 6F A0 43 B9 13 1A
    -0160 | 83 CA 20 C3 BF 12 9C 58 46 DF 6E 80 22 59 40 1E
    -0170 | 48 2B A5 31 49 01 DB 1E D9 71 3A 8A CC BA EC 6E
    -0180 | 74 AE 2F 18 DB 56 6E B2 ED 35 47 68
    +
    0000 | 00 00 00 00 00 00 00 00 B0 17 03 00 5E 54 6E 65
    +0010 | 78 01 00 00 1F 5F 04 F5 A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34 69 41 64 B6 A2 26 86 5F
    +0030 | 51 76 4C C1 1D 1D 1C C1 FE 50 01 00 31 00 ED A2
    +0040 | 98 CD 82 44 75 0C 6E 6C 86 9D 86 0C 09 0E 77 B7
    +0050 | E4 59 E7 30 FF 15 36 D7 07 78 7E C4 BC DC 65 95
    +0060 | 5E 0E 0A 6A 35 FD 24 1E E8 AA 3D 04 F4 18 2F 09
    +0070 | 6C B4 3E 85 AD 31 A0 7A FD E2 7D 64 19 6B 4E 7F
    +0080 | B7 07 60 57 F1 2C 7D A8 29 D0 B1 88 64 5D C2 67
    +0090 | 4E 46 6D 03 1C 93 CE F3 33 AD 57 FA BD 08 ED 86
    +00A0 | A5 43 1D A3 4B FF AE 8B AD 98 FB 37 98 75 DB 69
    +00B0 | 31 6D A8 A4 B2 67 8A 5D E5 65 DC 38 06 59 15 5C
    +00C0 | 50 85 5C 27 9B 7C C7 6C 59 9E 66 DA 2D CC D9 EC
    +00D0 | EF 66 53 9B 1C 2D CE 51 2F D7 FB 5F 5F 54 26 BB
    +00E0 | 64 C0 1B AD A6 D5 D9 86 65 02 2C 5E C2 B2 01 F1
    +00F0 | 62 40 4A 66 CD C6 B2 7F 5C CA A9 AF 97 1E B7 D7
    +0100 | CC 07 09 8F B8 D3 D9 BA 6F 51 17 53 F8 D1 1E 27
    +0110 | 97 CC 36 32 D5 B8 7A B4 B5 AB 11 E7 08 D8 1B F0
    +0120 | CC 62 69 5D 51 50 46 0B AD 2C 14 D9 18 B5 0B A4
    +0130 | E5 70 26 99 26 92 CD F2 99 53 74 58 BB D9 77 90
    +0140 | 7E A0 DB 2E AC 49 E2 95 23 AE 76 7F 57 C6 0E E3
    +0150 | 17 F4 E9 F5 41 11 5E E4 45 B2 D8 B9 19 83 AD AB
    +0160 | DE 5D 05 C2 26 9F A3 06 2F 4F AA CC 14 85 74 F5
    +0170 | 12 7C 81 4F 2C 9C E5 50 F0 D5 E9 D9 F1 9C 50 31
    +0180 | 83 66 55 CD 77 30 82 AB AC 0B E5 A9

    Payload (de)serialization:

    set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
    nonce 4, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 20, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    g_b 36, 260FE0001005DE63467EDB3BFAA85242250 ED73AD59FFB6421128FC16D29B586353 2214029F0A553DA6AFE4C6C9B0B84711 56308B17DBC829B8DDA7D48A762AE917 726E80380AE83915F29A76D44964F6EF E3171CAC12EB3293FF42F24307932194 78BABD6575F30BD1FCA2D1386421ABFA 37D064D15F95E3B20F12171485150EFA A6F4EAF7F6B7CC3F8BA6633229620053 80A9BE9E3D7C1F4C3C080862DD742048 8B072EC81873F872B62A7FCD3798E7E9 2C5F53DD730E92AB882406C4A10644A9 B71A86F3C96229F5A11C1B1EDB408175 56F15075A3CB9B5CCA73BA1CE7B3EF3E B4D0661D01F5EC8A2AF64928C902DDE0 3BCAF13AA51417A81116817CA753EF92
    4020F12A
    FE0001002588E25A92633AD1B5FC851F 5A4B9F8BB0A26145EC5E160369577DFF 86CAF703A4D02DB7F512E696ECA856DA 52C0D3FCFE91991D1A7D7207AEE7C20B 0553EE13DFFF4CBE3771299FA40C2AC5 281DF37B68E9E314440CFE3C59C2A2AD 607C13607815AB8A6744551F2F6F890A A3C2BA8649DFB1C910BD1B166698B7A7 5B00BCA5D2F0444C88D97B843350AE83 095C1BE4BACDF25720BA2248D473CDD6 571A35E54C2E350892AD752CF92D6F5D 1189C7914A2D6033D78591FB2EF7DAFD 3F3E9A43AA84875CDCAAD4AC423A2856 BFC110226C9688981F5AE981FB84432D 49FF2FC04ACFC6A82BA89BC336D93359 C6CECE1C1ECCE7450B079DB9581D01A8
    95805CD6
    Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
    @@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);< - + @@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);< - + - + - + @@ -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 = 10A41ACBEB34EDFDA504136358684DEE79845B3F59EA5ABEEC92302CABE37EA27DAEE8FA3B166A7C2CB36BA2259D8CF672BCE6DAFF76AB911B20752C48528E4319C5B88CA7DF1D97939BB5284B397A774EC894333C3528D39A976B94A60D065319CCE1D1B4D650F2ED5DE99232DB3C98D0D308586BEB91BA320A0B9871A81B2907767D27FE7A471B36DC0DCA1BBB50EE2602164C15AF164789481AEFE05C26BD78C2AFDA9B8E59239D29657EA48CE1BB7AFBDF725385BF274B47F81DA572D2B605AD0D204010A2CBC24615CA00891A7EA1894BE20C5B1417AC679DD701E4AE748AB72609AD05FEE7A10C29419A452E5EC329D98F7BE8BD9EA581BFE96876F1CE
    +
    auth_key = 7C74EC0C28CA50F65EC0A400A634F917DE855D8C4D09B0B0B0C1173D40CD5F4B90D8867F70AA2B60807F3F505D09ACD4926E6C90D99E68E2D613D587886228C9F276202908ACDE0D5B26D201FD990AD6E3179B986AF47C8FECDC163857289E908DDF6CC4A28135B319C8E6221A411D3E4D0463D10B92C96668383A77E7F91AAC2ADBD81D21A3C0536D3A3CE873D1442FB17FEA7315AF1A37F64C98D95BC6388C3FDDD03C6D1952D517AF0470EA2CD89CF74A3AC7358B10B9F6D631DCD74B68478CB5EAF9EBB2020217D943C552F3D121169928B9DD98E8514A4E3BC0831F51E88EBA9D913C48FA4DD607CA2E5C7B2628515521E3FF6222CAE80D764FB1A9C425
    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 24 37 6D 08 EB 6C 65
    -0010 | 70 00 00 00 34 F7 CB 3B 2B 61 E8 CE 46 92 30 D3
    -0020 | F0 2E B0 DD 8B 34 7C 7A 0B 13 97 9C AF 03 8B 9C
    -0030 | B1 CF FB 2E 5A 4C 90 B1 F3 20 D2 E3 91 44 F6 0F
    -0040 | 39 72 C9 BD 33 79 36 E1
    +
    0000 | 00 00 00 00 00 00 00 00 01 24 18 C2 5E 54 6E 65
    +0010 | 6C 00 00 00 34 F7 CB 3B A9 A9 E7 60 C1 90 09 93
    +0020 | EF 1D D3 FA 51 4A 0E 34 69 41 64 B6 A2 26 86 5F
    +0030 | 51 76 4C C1 1D 1D 1C C1 C8 E5 6F BE FD E6 B6 53
    +0040 | 16 C3 3D FE DF 77 06 E2

    Payload (de)serialization:

    dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
    message_id 8, 8A0EB0D0007EB6C65B01703005E546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 40, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    encrypted_data 56, 340FE50010003B6A54797F1485038D9AE30 9CA59FDA675B09F363EC6A9728D282D7 1AEC467BC5451C0C80A8E87AC073591E D197E3DDE2E026B4C375B60089C5AF18 99FBB86CFBD763F5E295BB8B256E4002 7C536B6835265FA270708ECE9BE46388 706839EC90C9EA697B69985277F1AD4C 96C939E6A4C5E0245BF4C4BFA36E7083 EFD5701F72845137C88FFAEEEB15546D E8DD405120755D022C68888A55546C28 A4982B2E06030297A18C720AE560E7C8 6764D3B239469E07BEE02D804104163C 5176D6FF881724C279614AC53DDCBE47 DDA625F5D2BFCF249904AABC474DCDA7 0298178F4D5EFB295E6ECB97742939B3 35163B204145B0A4ABEE779B14FB956F EDD6DB6C4960E029F16E14CD45A14BB8 612F4814933541D4E9BBC32489E12060 4DF76FA043B9131A83CA20C3BF129C58 46DF6E802259401E482BA5314901DB1E D9713A8ACCBAEC6E74AE2F18DB566EB2
    ED354768
    FE5001003100EDA298CD8244750C6E6C 869D860C090E77B7E459E730FF1536D7 07787EC4BCDC65955E0E0A6A35FD241E E8AA3D04F4182F096CB43E85AD31A07A FDE27D64196B4E7FB7076057F12C7DA8 29D0B188645DC2674E466D031C93CEF3 33AD57FABD08ED86A5431DA34BFFAE8B AD98FB379875DB69316DA8A4B2678A5D E565DC380659155C50855C279B7CC76C 599E66DA2DCCD9ECEF66539B1C2DCE51 2FD7FB5F5F5426BB64C01BADA6D5D986 65022C5EC2B201F162404A66CDC6B27F 5CCAA9AF971EB7D7CC07098FB8D3D9BA 6F511753F8D11E2797CC3632D5B87AB4 B5AB11E708D81BF0CC62695D5150460B AD2C14D918B50BA4E57026992692CDF2 99537458BBD977907EA0DB2EAC49E295 23AE767F57C60EE317F4E9F541115EE4 45B2D8B91983ADABDE5D05C2269FA306 2F4FAACC148574F5127C814F2C9CE550 F0D5E9D9F19C5031836655CD773082AB
    AC0BE5A9
    Encrypted client_DH_inner_data generated previously, serialized as a TL byte string
    @@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);< - + - + @@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);< - + - + - + diff --git a/data/web/corefork.telegram.org/type/MessageEntity.html b/data/web/corefork.telegram.org/type/MessageEntity.html index 2f19a3c4e5..bc7a8d3b90 100644 --- a/data/web/corefork.telegram.org/type/MessageEntity.html +++ b/data/web/corefork.telegram.org/type/MessageEntity.html @@ -153,10 +153,6 @@ - - - -
    message_id 8, 80124376D08EB6C65012418C25E546E65 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 470000000 (112 in decimal)6C000000 (108 in decimal) Message body length
    nonce 24, 162B61E8CE469230D3F02EB0DD8B347C7AA9A9E760C1900993EF1DD3FA514A0E34 Value generated by client in Step 1
    server_nonce 40, 160B13979CAF038B9CB1CFFB2E5A4C90B1694164B6A226865F51764CC11D1D1CC1 Value received from server in Step 2
    new_nonce_hash1 56, 16F320D2E39144F60F3972C9BD337936E1C8E56FBEFDE6B65316C33DFEDF7706E2 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.
    Message entity representing strikethrough text.
    messageEntityBlockquoteMessage entity representing a block quote.
    messageEntityBankCard Indicates a credit card number