How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/web/corefork.telegram.org/method/account.saveRingtone.html b/data/web/corefork.telegram.org/method/account.saveRingtone.html
index 71c8b9d583..ce88f4439f 100644
--- a/data/web/corefork.telegram.org/method/account.saveRingtone.html
+++ b/data/web/corefork.telegram.org/method/account.saveRingtone.html
@@ -4,10 +4,10 @@
400
+BUSINESS_WORK_HOURS_EMPTY
+No work hours were specified.
+
+
+400
+BUSINESS_WORK_HOURS_PERIOD_INVALID
+The specified work hours are invalid, see here » for the exact requirements.
+
+
+400
TIMEZONE_INVALID
-
+The specified timezone does not exist.
diff --git a/data/web/corefork.telegram.org/method/account.updateColor.html b/data/web/corefork.telegram.org/method/account.updateColor.html
index 4db1b80a4a..c82268d59b 100644
--- a/data/web/corefork.telegram.org/method/account.updateColor.html
+++ b/data/web/corefork.telegram.org/method/account.updateColor.html
@@ -108,6 +108,11 @@
COLOR_INVALID
The specified color palette ID was invalid.
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/account.updateConnectedBot.html b/data/web/corefork.telegram.org/method/account.updateConnectedBot.html
index 987356d7f1..c1a836e391 100644
--- a/data/web/corefork.telegram.org/method/account.updateConnectedBot.html
+++ b/data/web/corefork.telegram.org/method/account.updateConnectedBot.html
@@ -103,9 +103,40 @@
Result
Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+BOT_BUSINESS_MISSING
+The specified bot is not a business bot (the user .bot_business
flag is not set).
+
+
+400
+BUSINESS_RECIPIENTS_EMPTY
+
+
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
+
Related pages
-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 pages, chatbot support, and more.
+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 pages, chatbot support, and more.
+
+Indicates info about a certain user.
+Unless specified otherwise, when updating the local peer database , all fields from the newly received constructor take priority over the old constructor cached locally (including by removing fields that aren't set in the new constructor).
+See here » for an implementation of the logic to use when updating the local user peer database .
diff --git a/data/web/corefork.telegram.org/method/account.uploadRingtone.html b/data/web/corefork.telegram.org/method/account.uploadRingtone.html
index d5ff175b0e..bc6ea0aea0 100644
--- a/data/web/corefork.telegram.org/method/account.uploadRingtone.html
+++ b/data/web/corefork.telegram.org/method/account.uploadRingtone.html
@@ -88,6 +88,23 @@
Result
Document
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+RINGTONE_MIME_INVALID
+The MIME type for the ringtone is invalid.
+
+
+
Related pages
Save or remove saved notification sound.
diff --git a/data/web/corefork.telegram.org/method/account.uploadTheme.html b/data/web/corefork.telegram.org/method/account.uploadTheme.html
index aaec0bdfb0..8b12c50a16 100644
--- a/data/web/corefork.telegram.org/method/account.uploadTheme.html
+++ b/data/web/corefork.telegram.org/method/account.uploadTheme.html
@@ -113,6 +113,11 @@
THEME_FILE_INVALID
Invalid theme file provided.
+
+400
+THEME_MIME_INVALID
+The theme's MIME type is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/account.verifyEmail.html b/data/web/corefork.telegram.org/method/account.verifyEmail.html
index 176bfd0f43..cb8fd20b60 100644
--- a/data/web/corefork.telegram.org/method/account.verifyEmail.html
+++ b/data/web/corefork.telegram.org/method/account.verifyEmail.html
@@ -103,6 +103,11 @@
EMAIL_VERIFY_EXPIRED
The verification email has expired.
+
+400
+PHONE_NUMBER_INVALID
+The phone number is invalid.
+
diff --git a/data/web/corefork.telegram.org/method/auth.checkRecoveryPassword.html b/data/web/corefork.telegram.org/method/auth.checkRecoveryPassword.html
index 39e8581de6..de3e669d1d 100644
--- a/data/web/corefork.telegram.org/method/auth.checkRecoveryPassword.html
+++ b/data/web/corefork.telegram.org/method/auth.checkRecoveryPassword.html
@@ -90,6 +90,11 @@
400
+CODE_EMPTY
+The provided code is empty.
+
+
+400
PASSWORD_RECOVERY_EXPIRED
The recovery code has expired.
diff --git a/data/web/corefork.telegram.org/method/auth.sendCode.html b/data/web/corefork.telegram.org/method/auth.sendCode.html
index d097319eaf..c9985cb45a 100644
--- a/data/web/corefork.telegram.org/method/auth.sendCode.html
+++ b/data/web/corefork.telegram.org/method/auth.sendCode.html
@@ -153,6 +153,11 @@
SMS_CODE_CREATE_FAILED
An error occurred while creating the SMS code.
+
+406
+UPDATE_APP_TO_LOGIN
+Please update to the latest version of MadelineProto to login.
+
diff --git a/data/web/corefork.telegram.org/method/auth.signIn.html b/data/web/corefork.telegram.org/method/auth.signIn.html
index 06e6997c4e..7bad167004 100644
--- a/data/web/corefork.telegram.org/method/auth.signIn.html
+++ b/data/web/corefork.telegram.org/method/auth.signIn.html
@@ -143,6 +143,11 @@
SIGN_IN_FAILED
Failure while signing in.
+
+406
+UPDATE_APP_TO_LOGIN
+Please update to the latest version of MadelineProto to login.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/bots.answerWebhookJSONQuery.html b/data/web/corefork.telegram.org/method/bots.answerWebhookJSONQuery.html
index de4a87fde8..4fc90296ca 100644
--- a/data/web/corefork.telegram.org/method/bots.answerWebhookJSONQuery.html
+++ b/data/web/corefork.telegram.org/method/bots.answerWebhookJSONQuery.html
@@ -108,6 +108,11 @@
USER_BOT_INVALID
User accounts must provide the bot
method parameter when calling this method. If there is no such method parameter, this method can only be invoked by bot accounts.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.getBotCommands.html b/data/web/corefork.telegram.org/method/bots.getBotCommands.html
index 6b820026b2..6f5154ab1a 100644
--- a/data/web/corefork.telegram.org/method/bots.getBotCommands.html
+++ b/data/web/corefork.telegram.org/method/bots.getBotCommands.html
@@ -96,6 +96,11 @@
USER_BOT_INVALID
User accounts must provide the bot
method parameter when calling this method. If there is no such method parameter, this method can only be invoked by bot accounts.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.invokeWebViewCustomMethod.html b/data/web/corefork.telegram.org/method/bots.invokeWebViewCustomMethod.html
index 3fc0b5d2bf..61d50f3224 100644
--- a/data/web/corefork.telegram.org/method/bots.invokeWebViewCustomMethod.html
+++ b/data/web/corefork.telegram.org/method/bots.invokeWebViewCustomMethod.html
@@ -103,6 +103,11 @@
BOT_INVALID
This is not a valid bot.
+
+400
+DATA_JSON_INVALID
+The provided JSON data is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/bots.reorderUsernames.html b/data/web/corefork.telegram.org/method/bots.reorderUsernames.html
index 3ff29b51ed..8e9c588c8c 100644
--- a/data/web/corefork.telegram.org/method/bots.reorderUsernames.html
+++ b/data/web/corefork.telegram.org/method/bots.reorderUsernames.html
@@ -98,9 +98,13 @@
BOT_INVALID
This is not a valid bot.
+
+400
+USERNAME_NOT_MODIFIED
+The username was not modified.
+
-
- Bots can use this method
+
diff --git a/data/web/corefork.telegram.org/method/bots.resetBotCommands.html b/data/web/corefork.telegram.org/method/bots.resetBotCommands.html
index dd395fe2e7..91edfbadd6 100644
--- a/data/web/corefork.telegram.org/method/bots.resetBotCommands.html
+++ b/data/web/corefork.telegram.org/method/bots.resetBotCommands.html
@@ -98,6 +98,11 @@
LANG_CODE_INVALID
The specified language code is invalid.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.sendCustomRequest.html b/data/web/corefork.telegram.org/method/bots.sendCustomRequest.html
index 42c4a6453f..fdb3c76426 100644
--- a/data/web/corefork.telegram.org/method/bots.sendCustomRequest.html
+++ b/data/web/corefork.telegram.org/method/bots.sendCustomRequest.html
@@ -107,6 +107,11 @@
USER_BOT_INVALID
User accounts must provide the bot
method parameter when calling this method. If there is no such method parameter, this method can only be invoked by bot accounts.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.setBotBroadcastDefaultAdminRights.html b/data/web/corefork.telegram.org/method/bots.setBotBroadcastDefaultAdminRights.html
index 832fd81ccf..13454c7af5 100644
--- a/data/web/corefork.telegram.org/method/bots.setBotBroadcastDefaultAdminRights.html
+++ b/data/web/corefork.telegram.org/method/bots.setBotBroadcastDefaultAdminRights.html
@@ -93,6 +93,11 @@
RIGHTS_NOT_MODIFIED
The new admin rights are equal to the old rights, no change was made.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.setBotMenuButton.html b/data/web/corefork.telegram.org/method/bots.setBotMenuButton.html
index 32c293b6f8..1909e9fd3b 100644
--- a/data/web/corefork.telegram.org/method/bots.setBotMenuButton.html
+++ b/data/web/corefork.telegram.org/method/bots.setBotMenuButton.html
@@ -103,6 +103,11 @@
BUTTON_URL_INVALID
Button URL invalid.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/bots.toggleUsername.html b/data/web/corefork.telegram.org/method/bots.toggleUsername.html
index 4959342ece..93f117e02b 100644
--- a/data/web/corefork.telegram.org/method/bots.toggleUsername.html
+++ b/data/web/corefork.telegram.org/method/bots.toggleUsername.html
@@ -103,6 +103,11 @@
BOT_INVALID
This is not a valid bot.
+
+400
+USERNAME_NOT_MODIFIED
+The username was not modified.
+
diff --git a/data/web/corefork.telegram.org/method/channels.deactivateAllUsernames.html b/data/web/corefork.telegram.org/method/channels.deactivateAllUsernames.html
index 43d597e1ad..8f7509d37f 100644
--- a/data/web/corefork.telegram.org/method/channels.deactivateAllUsernames.html
+++ b/data/web/corefork.telegram.org/method/channels.deactivateAllUsernames.html
@@ -78,7 +78,23 @@
Result
Bool
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/channels.editCreator.html b/data/web/corefork.telegram.org/method/channels.editCreator.html
index ceaa140cba..433456a990 100644
--- a/data/web/corefork.telegram.org/method/channels.editCreator.html
+++ b/data/web/corefork.telegram.org/method/channels.editCreator.html
@@ -136,7 +136,7 @@
400
PASSWORD_MISSING
-You must enable 2FA in order to transfer ownership of a channel.
+You must enable 2FA before executing this operation.
400
diff --git a/data/web/corefork.telegram.org/method/channels.editLocation.html b/data/web/corefork.telegram.org/method/channels.editLocation.html
index 7bb40f640c..3a5c5d9d62 100644
--- a/data/web/corefork.telegram.org/method/channels.editLocation.html
+++ b/data/web/corefork.telegram.org/method/channels.editLocation.html
@@ -100,6 +100,11 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
CHAT_ADMIN_REQUIRED
You must be an admin in this chat to do this.
diff --git a/data/web/corefork.telegram.org/method/channels.getForumTopicsByID.html b/data/web/corefork.telegram.org/method/channels.getForumTopicsByID.html
index ec4439622f..c2d920beb3 100644
--- a/data/web/corefork.telegram.org/method/channels.getForumTopicsByID.html
+++ b/data/web/corefork.telegram.org/method/channels.getForumTopicsByID.html
@@ -108,8 +108,7 @@
You specified no topic IDs.
-
- Bots can use this method
+
diff --git a/data/web/corefork.telegram.org/method/channels.reorderPinnedForumTopics.html b/data/web/corefork.telegram.org/method/channels.reorderPinnedForumTopics.html
index 0027ce70b2..32607155f9 100644
--- a/data/web/corefork.telegram.org/method/channels.reorderPinnedForumTopics.html
+++ b/data/web/corefork.telegram.org/method/channels.reorderPinnedForumTopics.html
@@ -98,7 +98,23 @@
Result
Updates
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+
Related pages
Telegram allows creating forums with multiple distinct topics.
diff --git a/data/web/corefork.telegram.org/method/channels.reorderUsernames.html b/data/web/corefork.telegram.org/method/channels.reorderUsernames.html
index f0d6b8b131..fc1bfde68a 100644
--- a/data/web/corefork.telegram.org/method/channels.reorderUsernames.html
+++ b/data/web/corefork.telegram.org/method/channels.reorderUsernames.html
@@ -98,9 +98,13 @@
CHANNEL_INVALID
The provided channel is invalid.
+
+400
+CHAT_NOT_MODIFIED
+No changes were made to chat information because the new information you passed is identical to the current information.
+
-
- Bots can use this method
+
diff --git a/data/web/corefork.telegram.org/method/channels.reportAntiSpamFalsePositive.html b/data/web/corefork.telegram.org/method/channels.reportAntiSpamFalsePositive.html
index 19e201aa17..a876b6c7ab 100644
--- a/data/web/corefork.telegram.org/method/channels.reportAntiSpamFalsePositive.html
+++ b/data/web/corefork.telegram.org/method/channels.reportAntiSpamFalsePositive.html
@@ -83,7 +83,23 @@
Result
Bool
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+
Related pages
Admins of supergroups with a certain number of members can choose to unleash the full proactive power of Telegram's own antispam algorithms – turning on the new Aggressive mode for the automated spam filters.
diff --git a/data/web/corefork.telegram.org/method/channels.reportSponsoredMessage.html b/data/web/corefork.telegram.org/method/channels.reportSponsoredMessage.html
index 335334bc16..def943c209 100644
--- a/data/web/corefork.telegram.org/method/channels.reportSponsoredMessage.html
+++ b/data/web/corefork.telegram.org/method/channels.reportSponsoredMessage.html
@@ -101,9 +101,19 @@
400
+AD_EXPIRED
+The ad has expired (too old or not found).
+
+
+400
CHANNEL_INVALID
The provided channel is invalid.
+
+400
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/channels.toggleAntiSpam.html b/data/web/corefork.telegram.org/method/channels.toggleAntiSpam.html
index 4ce6f2fad6..fe8fe2b4da 100644
--- a/data/web/corefork.telegram.org/method/channels.toggleAntiSpam.html
+++ b/data/web/corefork.telegram.org/method/channels.toggleAntiSpam.html
@@ -100,12 +100,16 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
CHAT_NOT_MODIFIED
No changes were made to chat information because the new information you passed is identical to the current information.
- Bots can use this method
Related pages
The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/channels.toggleForum.html b/data/web/corefork.telegram.org/method/channels.toggleForum.html
index 91e79087ec..180dd7fb60 100644
--- a/data/web/corefork.telegram.org/method/channels.toggleForum.html
+++ b/data/web/corefork.telegram.org/method/channels.toggleForum.html
@@ -100,6 +100,11 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
CHAT_DISCUSSION_UNALLOWED
You can't enable forum topics in a discussion group linked to a channel.
@@ -110,7 +115,6 @@
- Bots can use this method
Related pages
Telegram allows creating forums with multiple distinct topics.
diff --git a/data/web/corefork.telegram.org/method/channels.toggleParticipantsHidden.html b/data/web/corefork.telegram.org/method/channels.toggleParticipantsHidden.html
index 6e1742d7db..c2ab0f3e2b 100644
--- a/data/web/corefork.telegram.org/method/channels.toggleParticipantsHidden.html
+++ b/data/web/corefork.telegram.org/method/channels.toggleParticipantsHidden.html
@@ -101,6 +101,11 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
CHAT_ID_INVALID
The provided chat id is invalid.
@@ -116,7 +121,6 @@
- Bots can use this method
Related pages
How to handle channels, supergroups, gigagroups, basic groups, and what's the difference between them.
diff --git a/data/web/corefork.telegram.org/method/channels.toggleUsername.html b/data/web/corefork.telegram.org/method/channels.toggleUsername.html
index d7c548a7c7..e94ff1aa69 100644
--- a/data/web/corefork.telegram.org/method/channels.toggleUsername.html
+++ b/data/web/corefork.telegram.org/method/channels.toggleUsername.html
@@ -100,6 +100,11 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
CHANNEL_PRIVATE
You haven't joined this channel/supergroup.
@@ -110,6 +115,11 @@
400
+CHAT_NOT_MODIFIED
+No changes were made to chat information because the new information you passed is identical to the current information.
+
+
+400
USERNAMES_ACTIVE_TOO_MUCH
The maximum number of active usernames was reached.
@@ -118,6 +128,11 @@
USERNAME_INVALID
The provided username is not valid.
+
+400
+USERNAME_NOT_MODIFIED
+The username was not modified.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/channels.updatePinnedForumTopic.html b/data/web/corefork.telegram.org/method/channels.updatePinnedForumTopic.html
index ac017700b1..c5469a116d 100644
--- a/data/web/corefork.telegram.org/method/channels.updatePinnedForumTopic.html
+++ b/data/web/corefork.telegram.org/method/channels.updatePinnedForumTopic.html
@@ -105,12 +105,16 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
TOPIC_ID_INVALID
The specified topic ID is invalid.
- Bots can use this method
Related pages
Telegram allows creating forums with multiple distinct topics.
diff --git a/data/web/corefork.telegram.org/method/chatlists.deleteExportedInvite.html b/data/web/corefork.telegram.org/method/chatlists.deleteExportedInvite.html
index 74b41f2f79..5cf6714bfa 100644
--- a/data/web/corefork.telegram.org/method/chatlists.deleteExportedInvite.html
+++ b/data/web/corefork.telegram.org/method/chatlists.deleteExportedInvite.html
@@ -105,7 +105,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.editExportedInvite.html b/data/web/corefork.telegram.org/method/chatlists.editExportedInvite.html
index 1b3aacd39c..15d3129c81 100644
--- a/data/web/corefork.telegram.org/method/chatlists.editExportedInvite.html
+++ b/data/web/corefork.telegram.org/method/chatlists.editExportedInvite.html
@@ -109,6 +109,11 @@
400
+CHANNEL_INVALID
+The provided channel is invalid.
+
+
+400
FILTER_ID_INVALID
The specified filter ID is invalid.
@@ -117,9 +122,23 @@
FILTER_NOT_SUPPORTED
The specified filter cannot be used in this context.
+
+400
+INVITE_SLUG_EMPTY
+The specified invite slug is empty.
+
+
+400
+INVITE_SLUG_EXPIRED
+The specified chat folder link has expired.
+
+
+400
+PEERS_LIST_EMPTY
+The specified list of peers is empty.
+
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.getChatlistUpdates.html b/data/web/corefork.telegram.org/method/chatlists.getChatlistUpdates.html
index fd0a346f93..d044484088 100644
--- a/data/web/corefork.telegram.org/method/chatlists.getChatlistUpdates.html
+++ b/data/web/corefork.telegram.org/method/chatlists.getChatlistUpdates.html
@@ -104,7 +104,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.getExportedInvites.html b/data/web/corefork.telegram.org/method/chatlists.getExportedInvites.html
index d0adeb1ac3..ca0fb65e13 100644
--- a/data/web/corefork.telegram.org/method/chatlists.getExportedInvites.html
+++ b/data/web/corefork.telegram.org/method/chatlists.getExportedInvites.html
@@ -77,7 +77,23 @@
Result
chatlists.ExportedInvites
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+FILTER_ID_INVALID
+The specified filter ID is invalid.
+
+
+
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.getLeaveChatlistSuggestions.html b/data/web/corefork.telegram.org/method/chatlists.getLeaveChatlistSuggestions.html
index fc89802f88..b5611324b1 100644
--- a/data/web/corefork.telegram.org/method/chatlists.getLeaveChatlistSuggestions.html
+++ b/data/web/corefork.telegram.org/method/chatlists.getLeaveChatlistSuggestions.html
@@ -98,7 +98,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.hideChatlistUpdates.html b/data/web/corefork.telegram.org/method/chatlists.hideChatlistUpdates.html
index 3ab1762fc6..5094ea9048 100644
--- a/data/web/corefork.telegram.org/method/chatlists.hideChatlistUpdates.html
+++ b/data/web/corefork.telegram.org/method/chatlists.hideChatlistUpdates.html
@@ -100,7 +100,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.joinChatlistInvite.html b/data/web/corefork.telegram.org/method/chatlists.joinChatlistInvite.html
index 145d6d189c..f1488afa99 100644
--- a/data/web/corefork.telegram.org/method/chatlists.joinChatlistInvite.html
+++ b/data/web/corefork.telegram.org/method/chatlists.joinChatlistInvite.html
@@ -115,7 +115,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/chatlists.joinChatlistUpdates.html b/data/web/corefork.telegram.org/method/chatlists.joinChatlistUpdates.html
index 3a08fc577f..c8924d8afc 100644
--- a/data/web/corefork.telegram.org/method/chatlists.joinChatlistUpdates.html
+++ b/data/web/corefork.telegram.org/method/chatlists.joinChatlistUpdates.html
@@ -110,7 +110,6 @@
- Bots can use this method
Related pages
Fetch new chats associated with an imported chat folder deep link » . Must be invoked at most every chatlist_update_period
seconds (as per the related client configuration parameter » ).
diff --git a/data/web/corefork.telegram.org/method/chatlists.leaveChatlist.html b/data/web/corefork.telegram.org/method/chatlists.leaveChatlist.html
index f45780ab3a..72d8869708 100644
--- a/data/web/corefork.telegram.org/method/chatlists.leaveChatlist.html
+++ b/data/web/corefork.telegram.org/method/chatlists.leaveChatlist.html
@@ -88,7 +88,23 @@
Result
Updates
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+FILTER_ID_INVALID
+The specified filter ID is invalid.
+
+
+
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/contacts.getLocated.html b/data/web/corefork.telegram.org/method/contacts.getLocated.html
index 2501abef74..d766ccb556 100644
--- a/data/web/corefork.telegram.org/method/contacts.getLocated.html
+++ b/data/web/corefork.telegram.org/method/contacts.getLocated.html
@@ -109,6 +109,11 @@
+406
+BUSINESS_ADDRESS_ACTIVE
+The user is currently advertising a Business Location , the location may only be changed (or removed) using account.updateBusinessLocation » . .
+
+
400
GEO_POINT_INVALID
Invalid geoposition provided.
@@ -126,8 +131,13 @@
Related pages
-
-How to work with geolocation-based features like geochats and the nearby users feature.
+
+How to work with geolocation-based features like geochats and the nearby users feature.
+
+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 pages, chatbot support, and more.
+
+Businesses » may advertise their location using this method, see here » for more info.
+To remove business location information invoke the method without setting any of the parameters.
diff --git a/data/web/corefork.telegram.org/method/contacts.importContactToken.html b/data/web/corefork.telegram.org/method/contacts.importContactToken.html
index 41c5fab695..5aa4b057bf 100644
--- a/data/web/corefork.telegram.org/method/contacts.importContactToken.html
+++ b/data/web/corefork.telegram.org/method/contacts.importContactToken.html
@@ -95,7 +95,6 @@
- Bots can use this method
Related pages
Telegram clients must handle special tg:// and t.me deep links encountered in messages, link entities and in other apps by registering OS handlers.
diff --git a/data/web/corefork.telegram.org/method/help.setBotUpdatesStatus.html b/data/web/corefork.telegram.org/method/help.setBotUpdatesStatus.html
index f203a5afc2..db7ccada38 100644
--- a/data/web/corefork.telegram.org/method/help.setBotUpdatesStatus.html
+++ b/data/web/corefork.telegram.org/method/help.setBotUpdatesStatus.html
@@ -83,6 +83,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
+
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/messages.checkQuickReplyShortcut.html b/data/web/corefork.telegram.org/method/messages.checkQuickReplyShortcut.html
index 7c1d2651a5..a86b72acd6 100644
--- a/data/web/corefork.telegram.org/method/messages.checkQuickReplyShortcut.html
+++ b/data/web/corefork.telegram.org/method/messages.checkQuickReplyShortcut.html
@@ -78,6 +78,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
+
Related pages
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 pages, chatbot support, and more.
diff --git a/data/web/corefork.telegram.org/method/messages.deleteFactCheck.html b/data/web/corefork.telegram.org/method/messages.deleteFactCheck.html
index 0284f39ea8..6d7f10772f 100644
--- a/data/web/corefork.telegram.org/method/messages.deleteFactCheck.html
+++ b/data/web/corefork.telegram.org/method/messages.deleteFactCheck.html
@@ -100,6 +100,11 @@
+403
+CHAT_ACTION_FORBIDDEN
+You cannot execute this action.
+
+
400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.editFactCheck.html b/data/web/corefork.telegram.org/method/messages.editFactCheck.html
index 67b306a365..00050246dd 100644
--- a/data/web/corefork.telegram.org/method/messages.editFactCheck.html
+++ b/data/web/corefork.telegram.org/method/messages.editFactCheck.html
@@ -105,6 +105,11 @@
+403
+CHAT_ACTION_FORBIDDEN
+You cannot execute this action.
+
+
400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.editQuickReplyShortcut.html b/data/web/corefork.telegram.org/method/messages.editQuickReplyShortcut.html
index 4c82adec85..384d2d5c4d 100644
--- a/data/web/corefork.telegram.org/method/messages.editQuickReplyShortcut.html
+++ b/data/web/corefork.telegram.org/method/messages.editQuickReplyShortcut.html
@@ -95,6 +95,11 @@ This will emit an updateQuickReplies
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
400
SHORTCUT_INVALID
The specified shortcut is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.forwardMessages.html b/data/web/corefork.telegram.org/method/messages.forwardMessages.html
index eddffff9f1..05fb3a54e0 100644
--- a/data/web/corefork.telegram.org/method/messages.forwardMessages.html
+++ b/data/web/corefork.telegram.org/method/messages.forwardMessages.html
@@ -304,12 +304,22 @@
The provided peer id is invalid.
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
406
PRIVACY_PREMIUM_REQUIRED
You need a Telegram Premium subscription to send a message to this user.
400
+QUICK_REPLIES_TOO_MUCH
+A maximum of appConfig.quick_replies_limit
shortcuts may be created, the limit was reached.
+
+
+400
QUIZ_ANSWER_MISSING
You can forward a quiz while hiding the original author only after choosing an option in the quiz.
@@ -325,6 +335,11 @@
400
+REPLY_MESSAGES_TOO_MUCH
+Each shortcut can contain a maximum of appConfig.quick_reply_messages_limit
messages, the limit was reached.
+
+
+400
SCHEDULE_BOT_NOT_ALLOWED
Bots cannot schedule messages.
@@ -401,7 +416,9 @@
How to handle API return errors correctly.
-Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+
+The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/messages.getAttachedStickers.html b/data/web/corefork.telegram.org/method/messages.getAttachedStickers.html
index fd487b45f7..8278fbd2aa 100644
--- a/data/web/corefork.telegram.org/method/messages.getAttachedStickers.html
+++ b/data/web/corefork.telegram.org/method/messages.getAttachedStickers.html
@@ -75,7 +75,24 @@
Result
-Vector <StickerSetCovered >
+Vector <StickerSetCovered >
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+MEDIA_EMPTY
+The provided media object is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/messages.getBotCallbackAnswer.html b/data/web/corefork.telegram.org/method/messages.getBotCallbackAnswer.html
index 83ec5adc1e..736336f048 100644
--- a/data/web/corefork.telegram.org/method/messages.getBotCallbackAnswer.html
+++ b/data/web/corefork.telegram.org/method/messages.getBotCallbackAnswer.html
@@ -139,6 +139,11 @@
400
+PASSWORD_MISSING
+You must enable 2FA before executing this operation.
+
+
+400
PEER_ID_INVALID
The provided peer id is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.getDefaultHistoryTTL.html b/data/web/corefork.telegram.org/method/messages.getDefaultHistoryTTL.html
index 17032914f0..b11ab7039c 100644
--- a/data/web/corefork.telegram.org/method/messages.getDefaultHistoryTTL.html
+++ b/data/web/corefork.telegram.org/method/messages.getDefaultHistoryTTL.html
@@ -61,8 +61,7 @@
Parameters
This constructor does not require any parameters.
Result
-DefaultHistoryTTL
- Bots can use this method
+DefaultHistoryTTL
diff --git a/data/web/corefork.telegram.org/method/messages.getEmojiGroups.html b/data/web/corefork.telegram.org/method/messages.getEmojiGroups.html
index 0f85ff96fb..7d424534ab 100644
--- a/data/web/corefork.telegram.org/method/messages.getEmojiGroups.html
+++ b/data/web/corefork.telegram.org/method/messages.getEmojiGroups.html
@@ -78,7 +78,6 @@
Result
messages.EmojiGroups
- Bots can use this method
Related pages
How to fetch results from large lists of objects.
diff --git a/data/web/corefork.telegram.org/method/messages.getEmojiProfilePhotoGroups.html b/data/web/corefork.telegram.org/method/messages.getEmojiProfilePhotoGroups.html
index 8bb1fa5c0c..7deee0edd1 100644
--- a/data/web/corefork.telegram.org/method/messages.getEmojiProfilePhotoGroups.html
+++ b/data/web/corefork.telegram.org/method/messages.getEmojiProfilePhotoGroups.html
@@ -78,7 +78,6 @@
Result
messages.EmojiGroups
- Bots can use this method
Related pages
How to fetch results from large lists of objects.
diff --git a/data/web/corefork.telegram.org/method/messages.getEmojiStatusGroups.html b/data/web/corefork.telegram.org/method/messages.getEmojiStatusGroups.html
index a552ae723d..547ffa71e8 100644
--- a/data/web/corefork.telegram.org/method/messages.getEmojiStatusGroups.html
+++ b/data/web/corefork.telegram.org/method/messages.getEmojiStatusGroups.html
@@ -78,7 +78,6 @@
Result
messages.EmojiGroups
- Bots can use this method
Related pages
How to fetch results from large lists of objects.
diff --git a/data/web/corefork.telegram.org/method/messages.getSearchResultsCalendar.html b/data/web/corefork.telegram.org/method/messages.getSearchResultsCalendar.html
index 195ea172d5..1b949b1094 100644
--- a/data/web/corefork.telegram.org/method/messages.getSearchResultsCalendar.html
+++ b/data/web/corefork.telegram.org/method/messages.getSearchResultsCalendar.html
@@ -119,6 +119,11 @@ Can return partial results for the last returned day.
FILTER_NOT_SUPPORTED
The specified filter cannot be used in this context.
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/messages.getSearchResultsPositions.html b/data/web/corefork.telegram.org/method/messages.getSearchResultsPositions.html
index 825b73e817..cc5d359bf7 100644
--- a/data/web/corefork.telegram.org/method/messages.getSearchResultsPositions.html
+++ b/data/web/corefork.telegram.org/method/messages.getSearchResultsPositions.html
@@ -103,6 +103,23 @@
Result
messages.SearchResultsPositions
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+
Related pages
The Saved Messages chat allows users to bookmark messages and media: it's a personal cloud storage for any messages or media you may want to send or forward there.
diff --git a/data/web/corefork.telegram.org/method/messages.hidePeerSettingsBar.html b/data/web/corefork.telegram.org/method/messages.hidePeerSettingsBar.html
index b840caedf5..0f59ad2675 100644
--- a/data/web/corefork.telegram.org/method/messages.hidePeerSettingsBar.html
+++ b/data/web/corefork.telegram.org/method/messages.hidePeerSettingsBar.html
@@ -78,6 +78,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+
Related pages
Sometimes, when interacting with Telegram users via private or secret chats, an action bar must be shown on top of the chat, offering convenient action buttons or notices regarding the user.
diff --git a/data/web/corefork.telegram.org/method/messages.prolongWebView.html b/data/web/corefork.telegram.org/method/messages.prolongWebView.html
index 6f8aa32923..a73a3792c5 100644
--- a/data/web/corefork.telegram.org/method/messages.prolongWebView.html
+++ b/data/web/corefork.telegram.org/method/messages.prolongWebView.html
@@ -109,6 +109,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+BOT_INVALID
+This is not a valid bot.
+
+
+
Related pages
Terminate webview interaction started with messages.requestWebView , sending the specified message to the chat on behalf of the user.
diff --git a/data/web/corefork.telegram.org/method/messages.readEncryptedHistory.html b/data/web/corefork.telegram.org/method/messages.readEncryptedHistory.html
index 30a8e713fb..3536ae8710 100644
--- a/data/web/corefork.telegram.org/method/messages.readEncryptedHistory.html
+++ b/data/web/corefork.telegram.org/method/messages.readEncryptedHistory.html
@@ -95,6 +95,11 @@
400
+CHAT_ID_INVALID
+The provided chat id is invalid.
+
+
+400
MAX_DATE_INVALID
The specified maximum date is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.reorderQuickReplies.html b/data/web/corefork.telegram.org/method/messages.reorderQuickReplies.html
index a21985cbee..a487480c50 100644
--- a/data/web/corefork.telegram.org/method/messages.reorderQuickReplies.html
+++ b/data/web/corefork.telegram.org/method/messages.reorderQuickReplies.html
@@ -79,6 +79,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
+
Related pages
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 pages, chatbot support, and more.
diff --git a/data/web/corefork.telegram.org/method/messages.reportReaction.html b/data/web/corefork.telegram.org/method/messages.reportReaction.html
index 5a07849923..8914e0e3a3 100644
--- a/data/web/corefork.telegram.org/method/messages.reportReaction.html
+++ b/data/web/corefork.telegram.org/method/messages.reportReaction.html
@@ -105,6 +105,11 @@
400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+400
USER_ID_INVALID
The provided user ID is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.searchCustomEmoji.html b/data/web/corefork.telegram.org/method/messages.searchCustomEmoji.html
index 5595574f4c..79645143d3 100644
--- a/data/web/corefork.telegram.org/method/messages.searchCustomEmoji.html
+++ b/data/web/corefork.telegram.org/method/messages.searchCustomEmoji.html
@@ -100,7 +100,6 @@
- Bots can use this method
Related pages
How to fetch results from large lists of objects.
diff --git a/data/web/corefork.telegram.org/method/messages.sendBotRequestedPeer.html b/data/web/corefork.telegram.org/method/messages.sendBotRequestedPeer.html
index 5b23f66a3d..31f289f558 100644
--- a/data/web/corefork.telegram.org/method/messages.sendBotRequestedPeer.html
+++ b/data/web/corefork.telegram.org/method/messages.sendBotRequestedPeer.html
@@ -98,6 +98,23 @@
Result
Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+
Related pages
Prompts the user to select and share one or more peers with the bot using messages.sendBotRequestedPeer
diff --git a/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html b/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
index 9b5c3a582e..e5bec85ece 100644
--- a/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
+++ b/data/web/corefork.telegram.org/method/messages.sendInlineBotResult.html
@@ -264,12 +264,22 @@
The query ID is empty.
+400
+QUICK_REPLIES_TOO_MUCH
+A maximum of appConfig.quick_replies_limit
shortcuts may be created, the limit was reached.
+
+
500
RANDOM_ID_DUPLICATE
You provided a random ID that was already used.
400
+REPLY_MESSAGES_TOO_MUCH
+Each shortcut can contain a maximum of appConfig.quick_reply_messages_limit
messages, the limit was reached.
+
+
+400
RESULT_ID_EMPTY
Result ID empty.
@@ -342,7 +352,9 @@
Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.
-How to create styled text with message entities
+How to create styled text with message entities
+
+The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/messages.sendMedia.html b/data/web/corefork.telegram.org/method/messages.sendMedia.html
index 26756b27a9..ff0db79a52 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMedia.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMedia.html
@@ -445,6 +445,11 @@
400
+QUICK_REPLIES_TOO_MUCH
+A maximum of appConfig.quick_replies_limit
shortcuts may be created, the limit was reached.
+
+
+400
QUIZ_CORRECT_ANSWERS_EMPTY
No correct quiz answer was specified.
@@ -490,6 +495,11 @@
400
+REPLY_MESSAGES_TOO_MUCH
+Each shortcut can contain a maximum of appConfig.quick_reply_messages_limit
messages, the limit was reached.
+
+
+400
SCHEDULE_BOT_NOT_ALLOWED
Bots cannot schedule messages.
@@ -607,7 +617,9 @@
How to handle file references.
-Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+
+The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/messages.sendMessage.html b/data/web/corefork.telegram.org/method/messages.sendMessage.html
index c4bbc7b7e7..db36a8f18b 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMessage.html
@@ -195,6 +195,11 @@
400
+BUSINESS_PEER_INVALID
+Messages can't be set to the specified peer through the current business connection .
+
+
+400
BUTTON_DATA_INVALID
The data of one or more of the buttons you provided is invalid.
@@ -340,6 +345,11 @@
400
+QUICK_REPLIES_TOO_MUCH
+A maximum of appConfig.quick_replies_limit
shortcuts may be created, the limit was reached.
+
+
+400
QUOTE_TEXT_INVALID
The specified reply_to
.quote_text
field is invalid.
@@ -360,6 +370,11 @@
400
+REPLY_MESSAGES_TOO_MUCH
+Each shortcut can contain a maximum of appConfig.quick_reply_messages_limit
messages, the limit was reached.
+
+
+400
REPLY_MESSAGE_ID_INVALID
The specified reply-to message ID is invalid.
@@ -464,7 +479,9 @@
How to handle API return errors correctly.
-Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
+
+The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html b/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
index 77b5fe8c92..10a0478da7 100644
--- a/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
+++ b/data/web/corefork.telegram.org/method/messages.sendMultiMedia.html
@@ -205,6 +205,11 @@
400
+FILE_REFERENCE_%d_EXPIRED
+
+
+
+400
MEDIA_CAPTION_TOO_LONG
The caption is too long.
@@ -229,6 +234,11 @@
The provided peer id is invalid.
+400
+QUICK_REPLIES_TOO_MUCH
+A maximum of appConfig.quick_replies_limit
shortcuts may be created, the limit was reached.
+
+
500
RANDOM_ID_DUPLICATE
You provided a random ID that was already used.
@@ -240,6 +250,11 @@
400
+REPLY_MESSAGES_TOO_MUCH
+Each shortcut can contain a maximum of appConfig.quick_reply_messages_limit
messages, the limit was reached.
+
+
+400
SCHEDULE_DATE_TOO_LATE
You can't schedule a message this far in the future.
@@ -290,7 +305,9 @@
How to transfer large data batches correctly.
-How to create styled text with message entities
+How to create styled text with message entities
+
+The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/messages.sendQuickReplyMessages.html b/data/web/corefork.telegram.org/method/messages.sendQuickReplyMessages.html
index 8bfad7cdbd..aeace41aaa 100644
--- a/data/web/corefork.telegram.org/method/messages.sendQuickReplyMessages.html
+++ b/data/web/corefork.telegram.org/method/messages.sendQuickReplyMessages.html
@@ -113,6 +113,11 @@
PEER_ID_INVALID
The provided peer id is invalid.
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/messages.sendWebViewData.html b/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
index 37232aacef..5f2d60b1ac 100644
--- a/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
+++ b/data/web/corefork.telegram.org/method/messages.sendWebViewData.html
@@ -98,6 +98,23 @@
Result
Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+BOT_INVALID
+This is not a valid bot.
+
+
+
Related pages
Button to open a bot mini app using messages.requestSimpleWebView , without sending user information to the web app.
diff --git a/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html b/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
index 4c7656001e..ac5916279a 100644
--- a/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
+++ b/data/web/corefork.telegram.org/method/messages.sendWebViewResultMessage.html
@@ -97,6 +97,11 @@
QUERY_ID_INVALID
The query ID is invalid.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/messages.setBotPrecheckoutResults.html b/data/web/corefork.telegram.org/method/messages.setBotPrecheckoutResults.html
index 31b4f0af79..0e305a8829 100644
--- a/data/web/corefork.telegram.org/method/messages.setBotPrecheckoutResults.html
+++ b/data/web/corefork.telegram.org/method/messages.setBotPrecheckoutResults.html
@@ -4,10 +4,10 @@
messages.setBotPrecheckoutResults
-
+
-
+
@@ -110,6 +110,11 @@ Use this method to respond to such pre-checkout queries.
ERROR_TEXT_EMPTY
The provided error message is empty.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/messages.setBotShippingResults.html b/data/web/corefork.telegram.org/method/messages.setBotShippingResults.html
index 165c5d5617..7a412d345b 100644
--- a/data/web/corefork.telegram.org/method/messages.setBotShippingResults.html
+++ b/data/web/corefork.telegram.org/method/messages.setBotShippingResults.html
@@ -108,6 +108,11 @@
QUERY_ID_INVALID
The query ID is invalid.
+
+400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
Bots can use this method
diff --git a/data/web/corefork.telegram.org/method/messages.setChatWallPaper.html b/data/web/corefork.telegram.org/method/messages.setChatWallPaper.html
index 7e840820b3..87fa922547 100644
--- a/data/web/corefork.telegram.org/method/messages.setChatWallPaper.html
+++ b/data/web/corefork.telegram.org/method/messages.setChatWallPaper.html
@@ -140,7 +140,6 @@
- Bots can use this method
Related pages
Telegram Premium is an optional subscription service that unlocks additional exclusive client-side and API-side features, while helping support the development of the app.
diff --git a/data/web/corefork.telegram.org/method/messages.setDefaultHistoryTTL.html b/data/web/corefork.telegram.org/method/messages.setDefaultHistoryTTL.html
index 2272903e8f..83d6dea5e6 100644
--- a/data/web/corefork.telegram.org/method/messages.setDefaultHistoryTTL.html
+++ b/data/web/corefork.telegram.org/method/messages.setDefaultHistoryTTL.html
@@ -94,8 +94,7 @@
The specified TTL period is invalid.
-
- Bots can use this method
+
diff --git a/data/web/corefork.telegram.org/method/messages.setHistoryTTL.html b/data/web/corefork.telegram.org/method/messages.setHistoryTTL.html
index 8e56ff2015..2e95fe23c8 100644
--- a/data/web/corefork.telegram.org/method/messages.setHistoryTTL.html
+++ b/data/web/corefork.telegram.org/method/messages.setHistoryTTL.html
@@ -105,6 +105,11 @@
400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+400
TTL_PERIOD_INVALID
The specified TTL period is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html b/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
index a02a6bc883..e616707d78 100644
--- a/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
+++ b/data/web/corefork.telegram.org/method/messages.setInlineBotResults.html
@@ -290,6 +290,11 @@
400
+USER_BOT_REQUIRED
+This method can only be called by a bot.
+
+
+400
VIDEO_TITLE_EMPTY
The specified video title is empty.
diff --git a/data/web/corefork.telegram.org/method/messages.toggleDialogFilterTags.html b/data/web/corefork.telegram.org/method/messages.toggleDialogFilterTags.html
index 4fe7b62704..2af142ab3f 100644
--- a/data/web/corefork.telegram.org/method/messages.toggleDialogFilterTags.html
+++ b/data/web/corefork.telegram.org/method/messages.toggleDialogFilterTags.html
@@ -78,6 +78,23 @@
Result
Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
+
Related pages
Telegram allows placing chats into folders, based on their type, mute status, or other custom criteria, thanks to folder blacklists and whitelists.
diff --git a/data/web/corefork.telegram.org/method/messages.togglePeerTranslations.html b/data/web/corefork.telegram.org/method/messages.togglePeerTranslations.html
index a2bebfb74a..a51250986e 100644
--- a/data/web/corefork.telegram.org/method/messages.togglePeerTranslations.html
+++ b/data/web/corefork.telegram.org/method/messages.togglePeerTranslations.html
@@ -88,7 +88,23 @@
Result
Bool
- Bots can use this method
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+
Related pages
Telegram allows translating chat messages: Telegram Premium users may even enable real-time chat translation.
diff --git a/data/web/corefork.telegram.org/method/messages.updateSavedReactionTag.html b/data/web/corefork.telegram.org/method/messages.updateSavedReactionTag.html
index 9fcaadcbca..0e428ec3fb 100644
--- a/data/web/corefork.telegram.org/method/messages.updateSavedReactionTag.html
+++ b/data/web/corefork.telegram.org/method/messages.updateSavedReactionTag.html
@@ -99,6 +99,11 @@
+403
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
400
REACTION_INVALID
The specified reaction is invalid.
diff --git a/data/web/corefork.telegram.org/method/messages.uploadEncryptedFile.html b/data/web/corefork.telegram.org/method/messages.uploadEncryptedFile.html
index 31e9ad9c84..98297ff682 100644
--- a/data/web/corefork.telegram.org/method/messages.uploadEncryptedFile.html
+++ b/data/web/corefork.telegram.org/method/messages.uploadEncryptedFile.html
@@ -82,7 +82,24 @@
Result
-EncryptedFile
+EncryptedFile
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CHAT_ID_INVALID
+The provided chat id is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/messages.uploadImportedMedia.html b/data/web/corefork.telegram.org/method/messages.uploadImportedMedia.html
index 5a13531efd..18a0f86fe6 100644
--- a/data/web/corefork.telegram.org/method/messages.uploadImportedMedia.html
+++ b/data/web/corefork.telegram.org/method/messages.uploadImportedMedia.html
@@ -122,6 +122,11 @@
CHAT_ADMIN_REQUIRED
You must be an admin in this chat to do this.
+
+400
+IMPORT_ID_INVALID
+The specified import ID is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/payments.assignAppStoreTransaction.html b/data/web/corefork.telegram.org/method/payments.assignAppStoreTransaction.html
index ab6e359215..2f8a6d6566 100644
--- a/data/web/corefork.telegram.org/method/payments.assignAppStoreTransaction.html
+++ b/data/web/corefork.telegram.org/method/payments.assignAppStoreTransaction.html
@@ -87,7 +87,24 @@
Result
-Updates
+Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+RECEIPT_EMPTY
+The specified receipt is empty.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/payments.assignPlayMarketTransaction.html b/data/web/corefork.telegram.org/method/payments.assignPlayMarketTransaction.html
index b9282c6bef..89ca8051d8 100644
--- a/data/web/corefork.telegram.org/method/payments.assignPlayMarketTransaction.html
+++ b/data/web/corefork.telegram.org/method/payments.assignPlayMarketTransaction.html
@@ -87,7 +87,24 @@
Result
-Updates
+Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+DATA_JSON_INVALID
+The provided JSON data is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/payments.getPaymentForm.html b/data/web/corefork.telegram.org/method/payments.getPaymentForm.html
index efe23629c7..a7dcb7b601 100644
--- a/data/web/corefork.telegram.org/method/payments.getPaymentForm.html
+++ b/data/web/corefork.telegram.org/method/payments.getPaymentForm.html
@@ -110,6 +110,11 @@
400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
+
+400
SLUG_INVALID
The specified invoice slug is invalid.
diff --git a/data/web/corefork.telegram.org/method/payments.refundStarsCharge.html b/data/web/corefork.telegram.org/method/payments.refundStarsCharge.html
index 9047ab047a..476300198a 100644
--- a/data/web/corefork.telegram.org/method/payments.refundStarsCharge.html
+++ b/data/web/corefork.telegram.org/method/payments.refundStarsCharge.html
@@ -100,6 +100,11 @@
400
+CHARGE_ALREADY_REFUNDED
+The transaction was already refunded.
+
+
+400
USER_BOT_REQUIRED
This method can only be called by a bot.
diff --git a/data/web/corefork.telegram.org/method/payments.sendPaymentForm.html b/data/web/corefork.telegram.org/method/payments.sendPaymentForm.html
index 62d5128f80..cf04f039c1 100644
--- a/data/web/corefork.telegram.org/method/payments.sendPaymentForm.html
+++ b/data/web/corefork.telegram.org/method/payments.sendPaymentForm.html
@@ -123,6 +123,11 @@
MESSAGE_ID_INVALID
The provided message id is invalid.
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/payments.validateRequestedInfo.html b/data/web/corefork.telegram.org/method/payments.validateRequestedInfo.html
index c759a209c1..e2f0944fea 100644
--- a/data/web/corefork.telegram.org/method/payments.validateRequestedInfo.html
+++ b/data/web/corefork.telegram.org/method/payments.validateRequestedInfo.html
@@ -107,6 +107,11 @@
MESSAGE_ID_INVALID
The provided message id is invalid.
+
+400
+PEER_ID_INVALID
+The provided peer id is invalid.
+
diff --git a/data/web/corefork.telegram.org/method/phone.checkGroupCall.html b/data/web/corefork.telegram.org/method/phone.checkGroupCall.html
index 84985c810b..0c7c705692 100644
--- a/data/web/corefork.telegram.org/method/phone.checkGroupCall.html
+++ b/data/web/corefork.telegram.org/method/phone.checkGroupCall.html
@@ -4,10 +4,10 @@
phone.checkGroupCall
-
+
-
+
@@ -94,6 +94,11 @@ Returns an intersection of the source IDs specified in sources
, and
400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+400
GROUPCALL_JOIN_MISSING
You haven't joined this group call.
diff --git a/data/web/corefork.telegram.org/method/phone.editGroupCallParticipant.html b/data/web/corefork.telegram.org/method/phone.editGroupCallParticipant.html
index f5105d1eb8..b901a25e4f 100644
--- a/data/web/corefork.telegram.org/method/phone.editGroupCallParticipant.html
+++ b/data/web/corefork.telegram.org/method/phone.editGroupCallParticipant.html
@@ -146,6 +146,11 @@
400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+400
PARTICIPANT_JOIN_MISSING
Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall .
diff --git a/data/web/corefork.telegram.org/method/phone.exportGroupCallInvite.html b/data/web/corefork.telegram.org/method/phone.exportGroupCallInvite.html
index 8a38857c56..7416f15daa 100644
--- a/data/web/corefork.telegram.org/method/phone.exportGroupCallInvite.html
+++ b/data/web/corefork.telegram.org/method/phone.exportGroupCallInvite.html
@@ -98,6 +98,11 @@
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
403
PUBLIC_CHANNEL_MISSING
You can only export group call invite links for public chats or channels.
diff --git a/data/web/corefork.telegram.org/method/phone.getGroupParticipants.html b/data/web/corefork.telegram.org/method/phone.getGroupParticipants.html
index 85726a81ca..ab810488e1 100644
--- a/data/web/corefork.telegram.org/method/phone.getGroupParticipants.html
+++ b/data/web/corefork.telegram.org/method/phone.getGroupParticipants.html
@@ -97,6 +97,23 @@
Result
phone.GroupParticipants
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+
Related pages
Info about the participants of a group call or livestream
diff --git a/data/web/corefork.telegram.org/method/phone.joinGroupCallPresentation.html b/data/web/corefork.telegram.org/method/phone.joinGroupCallPresentation.html
index 4e9f197ee1..1c92e88430 100644
--- a/data/web/corefork.telegram.org/method/phone.joinGroupCallPresentation.html
+++ b/data/web/corefork.telegram.org/method/phone.joinGroupCallPresentation.html
@@ -99,6 +99,11 @@
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
403
PARTICIPANT_JOIN_MISSING
Trying to enable a presentation, when the user hasn't joined the Video Chat with phone.joinGroupCall .
diff --git a/data/web/corefork.telegram.org/method/phone.leaveGroupCall.html b/data/web/corefork.telegram.org/method/phone.leaveGroupCall.html
index f9b4a5910e..7c73d2470f 100644
--- a/data/web/corefork.telegram.org/method/phone.leaveGroupCall.html
+++ b/data/web/corefork.telegram.org/method/phone.leaveGroupCall.html
@@ -87,7 +87,24 @@
Result
-Updates
+Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/phone.leaveGroupCallPresentation.html b/data/web/corefork.telegram.org/method/phone.leaveGroupCallPresentation.html
index 2b3bfe3007..d788617734 100644
--- a/data/web/corefork.telegram.org/method/phone.leaveGroupCallPresentation.html
+++ b/data/web/corefork.telegram.org/method/phone.leaveGroupCallPresentation.html
@@ -82,7 +82,24 @@
Result
-Updates
+Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/phone.saveCallLog.html b/data/web/corefork.telegram.org/method/phone.saveCallLog.html
index 6e614639b8..945255f5a6 100644
--- a/data/web/corefork.telegram.org/method/phone.saveCallLog.html
+++ b/data/web/corefork.telegram.org/method/phone.saveCallLog.html
@@ -82,7 +82,24 @@
Result
-Bool
+Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CALL_PEER_INVALID
+The provided call peer object is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/phone.sendSignalingData.html b/data/web/corefork.telegram.org/method/phone.sendSignalingData.html
index 5f183de994..758e2b71d8 100644
--- a/data/web/corefork.telegram.org/method/phone.sendSignalingData.html
+++ b/data/web/corefork.telegram.org/method/phone.sendSignalingData.html
@@ -82,7 +82,24 @@
Result
-Bool
+Bool
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+CALL_PEER_INVALID
+The provided call peer object is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/phone.startScheduledGroupCall.html b/data/web/corefork.telegram.org/method/phone.startScheduledGroupCall.html
index c01769f394..364ce489b1 100644
--- a/data/web/corefork.telegram.org/method/phone.startScheduledGroupCall.html
+++ b/data/web/corefork.telegram.org/method/phone.startScheduledGroupCall.html
@@ -82,7 +82,24 @@
Result
-Updates
+Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+
diff --git a/data/web/corefork.telegram.org/method/phone.toggleGroupCallSettings.html b/data/web/corefork.telegram.org/method/phone.toggleGroupCallSettings.html
index 763dd83908..9341e9b58f 100644
--- a/data/web/corefork.telegram.org/method/phone.toggleGroupCallSettings.html
+++ b/data/web/corefork.telegram.org/method/phone.toggleGroupCallSettings.html
@@ -110,6 +110,11 @@
400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
+
+400
GROUPCALL_NOT_MODIFIED
Group call settings weren't modified.
diff --git a/data/web/corefork.telegram.org/method/phone.toggleGroupCallStartSubscription.html b/data/web/corefork.telegram.org/method/phone.toggleGroupCallStartSubscription.html
index 12397f146d..336ac7b6af 100644
--- a/data/web/corefork.telegram.org/method/phone.toggleGroupCallStartSubscription.html
+++ b/data/web/corefork.telegram.org/method/phone.toggleGroupCallStartSubscription.html
@@ -103,6 +103,11 @@
GROUPCALL_ALREADY_STARTED
The groupcall has already started, you can join directly using phone.joinGroupCall .
+
+400
+GROUPCALL_INVALID
+The specified group call is invalid.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/photos.uploadContactProfilePhoto.html b/data/web/corefork.telegram.org/method/photos.uploadContactProfilePhoto.html
index db1ab78084..a6cc09ebcf 100644
--- a/data/web/corefork.telegram.org/method/photos.uploadContactProfilePhoto.html
+++ b/data/web/corefork.telegram.org/method/photos.uploadContactProfilePhoto.html
@@ -135,7 +135,6 @@
- Bots can use this method
Related pages
A new profile picture was suggested using photos.uploadContactProfilePhoto .
diff --git a/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueStats.html b/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueStats.html
index c44be40a43..edc97d81be 100644
--- a/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueStats.html
+++ b/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueStats.html
@@ -102,6 +102,11 @@
CHANNEL_INVALID
The provided channel is invalid.
+
+400
+CHAT_ADMIN_REQUIRED
+You must be an admin in this chat to do this.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueWithdrawalUrl.html b/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueWithdrawalUrl.html
index 4b0124a3fb..42c5b06261 100644
--- a/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueWithdrawalUrl.html
+++ b/data/web/corefork.telegram.org/method/stats.getBroadcastRevenueWithdrawalUrl.html
@@ -97,6 +97,16 @@
PASSWORD_HASH_INVALID
The provided password hash is invalid.
+
+400
+PASSWORD_MISSING
+You must enable 2FA before executing this operation.
+
+
+400
+PASSWORD_TOO_FRESH_%d
+The password was modified less than 24 hours ago, try again in %d seconds.
+
Related pages
diff --git a/data/web/corefork.telegram.org/method/stories.activateStealthMode.html b/data/web/corefork.telegram.org/method/stories.activateStealthMode.html
index 0db9fc74ac..a0c33423aa 100644
--- a/data/web/corefork.telegram.org/method/stories.activateStealthMode.html
+++ b/data/web/corefork.telegram.org/method/stories.activateStealthMode.html
@@ -4,10 +4,10 @@
stories.activateStealthMode
-
+
-
+
@@ -94,6 +94,23 @@
Result
Updates
+ Possible errors
+
+
+
+Code
+Type
+Description
+
+
+
+
+400
+PREMIUM_ACCOUNT_REQUIRED
+A premium account is required to execute this action.
+
+
+
Related pages
The MTProto API has multiple configuration parameters that can be fetched with the appropriate methods.
diff --git a/data/web/corefork.telegram.org/method/stories.togglePinnedToTop.html b/data/web/corefork.telegram.org/method/stories.togglePinnedToTop.html
index d4cb936b5d..afea510c2f 100644
--- a/data/web/corefork.telegram.org/method/stories.togglePinnedToTop.html
+++ b/data/web/corefork.telegram.org/method/stories.togglePinnedToTop.html
@@ -98,6 +98,11 @@
PEER_ID_INVALID
The provided peer id is invalid.
+
+400
+STORY_ID_INVALID
+The specified story ID is invalid.
+
Related pages
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 245eb3c4db..1b4d65cd67 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 04 1C 0D 00 13 44 A1 66
-0010 | 14 00 00 00 F1 8E 7E BE 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09
+0000 | 00 00 00 00 00 00 00 00 14 6F 0E 00 45 49 A1 66
+0010 | 14 00 00 00 F1 8E 7E BE C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C
Payload (de)serialization:
req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
@@ -77,7 +77,7 @@
message_id
8, 8
-041C0D001344A166
+146F0E004549A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Random number
@@ -104,11 +104,11 @@
2) Server sends response of the form
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 18 64 74 13 44 A1 66
-0010 | 74 00 00 00 63 24 16 05 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09 33 E8 1F 9C 78 18 56 F0
-0030 | 1D D4 12 93 F2 25 29 B8 08 18 BC 88 58 D2 19 99
-0040 | B9 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 D4 D3 1E 45 49 A1 66
+0010 | C8 00 00 00 63 24 16 05 C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B
+0030 | EF 21 FB BF 00 90 7E FF 08 26 4C BF 7C 87 82 6D
+0040 | C3 00 00 00 15 C4 B5 1C 03 00 00 00 A5 B7 F7 09
0050 | 35 5F C3 0B 21 6B E8 6C 02 2B B4 C3 85 FD 64 DE
0060 | 85 1D 9D D0
Payload (de)serialization:
@@ -132,13 +132,13 @@
message_id
8, 8
-011864741344A166
+01D4D31E4549A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-74000000
(116 in decimal)
+C8000000
(200 in decimal)
Message body length
@@ -150,19 +150,19 @@
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
40, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Server-generated random number
pq
56, 12
-0818BC8858D21999B9000000
TL byte deserialization => bigendian conversion to decimal => 1782449467595266489
+08264CBF7C87826DC3000000
TL byte deserialization => bigendian conversion to decimal => 2759791213241593283
Single-byte prefix denoting length, an 8-byte string, and three bytes of padding
@@ -208,22 +208,22 @@
Proof of work
3) Client decomposes pq into prime factors such that p < q.
-pq = 1782449467595266489
-Decompose into 2 prime cofactors p < q
: 1782449467595266489 = 1019918539 * 1747639051
-p = 1019918539
-q = 1747639051
+pq = 2759791213241593283
+Decompose into 2 prime cofactors p < q
: 2759791213241593283 = 1506452021 * 1831980823
+p = 1506452021
+q = 1831980823
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 18 BC 88 58 D2 19 99 B9 00 00 00
-0010 | 04 3C CA B8 CB 00 00 00 04 68 2A DB 0B 00 00 00
-0020 | 6A 9B 4E AF AE 17 1B B3 A7 3D 9E A9 7C 57 90 09
-0030 | 33 E8 1F 9C 78 18 56 F0 1D D4 12 93 F2 25 29 B8
-0040 | 67 C7 C1 2C 08 D9 8E A3 67 79 F2 2E 6A 37 EC 96
-0050 | B2 08 3E 55 C1 32 E8 8E 3A A2 14 1B 13 89 40 42
+0000 | 95 5F F5 A9 08 26 4C BF 7C 87 82 6D C3 00 00 00
+0010 | 04 59 CA A2 35 00 00 00 04 6D 31 CF 17 00 00 00
+0020 | C3 FA 31 68 7F B1 4A FE 6E BB 7B F5 D8 7B 57 4C
+0030 | 93 54 8E 81 C9 C9 93 7B EF 21 FB BF 00 90 7E FF
+0040 | 8E 82 B2 E5 69 2C 07 17 41 E1 46 76 3E CD 3E DB
+0050 | 60 1C B7 6C 66 70 C6 99 46 11 C8 5E 20 42 1F 99
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 = 1747639051
pq
4, 12
-0818BC8858D21999B9000000
TL byte deserialization => bigendian conversion to decimal => 1782449467595266489
+08264CBF7C87826DC3000000
TL byte deserialization => bigendian conversion to decimal => 2759791213241593283
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-043CCAB8CB000000
TL byte deserialization => bigendian conversion to decimal => 1019918539
+0459CAA235000000
TL byte deserialization => bigendian conversion to decimal => 1506452021
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-04682ADB0B000000
TL byte deserialization => bigendian conversion to decimal => 1747639051
+046D31CF17000000
TL byte deserialization => bigendian conversion to decimal => 1831980823
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
48, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
new_nonce
64, 32
-67C7C12C08D98EA36779F22E6A37EC96
B2083E55C132E88E3AA2141B13894042
+8E82B2E5692C071741E146763ECD3EDB
601CB76C6670C6994611C85E20421F99
Client-generated random number
@@ -291,39 +291,39 @@ q = 1747639051
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 = 955FF5A90818BC8858D21999B9000000043CCAB8CB00000004682ADB0B0000006A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B867C7C12C08D98EA36779F22E6A37EC96B2083E55C132E88E3AA2141B1389404202000000
-random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208DDE494E74D04C448F505F866A944E4EB07309ECA53F7C132F70A9EC68A524D4A1259C1201BEE594E90E1619E1F83B24F061149E384A11D93BC3441F1AB2C00F4
+data = 955FF5A908264CBF7C87826DC30000000459CAA235000000046D31CF17000000C3FA31687FB14AFE6EBB7BF5D87B574C93548E81C9C9937BEF21FBBF00907EFF8E82B2E5692C071741E146763ECD3EDB601CB76C6670C6994611C85E20421F9902000000
+random_padding_bytes = 78E32DC9E72D69A37891B7DAB6CA96125DE295DEB4DC017B6D726D915F9CB47068A3C6872388CAF63EFFE9FA7676AE2D87D05E5F0A5BC3467935B59F24414D219C5436AC0F3BEC1F512233FACB9623FB6A73074692E31A0672923F65
And this is the output:
-encrypted_data = 9D2A4DDC7FED3E9BE602AFF7F58C487F792A0002DEC204F1A3CBD4BA64219C890EFFD98E2966616D4AEE1B627CE2A14A21472659FCB872FF3B56CC59D78ECA9F18829CA11511C1B226B7172CE7038181F5E84106346695B2D0FC8FDB2F0FD7EDDC0CA90093A4EEC1E13E5F2C23408508342B1989ECCC2249395EFB84042BEA5F501DE94652D2B7F66EAF0A31F300E8CC08C00568D6B287E7C0ABA5BF112415C9B8C62489F3A11DBDAF9D310A6FEBC60D4E64B103D4BE8B1A6D06B122F4DDD7192B8E8FAB93289875C352980607D28D712ACF7A5EEC158E2514850752D9F75D0DFFCBA32CB3DE037274754E7E73183C31D187694B3E76C187D06485B00273A7F3
+encrypted_data = 060322C172A83BC12CFE35E07606AB8D66671FEF502655CD9F0710056C1F0D1ECC01C45243FFF3609A97B1335687D4E82DB680B9A4C71B3FC0E0CDF2F1680B604AFE0BDE34A8D43CD1A52D4D7144FF87482141F4B96B390216483DBF7D393F502ED148BB030D463B52464E6689E280CF602DC7A5370AD9AC4407EEA650FA631431B32B92381226A17122CFD063C7B687D3A5BBAA120E234B891824D720381E743297EEF9FE34D28DE82F506AD2FED78404AB7A27C6DF81ADCDB797C3EEA331C6883700DAC0E466B77DF36812F14A37F95A617C96C9C319AEED1D68DA2303EAFB4EFAA2BD36517BC044F10C5C2C8ECF5A2917FDFF06EBE9C4A4BE412D321AEDC1
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 08 1C 0D 00 13 44 A1 66
-0010 | 40 01 00 00 BE E4 12 D7 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09 33 E8 1F 9C 78 18 56 F0
-0030 | 1D D4 12 93 F2 25 29 B8 04 3C CA B8 CB 00 00 00
-0040 | 04 68 2A DB 0B 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 9D 2A 4D DC 7F ED 3E 9B E6 02 AF F7
-0060 | F5 8C 48 7F 79 2A 00 02 DE C2 04 F1 A3 CB D4 BA
-0070 | 64 21 9C 89 0E FF D9 8E 29 66 61 6D 4A EE 1B 62
-0080 | 7C E2 A1 4A 21 47 26 59 FC B8 72 FF 3B 56 CC 59
-0090 | D7 8E CA 9F 18 82 9C A1 15 11 C1 B2 26 B7 17 2C
-00A0 | E7 03 81 81 F5 E8 41 06 34 66 95 B2 D0 FC 8F DB
-00B0 | 2F 0F D7 ED DC 0C A9 00 93 A4 EE C1 E1 3E 5F 2C
-00C0 | 23 40 85 08 34 2B 19 89 EC CC 22 49 39 5E FB 84
-00D0 | 04 2B EA 5F 50 1D E9 46 52 D2 B7 F6 6E AF 0A 31
-00E0 | F3 00 E8 CC 08 C0 05 68 D6 B2 87 E7 C0 AB A5 BF
-00F0 | 11 24 15 C9 B8 C6 24 89 F3 A1 1D BD AF 9D 31 0A
-0100 | 6F EB C6 0D 4E 64 B1 03 D4 BE 8B 1A 6D 06 B1 22
-0110 | F4 DD D7 19 2B 8E 8F AB 93 28 98 75 C3 52 98 06
-0120 | 07 D2 8D 71 2A CF 7A 5E EC 15 8E 25 14 85 07 52
-0130 | D9 F7 5D 0D FF CB A3 2C B3 DE 03 72 74 75 4E 7E
-0140 | 73 18 3C 31 D1 87 69 4B 3E 76 C1 87 D0 64 85 B0
-0150 | 02 73 A7 F3
+0000 | 00 00 00 00 00 00 00 00 18 6F 0E 00 45 49 A1 66
+0010 | 40 01 00 00 BE E4 12 D7 C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B
+0030 | EF 21 FB BF 00 90 7E FF 04 59 CA A2 35 00 00 00
+0040 | 04 6D 31 CF 17 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 06 03 22 C1 72 A8 3B C1 2C FE 35 E0
+0060 | 76 06 AB 8D 66 67 1F EF 50 26 55 CD 9F 07 10 05
+0070 | 6C 1F 0D 1E CC 01 C4 52 43 FF F3 60 9A 97 B1 33
+0080 | 56 87 D4 E8 2D B6 80 B9 A4 C7 1B 3F C0 E0 CD F2
+0090 | F1 68 0B 60 4A FE 0B DE 34 A8 D4 3C D1 A5 2D 4D
+00A0 | 71 44 FF 87 48 21 41 F4 B9 6B 39 02 16 48 3D BF
+00B0 | 7D 39 3F 50 2E D1 48 BB 03 0D 46 3B 52 46 4E 66
+00C0 | 89 E2 80 CF 60 2D C7 A5 37 0A D9 AC 44 07 EE A6
+00D0 | 50 FA 63 14 31 B3 2B 92 38 12 26 A1 71 22 CF D0
+00E0 | 63 C7 B6 87 D3 A5 BB AA 12 0E 23 4B 89 18 24 D7
+00F0 | 20 38 1E 74 32 97 EE F9 FE 34 D2 8D E8 2F 50 6A
+0100 | D2 FE D7 84 04 AB 7A 27 C6 DF 81 AD CD B7 97 C3
+0110 | EE A3 31 C6 88 37 00 DA C0 E4 66 B7 7D F3 68 12
+0120 | F1 4A 37 F9 5A 61 7C 96 C9 C3 19 AE ED 1D 68 DA
+0130 | 23 03 EA FB 4E FA A2 BD 36 51 7B C0 44 F1 0C 5C
+0140 | 2C 8E CF 5A 29 17 FD FF 06 EB E9 C4 A4 BE 41 2D
+0150 | 32 1A ED C1
Payload (de)serialization:
req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public_key_fingerprint:long encrypted_data:string = Server_DH_Params;
@@ -345,7 +345,7 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
message_id
8, 8
-081C0D001344A166
+186F0E004549A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
40, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
p
56, 8
-043CCAB8CB000000
TL byte deserialization => bigendian conversion to decimal => 1019918539
+0459CAA235000000
TL byte deserialization => bigendian conversion to decimal => 1506452021
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-04682ADB0B000000
TL byte deserialization => bigendian conversion to decimal => 1747639051
+046D31CF17000000
TL byte deserialization => bigendian conversion to decimal => 1831980823
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
encrypted_data
80, 260
-FE0001009D2A4DDC7FED3E9BE602AFF7
F58C487F792A0002DEC204F1A3CBD4BA
64219C890EFFD98E2966616D4AEE1B62
7CE2A14A21472659FCB872FF3B56CC59
D78ECA9F18829CA11511C1B226B7172C
E7038181F5E84106346695B2D0FC8FDB
2F0FD7EDDC0CA90093A4EEC1E13E5F2C
23408508342B1989ECCC2249395EFB84
042BEA5F501DE94652D2B7F66EAF0A31
F300E8CC08C00568D6B287E7C0ABA5BF
112415C9B8C62489F3A11DBDAF9D310A
6FEBC60D4E64B103D4BE8B1A6D06B122
F4DDD7192B8E8FAB93289875C3529806
07D28D712ACF7A5EEC158E2514850752
D9F75D0DFFCBA32CB3DE037274754E7E
73183C31D187694B3E76C187D06485B0
0273A7F3
+FE000100060322C172A83BC12CFE35E0
7606AB8D66671FEF502655CD9F071005
6C1F0D1ECC01C45243FFF3609A97B133
5687D4E82DB680B9A4C71B3FC0E0CDF2
F1680B604AFE0BDE34A8D43CD1A52D4D
7144FF87482141F4B96B390216483DBF
7D393F502ED148BB030D463B52464E66
89E280CF602DC7A5370AD9AC4407EEA6
50FA631431B32B92381226A17122CFD0
63C7B687D3A5BBAA120E234B891824D7
20381E743297EEF9FE34D28DE82F506A
D2FED78404AB7A27C6DF81ADCDB797C3
EEA331C6883700DAC0E466B77DF36812
F14A37F95A617C96C9C319AEED1D68DA
2303EAFB4EFAA2BD36517BC044F10C5C
2C8ECF5A2917FDFF06EBE9C4A4BE412D
321AEDC1
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 DC 8E 4E 14 44 A1 66
-0010 | 80 02 00 00 5C 07 E8 D0 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09 33 E8 1F 9C 78 18 56 F0
-0030 | 1D D4 12 93 F2 25 29 B8 FE 50 02 00 66 1D BB F5
-0040 | 4D 31 AC B8 FE 6B 1A 44 E9 D5 0A 4F 28 56 8A 5D
-0050 | 82 8F 20 EA E6 4C 2F DB ED 8E FE 39 A1 76 D0 BC
-0060 | F3 45 9C 69 6D 7B 52 F9 39 09 50 09 24 53 68 D2
-0070 | 69 73 F9 B7 79 4C EF 3D B9 49 0E 98 31 0C 20 32
-0080 | 25 0C 3C 81 24 E6 75 90 DF 75 3A 35 78 32 95 20
-0090 | 55 FE EC 39 FF F7 E3 C7 68 4F D8 F5 14 D3 B7 CF
-00A0 | DA DD DA A2 DE 42 52 4C 0B 2A 15 42 A8 EF 11 E7
-00B0 | 2B 18 84 2C 0F A9 20 41 CF 23 3B DE 62 E1 98 66
-00C0 | C0 FA 25 7E DF 2C E3 84 56 EF 76 61 E3 2E 0F 08
-00D0 | 06 4D 67 A4 3D 16 1B F6 7A 28 CD 80 CA 29 C6 9F
-00E0 | CD 47 0A 27 3E 1F F3 15 AD 47 F4 07 7A 0C 3E 28
-00F0 | EC 99 64 D0 3A BE 59 AB CD 90 AA BC 7A 41 E1 50
-0100 | C9 22 BC A8 10 FF 53 27 1E 20 2B 6D F4 48 4A 4A
-0110 | 21 F4 D5 5A 7E 98 94 99 54 CD CE B4 C4 33 78 3D
-0120 | FE 02 1B 93 F3 0E 55 D7 45 E7 D2 78 13 4A 1E D6
-0130 | 86 65 7B 80 8B 1F 4D 28 2B A1 24 3E 99 5F 92 F2
-0140 | 6D AD 07 E4 E2 99 3F 84 2A 97 60 59 2C 66 11 2B
-0150 | C9 5B 09 4F 11 B9 15 62 9D 29 3A B0 DF F1 7A AA
-0160 | 5C E1 F2 3C E3 1E 25 0C 48 E8 61 F6 10 25 BF C6
-0170 | 22 2C 23 06 CB DB 2A 11 93 F7 80 0E 0B 72 61 6A
-0180 | DF 12 1A 08 8C 58 A3 2D 51 99 C0 8D EB 94 DE C3
-0190 | 3B E1 A6 DF 98 85 CB A3 0F 95 11 58 84 0F E5 F1
-01A0 | EA A7 A1 51 0F 93 09 B8 93 42 2E A6 6D D4 DF 4A
-01B0 | A4 86 C3 99 05 E7 45 D6 33 22 C1 5A 58 8E ED A6
-01C0 | 9D B1 60 84 34 3B 8A 04 4D A4 2D 2F 00 0C 37 01
-01D0 | 3D D3 1A 0B 2B 46 C8 8D B7 AD 96 B9 EB 99 DC 0D
-01E0 | 7C AB 92 EA 54 6B 1E 1E 49 F1 D1 74 FD 94 F1 5C
-01F0 | CF E3 04 37 57 9B A8 17 04 5B C7 C4 B2 16 F5 2E
-0200 | 6A 7D 9E 58 87 9C 55 7F A0 F3 5F 66 F5 60 18 3F
-0210 | F2 AC A3 F7 7D A8 B6 66 8E D0 8B CD 48 88 EE C6
-0220 | 44 B1 54 7C A0 9D 7F CB CA 19 E8 A7 75 4D 43 3A
-0230 | E2 51 E7 D8 F4 FB 99 EC BE 59 09 11 54 06 0B 4F
-0240 | 90 DF 9E 6F E4 1B 54 EA B2 0D 7D D8 C2 DF A2 CB
-0250 | 75 E4 4D E1 C8 D7 EB FB 6A D9 00 2E 44 1A E8 EF
-0260 | 38 78 F4 B3 CE 4E 7D 94 41 86 FF DA 66 89 56 30
-0270 | 04 BC 49 1B 95 D8 3A 04 4A E9 98 78 69 9C FC EF
-0280 | 88 FA 14 14 AC 1C D1 A4 49 7F D9 4C
+0000 | 00 00 00 00 00 00 00 00 01 F4 47 F4 45 49 A1 66
+0010 | C0 02 00 00 5C 07 E8 D0 C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B
+0030 | EF 21 FB BF 00 90 7E FF FE 50 02 00 6A 39 36 56
+0040 | 63 7B 0E 06 03 AF 89 0D A2 16 7E 32 E3 ED 23 8B
+0050 | 94 56 8C AB 84 8C 88 89 62 43 98 C3 71 35 7C A7
+0060 | F7 8B 33 67 90 C7 3C BB FB 49 0D C2 38 0C 7A F4
+0070 | 9E 6D E4 0D D6 2A 24 AF 73 0F 13 9B 71 F8 FF D9
+0080 | 73 43 06 59 76 83 86 AE 23 05 46 96 D4 FD E3 E5
+0090 | 9D 9D 7D 89 A0 0A 6C 25 FF B3 F5 BF CE 9B 0D 7C
+00A0 | 4C F1 36 48 86 91 F9 48 0C B4 9B FA 85 DF 22 6E
+00B0 | CE 7D 31 27 88 55 A7 B5 24 E4 25 6C 08 AE 14 2B
+00C0 | 14 43 42 63 3F 4B 27 A8 78 A0 7E 78 08 CF E6 57
+00D0 | 18 73 7F 75 21 B4 0D BF 7B 6B 43 C8 50 4B 96 8C
+00E0 | F1 7A F4 3C F9 85 71 E2 DA 71 82 D3 09 6F 68 3F
+00F0 | BC 23 0E D7 55 FA 0C 35 8F E5 13 77 08 CF CD DE
+0100 | F4 0B FA 49 56 1E CE 35 32 F9 13 54 90 D9 B0 8E
+0110 | 33 9E FE D4 63 89 D8 54 4B 99 C5 73 60 72 96 83
+0120 | 0A EB B6 FC F8 E0 38 75 A9 10 AE 1D 7F 86 5A A1
+0130 | 34 9A F5 4D 3C 43 9A 8E 2E 65 39 71 53 02 BD 2F
+0140 | 1E 3E 7F 72 E9 71 17 24 DE B9 69 FA D6 7F 12 C7
+0150 | 7C AC C1 31 D0 F9 79 31 38 CA DA B8 AA 37 8C DD
+0160 | 30 8C D5 F8 16 77 F4 61 69 B1 33 9F A8 2B 0B 22
+0170 | 6E 1E 0A F6 8F E7 83 66 97 F6 D0 4A E7 41 A8 BE
+0180 | C2 93 EE E7 13 DA D1 90 4E A3 AE D9 96 D2 B7 45
+0190 | 51 0C B5 1B 4E 9F 4B 28 39 8E 18 9A AF E7 DC 04
+01A0 | 61 C7 EC 37 50 17 88 69 41 DA 19 A4 46 CD 45 0C
+01B0 | 9A 10 70 F3 4C 5F E7 58 94 A9 55 54 13 26 88 1B
+01C0 | C0 60 9E B2 2D 83 E3 26 CE 0F 42 ED 0C 4E 25 E9
+01D0 | 4D 57 6A 51 43 A8 49 92 57 E2 7F 27 04 C1 CF 2E
+01E0 | 43 F7 72 35 31 DF F0 90 26 A3 94 3D F1 C8 72 F2
+01F0 | 58 4B 4E 50 F0 F8 2F 70 6E 9C CE B5 43 F5 80 7C
+0200 | 60 90 F5 9A 5C 17 11 AD 4D 15 F4 2B 35 5E 4D B2
+0210 | 91 21 64 08 97 C0 E5 BA C1 6A C7 D7 B2 92 FF 4B
+0220 | 0B 39 32 9F 75 A5 2F 12 6F 47 8D DB 61 07 3B 85
+0230 | AD 16 35 6C E6 2C C6 EE EC 25 B6 B2 DA E3 6D 36
+0240 | 9E 14 F2 55 B6 86 A5 A6 5C 89 B9 24 0F D4 80 AA
+0250 | A3 09 64 3E D8 78 73 F1 B8 C7 6C 4D EA D3 2B 9B
+0260 | 7D B2 EB 19 75 E3 22 B4 0B 13 35 D3 36 A2 A6 1D
+0270 | AF BD FC 5D 08 97 D2 FD 53 2E 31 29 99 1E C3 B5
+0280 | 67 2E 75 EF 49 74 62 00 36 7F 59 E6
Payload (de)serialization:
server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
@@ -464,13 +464,13 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
message_id
8, 8
-01DC8E4E1444A166
+01F447F44549A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-80020000
(640 in decimal)
+C0020000
(704 in decimal)
Message body length
@@ -482,19 +482,19 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
40, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
encrypted_answer
56, 596
-FE500200661DBBF54D31ACB8FE6B1A44
E9D50A4F28568A5D828F20EAE64C2FDB
ED8EFE39A176D0BCF3459C696D7B52F9
39095009245368D26973F9B7794CEF3D
B9490E98310C2032250C3C8124E67590
DF753A357832952055FEEC39FFF7E3C7
684FD8F514D3B7CFDADDDAA2DE42524C
0B2A1542A8EF11E72B18842C0FA92041
CF233BDE62E19866C0FA257EDF2CE384
56EF7661E32E0F08064D67A43D161BF6
7A28CD80CA29C69FCD470A273E1FF315
AD47F4077A0C3E28EC9964D03ABE59AB
CD90AABC7A41E150C922BCA810FF5327
1E202B6DF4484A4A21F4D55A7E989499
54CDCEB4C433783DFE021B93F30E55D7
45E7D278134A1ED686657B808B1F4D28
2BA1243E995F92F26DAD07E4E2993F84
2A9760592C66112BC95B094F11B91562
9D293AB0DFF17AAA5CE1F23CE31E250C
48E861F61025BFC6222C2306CBDB2A11
93F7800E0B72616ADF121A088C58A32D
5199C08DEB94DEC33BE1A6DF9885CBA3
0F951158840FE5F1EAA7A1510F9309B8
93422EA66DD4DF4AA486C39905E745D6
3322C15A588EEDA69DB16084343B8A04
4DA42D2F000C37013DD31A0B2B46C88D
B7AD96B9EB99DC0D7CAB92EA546B1E1E
49F1D174FD94F15CCFE30437579BA817
045BC7C4B216F52E6A7D9E58879C557F
A0F35F66F560183FF2ACA3F77DA8B666
8ED08BCD4888EEC644B1547CA09D7FCB
CA19E8A7754D433AE251E7D8F4FB99EC
BE59091154060B4F90DF9E6FE41B54EA
B20D7DD8C2DFA2CB75E44DE1C8D7EBFB
6AD9002E441AE8EF3878F4B3CE4E7D94
4186FFDA6689563004BC491B95D83A04
4AE99878699CFCEF88FA1414AC1CD1A4
497FD94C
+FE5002006A393656637B0E0603AF890D
A2167E32E3ED238B94568CAB848C8889
624398C371357CA7F78B336790C73CBB
FB490DC2380C7AF49E6DE40DD62A24AF
730F139B71F8FFD973430659768386AE
23054696D4FDE3E59D9D7D89A00A6C25
FFB3F5BFCE9B0D7C4CF136488691F948
0CB49BFA85DF226ECE7D31278855A7B5
24E4256C08AE142B144342633F4B27A8
78A07E7808CFE65718737F7521B40DBF
7B6B43C8504B968CF17AF43CF98571E2
DA7182D3096F683FBC230ED755FA0C35
8FE5137708CFCDDEF40BFA49561ECE35
32F9135490D9B08E339EFED46389D854
4B99C573607296830AEBB6FCF8E03875
A910AE1D7F865AA1349AF54D3C439A8E
2E6539715302BD2F1E3E7F72E9711724
DEB969FAD67F12C77CACC131D0F97931
38CADAB8AA378CDD308CD5F81677F461
69B1339FA82B0B226E1E0AF68FE78366
97F6D04AE741A8BEC293EEE713DAD190
4EA3AED996D2B745510CB51B4E9F4B28
398E189AAFE7DC0461C7EC3750178869
41DA19A446CD450C9A1070F34C5FE758
94A955541326881BC0609EB22D83E326
CE0F42ED0C4E25E94D576A5143A84992
57E27F2704C1CF2E43F7723531DFF090
26A3943DF1C872F2584B4E50F0F82F70
6E9CCEB543F5807C6090F59A5C1711AD
4D15F42B355E4DB29121640897C0E5BA
C16AC7D7B292FF4B0B39329F75A52F12
6F478DDB61073B85AD16356CE62CC6EE
EC25B6B2DAE36D369E14F255B686A5A6
5C89B9240FD480AAA309643ED87873F1
B8C76C4DEAD32B9B7DB2EB1975E322B4
0B1335D336A2A61DAFBDFC5D0897D2FD
532E3129991EC3B5672E75EF49746200
367F59E6
See below
@@ -502,20 +502,20 @@ random_padding_bytes = 8F16820B9F80F936AF6EC6F9AD9CAA06DD5C1280FF51958D69905208D
Decrypt encrypted_answer
using the reverse of the process specified in step 6 :
-encrypted_answer = 661DBBF54D31ACB8FE6B1A44E9D50A4F28568A5D828F20EAE64C2FDBED8EFE39A176D0BCF3459C696D7B52F939095009245368D26973F9B7794CEF3DB9490E98310C2032250C3C8124E67590DF753A357832952055FEEC39FFF7E3C7684FD8F514D3B7CFDADDDAA2DE42524C0B2A1542A8EF11E72B18842C0FA92041CF233BDE62E19866C0FA257EDF2CE38456EF7661E32E0F08064D67A43D161BF67A28CD80CA29C69FCD470A273E1FF315AD47F4077A0C3E28EC9964D03ABE59ABCD90AABC7A41E150C922BCA810FF53271E202B6DF4484A4A21F4D55A7E98949954CDCEB4C433783DFE021B93F30E55D745E7D278134A1ED686657B808B1F4D282BA1243E995F92F26DAD07E4E2993F842A9760592C66112BC95B094F11B915629D293AB0DFF17AAA5CE1F23CE31E250C48E861F61025BFC6222C2306CBDB2A1193F7800E0B72616ADF121A088C58A32D5199C08DEB94DEC33BE1A6DF9885CBA30F951158840FE5F1EAA7A1510F9309B893422EA66DD4DF4AA486C39905E745D63322C15A588EEDA69DB16084343B8A044DA42D2F000C37013DD31A0B2B46C88DB7AD96B9EB99DC0D7CAB92EA546B1E1E49F1D174FD94F15CCFE30437579BA817045BC7C4B216F52E6A7D9E58879C557FA0F35F66F560183FF2ACA3F77DA8B6668ED08BCD4888EEC644B1547CA09D7FCBCA19E8A7754D433AE251E7D8F4FB99ECBE59091154060B4F90DF9E6FE41B54EAB20D7DD8C2DFA2CB75E44DE1C8D7EBFB6AD9002E441AE8EF3878F4B3CE4E7D944186FFDA6689563004BC491B95D83A044AE99878699CFCEF88FA1414AC1CD1A4497FD94C
-tmp_aes_key = 76B7856C62B3B063872C5836F41263DBBEE80BE03CCB81964E47909EC368BA45
-tmp_aes_iv = C8461CF3798BF669D030D8D3910AEBFD94849B2FBC83DE839397845A67C7C12C
+encrypted_answer = 6A393656637B0E0603AF890DA2167E32E3ED238B94568CAB848C8889624398C371357CA7F78B336790C73CBBFB490DC2380C7AF49E6DE40DD62A24AF730F139B71F8FFD973430659768386AE23054696D4FDE3E59D9D7D89A00A6C25FFB3F5BFCE9B0D7C4CF136488691F9480CB49BFA85DF226ECE7D31278855A7B524E4256C08AE142B144342633F4B27A878A07E7808CFE65718737F7521B40DBF7B6B43C8504B968CF17AF43CF98571E2DA7182D3096F683FBC230ED755FA0C358FE5137708CFCDDEF40BFA49561ECE3532F9135490D9B08E339EFED46389D8544B99C573607296830AEBB6FCF8E03875A910AE1D7F865AA1349AF54D3C439A8E2E6539715302BD2F1E3E7F72E9711724DEB969FAD67F12C77CACC131D0F9793138CADAB8AA378CDD308CD5F81677F46169B1339FA82B0B226E1E0AF68FE7836697F6D04AE741A8BEC293EEE713DAD1904EA3AED996D2B745510CB51B4E9F4B28398E189AAFE7DC0461C7EC375017886941DA19A446CD450C9A1070F34C5FE75894A955541326881BC0609EB22D83E326CE0F42ED0C4E25E94D576A5143A8499257E27F2704C1CF2E43F7723531DFF09026A3943DF1C872F2584B4E50F0F82F706E9CCEB543F5807C6090F59A5C1711AD4D15F42B355E4DB29121640897C0E5BAC16AC7D7B292FF4B0B39329F75A52F126F478DDB61073B85AD16356CE62CC6EEEC25B6B2DAE36D369E14F255B686A5A65C89B9240FD480AAA309643ED87873F1B8C76C4DEAD32B9B7DB2EB1975E322B40B1335D336A2A61DAFBDFC5D0897D2FD532E3129991EC3B5672E75EF49746200367F59E6
+tmp_aes_key = 12E80C711D4E145929DBD59D74C4C9C784B465D36C86484EDB794E373343523A
+tmp_aes_iv = E46740B6386AD583BC7C143BDF4332C678F9CDC8EAB6EB4E602EBEF48E82B2E5
Yielding:
-answer_with_hash = 2559B75F41BAC536C88FFD608406F7EBE5796A0EBA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B803000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100C58C73F45D67F73438D4A9049E10C18951E0EA8E9322EF6658F41E6478A9E7BC5266ADE5A458A498A737CB5E7B67C1070B8D3002A7E78F414FDB066068A38E05E81123120849CB83E8A1189065F94D31286C2A34C6E3B77AC84BF54C1FA7D0F7DE80CF2E9B26B7F7454A648468952418467A52BAEB140080112243C78D68C1CFDAC56A62C667AC469C1E5E3EA0A88F2862B67E5160AE3E744FDAD670BCE4165D1C3C3EAE2628B409E8E9D857D64F33476F72E77DADC46885A12E6BBFEB9E95A0CBA61403AA6CB61F6EA46348B6BB7D9CE7EEC9DCA777CD33E5E9E936FF15A1339961E1D0DB93F4136843C9C38A5AF3C9A49BBFEEA43301E6F032C543274CDD3F1444A1660A597A3BFBBAC27C
-answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B803000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100C58C73F45D67F73438D4A9049E10C18951E0EA8E9322EF6658F41E6478A9E7BC5266ADE5A458A498A737CB5E7B67C1070B8D3002A7E78F414FDB066068A38E05E81123120849CB83E8A1189065F94D31286C2A34C6E3B77AC84BF54C1FA7D0F7DE80CF2E9B26B7F7454A648468952418467A52BAEB140080112243C78D68C1CFDAC56A62C667AC469C1E5E3EA0A88F2862B67E5160AE3E744FDAD670BCE4165D1C3C3EAE2628B409E8E9D857D64F33476F72E77DADC46885A12E6BBFEB9E95A0CBA61403AA6CB61F6EA46348B6BB7D9CE7EEC9DCA777CD33E5E9E936FF15A1339961E1D0DB93F4136843C9C38A5AF3C9A49BBFEEA43301E6F032C543274CDD3F1444A1660A597A3BFBBAC27C
+answer_with_hash = B3A14A01ED2A48826CB1A652B10DBF0B160345D3BA0D89B5C3FA31687FB14AFE6EBB7BF5D87B574C93548E81C9C9937BEF21FBBF00907EFF03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001006F7B20B65478004B0FFAFBE7C96EA5EB35B8CED549CDF7C2B950F7E4B813DCF2F1E0566D7E2AB00D5F3AADE543648D2BE878EE9CBEB8ADA694580644339F1CC73FC96DB2028328EFB62AA8D9AFC68F7C58373382813B5C39228E3F1AF42B0150C9FA09F7CA96332360B7B021CF3B6C6F22B9F881593997C5EB9315F3504119A983A93BC2CBEB48EDAADEE189C2E2E1370A5E01172854E7B700A81E4DB92BF0BF8B836988C27502237F862B65C6E98C1A095E9699096347551F949284611DCBDC29428044AA7D31A09E4E25E1D4A064146085721B64E010AD51DAC6E5DFFAAC4E478636E596C044C50EF6495F2AFB70AA802884757F3F5DDA30CCF3AA4AD65CBE4549A166843F091D09114CAA
+answer = BA0D89B5C3FA31687FB14AFE6EBB7BF5D87B574C93548E81C9C9937BEF21FBBF00907EFF03000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE0001006F7B20B65478004B0FFAFBE7C96EA5EB35B8CED549CDF7C2B950F7E4B813DCF2F1E0566D7E2AB00D5F3AADE543648D2BE878EE9CBEB8ADA694580644339F1CC73FC96DB2028328EFB62AA8D9AFC68F7C58373382813B5C39228E3F1AF42B0150C9FA09F7CA96332360B7B021CF3B6C6F22B9F881593997C5EB9315F3504119A983A93BC2CBEB48EDAADEE189C2E2E1370A5E01172854E7B700A81E4DB92BF0BF8B836988C27502237F862B65C6E98C1A095E9699096347551F949284611DCBDC29428044AA7D31A09E4E25E1D4A064146085721B64E010AD51DAC6E5DFFAAC4E478636E596C044C50EF6495F2AFB70AA802884757F3F5DDA30CCF3AA4AD65CBE4549A166843F091D09114CAA
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 6A 9B 4E AF AE 17 1B B3 A7 3D 9E A9
-0010 | 7C 57 90 09 33 E8 1F 9C 78 18 56 F0 1D D4 12 93
-0020 | F2 25 29 B8 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 C3 FA 31 68 7F B1 4A FE 6E BB 7B F5
+0010 | D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B EF 21 FB BF
+0020 | 00 90 7E FF 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 = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
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 | C5 8C 73 F4 5D 67 F7 34 38 D4 A9 04 9E 10 C1 89
-0140 | 51 E0 EA 8E 93 22 EF 66 58 F4 1E 64 78 A9 E7 BC
-0150 | 52 66 AD E5 A4 58 A4 98 A7 37 CB 5E 7B 67 C1 07
-0160 | 0B 8D 30 02 A7 E7 8F 41 4F DB 06 60 68 A3 8E 05
-0170 | E8 11 23 12 08 49 CB 83 E8 A1 18 90 65 F9 4D 31
-0180 | 28 6C 2A 34 C6 E3 B7 7A C8 4B F5 4C 1F A7 D0 F7
-0190 | DE 80 CF 2E 9B 26 B7 F7 45 4A 64 84 68 95 24 18
-01A0 | 46 7A 52 BA EB 14 00 80 11 22 43 C7 8D 68 C1 CF
-01B0 | DA C5 6A 62 C6 67 AC 46 9C 1E 5E 3E A0 A8 8F 28
-01C0 | 62 B6 7E 51 60 AE 3E 74 4F DA D6 70 BC E4 16 5D
-01D0 | 1C 3C 3E AE 26 28 B4 09 E8 E9 D8 57 D6 4F 33 47
-01E0 | 6F 72 E7 7D AD C4 68 85 A1 2E 6B BF EB 9E 95 A0
-01F0 | CB A6 14 03 AA 6C B6 1F 6E A4 63 48 B6 BB 7D 9C
-0200 | E7 EE C9 DC A7 77 CD 33 E5 E9 E9 36 FF 15 A1 33
-0210 | 99 61 E1 D0 DB 93 F4 13 68 43 C9 C3 8A 5A F3 C9
-0220 | A4 9B BF EE A4 33 01 E6 F0 32 C5 43 27 4C DD 3F
-0230 | 14 44 A1 66
+0130 | 6F 7B 20 B6 54 78 00 4B 0F FA FB E7 C9 6E A5 EB
+0140 | 35 B8 CE D5 49 CD F7 C2 B9 50 F7 E4 B8 13 DC F2
+0150 | F1 E0 56 6D 7E 2A B0 0D 5F 3A AD E5 43 64 8D 2B
+0160 | E8 78 EE 9C BE B8 AD A6 94 58 06 44 33 9F 1C C7
+0170 | 3F C9 6D B2 02 83 28 EF B6 2A A8 D9 AF C6 8F 7C
+0180 | 58 37 33 82 81 3B 5C 39 22 8E 3F 1A F4 2B 01 50
+0190 | C9 FA 09 F7 CA 96 33 23 60 B7 B0 21 CF 3B 6C 6F
+01A0 | 22 B9 F8 81 59 39 97 C5 EB 93 15 F3 50 41 19 A9
+01B0 | 83 A9 3B C2 CB EB 48 ED AA DE E1 89 C2 E2 E1 37
+01C0 | 0A 5E 01 17 28 54 E7 B7 00 A8 1E 4D B9 2B F0 BF
+01D0 | 8B 83 69 88 C2 75 02 23 7F 86 2B 65 C6 E9 8C 1A
+01E0 | 09 5E 96 99 09 63 47 55 1F 94 92 84 61 1D CB DC
+01F0 | 29 42 80 44 AA 7D 31 A0 9E 4E 25 E1 D4 A0 64 14
+0200 | 60 85 72 1B 64 E0 10 AD 51 DA C6 E5 DF FA AC 4E
+0210 | 47 86 36 E5 96 C0 44 C5 0E F6 49 5F 2A FB 70 AA
+0220 | 80 28 84 75 7F 3F 5D DA 30 CC F3 AA 4A D6 5C BE
+0230 | 45 49 A1 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;
@@ -570,13 +570,13 @@ answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
nonce
4, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
20, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
g_a
300, 260
-FE000100C58C73F45D67F73438D4A904
9E10C18951E0EA8E9322EF6658F41E64
78A9E7BC5266ADE5A458A498A737CB5E
7B67C1070B8D3002A7E78F414FDB0660
68A38E05E81123120849CB83E8A11890
65F94D31286C2A34C6E3B77AC84BF54C
1FA7D0F7DE80CF2E9B26B7F7454A6484
68952418467A52BAEB140080112243C7
8D68C1CFDAC56A62C667AC469C1E5E3E
A0A88F2862B67E5160AE3E744FDAD670
BCE4165D1C3C3EAE2628B409E8E9D857
D64F33476F72E77DADC46885A12E6BBF
EB9E95A0CBA61403AA6CB61F6EA46348
B6BB7D9CE7EEC9DCA777CD33E5E9E936
FF15A1339961E1D0DB93F4136843C9C3
8A5AF3C9A49BBFEEA43301E6F032C543
274CDD3F
+FE0001006F7B20B65478004B0FFAFBE7
C96EA5EB35B8CED549CDF7C2B950F7E4
B813DCF2F1E0566D7E2AB00D5F3AADE5
43648D2BE878EE9CBEB8ADA694580644
339F1CC73FC96DB2028328EFB62AA8D9
AFC68F7C58373382813B5C39228E3F1A
F42B0150C9FA09F7CA96332360B7B021
CF3B6C6F22B9F881593997C5EB9315F3
504119A983A93BC2CBEB48EDAADEE189
C2E2E1370A5E01172854E7B700A81E4D
B92BF0BF8B836988C27502237F862B65
C6E98C1A095E9699096347551F949284
611DCBDC29428044AA7D31A09E4E25E1
D4A064146085721B64E010AD51DAC6E5
DFFAAC4E478636E596C044C50EF6495F
2AFB70AA802884757F3F5DDA30CCF3AA
4AD65CBE
g_a
diffie-hellman parameter
server_time
560, 4
-1444A166
(1721844756 in decimal)
+4549A166
(1721846085 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
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 = 42319D46D6A137C772F7031694A4EE1D7ED755A6DD55134F536AF51DA31F968D5F77ED98F90F6C8D0EDFFFD3C6EA6A56544B18AD1E7592CFF5E61D86137BAAD84C381BDB1493D0A27C8DBCB3EC5CB3A687CB517ABEA728DA3D4B16FAD7F071EF6FB0CA263D5888B714BAC123F4C610105C4F97A24737ED321823E2D9410C4617B26333EE4664A5C3647715F0DA532A87D70CBF170577E32501E48E679A9872F43BCAECFDA7F9D08226F5F0913406CD000F14F5899C0B13B70DD5F9E330B82CC06D048472160F663FADC2C6825CE47ABDB7CF16C5A718B39925E95A1B23F1F91309CBBF3EB73ACCB4E32ED376C51A5287D7BBC872AA05F382E45F1F78134CB199
+b = AB2EB055179E334D17B7EC7E62484A8D586449EE0CCBAE778158632715172B3242B86DDC88802ADF21E68910394A465818320374D839831869F333B504B725F3F28F38D6FE8099463F18FB32532718B2ECD57382199E14A539E441D2E50EFA2F81B8EF41B29B043E756A2DE044BF89D2F642DF510BF16EE9F460E6CB95A72B7CB2E1B6769159E379AA74055D3C28E304F23D58BA3B431844C962DB1094C9E1EA5E9E0172E8C864F0C5AE1E5C24877C8108D0971CCA80CC647444A52A0427B7FB11CF9FC03201ACBC409E8C2F1E5B9D20BBADA60E5A711DABFE191E7BBBC60403292A7D3F75725B72898D822D25690D67956787B5CE6328689029E483094526E5
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 75A40F5AB94BF77D83F9718884A57CB402DCA13BF7E7B656F9F71D373155F29F4964498949AFDCBAC8A0860E88C469A9DA84689E9DF269CFD20EED57B110BCC56CB328888D2554B13E502A3CCE43B306F642F8E7481C9006BF29257F7CFD3CE0C409BB46D010B20A73242D1D254BAC3181D394E3B90075D172EE9A3C92838F57F5B4094DDBA94CAB683A9D1D465EE60DC63CBC97499EE9E954AA30C433369B8FBB47B4AD03D51A3B4241882B055233C3EC29508B11B139D0F72ED69C62F92CB1B6D806A3E5B73D81ED5FF2F48878F61526E4CD46BC7745E936E518FA91A6B43552A61DB43006F9EA976EF72CB41F455AA493CA27CF5543EF5607402C29ECBBDF
+g_b = 64294D850864834E4E34CA5B05E8999B469C131BF388CC9048AE632F46BC1F0BD2CFD88CD9D20D88672D6D01650E5138A9D3F9FB091D5828C4C0A6398524F0A0DB7B3DE7D8E1C884000E23294B2D684180A5F796DE64760FA723460B79C7C3862D163656B121F4522C5845F00290EC91B89BFBF08C6E80E957D35F33B3004169A47C4C546E704DE6B0EF7668C55D86CD1DBC327A86AB597ECF7846789A2DC5E1E153994C0DED01D3DAE773359E3F3A0BE41EA65163BE2B52C4CB8E1248E82B6FB09B89929BCFDEF2786E40345CE67895251F874E0B3EE7661B8FDE81162129699731034E8915F04DF1493D6C73CC0BDFC404C5BA0E2AEFBC11B8B817C5D4670E
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 6A 9B 4E AF AE 17 1B B3 A7 3D 9E A9
-0010 | 7C 57 90 09 33 E8 1F 9C 78 18 56 F0 1D D4 12 93
-0020 | F2 25 29 B8 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 75 A4 0F 5A B9 4B F7 7D 83 F9 71 88 84 A5 7C B4
-0040 | 02 DC A1 3B F7 E7 B6 56 F9 F7 1D 37 31 55 F2 9F
-0050 | 49 64 49 89 49 AF DC BA C8 A0 86 0E 88 C4 69 A9
-0060 | DA 84 68 9E 9D F2 69 CF D2 0E ED 57 B1 10 BC C5
-0070 | 6C B3 28 88 8D 25 54 B1 3E 50 2A 3C CE 43 B3 06
-0080 | F6 42 F8 E7 48 1C 90 06 BF 29 25 7F 7C FD 3C E0
-0090 | C4 09 BB 46 D0 10 B2 0A 73 24 2D 1D 25 4B AC 31
-00A0 | 81 D3 94 E3 B9 00 75 D1 72 EE 9A 3C 92 83 8F 57
-00B0 | F5 B4 09 4D DB A9 4C AB 68 3A 9D 1D 46 5E E6 0D
-00C0 | C6 3C BC 97 49 9E E9 E9 54 AA 30 C4 33 36 9B 8F
-00D0 | BB 47 B4 AD 03 D5 1A 3B 42 41 88 2B 05 52 33 C3
-00E0 | EC 29 50 8B 11 B1 39 D0 F7 2E D6 9C 62 F9 2C B1
-00F0 | B6 D8 06 A3 E5 B7 3D 81 ED 5F F2 F4 88 78 F6 15
-0100 | 26 E4 CD 46 BC 77 45 E9 36 E5 18 FA 91 A6 B4 35
-0110 | 52 A6 1D B4 30 06 F9 EA 97 6E F7 2C B4 1F 45 5A
-0120 | A4 93 CA 27 CF 55 43 EF 56 07 40 2C 29 EC BB DF
+0000 | 54 B6 43 66 C3 FA 31 68 7F B1 4A FE 6E BB 7B F5
+0010 | D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B EF 21 FB BF
+0020 | 00 90 7E FF 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 64 29 4D 85 08 64 83 4E 4E 34 CA 5B 05 E8 99 9B
+0040 | 46 9C 13 1B F3 88 CC 90 48 AE 63 2F 46 BC 1F 0B
+0050 | D2 CF D8 8C D9 D2 0D 88 67 2D 6D 01 65 0E 51 38
+0060 | A9 D3 F9 FB 09 1D 58 28 C4 C0 A6 39 85 24 F0 A0
+0070 | DB 7B 3D E7 D8 E1 C8 84 00 0E 23 29 4B 2D 68 41
+0080 | 80 A5 F7 96 DE 64 76 0F A7 23 46 0B 79 C7 C3 86
+0090 | 2D 16 36 56 B1 21 F4 52 2C 58 45 F0 02 90 EC 91
+00A0 | B8 9B FB F0 8C 6E 80 E9 57 D3 5F 33 B3 00 41 69
+00B0 | A4 7C 4C 54 6E 70 4D E6 B0 EF 76 68 C5 5D 86 CD
+00C0 | 1D BC 32 7A 86 AB 59 7E CF 78 46 78 9A 2D C5 E1
+00D0 | E1 53 99 4C 0D ED 01 D3 DA E7 73 35 9E 3F 3A 0B
+00E0 | E4 1E A6 51 63 BE 2B 52 C4 CB 8E 12 48 E8 2B 6F
+00F0 | B0 9B 89 92 9B CF DE F2 78 6E 40 34 5C E6 78 95
+0100 | 25 1F 87 4E 0B 3E E7 66 1B 8F DE 81 16 21 29 69
+0110 | 97 31 03 4E 89 15 F0 4D F1 49 3D 6C 73 CC 0B DF
+0120 | C4 04 C5 BA 0E 2A EF BC 11 B8 B8 17 C5 D4 67 0E
Payload (de)serialization:
client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data;
@@ -658,19 +658,19 @@ answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
nonce
4, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
20, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
g_b
36, 260
-FE00010075A40F5AB94BF77D83F97188
84A57CB402DCA13BF7E7B656F9F71D37
3155F29F4964498949AFDCBAC8A0860E
88C469A9DA84689E9DF269CFD20EED57
B110BCC56CB328888D2554B13E502A3C
CE43B306F642F8E7481C9006BF29257F
7CFD3CE0C409BB46D010B20A73242D1D
254BAC3181D394E3B90075D172EE9A3C
92838F57F5B4094DDBA94CAB683A9D1D
465EE60DC63CBC97499EE9E954AA30C4
33369B8FBB47B4AD03D51A3B4241882B
055233C3EC29508B11B139D0F72ED69C
62F92CB1B6D806A3E5B73D81ED5FF2F4
8878F61526E4CD46BC7745E936E518FA
91A6B43552A61DB43006F9EA976EF72C
B41F455AA493CA27CF5543EF5607402C
29ECBBDF
+FE00010064294D850864834E4E34CA5B
05E8999B469C131BF388CC9048AE632F
46BC1F0BD2CFD88CD9D20D88672D6D01
650E5138A9D3F9FB091D5828C4C0A639
8524F0A0DB7B3DE7D8E1C884000E2329
4B2D684180A5F796DE64760FA723460B
79C7C3862D163656B121F4522C5845F0
0290EC91B89BFBF08C6E80E957D35F33
B3004169A47C4C546E704DE6B0EF7668
C55D86CD1DBC327A86AB597ECF784678
9A2DC5E1E153994C0DED01D3DAE77335
9E3F3A0BE41EA65163BE2B52C4CB8E12
48E82B6FB09B89929BCFDEF2786E4034
5CE67895251F874E0B3EE7661B8FDE81
162129699731034E8915F04DF1493D6C
73CC0BDFC404C5BA0E2AEFBC11B8B817
C5D4670E
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B56A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B
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 = 54B643666A9B4EAFAE171BB3A73D9EA97C57900933E81F9C781856F01DD41293F22529B80000000000000000FE00010075A40F5AB94BF77D83F9718884A57CB402DCA13BF7E7B656F9F71D373155F29F4964498949AFDCBAC8A0860E88C469A9DA84689E9DF269CFD20EED57B110BCC56CB328888D2554B13E502A3CCE43B306F642F8E7481C9006BF29257F7CFD3CE0C409BB46D010B20A73242D1D254BAC3181D394E3B90075D172EE9A3C92838F57F5B4094DDBA94CAB683A9D1D465EE60DC63CBC97499EE9E954AA30C433369B8FBB47B4AD03D51A3B4241882B055233C3EC29508B11B139D0F72ED69C62F92CB1B6D806A3E5B73D81ED5FF2F48878F61526E4CD46BC7745E936E518FA91A6B43552A61DB43006F9EA976EF72CB41F455AA493CA27CF5543EF5607402C29ECBBDF
-padding = 51042950C65DB29CA8AA231A
-tmp_aes_key = 76B7856C62B3B063872C5836F41263DBBEE80BE03CCB81964E47909EC368BA45
-tmp_aes_iv = C8461CF3798BF669D030D8D3910AEBFD94849B2FBC83DE839397845A67C7C12C
+data = 54B64366C3FA31687FB14AFE6EBB7BF5D87B574C93548E81C9C9937BEF21FBBF00907EFF0000000000000000FE00010064294D850864834E4E34CA5B05E8999B469C131BF388CC9048AE632F46BC1F0BD2CFD88CD9D20D88672D6D01650E5138A9D3F9FB091D5828C4C0A6398524F0A0DB7B3DE7D8E1C884000E23294B2D684180A5F796DE64760FA723460B79C7C3862D163656B121F4522C5845F00290EC91B89BFBF08C6E80E957D35F33B3004169A47C4C546E704DE6B0EF7668C55D86CD1DBC327A86AB597ECF7846789A2DC5E1E153994C0DED01D3DAE773359E3F3A0BE41EA65163BE2B52C4CB8E1248E82B6FB09B89929BCFDEF2786E40345CE67895251F874E0B3EE7661B8FDE81162129699731034E8915F04DF1493D6C73CC0BDFC404C5BA0E2AEFBC11B8B817C5D4670E
+padding = 8DF91167272E406E5A93395C
+tmp_aes_key = 12E80C711D4E145929DBD59D74C4C9C784B465D36C86484EDB794E373343523A
+tmp_aes_iv = E46740B6386AD583BC7C143BDF4332C678F9CDC8EAB6EB4E602EBEF48E82B2E5
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 = 057EE5BCC7953EF0ACF466FCB5FD73C71188D1572835F4D78C5152DAFC31878661C4EA1F283C60D3618EF2297D65907DB17FF1CC4D7589187F63B6284629C3974061E6E9F9FAD0506857BF91E75EC56AFBD03E387818B9E1DF3B07FC70A53DBC9515DFD9340BA82CA9C1A53E8CE0D335C1C6DC121E719879E7D48ADC64D5EC567D9034767B32942052E204AD96E9897DC844541126AAFD73DD1CC2A95C5FC6841FAE863C3D34512E23D68DD3A9885033BB26D6A6340D1BC57974AD7D25D65A9BD1635720BC348B57F20E357D4CACE2A83CCCB822260184E7C7512AD638F3DFF7ED63688B24E7E9D534041122CD809EBF7295BEFF70D8473AB5107C04ECFACACEB93A21EBE023351DC86A852F65B3CF4695E0F5FF3CBB4317CA48AA75FDA86A987DFE6017175C2BE8D9B64BDF575DCDF13716D5F8F7C7A1895DDB743DF3BC24A24707D44767B061C1E8CF646C65F6C1F2
+encrypted_data = C9E9C04B8D4F439A80A87AA9AAAE846464EEBA70FCD941D99B8189A9F825C85647EF27A9D73A085D98F864A321D16823DB15684D9576B3CC0E5CB0DCC520A18BC7851C926657CEF82E93DBF1238CADE8854C274FABFEED6C34687335131E7A1DAFAB9DA83D940E33D65C6D15518A15540C48E1335F855241D58ABB4E20B763318847DE93FCC651E039CAC3868895DC400DD7DC9DC36D75AA0638C63B84F8B40AA6E9A25BB48A42425F772D001782D97357EC3946AEBEA16426FB2C4BECD8BD30125AE25644576BC59B53385F299D69AE4245D3D811E335439A5F09C989D58F85B5C8E10977219F071578E141A568D5D98D1E174BAE85602E3B89D8AB26BA19492EEA9CBEF5164FA553CD472F15B411796084972BAC0331B835B952E5E02C50DE5BA2E2EB3F3F33D6C3B6ACD005B79E4BACEA665490DA5FCED36D7305F9756ADAE17F1391B170203702C97083AEE08F14
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 00 96 0C 00 14 44 A1 66
-0010 | 78 01 00 00 1F 5F 04 F5 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09 33 E8 1F 9C 78 18 56 F0
-0030 | 1D D4 12 93 F2 25 29 B8 FE 50 01 00 05 7E E5 BC
-0040 | C7 95 3E F0 AC F4 66 FC B5 FD 73 C7 11 88 D1 57
-0050 | 28 35 F4 D7 8C 51 52 DA FC 31 87 86 61 C4 EA 1F
-0060 | 28 3C 60 D3 61 8E F2 29 7D 65 90 7D B1 7F F1 CC
-0070 | 4D 75 89 18 7F 63 B6 28 46 29 C3 97 40 61 E6 E9
-0080 | F9 FA D0 50 68 57 BF 91 E7 5E C5 6A FB D0 3E 38
-0090 | 78 18 B9 E1 DF 3B 07 FC 70 A5 3D BC 95 15 DF D9
-00A0 | 34 0B A8 2C A9 C1 A5 3E 8C E0 D3 35 C1 C6 DC 12
-00B0 | 1E 71 98 79 E7 D4 8A DC 64 D5 EC 56 7D 90 34 76
-00C0 | 7B 32 94 20 52 E2 04 AD 96 E9 89 7D C8 44 54 11
-00D0 | 26 AA FD 73 DD 1C C2 A9 5C 5F C6 84 1F AE 86 3C
-00E0 | 3D 34 51 2E 23 D6 8D D3 A9 88 50 33 BB 26 D6 A6
-00F0 | 34 0D 1B C5 79 74 AD 7D 25 D6 5A 9B D1 63 57 20
-0100 | BC 34 8B 57 F2 0E 35 7D 4C AC E2 A8 3C CC B8 22
-0110 | 26 01 84 E7 C7 51 2A D6 38 F3 DF F7 ED 63 68 8B
-0120 | 24 E7 E9 D5 34 04 11 22 CD 80 9E BF 72 95 BE FF
-0130 | 70 D8 47 3A B5 10 7C 04 EC FA CA CE B9 3A 21 EB
-0140 | E0 23 35 1D C8 6A 85 2F 65 B3 CF 46 95 E0 F5 FF
-0150 | 3C BB 43 17 CA 48 AA 75 FD A8 6A 98 7D FE 60 17
-0160 | 17 5C 2B E8 D9 B6 4B DF 57 5D CD F1 37 16 D5 F8
-0170 | F7 C7 A1 89 5D DB 74 3D F3 BC 24 A2 47 07 D4 47
-0180 | 67 B0 61 C1 E8 CF 64 6C 65 F6 C1 F2
+0000 | 00 00 00 00 00 00 00 00 1C 6F 0E 00 45 49 A1 66
+0010 | 78 01 00 00 1F 5F 04 F5 C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B
+0030 | EF 21 FB BF 00 90 7E FF FE 50 01 00 C9 E9 C0 4B
+0040 | 8D 4F 43 9A 80 A8 7A A9 AA AE 84 64 64 EE BA 70
+0050 | FC D9 41 D9 9B 81 89 A9 F8 25 C8 56 47 EF 27 A9
+0060 | D7 3A 08 5D 98 F8 64 A3 21 D1 68 23 DB 15 68 4D
+0070 | 95 76 B3 CC 0E 5C B0 DC C5 20 A1 8B C7 85 1C 92
+0080 | 66 57 CE F8 2E 93 DB F1 23 8C AD E8 85 4C 27 4F
+0090 | AB FE ED 6C 34 68 73 35 13 1E 7A 1D AF AB 9D A8
+00A0 | 3D 94 0E 33 D6 5C 6D 15 51 8A 15 54 0C 48 E1 33
+00B0 | 5F 85 52 41 D5 8A BB 4E 20 B7 63 31 88 47 DE 93
+00C0 | FC C6 51 E0 39 CA C3 86 88 95 DC 40 0D D7 DC 9D
+00D0 | C3 6D 75 AA 06 38 C6 3B 84 F8 B4 0A A6 E9 A2 5B
+00E0 | B4 8A 42 42 5F 77 2D 00 17 82 D9 73 57 EC 39 46
+00F0 | AE BE A1 64 26 FB 2C 4B EC D8 BD 30 12 5A E2 56
+0100 | 44 57 6B C5 9B 53 38 5F 29 9D 69 AE 42 45 D3 D8
+0110 | 11 E3 35 43 9A 5F 09 C9 89 D5 8F 85 B5 C8 E1 09
+0120 | 77 21 9F 07 15 78 E1 41 A5 68 D5 D9 8D 1E 17 4B
+0130 | AE 85 60 2E 3B 89 D8 AB 26 BA 19 49 2E EA 9C BE
+0140 | F5 16 4F A5 53 CD 47 2F 15 B4 11 79 60 84 97 2B
+0150 | AC 03 31 B8 35 B9 52 E5 E0 2C 50 DE 5B A2 E2 EB
+0160 | 3F 3F 33 D6 C3 B6 AC D0 05 B7 9E 4B AC EA 66 54
+0170 | 90 DA 5F CE D3 6D 73 05 F9 75 6A DA E1 7F 13 91
+0180 | B1 70 20 37 02 C9 70 83 AE E0 8F 14
Payload (de)serialization:
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
@@ -746,7 +746,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id
8, 8
-00960C001444A166
+1C6F0E004549A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -764,19 +764,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
40, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
encrypted_data
56, 340
-FE500100057EE5BCC7953EF0ACF466FC
B5FD73C71188D1572835F4D78C5152DA
FC31878661C4EA1F283C60D3618EF229
7D65907DB17FF1CC4D7589187F63B628
4629C3974061E6E9F9FAD0506857BF91
E75EC56AFBD03E387818B9E1DF3B07FC
70A53DBC9515DFD9340BA82CA9C1A53E
8CE0D335C1C6DC121E719879E7D48ADC
64D5EC567D9034767B32942052E204AD
96E9897DC844541126AAFD73DD1CC2A9
5C5FC6841FAE863C3D34512E23D68DD3
A9885033BB26D6A6340D1BC57974AD7D
25D65A9BD1635720BC348B57F20E357D
4CACE2A83CCCB822260184E7C7512AD6
38F3DFF7ED63688B24E7E9D534041122
CD809EBF7295BEFF70D8473AB5107C04
ECFACACEB93A21EBE023351DC86A852F
65B3CF4695E0F5FF3CBB4317CA48AA75
FDA86A987DFE6017175C2BE8D9B64BDF
575DCDF13716D5F8F7C7A1895DDB743D
F3BC24A24707D44767B061C1E8CF646C
65F6C1F2
+FE500100C9E9C04B8D4F439A80A87AA9
AAAE846464EEBA70FCD941D99B8189A9
F825C85647EF27A9D73A085D98F864A3
21D16823DB15684D9576B3CC0E5CB0DC
C520A18BC7851C926657CEF82E93DBF1
238CADE8854C274FABFEED6C34687335
131E7A1DAFAB9DA83D940E33D65C6D15
518A15540C48E1335F855241D58ABB4E
20B763318847DE93FCC651E039CAC386
8895DC400DD7DC9DC36D75AA0638C63B
84F8B40AA6E9A25BB48A42425F772D00
1782D97357EC3946AEBEA16426FB2C4B
ECD8BD30125AE25644576BC59B53385F
299D69AE4245D3D811E335439A5F09C9
89D58F85B5C8E10977219F071578E141
A568D5D98D1E174BAE85602E3B89D8AB
26BA19492EEA9CBEF5164FA553CD472F
15B411796084972BAC0331B835B952E5
E02C50DE5BA2E2EB3F3F33D6C3B6ACD0
05B79E4BACEA665490DA5FCED36D7305
F9756ADAE17F1391B170203702C97083
AEE08F14
Encrypted client_DH_inner_data generated previously, serialized as a TL byte string
@@ -785,17 +785,17 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
8) Auth key generation
The client computes the auth_key using formula g_a^b mod dh_prime
:
-auth_key = B4FDA21A25AF3F5F6BCC71FD5007FFF4F232DFDC5299E077D4120BEC55D49472A01DBFB0DED518801C131F88E55D674BE1DBB0AF59304B78757ADD6022F86E366603CBFDF83AB9E7168B66436C707696086F30A99519280A439450E9323F566A9A1258395D121C026EBED8053C6A50DA88848332B97E405038A9E63507F9CEC7BCE38D5DE18ED6502A548A24B224DC9E4D07CC365D6AEB38CFEE0FC68FBFA14ED3F60B53A7354E67782658829168037CBDB10C9B9EC9DA589186F47C112D980044025413772BCA722CB54407F7BB2184AD91909119C6A2C64C4F512CA6130D78F589ED19C79508FD3AB9741B0D0E68E5BB7131057873297833BCC76CB5F8FF4D
+auth_key = A065B2F30D9858452D2EB37BC81FA871BED25C11A31619CAFEAAC43658B8119CF5BDA5AB5904F6B50B71ACE7B6A8F7C1DA1536EED58264DEA994B9BA0374E37EA71C4BA46A108CEC9385C08E78E2080F26A995D54CBC035449029FB026AADDF157D4D85319E16E5D8DCD40A038A4600512A15432CF017BCAEC020E7D290A7D0BD4143F0211B2D660AEFEB399E9AF6B4912CCF68D368A289E18B784528ABAB310F58A8D6EA9525F99BDF8C142D616CEBB3EF5E74C6CF3B9D1453D2D82816D06EEF67CAD8F72C5E3892AFDBB542C2F357FC3DA0783A491A00E4B60510990DD9A77586FED0B1A1ECF8D3473DDBBCAD08F22501E6611E7E0D7EB0440CEA5816AE8D4
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 51 EE 15 44 A1 66
-0010 | 48 00 00 00 34 F7 CB 3B 6A 9B 4E AF AE 17 1B B3
-0020 | A7 3D 9E A9 7C 57 90 09 33 E8 1F 9C 78 18 56 F0
-0030 | 1D D4 12 93 F2 25 29 B8 4A E4 66 01 24 F6 C9 BE
-0040 | 97 86 17 9B 33 45 56 71
+0000 | 00 00 00 00 00 00 00 00 01 64 DF 98 46 49 A1 66
+0010 | 6C 00 00 00 34 F7 CB 3B C3 FA 31 68 7F B1 4A FE
+0020 | 6E BB 7B F5 D8 7B 57 4C 93 54 8E 81 C9 C9 93 7B
+0030 | EF 21 FB BF 00 90 7E FF AD 66 69 D7 7F 9C D3 AE
+0040 | FE 6D C0 37 21 4B 62 81
Payload (de)serialization:
dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
@@ -817,13 +817,13 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id
8, 8
-018C51EE1544A166
+0164DF984649A166
Message ID generated as specified here » (unixtime() << 32) + (N*4)
message_length
16, 4
-48000000
(72 in decimal)
+6C000000
(108 in decimal)
Message body length
@@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce
24, 16
-6A9B4EAFAE171BB3A73D9EA97C579009
+C3FA31687FB14AFE6EBB7BF5D87B574C
Value generated by client in Step 1
server_nonce
40, 16
-33E81F9C781856F01DD41293F22529B8
+93548E81C9C9937BEF21FBBF00907EFF
Value received from server in Step 2
new_nonce_hash1
56, 16
-4AE4660124F6C9BE9786179B33455671
+AD6669D77F9CD3AEFE6DC037214B6281
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.