diff --git a/data/web/corefork.telegram.org/api/business.html b/data/web/corefork.telegram.org/api/business.html index b5c83304d6..7278ba7e55 100644 --- a/data/web/corefork.telegram.org/api/business.html +++ b/data/web/corefork.telegram.org/api/business.html @@ -292,22 +292,22 @@ This will also emit an updateDelet

If populated, the message field must contain a inputBusinessAwayMessage, see the constructor page » for a description of its contents.

The currently configured business away message can be fetched by the current user through userFull.business_away_message, represented by a businessAwayMessage constructor », equivalent to the input counterpart.

Business chat links

-
inputBusinessChatLink flags:# message:string entities:flags.0?Vector<MessageEntity> title:flags.1?string = InputBusinessChatLink;
+
inputBusinessChatLink#11679fa7 flags:# message:string entities:flags.0?Vector<MessageEntity> title:flags.1?string = InputBusinessChatLink;
 
-businessChatLink flags:# link:string message:string entities:flags.0?Vector<MessageEntity> title:flags.1?string views:int = BusinessChatLink;
+businessChatLink#b4ae666f flags:# link:string message:string entities:flags.0?Vector<MessageEntity> title:flags.1?string views:int = BusinessChatLink;
 
-account.businessChatLinks links:Vector<BusinessChatLink> chats:Vector<Chat> users:Vector<User> = account.BusinessChatLinks;
+account.businessChatLinks#ec43a2d1 links:Vector<BusinessChatLink> chats:Vector<Chat> users:Vector<User> = account.BusinessChatLinks;
 
-account.resolvedBusinessChatLinks flags:# peer:Peer message:string entities:flags.0?Vector<MessageEntity> chats:Vector<Chat> users:Vector<User> = account.ResolvedBusinessChatLinks;
+account.resolvedBusinessChatLinks#9a23af21 flags:# peer:Peer message:string entities:flags.0?Vector<MessageEntity> chats:Vector<Chat> users:Vector<User> = account.ResolvedBusinessChatLinks;
 
 ---functions---
 
-account.createBusinessChatLink link:InputBusinessChatLink = BusinessChatLink;
-account.getBusinessChatLinks = account.BusinessChatLinks;
-account.editBusinessChatLink slug:string link:InputBusinessChatLink = BusinessChatLink;
-account.deleteBusinessChatLink slug:string = Bool;
+account.createBusinessChatLink#8851e68e link:InputBusinessChatLink = BusinessChatLink;
+account.getBusinessChatLinks#6f70dde1 = account.BusinessChatLinks;
+account.editBusinessChatLink#8c3410af slug:string link:InputBusinessChatLink = BusinessChatLink;
+account.deleteBusinessChatLink#60073674 slug:string = Bool;
 
-account.resolveBusinessChatLink slug:string = account.ResolvedBusinessChatLinks;
+account.resolveBusinessChatLink#5492e5ee slug:string = account.ResolvedBusinessChatLinks;

Business chat deep links allow business owners to share pre-made links to their Telegram business account, optionally filling out the message input field with a pre-prepared message (with support for styled text entities »).

There is no additional limit on the prepared message length (because the message text is not present in the URL's query string, rather it's fetched from the server using the link slug); each created business chat deep link also has a view counter.

Use account.createBusinessChatLink to create a business chat link, specifying in inputBusinessChatLink the message to pre-fill when users open the link, as well as a human-readable name for the link in title, useful when managing created links.
diff --git a/data/web/corefork.telegram.org/api/layers.html b/data/web/corefork.telegram.org/api/layers.html index 9a2f2bff3a..d4f082b0e3 100644 --- a/data/web/corefork.telegram.org/api/layers.html +++ b/data/web/corefork.telegram.org/api/layers.html @@ -257,11 +257,11 @@

  • Added account.disablePeerConnectedBot - Permanently disconnect a specific chat from all business bots » (equivalent to specifying it in recipients.exclude_users during initial configuration with account.updateConnectedBot »); to reconnect of a chat disconnected using this method the user must reconnect the entire bot by invoking account.updateConnectedBot ».
  • Added account.updateBirthday -
  • Added contacts.getBirthdays -
  • -
  • Added account.createBusinessChatLink -
  • -
  • Added account.editBusinessChatLink -
  • -
  • Added account.deleteBusinessChatLink -
  • -
  • Added account.getBusinessChatLinks -
  • -
  • Added account.resolveBusinessChatLink -
  • +
  • Added account.createBusinessChatLink - Create a business chat deep link ».
  • +
  • Added account.editBusinessChatLink - Edit a created business chat deep link ».
  • +
  • Added account.deleteBusinessChatLink - Delete a business chat deep link ».
  • +
  • Added account.getBusinessChatLinks - List all created business chat deep links ».
  • +
  • Added account.resolveBusinessChatLink - Resolve a business chat deep link ».
  • Added account.updatePersonalChannel - Associate (or remove) a personal channel », that will be listed on our personal profile page ».
  • Added channels.reportSponsoredMessage -
  • Added stats.getBroadcastRevenueStats -
  • @@ -304,10 +304,10 @@
  • Added privacyValueAllowPremium -
  • Added missingInvitee - Info about why a specific user could not be invited ».
  • Added messages.invitedUsers - Contains info about successfully or unsuccessfully invited » users.
  • -
  • Added inputBusinessChatLink -
  • -
  • Added businessChatLink -
  • -
  • Added account.businessChatLinks -
  • -
  • Added account.resolvedBusinessChatLinks -
  • +
  • Added inputBusinessChatLink - Contains info about a business chat deep link » to be created by the current account.
  • +
  • Added businessChatLink - Contains info about a business chat deep link » created by the current account.
  • +
  • Added account.businessChatLinks - Contains info about business chat deep links » created by the current account.
  • +
  • Added account.resolvedBusinessChatLinks - Contains info about a single resolved business chat deep link ».
  • Added requestedPeerUser -
  • Added requestedPeerChat -
  • Added requestedPeerChannel -
  • diff --git a/data/web/corefork.telegram.org/constructor/account.businessChatLinks.html b/data/web/corefork.telegram.org/constructor/account.businessChatLinks.html index 4011397627..f5c8c7f95d 100644 --- a/data/web/corefork.telegram.org/constructor/account.businessChatLinks.html +++ b/data/web/corefork.telegram.org/constructor/account.businessChatLinks.html @@ -4,38 +4,10 @@ account.businessChatLinks - + - + @@ -70,7 +42,8 @@ accou…">

    account.businessChatLinks

    -

    +

    Contains info about business chat deep links » created by the current account.

    +

    +

    account.BusinessChatLinks

    +

    Related pages

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/constructor/account.resolvedBusinessChatLinks.html b/data/web/corefork.telegram.org/constructor/account.resolvedBusinessChatLinks.html index 116958c9a7..226552033d 100644 --- a/data/web/corefork.telegram.org/constructor/account.resolvedBusinessChatLinks.html +++ b/data/web/corefork.telegram.org/constructor/account.resolvedBusinessChatLinks.html @@ -4,38 +4,10 @@ account.resolvedBusinessChatLinks - + - + @@ -70,7 +42,8 @@ flags.…">

    account.resolvedBusinessChatLinks

    -

    +

    Contains info about a single resolved business chat deep link ».

    +

    +

    How to create styled text with message entities

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/constructor/businessChatLink.html b/data/web/corefork.telegram.org/constructor/businessChatLink.html index 16c7ebec7e..35e0a3ef41 100644 --- a/data/web/corefork.telegram.org/constructor/businessChatLink.html +++ b/data/web/corefork.telegram.org/constructor/businessChatLink.html @@ -4,38 +4,10 @@ businessChatLink - + - + @@ -70,7 +42,8 @@ flag…">

    businessChatLink

    -

    +

    Contains info about a business chat deep link » created by the current account.

    +

    +

    How to create styled text with message entities

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/constructor/inputBusinessChatLink.html b/data/web/corefork.telegram.org/constructor/inputBusinessChatLink.html index 09dbc1df66..f62f19f58a 100644 --- a/data/web/corefork.telegram.org/constructor/inputBusinessChatLink.html +++ b/data/web/corefork.telegram.org/constructor/inputBusinessChatLink.html @@ -4,32 +4,10 @@ inputBusinessChatLink - + - + @@ -64,7 +42,8 @@ flags.0?Vector<MessageEntity>…">

    inputBusinessChatLink

    -

    +

    Contains info about a business chat deep link » to be created by the current account.

    +

    +

    How to create styled text with message entities

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/method/account.createBusinessChatLink.html b/data/web/corefork.telegram.org/method/account.createBusinessChatLink.html index 2905187cce..5bc29cacd6 100644 --- a/data/web/corefork.telegram.org/method/account.createBusinessChatLink.html +++ b/data/web/corefork.telegram.org/method/account.createBusinessChatLink.html @@ -4,26 +4,10 @@ account.createBusinessChatLink - + - + @@ -58,7 +42,8 @@ BusinessChatLink">

    account.createBusinessChatLink

    -

    +

    Create a business chat deep link ».

    +

    +

    BusinessChatLink

    +

    Related pages

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/method/account.deleteBusinessChatLink.html b/data/web/corefork.telegram.org/method/account.deleteBusinessChatLink.html index 5cce2cb9b8..f67fc68c5a 100644 --- a/data/web/corefork.telegram.org/method/account.deleteBusinessChatLink.html +++ b/data/web/corefork.telegram.org/method/account.deleteBusinessChatLink.html @@ -4,38 +4,10 @@ account.deleteBusinessChatLink - + - + @@ -70,7 +42,8 @@ CHATLINK_SLUG_EMPTY…">

    account.deleteBusinessChatLink

    -

    +

    Delete a business chat deep link ».

    +

    + +

    Related pages

    +

    Deep links

    +

    Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/method/account.editBusinessChatLink.html b/data/web/corefork.telegram.org/method/account.editBusinessChatLink.html index f2fc7d9bb0..d3a28fcd83 100644 --- a/data/web/corefork.telegram.org/method/account.editBusinessChatLink.html +++ b/data/web/corefork.telegram.org/method/account.editBusinessChatLink.html @@ -4,36 +4,10 @@ account.editBusinessChatLink - + - + @@ -68,7 +42,8 @@ Code…">

    account.editBusinessChatLink

    -

    +

    Edit a created business chat deep link ».

    +

    + +

    Related pages

    +

    Deep links

    +

    Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/method/account.getBusinessChatLinks.html b/data/web/corefork.telegram.org/method/account.getBusinessChatLinks.html index cbf3087689..f81cf67ef3 100644 --- a/data/web/corefork.telegram.org/method/account.getBusinessChatLinks.html +++ b/data/web/corefork.telegram.org/method/account.getBusinessChatLinks.html @@ -4,16 +4,10 @@ account.getBusinessChatLinks - + - + @@ -48,7 +42,8 @@ account.BusinessChatLinks">

    account.getBusinessChatLinks

    -

    +

    List all created business chat deep links ».

    +

    +

    account.BusinessChatLinks

    +

    Related pages

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/method/account.resolveBusinessChatLink.html b/data/web/corefork.telegram.org/method/account.resolveBusinessChatLink.html index 576b01e4c4..4655af3819 100644 --- a/data/web/corefork.telegram.org/method/account.resolveBusinessChatLink.html +++ b/data/web/corefork.telegram.org/method/account.resolveBusinessChatLink.html @@ -4,34 +4,10 @@ account.resolveBusinessChatLink - + - + @@ -66,7 +42,8 @@ Description…">

    account.resolveBusinessChatLink

    -

    +

    Resolve a business chat deep link ».

    +

    + +

    Related pages

    +

    Deep links

    +

    Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.

    +

    Business

    +

    Users can turn their Telegram account into a business account, gaining access to business features such as opening hours, location, quick replies, automated messages, custom start page, chatbot support, and more.

    diff --git a/data/web/corefork.telegram.org/methods.html b/data/web/corefork.telegram.org/methods.html index f76d03a176..2b2af7ae44 100644 --- a/data/web/corefork.telegram.org/methods.html +++ b/data/web/corefork.telegram.org/methods.html @@ -3322,23 +3322,23 @@ Look for updates of telegram's terms of service…"> account.createBusinessChatLink -  +Create a business chat deep link ». account.editBusinessChatLink -  +Edit a created business chat deep link ». account.deleteBusinessChatLink -  +Delete a business chat deep link ». account.getBusinessChatLinks -  +List all created business chat deep links ». account.resolveBusinessChatLink -  +Resolve a business chat deep link ». account.updatePersonalChannel 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 d909992a74..2d9a8d9083 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 E0 DF 08 00 DF 67 89 66
    -0010 | 14 00 00 00 F1 8E 7E BE 24 51 93 B7 F5 9B 5B BC
    -0020 | 8C C5 6C B6 43 18 20 22
    +
    0000 | 00 00 00 00 00 00 00 00 64 E8 02 00 80 73 89 66
    +0010 | 14 00 00 00 F1 8E 7E BE 4E 90 12 C4 75 8A 36 D6
    +0020 | 8D B9 02 03 46 5D 45 B2

    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 30 97 6E DF 67 89 66
    -0010 | 58 00 00 00 63 24 16 05 24 51 93 B7 F5 9B 5B BC
    -0020 | 8C C5 6C B6 43 18 20 22 12 38 54 3A 19 42 67 BC
    -0030 | 53 14 82 A7 E3 C2 ED 64 08 1D B8 A4 A1 D9 52 C3
    -0040 | 8B 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 BC B7 9E 80 73 89 66
    +0010 | 5C 00 00 00 63 24 16 05 4E 90 12 C4 75 8A 36 D6
    +0020 | 8D B9 02 03 46 5D 45 B2 BD 22 72 95 FA 46 54 EF
    +0030 | FC 02 5D 6D BB 8F 2B F0 08 1C 52 9B AE 35 A0 BB
    +0040 | EF 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 = 2141642637857440651
    -

    Decompose into 2 prime cofactors p < q: 2141642637857440651 = 1329070753 * 1611383467

    -
    p = 1329070753
    -q = 1611383467
    +
    pq = 2040864753678597103
    +

    Decompose into 2 prime cofactors p < q: 2040864753678597103 = 1340344051 * 1522642453

    +
    p = 1340344051
    +q = 1522642453

    Presenting proof of work; Server authentication

    4) encrypted_data payload generation

    First of all, generate an encrypted_data payload as follows:

    Generated payload (excluding transport headers/trailers):

    -
    0000 | 95 5F F5 A9 08 1D B8 A4 A1 D9 52 C3 8B 00 00 00
    -0010 | 04 4F 38 02 A1 00 00 00 04 60 0B C2 AB 00 00 00
    -0020 | 24 51 93 B7 F5 9B 5B BC 8C C5 6C B6 43 18 20 22
    -0030 | 12 38 54 3A 19 42 67 BC 53 14 82 A7 E3 C2 ED 64
    -0040 | 61 55 EC C9 94 CB BC FB 0D C2 C7 93 F9 80 9B 96
    -0050 | 58 39 3B FD 15 01 BD E0 D1 64 B2 E4 B7 E9 42 4B
    +
    0000 | 95 5F F5 A9 08 1C 52 9B AE 35 A0 BB EF 00 00 00
    +0010 | 04 4F E4 06 F3 00 00 00 04 5A C1 AE 15 00 00 00
    +0020 | 4E 90 12 C4 75 8A 36 D6 8D B9 02 03 46 5D 45 B2
    +0030 | BD 22 72 95 FA 46 54 EF FC 02 5D 6D BB 8F 2B F0
    +0040 | 85 E6 D9 B6 20 E4 1C E9 22 49 AA 3E 7F 3E 2E 23
    +0050 | 40 05 A2 E0 4B 27 5F 44 5A 76 AA 24 A7 17 23 9C
     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 = 1611383467
    - + - + - + - + - + - + @@ -291,39 +291,39 @@ q = 1611383467

    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 = 955FF5A9081DB8A4A1D952C38B000000044F3802A100000004600BC2AB000000245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED646155ECC994CBBCFB0DC2C793F9809B9658393BFD1501BDE0D164B2E4B7E9424B02000000
    -random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D195302D3533B2E25A0BCBAE9AB55AF20A73ADD1B3E5C7910FB7FC22FD241CB2FF1012793625810226EA738F28054935B34BC673A92FF094E32F11C3843AE135CB6A
    +
    data = 955FF5A9081C529BAE35A0BBEF000000044FE406F3000000045AC1AE150000004E9012C4758A36D68DB90203465D45B2BD227295FA4654EFFC025D6DBB8F2BF085E6D9B620E41CE92249AA3E7F3E2E234005A2E04B275F445A76AA24A717239C02000000
    +random_padding_bytes = 3B0C60B6D2B443CAD8CEFD575DD9F82D6B4E5B321D032743927338AE9562137F91ED7D6B26E9F5F121F9EFF82C6BD2899B523CD8E27EFCC2CD9B9BB9943784735D890B13052D457EBDDE3C0D85509CE93DFAB3BC972F39D083871960

    And this is the output:

    -
    encrypted_data = 31338A47F38101AF1CE82D2C64632A2BA0497EF970194478825BDB1CFB0BB1CD28605D729DC0658CC756C6338B20459B2CBFC33EB4EB94F9D352B59643EC449F4C5611CA246BE2BC47152BFB2837AF86298F8A80175E242215169170C96E058A162419C2DAA0E3A1D59290DAA2CD5456FD2B6D569A399FFA454CF28DF922B33B2CF693433C0E1E74EC0EE5B8D454EC442799110462048EE523F47952FE00F06095D93D4DE0D55E6D4DB360248C83278515EC8547DF872CB39354F1CFA7670E2FB457585E0FB7264DEA8F4DC7DC80BD931769796227C776B8BB0F7E32014B7558F369169496DA990345A38C8415E6678DDC9933A4D5F0AC213D60E3A8D9B74B8F
    +
    encrypted_data = DC0790885D5680EC38C464050918DC91B65E9E11C8E420A46C7CD28066AEFDB1AF535839614929BBC1D1B7099B73B551432751D4E6328F8D09E1D22FE47EACBA6D77D9117AE7118D283ED6FFF71F2CE932C6E6FF84AC3D419F93C6E249FA05133D2C7101252F2922A012E21C96FD2610535FE3D2E79743EC90BB7E6CE8D74BB8A29D31BE49256D68F50190871650312F2A6F7DE15F0D57310A906F11CFB9F6DF594D6FDF08EF53199B3ACE34C8AEF444B6D10A8164ECA32AB49AF2097B7A001AE5D460F2B3877E6B2C5D2B7F4990C85D5218EE728F235778F7044B91E267EDFD18C901344CDDCD57999C97485743B67157A4EE932954347E56F2279FCDD53F27

    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 E4 DF 08 00 DF 67 89 66
    -0010 | 40 01 00 00 BE E4 12 D7 24 51 93 B7 F5 9B 5B BC
    -0020 | 8C C5 6C B6 43 18 20 22 12 38 54 3A 19 42 67 BC
    -0030 | 53 14 82 A7 E3 C2 ED 64 04 4F 38 02 A1 00 00 00
    -0040 | 04 60 0B C2 AB 00 00 00 85 FD 64 DE 85 1D 9D D0
    -0050 | FE 00 01 00 31 33 8A 47 F3 81 01 AF 1C E8 2D 2C
    -0060 | 64 63 2A 2B A0 49 7E F9 70 19 44 78 82 5B DB 1C
    -0070 | FB 0B B1 CD 28 60 5D 72 9D C0 65 8C C7 56 C6 33
    -0080 | 8B 20 45 9B 2C BF C3 3E B4 EB 94 F9 D3 52 B5 96
    -0090 | 43 EC 44 9F 4C 56 11 CA 24 6B E2 BC 47 15 2B FB
    -00A0 | 28 37 AF 86 29 8F 8A 80 17 5E 24 22 15 16 91 70
    -00B0 | C9 6E 05 8A 16 24 19 C2 DA A0 E3 A1 D5 92 90 DA
    -00C0 | A2 CD 54 56 FD 2B 6D 56 9A 39 9F FA 45 4C F2 8D
    -00D0 | F9 22 B3 3B 2C F6 93 43 3C 0E 1E 74 EC 0E E5 B8
    -00E0 | D4 54 EC 44 27 99 11 04 62 04 8E E5 23 F4 79 52
    -00F0 | FE 00 F0 60 95 D9 3D 4D E0 D5 5E 6D 4D B3 60 24
    -0100 | 8C 83 27 85 15 EC 85 47 DF 87 2C B3 93 54 F1 CF
    -0110 | A7 67 0E 2F B4 57 58 5E 0F B7 26 4D EA 8F 4D C7
    -0120 | DC 80 BD 93 17 69 79 62 27 C7 76 B8 BB 0F 7E 32
    -0130 | 01 4B 75 58 F3 69 16 94 96 DA 99 03 45 A3 8C 84
    -0140 | 15 E6 67 8D DC 99 33 A4 D5 F0 AC 21 3D 60 E3 A8
    -0150 | D9 B7 4B 8F
    +
    0000 | 00 00 00 00 00 00 00 00 4C 0D 07 00 80 73 89 66
    +0010 | 40 01 00 00 BE E4 12 D7 4E 90 12 C4 75 8A 36 D6
    +0020 | 8D B9 02 03 46 5D 45 B2 BD 22 72 95 FA 46 54 EF
    +0030 | FC 02 5D 6D BB 8F 2B F0 04 4F E4 06 F3 00 00 00
    +0040 | 04 5A C1 AE 15 00 00 00 85 FD 64 DE 85 1D 9D D0
    +0050 | FE 00 01 00 DC 07 90 88 5D 56 80 EC 38 C4 64 05
    +0060 | 09 18 DC 91 B6 5E 9E 11 C8 E4 20 A4 6C 7C D2 80
    +0070 | 66 AE FD B1 AF 53 58 39 61 49 29 BB C1 D1 B7 09
    +0080 | 9B 73 B5 51 43 27 51 D4 E6 32 8F 8D 09 E1 D2 2F
    +0090 | E4 7E AC BA 6D 77 D9 11 7A E7 11 8D 28 3E D6 FF
    +00A0 | F7 1F 2C E9 32 C6 E6 FF 84 AC 3D 41 9F 93 C6 E2
    +00B0 | 49 FA 05 13 3D 2C 71 01 25 2F 29 22 A0 12 E2 1C
    +00C0 | 96 FD 26 10 53 5F E3 D2 E7 97 43 EC 90 BB 7E 6C
    +00D0 | E8 D7 4B B8 A2 9D 31 BE 49 25 6D 68 F5 01 90 87
    +00E0 | 16 50 31 2F 2A 6F 7D E1 5F 0D 57 31 0A 90 6F 11
    +00F0 | CF B9 F6 DF 59 4D 6F DF 08 EF 53 19 9B 3A CE 34
    +0100 | C8 AE F4 44 B6 D1 0A 81 64 EC A3 2A B4 9A F2 09
    +0110 | 7B 7A 00 1A E5 D4 60 F2 B3 87 7E 6B 2C 5D 2B 7F
    +0120 | 49 90 C8 5D 52 18 EE 72 8F 23 57 78 F7 04 4B 91
    +0130 | E2 67 ED FD 18 C9 01 34 4C DD CD 57 99 9C 97 48
    +0140 | 57 43 B6 71 57 A4 EE 93 29 54 34 7E 56 F2 27 9F
    +0150 | CD D5 3F 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;
    message_id 8, 8E0DF0800DF67896664E8020080738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Random number
    message_id 8, 80130976EDF67896601BCB79E80738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 458000000 (88 in decimal)5C000000 (92 in decimal) Message body length
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 40, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Server-generated random number
    pq 56, 12081DB8A4A1D952C38B000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 2141642637857440651
    081C529BAE35A0BBEF000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 2040864753678597103
    Single-byte prefix denoting length, an 8-byte string, and three bytes of padding
    pq 4, 12081DB8A4A1D952C38B000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 2141642637857440651
    081C529BAE35A0BBEF000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 2040864753678597103
    Single-byte prefix denoting length, 8-byte string, and three bytes of padding
    p 16, 8044F3802A1000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1329070753
    044FE406F3000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1340344051
    First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    q 24, 804600BC2AB000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1611383467
    045AC1AE15000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1522642453
    Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    nonce 32, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 48, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    new_nonce 64, 326155ECC994CBBCFB0DC2C793F9809B96 58393BFD1501BDE0D164B2E4B7E9424B85E6D9B620E41CE92249AA3E7F3E2E23 4005A2E04B275F445A76AA24A717239C Client-generated random number
    @@ -345,7 +345,7 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953 - + @@ -363,25 +363,25 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953 - + - + - + - + @@ -393,7 +393,7 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953 - + @@ -402,47 +402,47 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953
    6) Server responds with:

    Received payload (excluding transport headers/trailers):

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

    Payload (de)serialization:

    server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
    message_id 8, 8E4DF0800DF6789664C0D070080738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 40, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    p 56, 8044F3802A1000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1329070753
    044FE406F3000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1340344051
    First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    q 64, 804600BC2AB000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1611383467
    045AC1AE15000000
    TL byte deserialization
    => bigendian conversion to decimal
    => 1522642453
    Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
    encrypted_data 80, 260FE00010031338A47F38101AF1CE82D2C 64632A2BA0497EF970194478825BDB1C FB0BB1CD28605D729DC0658CC756C633 8B20459B2CBFC33EB4EB94F9D352B596 43EC449F4C5611CA246BE2BC47152BFB 2837AF86298F8A80175E242215169170 C96E058A162419C2DAA0E3A1D59290DA A2CD5456FD2B6D569A399FFA454CF28D F922B33B2CF693433C0E1E74EC0EE5B8 D454EC442799110462048EE523F47952 FE00F06095D93D4DE0D55E6D4DB36024 8C83278515EC8547DF872CB39354F1CF A7670E2FB457585E0FB7264DEA8F4DC7 DC80BD931769796227C776B8BB0F7E32 014B7558F369169496DA990345A38C84 15E6678DDC9933A4D5F0AC213D60E3A8
    D9B74B8F
    FE000100DC0790885D5680EC38C46405 0918DC91B65E9E11C8E420A46C7CD280 66AEFDB1AF535839614929BBC1D1B709 9B73B551432751D4E6328F8D09E1D22F E47EACBA6D77D9117AE7118D283ED6FF F71F2CE932C6E6FF84AC3D419F93C6E2 49FA05133D2C7101252F2922A012E21C 96FD2610535FE3D2E79743EC90BB7E6C E8D74BB8A29D31BE49256D68F5019087 1650312F2A6F7DE15F0D57310A906F11 CFB9F6DF594D6FDF08EF53199B3ACE34 C8AEF444B6D10A8164ECA32AB49AF209 7B7A001AE5D460F2B3877E6B2C5D2B7F 4990C85D5218EE728F235778F7044B91 E267EDFD18C901344CDDCD57999C9748 5743B67157A4EE932954347E56F2279F
    CDD53F27
    Value generated above
    @@ -464,13 +464,13 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953 - + - + @@ -482,19 +482,19 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953 - + - + - + @@ -502,20 +502,20 @@ random_padding_bytes = EA0DEB206D25CC5E8D38D80517DF22693C90E630FED547496596D1953

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

    -
    encrypted_answer = 35D5911DF0265E6EF52AB99A6EED40ADE9592C9CE23AB8B656010E92B99E408E91D860A1B1A37500FD9DAAACB275E31A7B9784893F6C04C11860ED861FCDB4BB17F376EA6FF7D37594D42EFF939D42C69BB8A8BB4CDBCE005DB7F7B6D415DC8CFAB40DF0A2A4223C4955B175835DB93E117EFD52D48FEA476C6CBFC83BA1A0422BB7C8B844EEB5CA7DE62F5954A167D841E16F442BB71CCCA7D61DD5C784CC8C094660BFC5EBCFB1F0372587F1DBA4500B868F2CE05B18ACDB988816CFF6664E233A4B57D28FFB443FBE74C0229FF30429D572E977C27EA605E70C7B0E2CD43D305DBB25FC0BE70458F993BB488C3732DDD6E306723982D44A4903A64D0EFB2145462AF86A1E1993FD8CC4F42FEBABA00B86EDCC50601798794207B5EE67DE52442C7DA9C5F95CF9DC1203B09A5C7ABD67CCDE63184FA1E95B20CDEB5FCD914520E6DF624B844BF02D5FF2F489B009D9715D98C5A32ACC6E7E78E8E0C26A899997A48030B01F3A23482DAD5DBA596DA8FD7CB15F1408F1F66A88363E212A133F0D8AD0BD04C14B06AD865C621FA8923CBCA91F3AF34C97D526FA0A1B82395BAFE045C8307C315F1CFA05C9DE226B636C52463895803B07D0902B40A44888513CF24158D7553C84C41D32701A5EE16882F5C5F0261F19F47A2CB23DC2BB92445B5865615162B611703997BCC97C2AF78E0E2F2185B2F2F47F47A39C50FC7764D6D73AA2D9EBBB5DE39505F2FD49E49FACE00CF97A3723358981E6409080C9BEE4F85B0D8E1390C8BEB29949C8B737818BE6831B2C7C307C3884EAFE8D0EF411D705E1C11FEA234573C6612E233277AC65
    -tmp_aes_key = EB1DEED079C861DCBB389AFC13961A14C1DFD95EED5800484B54AE157EB980B0
    -tmp_aes_iv = 804327EBEF76C86A7C81ACD8E82F02EDF3F5DEE0FE475FA0A8697D2C6155ECC9
    +
    encrypted_answer = A6DA00402DA7D79FE8231708D190D6B54F170D6FEDF7FA5740C8791DC369573F36459FDB9E62CAB5B53F85CA07F3CB82D2B7A0A4DBE715356461C8C646A4A0740BEA7E30197FF3FDF43812DDF6F98A4266AD0F0443BE48B252DA7E30B77C3FD6D420FF597F7B16A4A34ECFED6B08816DBE0A656FC8D37F1CB396976C27C5B4632399D7D704788731D3EC83EEE3E1F7C3526A556642CD8245FD3234B2052FFB375EFA84D1CC79940043EE20F7C6EAAD6595D2FCD192553E22E28C0421CB5C505F45C498ABE5E16511CCFFCE7F44ECBDD1082AE17E9376239D71CAB506B2736F5CECA3F07028A6240DB07124A58449E918C4FD9D8ACDA1000446A75ABBAEFEC0D0012017A4DD2B2DC9F039AF857C096D59A15F2260739B3B1F54B41E94F757365BC49B9EFB34B39DA1421367D38A60F39AF8FF5050DA8FB75A3E485A063C6935306D6EC2A059A8775AA26915F558D6EA94E7ECEAD1A6DAC54FB584F9C5DAB04D9DCA243CD0751172EDDAE43855316E270B9B31CB33BCCC85FE73629C1791F32E92983E983537E44F749A975473D5226BDAA55303D92F749E48DC26D88BD7F50F9AFB43489F34F252014318912F013C86F68E31C5F1233783F4CDD74F8BB7B1AB0F5811B1F94F91E0F512B131E85D2ED3973A7080EBE164E713D56CAF32969C5C97FCB245BDFC67BCF314E4A2F032C452FB4AC57C271D99E3599254D796912761B6651EB5A4458DC66DE316488394A0A648F3AE0F358B96629BE10251AD9305F5E1BA00DEB2F94C17D180B8A295C02710F1D5E9C95D69CA8D936066665E5AD14E4E5473744B2F3DFF7B4A023DD3AC9D6D27
    +tmp_aes_key = 1407755E0E6988432A52EEE9A218358F8EBE6DD36C815123E3FC9D373433B534
    +tmp_aes_iv = 14B31DFE04F8334F78AFC84A129CB7588957F58978B9459AA369143085E6D9B6

    Yielding:

    -
    answer_with_hash = 7DF01684237F0202BA8E36E4821EB3E75D5B1FABBA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6403000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001009C6DA0F03FC74CF209ABCA82CEA24A45FFA65FCDFABBC51D0256B841B6878074CA8E267FBEEB8665BEB6379FCE7037EC1BFA4493D42988A5C1327DC05B96C27778D1932EE617A499259F743AF43D0993DCBCAED1F6AB711649C3C3F844D98E3A6EA52F73EF4A05EC57054E774C7497C49B9128F28E3E4391CA3E01CB701721B2A0974ED269EAC14F5CB3966B4F9E7D149AAF769A87BC2FF224798B2B5B32FF3378AE2E4D8A3D31DF9F7F8938B310EE9ADB8784873A60F2641F55E977AC0A24458DF7793980E93043B83EC70D890E43B822CF040FDD57081C1B943396C7A5C26338FA2E66BF0022EE1A6371DCD48CDF22763BF6DEF856E0EF29967BB1674247BEE0678966C32B46BCE0A56975
    -answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6403000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001009C6DA0F03FC74CF209ABCA82CEA24A45FFA65FCDFABBC51D0256B841B6878074CA8E267FBEEB8665BEB6379FCE7037EC1BFA4493D42988A5C1327DC05B96C27778D1932EE617A499259F743AF43D0993DCBCAED1F6AB711649C3C3F844D98E3A6EA52F73EF4A05EC57054E774C7497C49B9128F28E3E4391CA3E01CB701721B2A0974ED269EAC14F5CB3966B4F9E7D149AAF769A87BC2FF224798B2B5B32FF3378AE2E4D8A3D31DF9F7F8938B310EE9ADB8784873A60F2641F55E977AC0A24458DF7793980E93043B83EC70D890E43B822CF040FDD57081C1B943396C7A5C26338FA2E66BF0022EE1A6371DCD48CDF22763BF6DEF856E0EF29967BB1674247BEE0678966C32B46BCE0A56975
    +
    answer_with_hash = 386B85282691C408104D39506AF67A43DB3BF4AEBA0D89B54E9012C4758A36D68DB90203465D45B2BD227295FA4654EFFC025D6DBB8F2BF003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001009E5864B4238701915F5E3F0C151F7C756C4B594684FAF0AC1E9E52C94C7BC94C48852D46BDDE0DB4FF1C24229EA54289A7C0396EA302474C8EB91DB2CA08688D1FFF95296C5A1E3552E779C7AF3F22A9390194BC30BFB385614DA0A9542BAB0422C63BE58E7FEDE7DD455F328187DAD9342AFF968612481C25377AD346326062655BD87FB1528CA28598862AD25FBE2EF8FA779877DBD633E1836C0DA980AA51E973D3F0CA590D9C4234ED82FF8798F9FE047A15794399E849B3605FC8D6D1F85AF6E7A6645468293E86BAB873F6BA228B349EDF53118550862934FAB1766839C58C0C0396FAE1154427C90F415F830CDB0F38CF6A24ED174757DFFFE8F1AD5181738966F8B51CD67E005080
    +answer = BA0D89B54E9012C4758A36D68DB90203465D45B2BD227295FA4654EFFC025D6DBB8F2BF003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001009E5864B4238701915F5E3F0C151F7C756C4B594684FAF0AC1E9E52C94C7BC94C48852D46BDDE0DB4FF1C24229EA54289A7C0396EA302474C8EB91DB2CA08688D1FFF95296C5A1E3552E779C7AF3F22A9390194BC30BFB385614DA0A9542BAB0422C63BE58E7FEDE7DD455F328187DAD9342AFF968612481C25377AD346326062655BD87FB1528CA28598862AD25FBE2EF8FA779877DBD633E1836C0DA980AA51E973D3F0CA590D9C4234ED82FF8798F9FE047A15794399E849B3605FC8D6D1F85AF6E7A6645468293E86BAB873F6BA228B349EDF53118550862934FAB1766839C58C0C0396FAE1154427C90F415F830CDB0F38CF6A24ED174757DFFFE8F1AD5181738966F8B51CD67E005080

    Generated payload (excluding transport headers/trailers):

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

    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, 801086620E06789660124B85081738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 4E8020000 (744 in decimal)80020000 (640 in decimal) Message body length
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 40, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    encrypted_answer 56, 596FE50020035D5911DF0265E6EF52AB99A 6EED40ADE9592C9CE23AB8B656010E92 B99E408E91D860A1B1A37500FD9DAAAC B275E31A7B9784893F6C04C11860ED86 1FCDB4BB17F376EA6FF7D37594D42EFF 939D42C69BB8A8BB4CDBCE005DB7F7B6 D415DC8CFAB40DF0A2A4223C4955B175 835DB93E117EFD52D48FEA476C6CBFC8 3BA1A0422BB7C8B844EEB5CA7DE62F59 54A167D841E16F442BB71CCCA7D61DD5 C784CC8C094660BFC5EBCFB1F0372587 F1DBA4500B868F2CE05B18ACDB988816 CFF6664E233A4B57D28FFB443FBE74C0 229FF30429D572E977C27EA605E70C7B 0E2CD43D305DBB25FC0BE70458F993BB 488C3732DDD6E306723982D44A4903A6 4D0EFB2145462AF86A1E1993FD8CC4F4 2FEBABA00B86EDCC50601798794207B5 EE67DE52442C7DA9C5F95CF9DC1203B0 9A5C7ABD67CCDE63184FA1E95B20CDEB 5FCD914520E6DF624B844BF02D5FF2F4 89B009D9715D98C5A32ACC6E7E78E8E0 C26A899997A48030B01F3A23482DAD5D BA596DA8FD7CB15F1408F1F66A88363E 212A133F0D8AD0BD04C14B06AD865C62 1FA8923CBCA91F3AF34C97D526FA0A1B 82395BAFE045C8307C315F1CFA05C9DE 226B636C52463895803B07D0902B40A4 4888513CF24158D7553C84C41D32701A 5EE16882F5C5F0261F19F47A2CB23DC2 BB92445B5865615162B611703997BCC9 7C2AF78E0E2F2185B2F2F47F47A39C50 FC7764D6D73AA2D9EBBB5DE39505F2FD 49E49FACE00CF97A3723358981E64090 80C9BEE4F85B0D8E1390C8BEB29949C8 B737818BE6831B2C7C307C3884EAFE8D 0EF411D705E1C11FEA234573C6612E23
    3277AC65
    FE500200A6DA00402DA7D79FE8231708 D190D6B54F170D6FEDF7FA5740C8791D C369573F36459FDB9E62CAB5B53F85CA 07F3CB82D2B7A0A4DBE715356461C8C6 46A4A0740BEA7E30197FF3FDF43812DD F6F98A4266AD0F0443BE48B252DA7E30 B77C3FD6D420FF597F7B16A4A34ECFED 6B08816DBE0A656FC8D37F1CB396976C 27C5B4632399D7D704788731D3EC83EE E3E1F7C3526A556642CD8245FD3234B2 052FFB375EFA84D1CC79940043EE20F7 C6EAAD6595D2FCD192553E22E28C0421 CB5C505F45C498ABE5E16511CCFFCE7F 44ECBDD1082AE17E9376239D71CAB506 B2736F5CECA3F07028A6240DB07124A5 8449E918C4FD9D8ACDA1000446A75ABB AEFEC0D0012017A4DD2B2DC9F039AF85 7C096D59A15F2260739B3B1F54B41E94 F757365BC49B9EFB34B39DA1421367D3 8A60F39AF8FF5050DA8FB75A3E485A06 3C6935306D6EC2A059A8775AA26915F5 58D6EA94E7ECEAD1A6DAC54FB584F9C5 DAB04D9DCA243CD0751172EDDAE43855 316E270B9B31CB33BCCC85FE73629C17 91F32E92983E983537E44F749A975473 D5226BDAA55303D92F749E48DC26D88B D7F50F9AFB43489F34F252014318912F 013C86F68E31C5F1233783F4CDD74F8B B7B1AB0F5811B1F94F91E0F512B131E8 5D2ED3973A7080EBE164E713D56CAF32 969C5C97FCB245BDFC67BCF314E4A2F0 32C452FB4AC57C271D99E3599254D796 912761B6651EB5A4458DC66DE3164883 94A0A648F3AE0F358B96629BE10251AD 9305F5E1BA00DEB2F94C17D180B8A295 C02710F1D5E9C95D69CA8D936066665E 5AD14E4E5473744B2F3DFF7B4A023DD3
    AC9D6D27
    See below
    @@ -570,13 +570,13 @@ answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6 - + - + @@ -594,13 +594,13 @@ answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6 - + - + @@ -609,34 +609,34 @@ answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6
    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 = A2D7C1DC092B41FBD4D0E65F7EABB90AFCD1A575A1CDEC150ED971CF3ED1E63B05C18670115E3F0A708C4025E1F398CCDA44AC164696BA35004B06CF50E8656E3AF8D6E055F20D872FEB052CCD5088A106D397C540FF230475D5A5901CC81CE9662928F556189032AED0A56CCAB46C583AC16D9A66104E3BB9FB6B61353BBF0B77DCE83C7ED01280E45362B891CEE149C3505018EDC23486FB7A6062FEFC6BFFD0CB62E359CB7FCF95657A7CBF85C1F52F21BCD24166AA1A93F252E24736F65632AC73D3116EF7BE9317F066C3AC825789BCAF0DFA55AFA4D23AC25C5BA2C1E95C21927D8FBCC78F5163F2393239BFAB48537ECB8A9433030CE6925259AF3F60
    +
    b = 47E68614CF64E8E9D0298500461EAD1C2D252BCF7BB6355625F0A697BCD99B5D8002D9990B49E32F13A679E3CA4EA7058362C6B8EC0E9A06A35446C94D9CA7F1B3718B28B46ECC4D88D9142BFA05A1047AB525E7E5AA813E2C494F29E1AAA74DD08785E7FEB750E571B661C3223AB7E3F5E012C2A1E6122341F729BD5CA513EF6B110425EEC0BC1F025575EFA91710D17DEB7B8F940DD10B1139907C2A11B9F85B239F1428FE468C6170D14BFB1094F31C29A8031752A5EF345DE5D2E0EFE240A51DA52CBCDB526C305F1B7D373A4AAC20C075463C566D0B73D00D203BE974056736492C9D4308123117285E0303A7041B2D27721DB2E3668602F1914448C1AA

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

    -
    g_b = AB97981E05567552D981606DB53FBBF54BA7A999809FDD0D0F7D023B0AD846125C39BD0B323331C71302945CFD5E5A66E1F48265E88A17A465B647DD0B14142A80AFC44E8DC7A6ECE7A48BC6F4111FA9E4CDACCD8C8E92CFBC7149B93EB362B32EB02BA9789DAF248B7335406C3891931568181BD54EF08F303430E234AA21251284A2C40D52001DF41AC3ED1A5BB83723C554B767EF2DD9B4B18ADD9AB24F9F2499084BA67D9A6D72516AA4D205113581B60E3BC8AB76530B1D00D6931FD4AAEBE4930F18C10005D935C6BC991EC46A942396C693D5224713AC74720D4EA2B784F9B47C2472CA9148C8C2CF227856FB2D226BA5BE424BD517D3A2093761C10A
    +
    g_b = 31EC02D76AAA2A359CC98FDD91C178D2A41BA1C64F79B530D93F9CCA03E8C2F9F7669A289511D14988D1566F0022C0E85848598C2D08AA459E7A156552FA4AEA8AB642744E6C405E5D736C72B780E2B142840D9A642810EBB01B2854B9991834329A0900B30AE6B80A1D545CD153FBAC10F51D83AC7EC972176C3C77EAA1D647A8F3B5500A5151C4E2944B5A0A0472A2F753D5C7E4ADAC4F70636D5CD1B47C9671B1CF787294A035830A3062C2C1EFC991177E92CF77239D20C18841894081F05302FF9AF15791CFC4022AD644127C3E9D6598FA793B8B4A589509A2005E0E340CF46D112C4CA7BB20B1179432E60B8EB0570279D783344D0CFB006ED7858C97
    7.1) generation of encrypted_data

    Generated payload (excluding transport headers/trailers):

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

    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, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 20, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    g_a 300, 260FE0001009C6DA0F03FC74CF209ABCA82 CEA24A45FFA65FCDFABBC51D0256B841 B6878074CA8E267FBEEB8665BEB6379F CE7037EC1BFA4493D42988A5C1327DC0 5B96C27778D1932EE617A499259F743A F43D0993DCBCAED1F6AB711649C3C3F8 44D98E3A6EA52F73EF4A05EC57054E77 4C7497C49B9128F28E3E4391CA3E01CB 701721B2A0974ED269EAC14F5CB3966B 4F9E7D149AAF769A87BC2FF224798B2B 5B32FF3378AE2E4D8A3D31DF9F7F8938 B310EE9ADB8784873A60F2641F55E977 AC0A24458DF7793980E93043B83EC70D 890E43B822CF040FDD57081C1B943396 C7A5C26338FA2E66BF0022EE1A6371DC D48CDF22763BF6DEF856E0EF29967BB1
    674247BE
    FE0001009E5864B4238701915F5E3F0C 151F7C756C4B594684FAF0AC1E9E52C9 4C7BC94C48852D46BDDE0DB4FF1C2422 9EA54289A7C0396EA302474C8EB91DB2 CA08688D1FFF95296C5A1E3552E779C7 AF3F22A9390194BC30BFB385614DA0A9 542BAB0422C63BE58E7FEDE7DD455F32 8187DAD9342AFF968612481C25377AD3 46326062655BD87FB1528CA28598862A D25FBE2EF8FA779877DBD633E1836C0D A980AA51E973D3F0CA590D9C4234ED82 FF8798F9FE047A15794399E849B3605F C8D6D1F85AF6E7A6645468293E86BAB8 73F6BA228B349EDF53118550862934FA B1766839C58C0C0396FAE1154427C90F 415F830CDB0F38CF6A24ED174757DFFF
    E8F1AD51
    g_a diffie-hellman parameter
    server_time 560, 4E0678966 (1720281056 in decimal)81738966 (1720284033 in decimal) Server time
    @@ -658,19 +658,19 @@ answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6 - + - + - + @@ -684,47 +684,47 @@ answer = BA0D89B5245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED6

    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 = 54B64366245193B7F59B5BBC8CC56CB6431820221238543A194267BC531482A7E3C2ED640000000000000000FE000100AB97981E05567552D981606DB53FBBF54BA7A999809FDD0D0F7D023B0AD846125C39BD0B323331C71302945CFD5E5A66E1F48265E88A17A465B647DD0B14142A80AFC44E8DC7A6ECE7A48BC6F4111FA9E4CDACCD8C8E92CFBC7149B93EB362B32EB02BA9789DAF248B7335406C3891931568181BD54EF08F303430E234AA21251284A2C40D52001DF41AC3ED1A5BB83723C554B767EF2DD9B4B18ADD9AB24F9F2499084BA67D9A6D72516AA4D205113581B60E3BC8AB76530B1D00D6931FD4AAEBE4930F18C10005D935C6BC991EC46A942396C693D5224713AC74720D4EA2B784F9B47C2472CA9148C8C2CF227856FB2D226BA5BE424BD517D3A2093761C10A
    -padding = A9110132D6F262C66402E6D7
    -tmp_aes_key = EB1DEED079C861DCBB389AFC13961A14C1DFD95EED5800484B54AE157EB980B0
    -tmp_aes_iv = 804327EBEF76C86A7C81ACD8E82F02EDF3F5DEE0FE475FA0A8697D2C6155ECC9
    +
    data = 54B643664E9012C4758A36D68DB90203465D45B2BD227295FA4654EFFC025D6DBB8F2BF00000000000000000FE00010031EC02D76AAA2A359CC98FDD91C178D2A41BA1C64F79B530D93F9CCA03E8C2F9F7669A289511D14988D1566F0022C0E85848598C2D08AA459E7A156552FA4AEA8AB642744E6C405E5D736C72B780E2B142840D9A642810EBB01B2854B9991834329A0900B30AE6B80A1D545CD153FBAC10F51D83AC7EC972176C3C77EAA1D647A8F3B5500A5151C4E2944B5A0A0472A2F753D5C7E4ADAC4F70636D5CD1B47C9671B1CF787294A035830A3062C2C1EFC991177E92CF77239D20C18841894081F05302FF9AF15791CFC4022AD644127C3E9D6598FA793B8B4A589509A2005E0E340CF46D112C4CA7BB20B1179432E60B8EB0570279D783344D0CFB006ED7858C97
    +padding = 60A8C139AA65EB15A4B46B1B
    +tmp_aes_key = 1407755E0E6988432A52EEE9A218358F8EBE6DD36C815123E3FC9D373433B534
    +tmp_aes_iv = 14B31DFE04F8334F78AFC84A129CB7588957F58978B9459AA369143085E6D9B6

    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 = 5E5CFE20CCB74AE7EB61E477571FF7A76D881352C1EB1B4FD8ED80B64FDFC256B6DE061C89BB387BFECCD39D8BFEA22D8EED63984DF8980F9BF2BBF1BFDAE37F897C24BFBCCE51A8D6AD15D27EF6FBA49041432A88408B0A9E4922F9B27262A4D231CE27CEFE86C6FA15A87FA48E53C4599D315E9B3B988F054E6D6AE76CA08CCDB9F3AD12646E05C4A42D8F6BF3ADDE0D5F0388C762EE8F7454A34B3CC9854843EEC9C090AE6D74A75FA397F20C6A451B1A90DB330E15474ADB94F18AC80237E5C46B4CD9F3628BDA267948535103BEB5B8E22DF2A0C8DFC236DF0C800A36FA23FF3BB057BF33162DE271D73795BDCE094DCC02F8840022D220F4FBD89DF86E561F75C2407342BFF8C70C1E4FD2F47DDBC2866BF6F22DE9E6BFCBB502D534F75602C0305EB9E26BA03835923339B159D894DC36D1C3F9B6863FC197E5632D2495863AF73434B30F795FC44934EFF107
    +
    encrypted_data = 755639CAEC9E04D1755E20C8D621A8390DB6FC9CC1CBF50D830F31930C8381CB1DA491B3012457A93C6697CF6B4D332858D6E7A1100A384D4F6385895832FB1FB87DAB29993FDA09F4BB9CD997E6702AF358794AAAAAB2FA21A55632098295588B13F1399F0F77CDCA1E2D5CFDE833F5BCE1C9FA578D74CC53E494FD4DADBE6C231A722E4085B8A283F3586456991D592861BEBE8B406EE621DFD0FD8FA710FC20F87E7395CF01E79358C3B7DE311D6BBE436D41E1DCA7667BA3FD941806872881BD1C7AE13606FFBE7B70E0A868037C264D7C77F2AE1C5B0E64295F3B1D5109DC356C2ED36D80E020148A8174F5E31B34D9BF5CD8FDC08E449D62A5DC0B33BF86E95E9A8D90ECA849D39DE9C7FC129C363D0C876B18A150C01A306E71AA5DFB51462EADF6A918A43559B9E1B12E244386B75755C80AD509075A327E124167712E513C84811B860FECA1FD56BF4E16AB

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

    Payload (de)serialization:

    set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
    nonce 4, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 20, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    g_b 36, 260FE000100AB97981E05567552D981606D B53FBBF54BA7A999809FDD0D0F7D023B 0AD846125C39BD0B323331C71302945C FD5E5A66E1F48265E88A17A465B647DD 0B14142A80AFC44E8DC7A6ECE7A48BC6 F4111FA9E4CDACCD8C8E92CFBC7149B9 3EB362B32EB02BA9789DAF248B733540 6C3891931568181BD54EF08F303430E2 34AA21251284A2C40D52001DF41AC3ED 1A5BB83723C554B767EF2DD9B4B18ADD 9AB24F9F2499084BA67D9A6D72516AA4 D205113581B60E3BC8AB76530B1D00D6 931FD4AAEBE4930F18C10005D935C6BC 991EC46A942396C693D5224713AC7472 0D4EA2B784F9B47C2472CA9148C8C2CF 227856FB2D226BA5BE424BD517D3A209
    3761C10A
    FE00010031EC02D76AAA2A359CC98FDD 91C178D2A41BA1C64F79B530D93F9CCA 03E8C2F9F7669A289511D14988D1566F 0022C0E85848598C2D08AA459E7A1565 52FA4AEA8AB642744E6C405E5D736C72 B780E2B142840D9A642810EBB01B2854 B9991834329A0900B30AE6B80A1D545C D153FBAC10F51D83AC7EC972176C3C77 EAA1D647A8F3B5500A5151C4E2944B5A 0A0472A2F753D5C7E4ADAC4F70636D5C D1B47C9671B1CF787294A035830A3062 C2C1EFC991177E92CF77239D20C18841 894081F05302FF9AF15791CFC4022AD6 44127C3E9D6598FA793B8B4A589509A2 005E0E340CF46D112C4CA7BB20B11794 32E60B8EB0570279D783344D0CFB006E
    D7858C97
    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 = B2C082716DA83CFB3B63671D483EB079F74DBE33917A58E9D8DC8E04B0D30BDAB6321024875EF8E9EC124947A91814469CEE3376C801EBF4E5E49D6AEAC827B08D992641035D7A2E31856D880A770ACFBD2278886DF12EA1F71FEB4C34A8AFC9DEAE2652550ADD221B5E5EB2ABA8E316C45D2875788BE138B71BC3B1FFD8428453E979864B9DCB806041EF6609A6A514C41FCC59F8EE69FD463B477CF39F76F15694F4535C07D67C9DA807ED13426CE2D96B51053864FCBF036A5F017AE5FDE4C8AE9BA8C23E6876EE168E0AE10143B153F093E450A15A1122BBA787A0ACD0F4DF12FC9EB49577C6C3FD5700FA4E136AF529215629B1777E178B4F0399F4862B
    +
    auth_key = 0ADC8517D2336D04A4806C2CF2A698699316FD20998508DA9AC10B44B0696E8465193DF3D2A2D3C848E93646899E31781B2C92A263CFA113BC7FB8B6F32C6D254020532EFCA434D4A902AFDE72A6409788E058A3722822D74C8B56DD70A921F433A34808D8D51A73F645D03AAE15F153B3A609651B68BA9B43CAFF4BC19E10839825E11F3F958D39E47BE87141856F1C10220C59EA9146DF12DEC833D1CC1F0E50F433E6BBCD289EA264FD013BBAC5DBD9338BB2D2EFF149C1A50A19C16447B915D3FAD884A00336506F6D0B153BBCACE75CFFF63A23A2993D668E873C6698645078B9CE909613CD391A2CE9C88EA309608E7FDB2137625E16809C795963F839
    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 8C E5 CF E0 67 89 66
    -0010 | B0 00 00 00 34 F7 CB 3B 24 51 93 B7 F5 9B 5B BC
    -0020 | 8C C5 6C B6 43 18 20 22 12 38 54 3A 19 42 67 BC
    -0030 | 53 14 82 A7 E3 C2 ED 64 11 D9 18 9A F2 62 02 34
    -0040 | 5F 84 29 79 BB A1 8A DA
    +
    0000 | 00 00 00 00 00 00 00 00 01 B8 D4 09 82 73 89 66
    +0010 | 74 00 00 00 34 F7 CB 3B 4E 90 12 C4 75 8A 36 D6
    +0020 | 8D B9 02 03 46 5D 45 B2 BD 22 72 95 FA 46 54 EF
    +0030 | FC 02 5D 6D BB 8F 2B F0 0E EF 65 A8 56 1B BD 64
    +0040 | 55 63 BB D8 9B 45 59 14

    Payload (de)serialization:

    dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
    message_id 8, 8A8BC0000E0678966EC6A0E0081738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 40, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    encrypted_data 56, 340FE5001005E5CFE20CCB74AE7EB61E477 571FF7A76D881352C1EB1B4FD8ED80B6 4FDFC256B6DE061C89BB387BFECCD39D 8BFEA22D8EED63984DF8980F9BF2BBF1 BFDAE37F897C24BFBCCE51A8D6AD15D2 7EF6FBA49041432A88408B0A9E4922F9 B27262A4D231CE27CEFE86C6FA15A87F A48E53C4599D315E9B3B988F054E6D6A E76CA08CCDB9F3AD12646E05C4A42D8F 6BF3ADDE0D5F0388C762EE8F7454A34B 3CC9854843EEC9C090AE6D74A75FA397 F20C6A451B1A90DB330E15474ADB94F1 8AC80237E5C46B4CD9F3628BDA267948 535103BEB5B8E22DF2A0C8DFC236DF0C 800A36FA23FF3BB057BF33162DE271D7 3795BDCE094DCC02F8840022D220F4FB D89DF86E561F75C2407342BFF8C70C1E 4FD2F47DDBC2866BF6F22DE9E6BFCBB5 02D534F75602C0305EB9E26BA0383592 3339B159D894DC36D1C3F9B6863FC197 E5632D2495863AF73434B30F795FC449
    34EFF107
    FE500100755639CAEC9E04D1755E20C8 D621A8390DB6FC9CC1CBF50D830F3193 0C8381CB1DA491B3012457A93C6697CF 6B4D332858D6E7A1100A384D4F638589 5832FB1FB87DAB29993FDA09F4BB9CD9 97E6702AF358794AAAAAB2FA21A55632 098295588B13F1399F0F77CDCA1E2D5C FDE833F5BCE1C9FA578D74CC53E494FD 4DADBE6C231A722E4085B8A283F35864 56991D592861BEBE8B406EE621DFD0FD 8FA710FC20F87E7395CF01E79358C3B7 DE311D6BBE436D41E1DCA7667BA3FD94 1806872881BD1C7AE13606FFBE7B70E0 A868037C264D7C77F2AE1C5B0E64295F 3B1D5109DC356C2ED36D80E020148A81 74F5E31B34D9BF5CD8FDC08E449D62A5 DC0B33BF86E95E9A8D90ECA849D39DE9 C7FC129C363D0C876B18A150C01A306E 71AA5DFB51462EADF6A918A43559B9E1 B12E244386B75755C80AD509075A327E 124167712E513C84811B860FECA1FD56
    BF4E16AB
    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/Bool.html b/data/web/corefork.telegram.org/type/Bool.html index b40a391fe5..2131afbbd8 100644 --- a/data/web/corefork.telegram.org/type/Bool.html +++ b/data/web/corefork.telegram.org/type/Bool.html @@ -964,7 +964,7 @@ - + diff --git a/data/web/corefork.telegram.org/type/BusinessChatLink.html b/data/web/corefork.telegram.org/type/BusinessChatLink.html index 5243b9b3f7..81a5fed26c 100644 --- a/data/web/corefork.telegram.org/type/BusinessChatLink.html +++ b/data/web/corefork.telegram.org/type/BusinessChatLink.html @@ -8,26 +8,14 @@ Constructor Description businessChatLink -  -Methods -Method -Description -account.createBusinessChatLink -  -ac…"> +Contains info about a business chat deep link » created by the current…"> +Contains info about a business chat deep link » created by the current…"> @@ -91,7 +79,7 @@ ac…"> - +
    message_id 8, 8018CE5CFE067896601B8D40982738966 Message ID generated as specified here » (unixtime() << 32) + (N*4)
    message_length 16, 4B0000000 (176 in decimal)74000000 (116 in decimal) Message body length
    nonce 24, 16245193B7F59B5BBC8CC56CB6431820224E9012C4758A36D68DB90203465D45B2 Value generated by client in Step 1
    server_nonce 40, 161238543A194267BC531482A7E3C2ED64BD227295FA4654EFFC025D6DBB8F2BF0 Value received from server in Step 2
    new_nonce_hash1 56, 1611D9189AF26202345F842979BBA18ADA0EEF65A8561BBD645563BBD89B455914 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.
    account.deleteBusinessChatLink Delete a business chat deep link ».
    account.updatePersonalChannel
    businessChatLink Contains info about a business chat deep link » created by the current account.
    @@ -106,11 +94,11 @@ ac…"> account.createBusinessChatLink -  +Create a business chat deep link ». account.editBusinessChatLink -  +Edit a created business chat deep link ».
    diff --git a/data/web/corefork.telegram.org/type/InputBusinessChatLink.html b/data/web/corefork.telegram.org/type/InputBusinessChatLink.html index 9e1b2c1c19..742ccec4b2 100644 --- a/data/web/corefork.telegram.org/type/InputBusinessChatLink.html +++ b/data/web/corefork.telegram.org/type/InputBusinessChatLink.html @@ -8,14 +8,14 @@ Constructor Description inputBusinessChatLink - "> +Contains info about a business chat deep link » to be created…"> +Contains info about a business chat deep link » to be created…"> @@ -74,7 +74,7 @@ inputBusinessChatLink inputBusinessChatLink -  +Contains info about a business chat deep link » to be created by the current account.
    diff --git a/data/web/corefork.telegram.org/type/account.BusinessChatLinks.html b/data/web/corefork.telegram.org/type/account.BusinessChatLinks.html index f3844beaaa..cd739b485a 100644 --- a/data/web/corefork.telegram.org/type/account.BusinessChatLinks.html +++ b/data/web/corefork.telegram.org/type/account.BusinessChatLinks.html @@ -8,22 +8,14 @@ Constructor Description account.businessChatLinks -  -Methods -Method -Description -account.getBusinessChatLinks…"> +Contains info about business chat deep links » created by…"> +Contains info about business chat deep links » created by…"> @@ -86,7 +78,7 @@ account.getBusinessChatLinks…"> account.businessChatLinks -  +Contains info about business chat deep links » created by the current account. @@ -101,7 +93,7 @@ account.getBusinessChatLinks…"> account.getBusinessChatLinks -  +List all created business chat deep links ».
    diff --git a/data/web/corefork.telegram.org/type/account.ResolvedBusinessChatLinks.html b/data/web/corefork.telegram.org/type/account.ResolvedBusinessChatLinks.html index eda66b4220..6ed0d77b55 100644 --- a/data/web/corefork.telegram.org/type/account.ResolvedBusinessChatLinks.html +++ b/data/web/corefork.telegram.org/type/account.ResolvedBusinessChatLinks.html @@ -8,22 +8,14 @@ Constructor Description account.resolvedBusinessChatLinks -  -Methods -Method -Description -account.resolveBusinessChatLink…"> +Contains info about a single resolved business chat…"> +Contains info about a single resolved business chat…"> @@ -86,7 +78,7 @@ account.resolveBusinessChatLink…"> account.resolvedBusinessChatLinks -  +Contains info about a single resolved business chat deep link ». @@ -101,7 +93,7 @@ account.resolveBusinessChatLink…"> account.resolveBusinessChatLink -  +Resolve a business chat deep link ».