From a8d415847c0bf053a1e3aa48a986bc2143101d4a Mon Sep 17 00:00:00 2001
From: GitHub Action
Date: Sat, 16 Nov 2024 14:37:36 +0000
Subject: [PATCH] Update content of files
---
.../corefork.telegram.org/api/invites.html | 1 +
.../web/corefork.telegram.org/api/layers.html | 4 +-
.../corefork.telegram.org/api/reactions.html | 1 -
...minLogEventActionParticipantSubExtend.html | 34 +-
...LogEventActionToggleSignatureProfiles.html | 25 +-
.../channelAdminLogEventsFilter.html | 6 +-
.../constructor/channelFull.html | 6 +-
.../constructor/channelParticipant.html | 7 +-
.../constructor/channelParticipantSelf.html | 7 +-
.../mtproto/samples-auth_key.html | 406 +++++++++---------
.../type/ChannelAdminLogEventAction.html | 4 +-
11 files changed, 238 insertions(+), 263 deletions(-)
diff --git a/data/web/corefork.telegram.org/api/invites.html b/data/web/corefork.telegram.org/api/invites.html
index a938c53273..bfb80e2594 100644
--- a/data/web/corefork.telegram.org/api/invites.html
+++ b/data/web/corefork.telegram.org/api/invites.html
@@ -147,6 +147,7 @@ Currently the only allowed subscription period is 30*24*60*60
, i.e.
When we get close to the end of the subscription period of one or more active subscriptions, and the current Telegram Star balance is not high enough to autorenew at least one of them, the "STARS_SUBSCRIPTION_LOW_BALANCE" suggestion » will be activated: when the user clicks on the suggestion, the client should fetch and display the list of expiring subscriptions by invoking payments.getStarsSubscriptions , passing inputPeerSelf to peer
and setting the missing_balance
flag: the returned subscriptions may be renewed by filling up the current Telegram Star balance with at least payments.starsStatus .subscriptions_missing_balance
stars.
payments.getStarsTransactions may be used to fetch only and all transactions for a specific subscription by populating the subscription_id
flag.
Admins may also use messages.getChatInviteImporters with the subscription_expired
flag set to fetch only and all users with an expired subscription.
+Channel admins can also see the end date of the current subscription period for any user in channelParticipant .subscription_until_date
.
Join requests
channel #fe4478bd flags:# creator:flags.0?true left:flags.2?true broadcast:flags.5?true verified:flags.7?true megagroup:flags.8?true restricted:flags.9?true signatures:flags.11?true min:flags.12?true scam:flags.19?true has_link:flags.20?true has_geo:flags.21?true slowmode_enabled:flags.22?true call_active:flags.23?true call_not_empty:flags.24?true fake:flags.25?true gigagroup:flags.26?true noforwards:flags.27?true join_to_send:flags.28?true join_request:flags.29?true forum:flags.30?true flags2:# stories_hidden:flags2.1?true stories_hidden_min:flags2.2?true stories_unavailable:flags2.3?true signature_profiles:flags2.12?true id:long access_hash:flags.13?long title:string username:flags.6?string photo:ChatPhoto date:int restriction_reason:flags.9?Vector <RestrictionReason > admin_rights:flags.14?ChatAdminRights banned_rights:flags.15?ChatBannedRights default_banned_rights:flags.18?ChatBannedRights participants_count:flags.17?int usernames:flags2.0?Vector <Username > stories_max_id:flags2.4?int color:flags2.7?PeerColor profile_color:flags2.8?PeerColor emoji_status:flags2.9?EmojiStatus level:flags2.10?int subscription_until_date:flags2.11?int = Chat ;
diff --git a/data/web/corefork.telegram.org/api/layers.html b/data/web/corefork.telegram.org/api/layers.html
index 381c1b04d5..ca5d0def44 100644
--- a/data/web/corefork.telegram.org/api/layers.html
+++ b/data/web/corefork.telegram.org/api/layers.html
@@ -198,7 +198,7 @@
New Constructors
Changed Constructors
diff --git a/data/web/corefork.telegram.org/api/reactions.html b/data/web/corefork.telegram.org/api/reactions.html
index b2f7385055..ef30804d37 100644
--- a/data/web/corefork.telegram.org/api/reactions.html
+++ b/data/web/corefork.telegram.org/api/reactions.html
@@ -113,7 +113,6 @@ If the user explicitly chose to make their paid reaction(s) private, pass messages.sendPaidReaction .private
flag.
To change the privacy of already sent paid reactions, invoke messages.togglePaidReactionPrivacy , passing the ID of the message, the channel and the desired privacy setting.
To fetch the paid reactions leaderboard, invoke messages.getMessagesReactions : the returned updateMessageReactions constructor will contain a top_reactors
vector of messageReactor s, containing the paid reactions leaderboard for that message.
-Channel admins can also see the end date of the current subscription period for any user in channelParticipant .subscription_until_date
.
React to a story
See here » for more info on how to react to a story.
Notifications about reactions
diff --git a/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantSubExtend.html b/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantSubExtend.html
index d8f991aae9..7fb43a1888 100644
--- a/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantSubExtend.html
+++ b/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionParticipantSubExtend.html
@@ -4,32 +4,10 @@
channelAdminLogEventActionParticipantSubExtend
-
+
-
+
@@ -64,7 +42,8 @@ Chann…">
channelAdminLogEventActionParticipantSubExtend
-
+
A paid subscriber has extended their Telegram Star subscription » .
+
+
ChannelAdminLogEventAction
+
Related pages
+
+
Telegram Stars are virtual items that allow users to purchase digital goods and services from bots and mini apps inside the Telegram ecosystem, send gifts to content creators on the Telegram platform, and more.
diff --git a/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionToggleSignatureProfiles.html b/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionToggleSignatureProfiles.html
index efba3bd7ed..790a11ec03 100644
--- a/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionToggleSignatureProfiles.html
+++ b/data/web/corefork.telegram.org/constructor/channelAdminLogEventActionToggleSignatureProfiles.html
@@ -4,26 +4,10 @@
channelAdminLogEventActionToggleSignatureProfiles
-
+
-
+
@@ -58,7 +42,8 @@ ChannelAdminLogEventAction">
channelAdminLogEventActionToggleSignatureProfiles
-
+
Channel signature profiles were enabled/disabled.
+
+
Telegram allows creating forums with multiple distinct topics.
+
+
A paid subscriber has extended their Telegram Star subscription » .
diff --git a/data/web/corefork.telegram.org/constructor/channelFull.html b/data/web/corefork.telegram.org/constructor/channelFull.html
index 3ae2147b31..7ea631a065 100644
--- a/data/web/corefork.telegram.org/constructor/channelFull.html
+++ b/data/web/corefork.telegram.org/constructor/channelFull.html
@@ -170,7 +170,7 @@
paid_reactions_available
flags2 .16?true
-
+If set, users may send paid Telegram Star reactions » to messages of this channel.
id
@@ -407,6 +407,8 @@
Content creators can accept Stars by publishing paid photos or videos on their channels. Subscribers will be allowed to view such posts only after paying the author to unlock them.
Telegram Stars are virtual items that allow users to purchase digital goods and services from bots and mini apps inside the Telegram ecosystem, send gifts to content creators on the Telegram platform, and more.
+
+Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
How to handle admin permissions, granular bans and global permissions in channels, groups and supergroups.
@@ -423,8 +425,6 @@
Get a list of peers that can be used to join a group call, presenting yourself as a specific user/channel.
Chats and channels may have a public username or a private invite link: private invite links may be further enhanced with per-user join requests.
-
-Telegram allows users to react on any message using specific emojis, triggering cute lottie animations.
Telegram apps support generating, sharing and synchronizing chat backgrounds.
diff --git a/data/web/corefork.telegram.org/constructor/channelParticipant.html b/data/web/corefork.telegram.org/constructor/channelParticipant.html
index 940433308c..90fe624d57 100644
--- a/data/web/corefork.telegram.org/constructor/channelParticipant.html
+++ b/data/web/corefork.telegram.org/constructor/channelParticipant.html
@@ -84,12 +84,15 @@
subscription_until_date
flags .0?int
-
+If set, contains the expiration date of the current Telegram Star subscription period » for the specified participant.
Type
-
ChannelParticipant
+
ChannelParticipant
+
Related pages
+
+
Telegram Stars are virtual items that allow users to purchase digital goods and services from bots and mini apps inside the Telegram ecosystem, send gifts to content creators on the Telegram platform, and more.
diff --git a/data/web/corefork.telegram.org/constructor/channelParticipantSelf.html b/data/web/corefork.telegram.org/constructor/channelParticipantSelf.html
index 06b0b098fb..e1fdd801af 100644
--- a/data/web/corefork.telegram.org/constructor/channelParticipantSelf.html
+++ b/data/web/corefork.telegram.org/constructor/channelParticipantSelf.html
@@ -94,12 +94,15 @@
subscription_until_date
flags .1?int
-
+If set, contains the expiration date of the current Telegram Star subscription period » for the specified participant.
Type
-ChannelParticipant
+ChannelParticipant
+ Related pages
+
+Telegram Stars are virtual items that allow users to purchase digital goods and services from bots and mini apps inside the Telegram ecosystem, send gifts to content creators on the Telegram platform, and more.
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 62765764cd..5eef289f46 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 CC C4 07 00 09 A9 38 67
-0010 | 14 00 00 00 F1 8E 7E BE 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4
+0000 | 00 00 00 00 00 00 00 00 F4 B7 0D 00 9D AB 38 67
+0010 | 14 00 00 00 F1 8E 7E BE E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B
Payload (de)serialization:
req_pq_multi#be7e8ef1 nonce:int128 = ResPQ;
@@ -77,7 +77,7 @@
message_id
8, 8
-CCC4070009A93867
+F4B70D009DAB3867
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -95,7 +95,7 @@
nonce
24, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
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 78 D6 E3 09 A9 38 67
-0010 | 50 00 00 00 63 24 16 05 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4 8A 33 80 8D 1D 5B AE E2
-0030 | 7E 2D 08 4D AB 67 CE D0 08 19 EE AA 4A 04 90 58
-0040 | BD 00 00 00 15 C4 B5 1C 03 00 00 00 85 FD 64 DE
+0000 | 00 00 00 00 00 00 00 00 01 00 CA E9 9D AB 38 67
+0010 | 50 00 00 00 63 24 16 05 E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B 50 52 07 36 D6 05 6F 36
+0030 | F7 B5 AE 82 38 C4 61 93 08 29 16 D5 CA 3E 83 65
+0040 | 25 00 00 00 15 C4 B5 1C 03 00 00 00 85 FD 64 DE
0050 | 85 1D 9D D0 A5 B7 F7 09 35 5F C3 0B 21 6B E8 6C
0060 | 02 2B B4 C3
Payload (de)serialization:
@@ -132,7 +132,7 @@
message_id
8, 8
-0178D6E309A93867
+0100CAE99DAB3867
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -150,19 +150,19 @@
nonce
24, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
40, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Server-generated random number
pq
56, 12
-0819EEAA4A049058BD000000
TL byte deserialization => bigendian conversion to decimal => 1868618130286205117
+082916D5CA3E836525000000
TL byte deserialization => bigendian conversion to decimal => 2960788869651588389
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 = 1868618130286205117
-Decompose into 2 prime cofactors p < q
: 1868618130286205117 = 1093105483 * 1709458199
-p = 1093105483
-q = 1709458199
+pq = 2960788869651588389
+Decompose into 2 prime cofactors p < q
: 2960788869651588389 = 1553479331 * 1905908119
+p = 1553479331
+q = 1905908119
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 19 EE AA 4A 04 90 58 BD 00 00 00
-0010 | 04 41 27 77 4B 00 00 00 04 65 E4 43 17 00 00 00
-0020 | 88 A0 0C B2 64 2E 0D CC D6 BD 55 3F 42 43 30 B4
-0030 | 8A 33 80 8D 1D 5B AE E2 7E 2D 08 4D AB 67 CE D0
-0040 | C6 1C 4C B1 76 7F D6 E5 66 1D 48 E8 30 35 96 85
-0050 | BB E4 FD 66 9F 97 F4 20 34 05 82 EE CF 6A 39 84
+0000 | 95 5F F5 A9 08 29 16 D5 CA 3E 83 65 25 00 00 00
+0010 | 04 5C 98 36 A3 00 00 00 04 71 99 D9 97 00 00 00
+0020 | E8 FF D0 70 C6 56 0F C1 91 A6 69 5C BB 3D 69 6B
+0030 | 50 52 07 36 D6 05 6F 36 F7 B5 AE 82 38 C4 61 93
+0040 | C7 34 2A 00 E4 97 51 C3 44 E9 8D AC A4 98 E3 D5
+0050 | 3D 7E 99 B2 10 17 84 E5 20 FF 38 07 E0 96 EE 1B
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 = 1709458199
pq
4, 12
-0819EEAA4A049058BD000000
TL byte deserialization => bigendian conversion to decimal => 1868618130286205117
+082916D5CA3E836525000000
TL byte deserialization => bigendian conversion to decimal => 2960788869651588389
Single-byte prefix denoting length, 8-byte string, and three bytes of padding
p
16, 8
-044127774B000000
TL byte deserialization => bigendian conversion to decimal => 1093105483
+045C9836A3000000
TL byte deserialization => bigendian conversion to decimal => 1553479331
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
24, 8
-0465E44317000000
TL byte deserialization => bigendian conversion to decimal => 1709458199
+047199D997000000
TL byte deserialization => bigendian conversion to decimal => 1905908119
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
nonce
32, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
48, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
new_nonce
64, 32
-C61C4CB1767FD6E5661D48E830359685
BBE4FD669F97F420340582EECF6A3984
+C7342A00E49751C344E98DACA498E3D5
3D7E99B2101784E520FF3807E096EE1B
Client-generated random number
@@ -291,39 +291,39 @@ q = 1709458199
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 = 955FF5A90819EEAA4A049058BD000000044127774B0000000465E4431700000088A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED0C61C4CB1767FD6E5661D48E830359685BBE4FD669F97F420340582EECF6A398402000000
-random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10A765264176E3391DBC1E80CDEADD8C4A4EC3CBA7CA7C08FBBD4881A4435EC7B6A4A5CF5897E970AAA0330FA4C188BA83A02620EBC82AF9426FD88829A5683AD
+data = 955FF5A9082916D5CA3E836525000000045C9836A3000000047199D997000000E8FFD070C6560FC191A6695CBB3D696B50520736D6056F36F7B5AE8238C46193C7342A00E49751C344E98DACA498E3D53D7E99B2101784E520FF3807E096EE1B02000000
+random_padding_bytes = B466F6A58F3A78359B82AA87C98DE9847CEB0886FBDA78154B395957431373B4500A7AC595FEBA67680E2CD50DA72ACC9D2827A04F25EE681438E0B7F09BF73864BD6D7532CEC7D4611A86AAB23E4F3C715C25C1B04D336BBA28231F
And this is the output:
-encrypted_data = 619B4727009001B44082013B8731011A984F708CD5D0C253FF48BDB3DFAFA2637FFA25B40B4C4BFB28504DE7B3F0066D6895B79B7C29B3F74A5358493E28D73D3B0D14D531EF6A1A4270C593E8D10EB3B246AE668DA94B2F65F3CC4E63BD6AA543B543E51327D426B983BD2E1A64CDB6E697C9BA4671DDCCCAFEC541716862CBDA37A8A1F3678CC75CE9E564F0A6A19EABDFB94EFB41CBDB586611757F7EEFFAD47B62C9A65931079DFD9ECAF4A451D8470491FEC1E5EAC6BB92D2F6E7D4B7418527C486478159F867591422ED7130CA98D5B274EBEBB139EA3579A6A81113A3A70921388898D18A4F5B56E8931D422108292B1BE3E8DD4FEB59E6C8B530AE54
+encrypted_data = 25CF84E953F562707ACECDB185CF5052BC4D1E82330FD395A840EEB13806941EE95CA63EF2774F0625EB358DCAEAE5FAE06366779FDED68F10E204DDDAEEF3B93AC93C81DE0383C5E7C72C296E8E7E1C9A92E5A2181C82FABE0097F3DEC77CF788D2AD65D9FC3D70573B7E4010AFFC0AF6019FEDBE509B654E06A0BF26CF3446F5D1BE057E18E103B25B76FF30C6893D466EE930474298AC44039870BB97839D63902926E41F326CEFA577B5E6BF1AD2D6D00A08DABA9041559C78540C4E8BD82CCFAC98B322E1531CEC7D1C783C459B325CA7A41E04E24FB30319BB3F8817E88F2642D0EDD87925259B8DAB8AC0225293543C7A3DF5256E20F5747E53C6A4E9
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 D0 C4 07 00 09 A9 38 67
-0010 | 40 01 00 00 BE E4 12 D7 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4 8A 33 80 8D 1D 5B AE E2
-0030 | 7E 2D 08 4D AB 67 CE D0 04 41 27 77 4B 00 00 00
-0040 | 04 65 E4 43 17 00 00 00 85 FD 64 DE 85 1D 9D D0
-0050 | FE 00 01 00 61 9B 47 27 00 90 01 B4 40 82 01 3B
-0060 | 87 31 01 1A 98 4F 70 8C D5 D0 C2 53 FF 48 BD B3
-0070 | DF AF A2 63 7F FA 25 B4 0B 4C 4B FB 28 50 4D E7
-0080 | B3 F0 06 6D 68 95 B7 9B 7C 29 B3 F7 4A 53 58 49
-0090 | 3E 28 D7 3D 3B 0D 14 D5 31 EF 6A 1A 42 70 C5 93
-00A0 | E8 D1 0E B3 B2 46 AE 66 8D A9 4B 2F 65 F3 CC 4E
-00B0 | 63 BD 6A A5 43 B5 43 E5 13 27 D4 26 B9 83 BD 2E
-00C0 | 1A 64 CD B6 E6 97 C9 BA 46 71 DD CC CA FE C5 41
-00D0 | 71 68 62 CB DA 37 A8 A1 F3 67 8C C7 5C E9 E5 64
-00E0 | F0 A6 A1 9E AB DF B9 4E FB 41 CB DB 58 66 11 75
-00F0 | 7F 7E EF FA D4 7B 62 C9 A6 59 31 07 9D FD 9E CA
-0100 | F4 A4 51 D8 47 04 91 FE C1 E5 EA C6 BB 92 D2 F6
-0110 | E7 D4 B7 41 85 27 C4 86 47 81 59 F8 67 59 14 22
-0120 | ED 71 30 CA 98 D5 B2 74 EB EB B1 39 EA 35 79 A6
-0130 | A8 11 13 A3 A7 09 21 38 88 98 D1 8A 4F 5B 56 E8
-0140 | 93 1D 42 21 08 29 2B 1B E3 E8 DD 4F EB 59 E6 C8
-0150 | B5 30 AE 54
+0000 | 00 00 00 00 00 00 00 00 F8 B7 0D 00 9D AB 38 67
+0010 | 40 01 00 00 BE E4 12 D7 E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B 50 52 07 36 D6 05 6F 36
+0030 | F7 B5 AE 82 38 C4 61 93 04 5C 98 36 A3 00 00 00
+0040 | 04 71 99 D9 97 00 00 00 85 FD 64 DE 85 1D 9D D0
+0050 | FE 00 01 00 25 CF 84 E9 53 F5 62 70 7A CE CD B1
+0060 | 85 CF 50 52 BC 4D 1E 82 33 0F D3 95 A8 40 EE B1
+0070 | 38 06 94 1E E9 5C A6 3E F2 77 4F 06 25 EB 35 8D
+0080 | CA EA E5 FA E0 63 66 77 9F DE D6 8F 10 E2 04 DD
+0090 | DA EE F3 B9 3A C9 3C 81 DE 03 83 C5 E7 C7 2C 29
+00A0 | 6E 8E 7E 1C 9A 92 E5 A2 18 1C 82 FA BE 00 97 F3
+00B0 | DE C7 7C F7 88 D2 AD 65 D9 FC 3D 70 57 3B 7E 40
+00C0 | 10 AF FC 0A F6 01 9F ED BE 50 9B 65 4E 06 A0 BF
+00D0 | 26 CF 34 46 F5 D1 BE 05 7E 18 E1 03 B2 5B 76 FF
+00E0 | 30 C6 89 3D 46 6E E9 30 47 42 98 AC 44 03 98 70
+00F0 | BB 97 83 9D 63 90 29 26 E4 1F 32 6C EF A5 77 B5
+0100 | E6 BF 1A D2 D6 D0 0A 08 DA BA 90 41 55 9C 78 54
+0110 | 0C 4E 8B D8 2C CF AC 98 B3 22 E1 53 1C EC 7D 1C
+0120 | 78 3C 45 9B 32 5C A7 A4 1E 04 E2 4F B3 03 19 BB
+0130 | 3F 88 17 E8 8F 26 42 D0 ED D8 79 25 25 9B 8D AB
+0140 | 8A C0 22 52 93 54 3C 7A 3D F5 25 6E 20 F5 74 7E
+0150 | 53 C6 A4 E9
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 = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
message_id
8, 8
-D0C4070009A93867
+F8B70D009DAB3867
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -363,25 +363,25 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
nonce
24, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
40, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
p
56, 8
-044127774B000000
TL byte deserialization => bigendian conversion to decimal => 1093105483
+045C9836A3000000
TL byte deserialization => bigendian conversion to decimal => 1553479331
First prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
q
64, 8
-0465E44317000000
TL byte deserialization => bigendian conversion to decimal => 1709458199
+047199D997000000
TL byte deserialization => bigendian conversion to decimal => 1905908119
Second prime cofactor: single-byte prefix denoting length, 4-byte string, and three bytes of padding
@@ -393,7 +393,7 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
encrypted_data
80, 260
-FE000100619B4727009001B44082013B
8731011A984F708CD5D0C253FF48BDB3
DFAFA2637FFA25B40B4C4BFB28504DE7
B3F0066D6895B79B7C29B3F74A535849
3E28D73D3B0D14D531EF6A1A4270C593
E8D10EB3B246AE668DA94B2F65F3CC4E
63BD6AA543B543E51327D426B983BD2E
1A64CDB6E697C9BA4671DDCCCAFEC541
716862CBDA37A8A1F3678CC75CE9E564
F0A6A19EABDFB94EFB41CBDB58661175
7F7EEFFAD47B62C9A65931079DFD9ECA
F4A451D8470491FEC1E5EAC6BB92D2F6
E7D4B7418527C486478159F867591422
ED7130CA98D5B274EBEBB139EA3579A6
A81113A3A70921388898D18A4F5B56E8
931D422108292B1BE3E8DD4FEB59E6C8
B530AE54
+FE00010025CF84E953F562707ACECDB1
85CF5052BC4D1E82330FD395A840EEB1
3806941EE95CA63EF2774F0625EB358D
CAEAE5FAE06366779FDED68F10E204DD
DAEEF3B93AC93C81DE0383C5E7C72C29
6E8E7E1C9A92E5A2181C82FABE0097F3
DEC77CF788D2AD65D9FC3D70573B7E40
10AFFC0AF6019FEDBE509B654E06A0BF
26CF3446F5D1BE057E18E103B25B76FF
30C6893D466EE930474298AC44039870
BB97839D63902926E41F326CEFA577B5
E6BF1AD2D6D00A08DABA9041559C7854
0C4E8BD82CCFAC98B322E1531CEC7D1C
783C459B325CA7A41E04E24FB30319BB
3F8817E88F2642D0EDD87925259B8DAB
8AC0225293543C7A3DF5256E20F5747E
53C6A4E9
Value generated above
@@ -402,47 +402,47 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
6) Server responds with:
Received payload (excluding transport headers/trailers):
-0000 | 00 00 00 00 00 00 00 00 01 80 DD F7 09 A9 38 67
-0010 | 78 02 00 00 5C 07 E8 D0 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4 8A 33 80 8D 1D 5B AE E2
-0030 | 7E 2D 08 4D AB 67 CE D0 FE 50 02 00 DB 11 E8 39
-0040 | 12 F4 51 CC E9 CC B5 A4 E2 71 95 CE 8D 9C 5E 74
-0050 | E8 79 AF 4B 91 80 40 0A 83 69 D0 27 7E 0A B8 DF
-0060 | 51 B5 3A EC 1C 2C 6E D2 D4 DA D5 40 FA 7E E1 B4
-0070 | B7 55 A1 E8 BA 3D BF 75 4D 81 6D 46 90 6B B5 4E
-0080 | 26 CD 79 8D 2A 33 CB 3B 3C FD 32 23 19 5F CD AB
-0090 | D5 74 3A B4 2E D4 26 62 35 50 38 FE 07 A9 2B 4A
-00A0 | 60 21 ED F2 A7 0A 86 5A DF DD 55 6A 93 23 EE 52
-00B0 | 6B 77 52 9D CA 6E CC 60 21 AB 76 B6 B2 9B 8D 42
-00C0 | 32 35 49 CF 73 81 96 55 87 FF EC C1 B4 23 43 A6
-00D0 | 90 B0 4A 4B FA 53 C3 B3 BF 61 80 AD 85 CB B4 72
-00E0 | BA 83 60 70 70 4F 54 07 A3 50 CC E6 E9 43 76 FE
-00F0 | BE 9D 92 F9 04 D5 1E 04 9A 12 F6 63 4E 0E A7 75
-0100 | 2C B2 AD 56 06 70 1F CD 2A CF 43 3A 7A 78 20 F6
-0110 | B9 4D 44 C0 FB 3D 9D EF 73 F6 AD 93 E4 A3 6C 2F
-0120 | AA 3E 22 40 C8 2C E2 A4 2D 72 21 28 E6 89 01 5D
-0130 | C9 5B 41 42 CD 09 BA 46 4D 9E A6 79 AA 70 86 0E
-0140 | A7 BC 95 93 15 3C 6F E4 20 83 2F A7 8C 2C C4 31
-0150 | 2F A6 A8 1E BD BD 61 22 43 B5 27 1B B2 ED CB 2F
-0160 | 64 29 28 90 25 2E AE C0 F6 E7 3C 5D A0 CF D8 A2
-0170 | 20 BB E2 F6 5A C3 CA E6 59 82 95 B5 42 30 CD 85
-0180 | F3 26 9A 95 FD FE E3 AE 04 C7 FE AC 11 34 BE 51
-0190 | 8E C7 BC AB 99 72 B4 9A 58 DB F3 8F D2 FF 60 92
-01A0 | 9E 6C BB 3A 95 CE 10 15 FD 92 77 59 A8 0D 69 D2
-01B0 | 8B 90 43 05 98 62 F7 3B 17 14 11 6A 4D 48 08 29
-01C0 | C8 C4 20 3F 6F 9D DD 34 AE 9F 5F A9 5A 0B 1F 64
-01D0 | D6 34 AB 3B BF 18 EC 74 66 D5 24 DA D7 35 4D 2E
-01E0 | 95 7E 3B 30 92 06 A8 EA 67 41 92 F5 6B 5E A3 C6
-01F0 | 3B B5 F4 56 62 80 1D 42 26 1E D8 0F 40 12 59 25
-0200 | 11 8D 6A 4D 56 0D 24 30 C8 BA 3E 89 FF E5 3B 29
-0210 | 20 52 B9 49 26 4C C9 87 23 BF F1 50 DC 65 E5 FF
-0220 | 2A F6 06 3A 7B E5 20 50 D7 10 9C F3 31 01 6F 6B
-0230 | E2 E9 E8 FE 32 19 1C 4D B9 A5 B3 FB C1 6A B5 A2
-0240 | 87 F9 D2 5C 69 22 5B 4B 89 40 A0 D4 A3 E6 2D DB
-0250 | 67 8B B1 A4 42 FB 71 55 1D 6B 43 F7 49 AD 46 EB
-0260 | F5 3D 32 27 41 83 4B 5C 2E D3 EA 3A 14 A5 5C AC
-0270 | E0 21 4D 1C E5 25 CD C9 39 9B 1C A2 40 8C BF BC
-0280 | 70 83 63 2F BD 93 45 E5 DD 25 B7 A3
+0000 | 00 00 00 00 00 00 00 00 01 BC 6F FF 9D AB 38 67
+0010 | 78 02 00 00 5C 07 E8 D0 E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B 50 52 07 36 D6 05 6F 36
+0030 | F7 B5 AE 82 38 C4 61 93 FE 50 02 00 E3 A5 84 CC
+0040 | 81 10 CA 19 0F 8A C7 3B 79 7E ED 86 A9 B3 64 49
+0050 | 07 1D 89 C1 13 4D 44 30 37 9F DA F7 06 83 6E 21
+0060 | 58 C0 BA BA E3 44 00 B9 92 8D 6E 58 6F D9 47 23
+0070 | 4C 81 85 B0 CE 61 2E 7B 36 6E F3 B5 5D 11 D9 0D
+0080 | 37 7B 1E 25 C6 C9 BD D4 89 42 A6 ED 1F 39 1B 5F
+0090 | 03 02 BD 56 91 C3 06 08 18 83 56 BC 69 82 67 3F
+00A0 | BD E9 49 26 18 49 B1 D8 A8 B5 41 38 FE 2B 7C 69
+00B0 | D4 0C 5A 08 99 28 0E F5 12 E3 FA E6 A4 96 94 AA
+00C0 | 70 BF 13 33 A5 3F FA CD B6 D3 B8 38 C1 47 52 50
+00D0 | 5F 27 66 14 D1 1E F1 14 C8 33 AF 06 91 92 E8 5D
+00E0 | 53 74 8B F1 11 F6 D0 34 32 A9 EA E9 A9 BB 7A 3E
+00F0 | 63 90 4C 73 66 8D 7D 3A AC B3 9A C2 BF EB 36 DC
+0100 | 8B 3D 18 B7 B6 7B CB 5B 82 DA F5 15 0C A2 3C 07
+0110 | 7A AC 8E D2 70 3C BF D2 C9 37 6A AF CD 4B A4 D3
+0120 | 0E 5C 26 01 E7 6D 19 F4 81 5A B1 EA 1A 1E 8C 98
+0130 | 5B 5D E8 9E C4 D5 22 D6 15 1B D8 B1 58 B9 FE CF
+0140 | 53 2E DC B2 31 C8 43 FF 35 9A D5 48 78 9C F3 EE
+0150 | 1A 4D DC 66 5F 3D 9B D6 22 99 DF 0C 72 25 71 6D
+0160 | 60 B6 17 D1 EA 7C 0F 4C 1D 8A 56 43 87 5D 58 E2
+0170 | CB 12 42 27 C3 98 6F EA CD 0C 3F 0C CA 4C 1F 8F
+0180 | D6 B2 D4 97 2B E4 AA 1D B8 89 AC 9C 21 CF 26 3F
+0190 | CF 2A 65 BB F2 B7 20 AD 74 E1 90 EA D9 AB 72 56
+01A0 | 48 63 FE 75 47 46 FA 13 13 B1 93 D2 73 CF C4 F5
+01B0 | 57 C2 05 CB 7F 6F 22 7B ED 33 8B 42 72 7D 3B 9C
+01C0 | 77 DE 3B A9 A8 D5 43 E1 30 44 90 E8 56 B6 B8 FC
+01D0 | BE 7D 78 F5 73 8B 43 47 BA EE A2 8C CD BC BB 42
+01E0 | 8B 72 F4 35 47 47 50 73 DF 47 04 F1 89 39 03 52
+01F0 | C6 F1 95 4A 79 60 C5 89 D3 FA EF 15 A6 06 59 8F
+0200 | 43 18 6D 4D E2 AD 47 FD EE 57 C7 2C 90 97 72 D5
+0210 | E8 59 75 44 3B 54 C0 BE CD 7D EB 33 33 E7 78 3F
+0220 | 3D E6 83 E1 5E E7 D0 E4 3C AE 8D 98 67 9B CF 70
+0230 | D2 D5 5F F7 ED BE CA D8 4C 67 E6 5A 3F F1 16 23
+0240 | A5 14 68 A1 FB ED AD 11 F0 D5 07 64 F6 08 2E B7
+0250 | FE C4 E5 DB 3E 00 B4 68 5D 9D 49 13 27 2B EF 1B
+0260 | AB DC 16 04 A1 15 DF BC 0D F5 04 05 5F 2E E8 BA
+0270 | EF AF F2 85 DF 8D 6E AA 5E DC DB F9 2A 98 3B 5E
+0280 | 21 57 44 56 6C 75 9B 7D B4 0C 40 2E
Payload (de)serialization:
server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
@@ -464,7 +464,7 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
message_id
8, 8
-0180DDF709A93867
+01BC6FFF9DAB3867
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -482,19 +482,19 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
nonce
24, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
40, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
encrypted_answer
56, 596
-FE500200DB11E83912F451CCE9CCB5A4
E27195CE8D9C5E74E879AF4B9180400A
8369D0277E0AB8DF51B53AEC1C2C6ED2
D4DAD540FA7EE1B4B755A1E8BA3DBF75
4D816D46906BB54E26CD798D2A33CB3B
3CFD3223195FCDABD5743AB42ED42662
355038FE07A92B4A6021EDF2A70A865A
DFDD556A9323EE526B77529DCA6ECC60
21AB76B6B29B8D42323549CF73819655
87FFECC1B42343A690B04A4BFA53C3B3
BF6180AD85CBB472BA836070704F5407
A350CCE6E94376FEBE9D92F904D51E04
9A12F6634E0EA7752CB2AD5606701FCD
2ACF433A7A7820F6B94D44C0FB3D9DEF
73F6AD93E4A36C2FAA3E2240C82CE2A4
2D722128E689015DC95B4142CD09BA46
4D9EA679AA70860EA7BC9593153C6FE4
20832FA78C2CC4312FA6A81EBDBD6122
43B5271BB2EDCB2F64292890252EAEC0
F6E73C5DA0CFD8A220BBE2F65AC3CAE6
598295B54230CD85F3269A95FDFEE3AE
04C7FEAC1134BE518EC7BCAB9972B49A
58DBF38FD2FF60929E6CBB3A95CE1015
FD927759A80D69D28B9043059862F73B
1714116A4D480829C8C4203F6F9DDD34
AE9F5FA95A0B1F64D634AB3BBF18EC74
66D524DAD7354D2E957E3B309206A8EA
674192F56B5EA3C63BB5F45662801D42
261ED80F40125925118D6A4D560D2430
C8BA3E89FFE53B292052B949264CC987
23BFF150DC65E5FF2AF6063A7BE52050
D7109CF331016F6BE2E9E8FE32191C4D
B9A5B3FBC16AB5A287F9D25C69225B4B
8940A0D4A3E62DDB678BB1A442FB7155
1D6B43F749AD46EBF53D322741834B5C
2ED3EA3A14A55CACE0214D1CE525CDC9
399B1CA2408CBFBC7083632FBD9345E5
DD25B7A3
+FE500200E3A584CC8110CA190F8AC73B
797EED86A9B36449071D89C1134D4430
379FDAF706836E2158C0BABAE34400B9
928D6E586FD947234C8185B0CE612E7B
366EF3B55D11D90D377B1E25C6C9BDD4
8942A6ED1F391B5F0302BD5691C30608
188356BC6982673FBDE949261849B1D8
A8B54138FE2B7C69D40C5A0899280EF5
12E3FAE6A49694AA70BF1333A53FFACD
B6D3B838C14752505F276614D11EF114
C833AF069192E85D53748BF111F6D034
32A9EAE9A9BB7A3E63904C73668D7D3A
ACB39AC2BFEB36DC8B3D18B7B67BCB5B
82DAF5150CA23C077AAC8ED2703CBFD2
C9376AAFCD4BA4D30E5C2601E76D19F4
815AB1EA1A1E8C985B5DE89EC4D522D6
151BD8B158B9FECF532EDCB231C843FF
359AD548789CF3EE1A4DDC665F3D9BD6
2299DF0C7225716D60B617D1EA7C0F4C
1D8A5643875D58E2CB124227C3986FEA
CD0C3F0CCA4C1F8FD6B2D4972BE4AA1D
B889AC9C21CF263FCF2A65BBF2B720AD
74E190EAD9AB72564863FE754746FA13
13B193D273CFC4F557C205CB7F6F227B
ED338B42727D3B9C77DE3BA9A8D543E1
304490E856B6B8FCBE7D78F5738B4347
BAEEA28CCDBCBB428B72F43547475073
DF4704F189390352C6F1954A7960C589
D3FAEF15A606598F43186D4DE2AD47FD
EE57C72C909772D5E85975443B54C0BE
CD7DEB3333E7783F3DE683E15EE7D0E4
3CAE8D98679BCF70D2D55FF7EDBECAD8
4C67E65A3FF11623A51468A1FBEDAD11
F0D50764F6082EB7FEC4E5DB3E00B468
5D9D4913272BEF1BABDC1604A115DFBC
0DF504055F2EE8BAEFAFF285DF8D6EAA
5EDCDBF92A983B5E215744566C759B7D
B40C402E
See below
@@ -502,20 +502,20 @@ random_padding_bytes = 4FD6DF70DAC10A80FB882E175ED130769E47ACA62330CFA8098708C10
Decrypt encrypted_answer
using the reverse of the process specified in step 6 :
-encrypted_answer = DB11E83912F451CCE9CCB5A4E27195CE8D9C5E74E879AF4B9180400A8369D0277E0AB8DF51B53AEC1C2C6ED2D4DAD540FA7EE1B4B755A1E8BA3DBF754D816D46906BB54E26CD798D2A33CB3B3CFD3223195FCDABD5743AB42ED42662355038FE07A92B4A6021EDF2A70A865ADFDD556A9323EE526B77529DCA6ECC6021AB76B6B29B8D42323549CF7381965587FFECC1B42343A690B04A4BFA53C3B3BF6180AD85CBB472BA836070704F5407A350CCE6E94376FEBE9D92F904D51E049A12F6634E0EA7752CB2AD5606701FCD2ACF433A7A7820F6B94D44C0FB3D9DEF73F6AD93E4A36C2FAA3E2240C82CE2A42D722128E689015DC95B4142CD09BA464D9EA679AA70860EA7BC9593153C6FE420832FA78C2CC4312FA6A81EBDBD612243B5271BB2EDCB2F64292890252EAEC0F6E73C5DA0CFD8A220BBE2F65AC3CAE6598295B54230CD85F3269A95FDFEE3AE04C7FEAC1134BE518EC7BCAB9972B49A58DBF38FD2FF60929E6CBB3A95CE1015FD927759A80D69D28B9043059862F73B1714116A4D480829C8C4203F6F9DDD34AE9F5FA95A0B1F64D634AB3BBF18EC7466D524DAD7354D2E957E3B309206A8EA674192F56B5EA3C63BB5F45662801D42261ED80F40125925118D6A4D560D2430C8BA3E89FFE53B292052B949264CC98723BFF150DC65E5FF2AF6063A7BE52050D7109CF331016F6BE2E9E8FE32191C4DB9A5B3FBC16AB5A287F9D25C69225B4B8940A0D4A3E62DDB678BB1A442FB71551D6B43F749AD46EBF53D322741834B5C2ED3EA3A14A55CACE0214D1CE525CDC9399B1CA2408CBFBC7083632FBD9345E5DD25B7A3
-tmp_aes_key = 010C0C9B7A484D3A0D5BE8A9D860F7037247338A949243ABFD2598EA8BAFE4D1
-tmp_aes_iv = E9737E2AA80D0D0FC0161512F6069DF0654F7B84D8A2C4679359DF78C61C4CB1
+encrypted_answer = E3A584CC8110CA190F8AC73B797EED86A9B36449071D89C1134D4430379FDAF706836E2158C0BABAE34400B9928D6E586FD947234C8185B0CE612E7B366EF3B55D11D90D377B1E25C6C9BDD48942A6ED1F391B5F0302BD5691C30608188356BC6982673FBDE949261849B1D8A8B54138FE2B7C69D40C5A0899280EF512E3FAE6A49694AA70BF1333A53FFACDB6D3B838C14752505F276614D11EF114C833AF069192E85D53748BF111F6D03432A9EAE9A9BB7A3E63904C73668D7D3AACB39AC2BFEB36DC8B3D18B7B67BCB5B82DAF5150CA23C077AAC8ED2703CBFD2C9376AAFCD4BA4D30E5C2601E76D19F4815AB1EA1A1E8C985B5DE89EC4D522D6151BD8B158B9FECF532EDCB231C843FF359AD548789CF3EE1A4DDC665F3D9BD62299DF0C7225716D60B617D1EA7C0F4C1D8A5643875D58E2CB124227C3986FEACD0C3F0CCA4C1F8FD6B2D4972BE4AA1DB889AC9C21CF263FCF2A65BBF2B720AD74E190EAD9AB72564863FE754746FA1313B193D273CFC4F557C205CB7F6F227BED338B42727D3B9C77DE3BA9A8D543E1304490E856B6B8FCBE7D78F5738B4347BAEEA28CCDBCBB428B72F43547475073DF4704F189390352C6F1954A7960C589D3FAEF15A606598F43186D4DE2AD47FDEE57C72C909772D5E85975443B54C0BECD7DEB3333E7783F3DE683E15EE7D0E43CAE8D98679BCF70D2D55FF7EDBECAD84C67E65A3FF11623A51468A1FBEDAD11F0D50764F6082EB7FEC4E5DB3E00B4685D9D4913272BEF1BABDC1604A115DFBC0DF504055F2EE8BAEFAFF285DF8D6EAA5EDCDBF92A983B5E215744566C759B7DB40C402E
+tmp_aes_key = 56A62D764A5E8973B19859D80559EB24EA089A0ED17D7660973EACBAB5B455C2
+tmp_aes_iv = F1EE1C15FD64CF2E5E94EB7D322D30F65CC45E6E0E13F88E3D4EB4F2C7342A00
Yielding:
-answer_with_hash = 7FC0273CC2008BCABACC587CFFDEA36CC61A2195BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100793E8C3BC9C45F094D11A4277C747A11D65D3B6F5C97D8320D4BE76ABF41C4D8EFB57AFE6B0C1C7E7A5F073BA509FADE1E20DEFE69CBEC0864C94A9778B40FD57EEBBCEDA4E088AA20C71F5F289E8CC4D202DF73C621BBDFA750255F05518CAE0E58EE6EA7A0319A5B23CBDE0B146EABE42B7022AA71074D6E9164063ABA342920779D5D253FB48EB9B9BDA2A9EF56833829FE1FB199ACDC85C853D97FE9D0B69159A4826777C28AB3024D1C41F9FF53815ACB7E3105D3E21AAB984CC110498298E55BEDE751A3E7ECD357D884ACA32F6E2E0CA121FDD7792B9C3E9D19B685AEE66EA166BCED647F2BF6F036C9B6513B2D95BD6E411B46EC9F21916CD1259B5809A938674022F989DA20AE22
-answer = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED003000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100793E8C3BC9C45F094D11A4277C747A11D65D3B6F5C97D8320D4BE76ABF41C4D8EFB57AFE6B0C1C7E7A5F073BA509FADE1E20DEFE69CBEC0864C94A9778B40FD57EEBBCEDA4E088AA20C71F5F289E8CC4D202DF73C621BBDFA750255F05518CAE0E58EE6EA7A0319A5B23CBDE0B146EABE42B7022AA71074D6E9164063ABA342920779D5D253FB48EB9B9BDA2A9EF56833829FE1FB199ACDC85C853D97FE9D0B69159A4826777C28AB3024D1C41F9FF53815ACB7E3105D3E21AAB984CC110498298E55BEDE751A3E7ECD357D884ACA32F6E2E0CA121FDD7792B9C3E9D19B685AEE66EA166BCED647F2BF6F036C9B6513B2D95BD6E411B46EC9F21916CD1259B5809A938674022F989DA20AE22
+answer_with_hash = A4E385F1BD53C09C2E2B31009BF677B46A42FD57BA0D89B5E8FFD070C6560FC191A6695CBB3D696B50520736D6056F36F7B5AE8238C4619303000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100533958476D50770C106E1DAC83C192DA63B2E82CEB8B9FCE4BEB41D3005C68BA399B87F89C6FDDB7B6969C705F9B901AE5CA9C88AA770E3BFD5925A25B15551B176650E5C7AACCBC2F843682B045CFA98EB00D3C3EFA13E3B4BD3D5B2E800DE079B8215CC47F98ED62B62C6C5EEFC7BB7D212BE8356BFF7B68597D467AB4AFF0C4F470669598FEA8BDE594CAA0A3B7D949B983230EA53AD3744F38B4F3AD21366D461EF8B06526F4AEDA287D875C3532AD92F55940EF1E56C7FB5251A2D134C6ED9F857C18A1A13D17FDE9E62A2C1F7ED9F3600405C66C12C1D5418D2A4CAB59C0662C38C79CE728838A7A3FC7798A06797BDAEDC487CCED3088E7ADE98FC70F9DAB386727DB97A494109B39
+answer = BA0D89B5E8FFD070C6560FC191A6695CBB3D696B50520736D6056F36F7B5AE8238C4619303000000FE000100C71CAEB9C6B1C9048E6C522F70F13F73980D40238E3E21C14934D037563D930F48198A0AA7C14058229493D22530F4DBFA336F6E0AC925139543AED44CCE7C3720FD51F69458705AC68CD4FE6B6B13ABDC9746512969328454F18FAF8C595F642477FE96BB2A941D5BCD1D4AC8CC49880708FA9B378E3C4F3A9060BEE67CF9A4A4A695811051907E162753B56B0F6B410DBA74D8A84B2A14B3144E0EF1284754FD17ED950D5965B4B9DD46582DB1178D169C6BC465B0D6FF9CA3928FEF5B9AE4E418FC15E83EBEA0F87FA9FF5EED70050DED2849F47BF959D956850CE929851F0D8115F635B105EE2E4E15D04B2454BF6F4FADF034B10403119CD8E3B92FCC5BFE000100533958476D50770C106E1DAC83C192DA63B2E82CEB8B9FCE4BEB41D3005C68BA399B87F89C6FDDB7B6969C705F9B901AE5CA9C88AA770E3BFD5925A25B15551B176650E5C7AACCBC2F843682B045CFA98EB00D3C3EFA13E3B4BD3D5B2E800DE079B8215CC47F98ED62B62C6C5EEFC7BB7D212BE8356BFF7B68597D467AB4AFF0C4F470669598FEA8BDE594CAA0A3B7D949B983230EA53AD3744F38B4F3AD21366D461EF8B06526F4AEDA287D875C3532AD92F55940EF1E56C7FB5251A2D134C6ED9F857C18A1A13D17FDE9E62A2C1F7ED9F3600405C66C12C1D5418D2A4CAB59C0662C38C79CE728838A7A3FC7798A06797BDAEDC487CCED3088E7ADE98FC70F9DAB386727DB97A494109B39
Generated payload (excluding transport headers/trailers):
-0000 | BA 0D 89 B5 88 A0 0C B2 64 2E 0D CC D6 BD 55 3F
-0010 | 42 43 30 B4 8A 33 80 8D 1D 5B AE E2 7E 2D 08 4D
-0020 | AB 67 CE D0 03 00 00 00 FE 00 01 00 C7 1C AE B9
+0000 | BA 0D 89 B5 E8 FF D0 70 C6 56 0F C1 91 A6 69 5C
+0010 | BB 3D 69 6B 50 52 07 36 D6 05 6F 36 F7 B5 AE 82
+0020 | 38 C4 61 93 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 = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
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 | 79 3E 8C 3B C9 C4 5F 09 4D 11 A4 27 7C 74 7A 11
-0140 | D6 5D 3B 6F 5C 97 D8 32 0D 4B E7 6A BF 41 C4 D8
-0150 | EF B5 7A FE 6B 0C 1C 7E 7A 5F 07 3B A5 09 FA DE
-0160 | 1E 20 DE FE 69 CB EC 08 64 C9 4A 97 78 B4 0F D5
-0170 | 7E EB BC ED A4 E0 88 AA 20 C7 1F 5F 28 9E 8C C4
-0180 | D2 02 DF 73 C6 21 BB DF A7 50 25 5F 05 51 8C AE
-0190 | 0E 58 EE 6E A7 A0 31 9A 5B 23 CB DE 0B 14 6E AB
-01A0 | E4 2B 70 22 AA 71 07 4D 6E 91 64 06 3A BA 34 29
-01B0 | 20 77 9D 5D 25 3F B4 8E B9 B9 BD A2 A9 EF 56 83
-01C0 | 38 29 FE 1F B1 99 AC DC 85 C8 53 D9 7F E9 D0 B6
-01D0 | 91 59 A4 82 67 77 C2 8A B3 02 4D 1C 41 F9 FF 53
-01E0 | 81 5A CB 7E 31 05 D3 E2 1A AB 98 4C C1 10 49 82
-01F0 | 98 E5 5B ED E7 51 A3 E7 EC D3 57 D8 84 AC A3 2F
-0200 | 6E 2E 0C A1 21 FD D7 79 2B 9C 3E 9D 19 B6 85 AE
-0210 | E6 6E A1 66 BC ED 64 7F 2B F6 F0 36 C9 B6 51 3B
-0220 | 2D 95 BD 6E 41 1B 46 EC 9F 21 91 6C D1 25 9B 58
-0230 | 09 A9 38 67
+0130 | 53 39 58 47 6D 50 77 0C 10 6E 1D AC 83 C1 92 DA
+0140 | 63 B2 E8 2C EB 8B 9F CE 4B EB 41 D3 00 5C 68 BA
+0150 | 39 9B 87 F8 9C 6F DD B7 B6 96 9C 70 5F 9B 90 1A
+0160 | E5 CA 9C 88 AA 77 0E 3B FD 59 25 A2 5B 15 55 1B
+0170 | 17 66 50 E5 C7 AA CC BC 2F 84 36 82 B0 45 CF A9
+0180 | 8E B0 0D 3C 3E FA 13 E3 B4 BD 3D 5B 2E 80 0D E0
+0190 | 79 B8 21 5C C4 7F 98 ED 62 B6 2C 6C 5E EF C7 BB
+01A0 | 7D 21 2B E8 35 6B FF 7B 68 59 7D 46 7A B4 AF F0
+01B0 | C4 F4 70 66 95 98 FE A8 BD E5 94 CA A0 A3 B7 D9
+01C0 | 49 B9 83 23 0E A5 3A D3 74 4F 38 B4 F3 AD 21 36
+01D0 | 6D 46 1E F8 B0 65 26 F4 AE DA 28 7D 87 5C 35 32
+01E0 | AD 92 F5 59 40 EF 1E 56 C7 FB 52 51 A2 D1 34 C6
+01F0 | ED 9F 85 7C 18 A1 A1 3D 17 FD E9 E6 2A 2C 1F 7E
+0200 | D9 F3 60 04 05 C6 6C 12 C1 D5 41 8D 2A 4C AB 59
+0210 | C0 66 2C 38 C7 9C E7 28 83 8A 7A 3F C7 79 8A 06
+0220 | 79 7B DA ED C4 87 CC ED 30 88 E7 AD E9 8F C7 0F
+0230 | 9D AB 38 67
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 = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
nonce
4, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
20, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
@@ -594,13 +594,13 @@ answer = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
g_a
300, 260
-FE000100793E8C3BC9C45F094D11A427
7C747A11D65D3B6F5C97D8320D4BE76A
BF41C4D8EFB57AFE6B0C1C7E7A5F073B
A509FADE1E20DEFE69CBEC0864C94A97
78B40FD57EEBBCEDA4E088AA20C71F5F
289E8CC4D202DF73C621BBDFA750255F
05518CAE0E58EE6EA7A0319A5B23CBDE
0B146EABE42B7022AA71074D6E916406
3ABA342920779D5D253FB48EB9B9BDA2
A9EF56833829FE1FB199ACDC85C853D9
7FE9D0B69159A4826777C28AB3024D1C
41F9FF53815ACB7E3105D3E21AAB984C
C110498298E55BEDE751A3E7ECD357D8
84ACA32F6E2E0CA121FDD7792B9C3E9D
19B685AEE66EA166BCED647F2BF6F036
C9B6513B2D95BD6E411B46EC9F21916C
D1259B58
+FE000100533958476D50770C106E1DAC
83C192DA63B2E82CEB8B9FCE4BEB41D3
005C68BA399B87F89C6FDDB7B6969C70
5F9B901AE5CA9C88AA770E3BFD5925A2
5B15551B176650E5C7AACCBC2F843682
B045CFA98EB00D3C3EFA13E3B4BD3D5B
2E800DE079B8215CC47F98ED62B62C6C
5EEFC7BB7D212BE8356BFF7B68597D46
7AB4AFF0C4F470669598FEA8BDE594CA
A0A3B7D949B983230EA53AD3744F38B4
F3AD21366D461EF8B06526F4AEDA287D
875C3532AD92F55940EF1E56C7FB5251
A2D134C6ED9F857C18A1A13D17FDE9E6
2A2C1F7ED9F3600405C66C12C1D5418D
2A4CAB59C0662C38C79CE728838A7A3F
C7798A06797BDAEDC487CCED3088E7AD
E98FC70F
g_a
diffie-hellman parameter
server_time
560, 4
-09A93867
(1731766537 in decimal)
+9DAB3867
(1731767197 in decimal)
Server time
@@ -609,34 +609,34 @@ answer = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
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 = 8487CEEC95B08B349E56A2EACC775D5DB3AC7B0E231A6EFEB194B2305C10385F0DC79C589C5C38A446BB353DF4BBECFF96E2EDE7EEAC4384FBCD82CB8BC31C65FC38D69796691FDF314501CB010F486A677BB4638344DCC3A0A307F6A2F38AE1DF7B43D6BD00FF42121D15FE30B7FE307816771ECB9BCDF97E08CD0FFF783191B1FAEFECF533050252921FEA2D6DF31FFBBD62B5F836A07BCA342F2EE325D6D70706477D0E22234F25A427E561D2E276C9204E484A6F184C7462AB56DEB18A16EC4668EBCE28569275A36F59D05CD4D1D731531DD0B8633E87801DCAF5736E6BEE06C7A3AE7E47EAE3B53D35D4BB23EB1597048FFBC38A28F2B7E72D60147401
+b = 4628EDE8659332AC2458B5BFA148148FC59516410B705E471E97B4C39EFA850FA30691DE8167453A9B75212BC5B804F32201A7E31FAD54C6472AA60001B3C5186E37DFD8B3E96B8049993BCF03D818E9C60F3E49218B03C6A37E56618E149EE1AEA577304DC843F85DA6BEA079AEBE5622804A1BE5E28F2E8CB3CEC7ABC8DE17C99268898FFBA317465F6BB03E610356EA68245C88EA226B79A44F98327B2300B3CB4C4BB9CDAA704338641B3DE35936E81630A60A78711F7E7A3E5A1296389D05B5F2BF1D8EF8BFA7950CEB8E286C6AC4773CB72A550FA1C73B447D3B5D4D227520109258BC548EE2B44B06E251A39A24F56613EA775955A2BCDF0BF853D4C9
Then compute g_b = pow(g, b) mod dh_prime
-g_b = 6E9707456F57D1A5BA110E879B97A146952B760195EEE9B09A4416D13A60C4F3DC4F267EFB3EF6009D2E08B31E8097391583C3D63C9938D376D10A1934F2514F4C2938B7B76E3F59DA8C5B20FF08F1922A37808104CAE3DA3A395AF2EF5D4C1C9690BCE32066A1A082B88CFC5086F999AB7E847B4518EEFA8E6C2AB4E5988C93EC2EED9D264F3D297E7225921F87A70A7292F564E55F22C21116C3120ECA708B8171A690CE5E85676695669F581F702B8D99A42BBD927677AB6AEC82F714DB0C8096654171A913D91602D458F2E53BB2689F1D75BAECFAD5702447F679C2D326A67FD5A356E236018A4DC1A8315F5BD35ADDCA421A0DE3BDB4B55E2B8DA578E4
+g_b = 9624B1C1AA5BE4CC057636BCB57E6D8E739076FF622720BCA484A7B77EAEF63772FF22AE2EFBCACAE3B5E47824AB8DDF914AE4E0837076A94861DE2EBE89C208B7E7DBFBCD158801CABD16BB9C645BD37844415AC2BC2C34BF1825CBD1468F20C38E76CBE1DA8EC6EC8FF57F327E846D14932AD68933F34F18F4151BFC43E55FE50B5016F0B0870F4519AB73F0F94122AA41C1AB00C133870DA9A2A83ACA2F5EE45E02497DCA3FBEE53AC11CCBAF3447FA1CD816A07D82492FD67136FBD1C3C612594D9844C0F95520399149327A765E62BBD2A390EF3708360D94EC9F9DE3C7992D9FA6C4E325D2D419EDC4B260BE4AABE8506B3F978FFE3A4C50266F048D80
7.1) generation of encrypted_data
Generated payload (excluding transport headers/trailers):
-0000 | 54 B6 43 66 88 A0 0C B2 64 2E 0D CC D6 BD 55 3F
-0010 | 42 43 30 B4 8A 33 80 8D 1D 5B AE E2 7E 2D 08 4D
-0020 | AB 67 CE D0 00 00 00 00 00 00 00 00 FE 00 01 00
-0030 | 6E 97 07 45 6F 57 D1 A5 BA 11 0E 87 9B 97 A1 46
-0040 | 95 2B 76 01 95 EE E9 B0 9A 44 16 D1 3A 60 C4 F3
-0050 | DC 4F 26 7E FB 3E F6 00 9D 2E 08 B3 1E 80 97 39
-0060 | 15 83 C3 D6 3C 99 38 D3 76 D1 0A 19 34 F2 51 4F
-0070 | 4C 29 38 B7 B7 6E 3F 59 DA 8C 5B 20 FF 08 F1 92
-0080 | 2A 37 80 81 04 CA E3 DA 3A 39 5A F2 EF 5D 4C 1C
-0090 | 96 90 BC E3 20 66 A1 A0 82 B8 8C FC 50 86 F9 99
-00A0 | AB 7E 84 7B 45 18 EE FA 8E 6C 2A B4 E5 98 8C 93
-00B0 | EC 2E ED 9D 26 4F 3D 29 7E 72 25 92 1F 87 A7 0A
-00C0 | 72 92 F5 64 E5 5F 22 C2 11 16 C3 12 0E CA 70 8B
-00D0 | 81 71 A6 90 CE 5E 85 67 66 95 66 9F 58 1F 70 2B
-00E0 | 8D 99 A4 2B BD 92 76 77 AB 6A EC 82 F7 14 DB 0C
-00F0 | 80 96 65 41 71 A9 13 D9 16 02 D4 58 F2 E5 3B B2
-0100 | 68 9F 1D 75 BA EC FA D5 70 24 47 F6 79 C2 D3 26
-0110 | A6 7F D5 A3 56 E2 36 01 8A 4D C1 A8 31 5F 5B D3
-0120 | 5A DD CA 42 1A 0D E3 BD B4 B5 5E 2B 8D A5 78 E4
+0000 | 54 B6 43 66 E8 FF D0 70 C6 56 0F C1 91 A6 69 5C
+0010 | BB 3D 69 6B 50 52 07 36 D6 05 6F 36 F7 B5 AE 82
+0020 | 38 C4 61 93 00 00 00 00 00 00 00 00 FE 00 01 00
+0030 | 96 24 B1 C1 AA 5B E4 CC 05 76 36 BC B5 7E 6D 8E
+0040 | 73 90 76 FF 62 27 20 BC A4 84 A7 B7 7E AE F6 37
+0050 | 72 FF 22 AE 2E FB CA CA E3 B5 E4 78 24 AB 8D DF
+0060 | 91 4A E4 E0 83 70 76 A9 48 61 DE 2E BE 89 C2 08
+0070 | B7 E7 DB FB CD 15 88 01 CA BD 16 BB 9C 64 5B D3
+0080 | 78 44 41 5A C2 BC 2C 34 BF 18 25 CB D1 46 8F 20
+0090 | C3 8E 76 CB E1 DA 8E C6 EC 8F F5 7F 32 7E 84 6D
+00A0 | 14 93 2A D6 89 33 F3 4F 18 F4 15 1B FC 43 E5 5F
+00B0 | E5 0B 50 16 F0 B0 87 0F 45 19 AB 73 F0 F9 41 22
+00C0 | AA 41 C1 AB 00 C1 33 87 0D A9 A2 A8 3A CA 2F 5E
+00D0 | E4 5E 02 49 7D CA 3F BE E5 3A C1 1C CB AF 34 47
+00E0 | FA 1C D8 16 A0 7D 82 49 2F D6 71 36 FB D1 C3 C6
+00F0 | 12 59 4D 98 44 C0 F9 55 20 39 91 49 32 7A 76 5E
+0100 | 62 BB D2 A3 90 EF 37 08 36 0D 94 EC 9F 9D E3 C7
+0110 | 99 2D 9F A6 C4 E3 25 D2 D4 19 ED C4 B2 60 BE 4A
+0120 | AB E8 50 6B 3F 97 8F FE 3A 4C 50 26 6F 04 8D 80
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 = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
nonce
4, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
20, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
g_b
36, 260
-FE0001006E9707456F57D1A5BA110E87
9B97A146952B760195EEE9B09A4416D1
3A60C4F3DC4F267EFB3EF6009D2E08B3
1E8097391583C3D63C9938D376D10A19
34F2514F4C2938B7B76E3F59DA8C5B20
FF08F1922A37808104CAE3DA3A395AF2
EF5D4C1C9690BCE32066A1A082B88CFC
5086F999AB7E847B4518EEFA8E6C2AB4
E5988C93EC2EED9D264F3D297E722592
1F87A70A7292F564E55F22C21116C312
0ECA708B8171A690CE5E85676695669F
581F702B8D99A42BBD927677AB6AEC82
F714DB0C8096654171A913D91602D458
F2E53BB2689F1D75BAECFAD5702447F6
79C2D326A67FD5A356E236018A4DC1A8
315F5BD35ADDCA421A0DE3BDB4B55E2B
8DA578E4
+FE0001009624B1C1AA5BE4CC057636BC
B57E6D8E739076FF622720BCA484A7B7
7EAEF63772FF22AE2EFBCACAE3B5E478
24AB8DDF914AE4E0837076A94861DE2E
BE89C208B7E7DBFBCD158801CABD16BB
9C645BD37844415AC2BC2C34BF1825CB
D1468F20C38E76CBE1DA8EC6EC8FF57F
327E846D14932AD68933F34F18F4151B
FC43E55FE50B5016F0B0870F4519AB73
F0F94122AA41C1AB00C133870DA9A2A8
3ACA2F5EE45E02497DCA3FBEE53AC11C
CBAF3447FA1CD816A07D82492FD67136
FBD1C3C612594D9844C0F95520399149
327A765E62BBD2A390EF3708360D94EC
9F9DE3C7992D9FA6C4E325D2D419EDC4
B260BE4AABE8506B3F978FFE3A4C5026
6F048D80
Single-byte prefix denoting length, a 256-byte (2048-bit) string, and zero bytes of padding
@@ -684,47 +684,47 @@ answer = BA0D89B588A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED
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 = 54B6436688A00CB2642E0DCCD6BD553F424330B48A33808D1D5BAEE27E2D084DAB67CED00000000000000000FE0001006E9707456F57D1A5BA110E879B97A146952B760195EEE9B09A4416D13A60C4F3DC4F267EFB3EF6009D2E08B31E8097391583C3D63C9938D376D10A1934F2514F4C2938B7B76E3F59DA8C5B20FF08F1922A37808104CAE3DA3A395AF2EF5D4C1C9690BCE32066A1A082B88CFC5086F999AB7E847B4518EEFA8E6C2AB4E5988C93EC2EED9D264F3D297E7225921F87A70A7292F564E55F22C21116C3120ECA708B8171A690CE5E85676695669F581F702B8D99A42BBD927677AB6AEC82F714DB0C8096654171A913D91602D458F2E53BB2689F1D75BAECFAD5702447F679C2D326A67FD5A356E236018A4DC1A8315F5BD35ADDCA421A0DE3BDB4B55E2B8DA578E4
-padding = F06EBED4D1D4AB175BE9CC8E
-tmp_aes_key = 010C0C9B7A484D3A0D5BE8A9D860F7037247338A949243ABFD2598EA8BAFE4D1
-tmp_aes_iv = E9737E2AA80D0D0FC0161512F6069DF0654F7B84D8A2C4679359DF78C61C4CB1
+data = 54B64366E8FFD070C6560FC191A6695CBB3D696B50520736D6056F36F7B5AE8238C461930000000000000000FE0001009624B1C1AA5BE4CC057636BCB57E6D8E739076FF622720BCA484A7B77EAEF63772FF22AE2EFBCACAE3B5E47824AB8DDF914AE4E0837076A94861DE2EBE89C208B7E7DBFBCD158801CABD16BB9C645BD37844415AC2BC2C34BF1825CBD1468F20C38E76CBE1DA8EC6EC8FF57F327E846D14932AD68933F34F18F4151BFC43E55FE50B5016F0B0870F4519AB73F0F94122AA41C1AB00C133870DA9A2A83ACA2F5EE45E02497DCA3FBEE53AC11CCBAF3447FA1CD816A07D82492FD67136FBD1C3C612594D9844C0F95520399149327A765E62BBD2A390EF3708360D94EC9F9DE3C7992D9FA6C4E325D2D419EDC4B260BE4AABE8506B3F978FFE3A4C50266F048D80
+padding = 6BEB9B8D16F85CFA554D0342
+tmp_aes_key = 56A62D764A5E8973B19859D80559EB24EA089A0ED17D7660973EACBAB5B455C2
+tmp_aes_iv = F1EE1C15FD64CF2E5E94EB7D322D30F65CC45E6E0E13F88E3D4EB4F2C7342A00
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 = 6CA5FA6974FB55D595863B586A284FE5A15AD986F67F1C5A07491EBABBE64A244E45F46CAF47786FCCD17C3AC5CFD571BAF80F5E4986BB7BAF0AD66E82B1E6E9FA03E6D296F5F77BEB8BEB1A979B1517B5AF46E423F39E38628F06208E6CAD6D38B2C0279A84B7182300DBD2F934B243A78BB5508DDAC482868B2F8B06D8F098BA1BB156C5CB8BEE86EBE4403EAB6DDA387A55D101F1B29216C219ADEE29A637F69178C960B74CBC7D779319D0A660FA2C1855F55BD7D03E03C3E591CDD8174E2B147E15592009F1229098C58D639714D8F63A64F8E3CA699118D5C4472523F22ACE75017DC325A01B93BF983D787285AFD56D80D671677F8BAF3B4A62633FEC3EB4AB9FFC6B80358D7DF6420364BF04628C7CC4485D9A472741E6B88CE100C80B5DB173EBA4B44CD4574E7B052083021D64E8F1D142ECB6EB6255CA9739C6D3475550FF6E30A7D1E0B19A23FA2342DB
+encrypted_data = 52AA7D684C4D0330BE5ADCA8D8C6272F1AE969A9C988A2423E5D92E25F09EB94E1CE80A686B60CE3AF675E911119E0C38D00DADFB6EF3D39B4F3B576E6AC0F94664068BB5E346BCBEF1BEB5A981356CFFD6949EB06F11A58E7DA4505F9A2FB9E6F037CD04F1CDBED0C9CD822589922F97D27200492315B99446F36EFB501C6A4090D5EF5CD1195038C1C52E5E185C8BF67B4B81B0CC39247741770724055A005C86C4BA9715383B2E1DED85202D54792C888B318B6C6655A109AA5281CF8EEDD37744E914C789A1648B19B21B346565F226C2F15DF746DF3497FDFB5A91E179EF7A1EB61C1E371974F297414F4CC20A9161FFA9EDC7BB08CA219EB4F521120C27A5391130C5A0D90059179CBE19CADC2B6A988E49A93A01D938CBD55B2725D938556A78B0F12C48012E438EF38B7C5DDD9A1AB4E6A97084E917CCCFB67AC42764F8F81C366170735817A4737BAF0962E
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 F4 D4 09 00 09 A9 38 67
-0010 | 78 01 00 00 1F 5F 04 F5 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4 8A 33 80 8D 1D 5B AE E2
-0030 | 7E 2D 08 4D AB 67 CE D0 FE 50 01 00 6C A5 FA 69
-0040 | 74 FB 55 D5 95 86 3B 58 6A 28 4F E5 A1 5A D9 86
-0050 | F6 7F 1C 5A 07 49 1E BA BB E6 4A 24 4E 45 F4 6C
-0060 | AF 47 78 6F CC D1 7C 3A C5 CF D5 71 BA F8 0F 5E
-0070 | 49 86 BB 7B AF 0A D6 6E 82 B1 E6 E9 FA 03 E6 D2
-0080 | 96 F5 F7 7B EB 8B EB 1A 97 9B 15 17 B5 AF 46 E4
-0090 | 23 F3 9E 38 62 8F 06 20 8E 6C AD 6D 38 B2 C0 27
-00A0 | 9A 84 B7 18 23 00 DB D2 F9 34 B2 43 A7 8B B5 50
-00B0 | 8D DA C4 82 86 8B 2F 8B 06 D8 F0 98 BA 1B B1 56
-00C0 | C5 CB 8B EE 86 EB E4 40 3E AB 6D DA 38 7A 55 D1
-00D0 | 01 F1 B2 92 16 C2 19 AD EE 29 A6 37 F6 91 78 C9
-00E0 | 60 B7 4C BC 7D 77 93 19 D0 A6 60 FA 2C 18 55 F5
-00F0 | 5B D7 D0 3E 03 C3 E5 91 CD D8 17 4E 2B 14 7E 15
-0100 | 59 20 09 F1 22 90 98 C5 8D 63 97 14 D8 F6 3A 64
-0110 | F8 E3 CA 69 91 18 D5 C4 47 25 23 F2 2A CE 75 01
-0120 | 7D C3 25 A0 1B 93 BF 98 3D 78 72 85 AF D5 6D 80
-0130 | D6 71 67 7F 8B AF 3B 4A 62 63 3F EC 3E B4 AB 9F
-0140 | FC 6B 80 35 8D 7D F6 42 03 64 BF 04 62 8C 7C C4
-0150 | 48 5D 9A 47 27 41 E6 B8 8C E1 00 C8 0B 5D B1 73
-0160 | EB A4 B4 4C D4 57 4E 7B 05 20 83 02 1D 64 E8 F1
-0170 | D1 42 EC B6 EB 62 55 CA 97 39 C6 D3 47 55 50 FF
-0180 | 6E 30 A7 D1 E0 B1 9A 23 FA 23 42 DB
+0000 | 00 00 00 00 00 00 00 00 FC B7 0D 00 9D AB 38 67
+0010 | 78 01 00 00 1F 5F 04 F5 E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B 50 52 07 36 D6 05 6F 36
+0030 | F7 B5 AE 82 38 C4 61 93 FE 50 01 00 52 AA 7D 68
+0040 | 4C 4D 03 30 BE 5A DC A8 D8 C6 27 2F 1A E9 69 A9
+0050 | C9 88 A2 42 3E 5D 92 E2 5F 09 EB 94 E1 CE 80 A6
+0060 | 86 B6 0C E3 AF 67 5E 91 11 19 E0 C3 8D 00 DA DF
+0070 | B6 EF 3D 39 B4 F3 B5 76 E6 AC 0F 94 66 40 68 BB
+0080 | 5E 34 6B CB EF 1B EB 5A 98 13 56 CF FD 69 49 EB
+0090 | 06 F1 1A 58 E7 DA 45 05 F9 A2 FB 9E 6F 03 7C D0
+00A0 | 4F 1C DB ED 0C 9C D8 22 58 99 22 F9 7D 27 20 04
+00B0 | 92 31 5B 99 44 6F 36 EF B5 01 C6 A4 09 0D 5E F5
+00C0 | CD 11 95 03 8C 1C 52 E5 E1 85 C8 BF 67 B4 B8 1B
+00D0 | 0C C3 92 47 74 17 70 72 40 55 A0 05 C8 6C 4B A9
+00E0 | 71 53 83 B2 E1 DE D8 52 02 D5 47 92 C8 88 B3 18
+00F0 | B6 C6 65 5A 10 9A A5 28 1C F8 EE DD 37 74 4E 91
+0100 | 4C 78 9A 16 48 B1 9B 21 B3 46 56 5F 22 6C 2F 15
+0110 | DF 74 6D F3 49 7F DF B5 A9 1E 17 9E F7 A1 EB 61
+0120 | C1 E3 71 97 4F 29 74 14 F4 CC 20 A9 16 1F FA 9E
+0130 | DC 7B B0 8C A2 19 EB 4F 52 11 20 C2 7A 53 91 13
+0140 | 0C 5A 0D 90 05 91 79 CB E1 9C AD C2 B6 A9 88 E4
+0150 | 9A 93 A0 1D 93 8C BD 55 B2 72 5D 93 85 56 A7 8B
+0160 | 0F 12 C4 80 12 E4 38 EF 38 B7 C5 DD D9 A1 AB 4E
+0170 | 6A 97 08 4E 91 7C CC FB 67 AC 42 76 4F 8F 81 C3
+0180 | 66 17 07 35 81 7A 47 37 BA F0 96 2E
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
-F4D4090009A93867
+FCB70D009DAB3867
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
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
40, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
encrypted_data
56, 340
-FE5001006CA5FA6974FB55D595863B58
6A284FE5A15AD986F67F1C5A07491EBA
BBE64A244E45F46CAF47786FCCD17C3A
C5CFD571BAF80F5E4986BB7BAF0AD66E
82B1E6E9FA03E6D296F5F77BEB8BEB1A
979B1517B5AF46E423F39E38628F0620
8E6CAD6D38B2C0279A84B7182300DBD2
F934B243A78BB5508DDAC482868B2F8B
06D8F098BA1BB156C5CB8BEE86EBE440
3EAB6DDA387A55D101F1B29216C219AD
EE29A637F69178C960B74CBC7D779319
D0A660FA2C1855F55BD7D03E03C3E591
CDD8174E2B147E15592009F1229098C5
8D639714D8F63A64F8E3CA699118D5C4
472523F22ACE75017DC325A01B93BF98
3D787285AFD56D80D671677F8BAF3B4A
62633FEC3EB4AB9FFC6B80358D7DF642
0364BF04628C7CC4485D9A472741E6B8
8CE100C80B5DB173EBA4B44CD4574E7B
052083021D64E8F1D142ECB6EB6255CA
9739C6D3475550FF6E30A7D1E0B19A23
FA2342DB
+FE50010052AA7D684C4D0330BE5ADCA8
D8C6272F1AE969A9C988A2423E5D92E2
5F09EB94E1CE80A686B60CE3AF675E91
1119E0C38D00DADFB6EF3D39B4F3B576
E6AC0F94664068BB5E346BCBEF1BEB5A
981356CFFD6949EB06F11A58E7DA4505
F9A2FB9E6F037CD04F1CDBED0C9CD822
589922F97D27200492315B99446F36EF
B501C6A4090D5EF5CD1195038C1C52E5
E185C8BF67B4B81B0CC3924774177072
4055A005C86C4BA9715383B2E1DED852
02D54792C888B318B6C6655A109AA528
1CF8EEDD37744E914C789A1648B19B21
B346565F226C2F15DF746DF3497FDFB5
A91E179EF7A1EB61C1E371974F297414
F4CC20A9161FFA9EDC7BB08CA219EB4F
521120C27A5391130C5A0D90059179CB
E19CADC2B6A988E49A93A01D938CBD55
B2725D938556A78B0F12C48012E438EF
38B7C5DDD9A1AB4E6A97084E917CCCFB
67AC42764F8F81C366170735817A4737
BAF0962E
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 = BCEC8676D1BF9942E58451FB59B077B4E1CED8BEA189910E9C4759551612EE1EF1C33ED8DC685B5D2ADD46F4C04DD62A8884F0DA77FE8FA1FD973063F7535AA22D5BF85FAD0D6B856911272DAAE6E8ADA29E2679D2879696AA711F95A225C896DE07F72BF1342ED04F528943537F68C4E12AAEFC79A05BC1ACFB7DE4CCC9B694977D98ED4BDD7971B2CCED07B4F760366A5FAE69121DEB9A79A127B30A965E438831F731EEB0616EC5EB40158F669878E28F54482D859E458B8A3C0DEEA3B817A4236AE729A6A147379F7E98737D00E17BEC1DFF0896F9C11D18394F64F2548E877F7623D7845587FEA12F02FFE2479DBCCB688C2248E036CD0D74C82B956A25
+auth_key = 4437E1C81E2FC5AE12C81E8D81E658072CA6160D8FA0345D8EE2ED2A6E9892DEB3CD0DE8B44CC9D6DE9E5ED98A41BBD29BAE6CABC8CDA36C3D958E5D04E3A144724C4A5011D73E772E0ADEAE3AE0C2093050DDA19C2BB931BF896D3D584B5F443E114D8EAECED9C52EBD1B71306101E7ABBC98E9F48E6C30C3301E33E162B4CA16FF517A07B40BADB1D3D4F358AD759CD3A35EBACB599171A2C32F9AE5B7F86294733C39083E7156B9E12B511869CA9FB296A9AFE7F569DE8E4B97729B22C37DA7027DCAB354E41A10A45B1EDC91CA2982F2774108DAD91817D32EB1E1EA720E98D0F381D3C6275D7353C0CF121EFB1C7719F7ECFA948052071C2AECA2743578
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 6C 44 58 0B A9 38 67
-0010 | 34 00 00 00 34 F7 CB 3B 88 A0 0C B2 64 2E 0D CC
-0020 | D6 BD 55 3F 42 43 30 B4 8A 33 80 8D 1D 5B AE E2
-0030 | 7E 2D 08 4D AB 67 CE D0 EC 44 2B 71 0B 93 7F 95
-0040 | 1F 3F 2D 57 D0 B3 38 2E
+0000 | 00 00 00 00 00 00 00 00 01 10 4B 01 9F AB 38 67
+0010 | 34 00 00 00 34 F7 CB 3B E8 FF D0 70 C6 56 0F C1
+0020 | 91 A6 69 5C BB 3D 69 6B 50 52 07 36 D6 05 6F 36
+0030 | F7 B5 AE 82 38 C4 61 93 04 DE FD 1F 17 F3 6F CE
+0040 | 7E DD 37 3E B2 91 C6 2C
Payload (de)serialization:
dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
@@ -817,7 +817,7 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
message_id
8, 8
-016C44580BA93867
+01104B019FAB3867
Message ID generated as specified here » (unixtime() << 32) + (N*4)
@@ -835,19 +835,19 @@ encrypted_data := AES256_ige_encrypt (data_with_hash, tmp_aes_key, tmp_aes_iv);<
nonce
24, 16
-88A00CB2642E0DCCD6BD553F424330B4
+E8FFD070C6560FC191A6695CBB3D696B
Value generated by client in Step 1
server_nonce
40, 16
-8A33808D1D5BAEE27E2D084DAB67CED0
+50520736D6056F36F7B5AE8238C46193
Value received from server in Step 2
new_nonce_hash1
56, 16
-EC442B710B937F951F3F2D57D0B3382E
+04DEFD1F17F36FCE7EDD373EB291C62C
The 128 lower-order bits of SHA1 of the byte string derived from the new_nonce
string by adding a single byte with the value of 1, 2, or 3, and followed by another 8 bytes with auth_key_aux_hash
. Different values are required to prevent an intruder from changing server response dh_gen_ok into dh_gen_retry.
diff --git a/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html b/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
index 10d1565379..50c146d564 100644
--- a/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
+++ b/data/web/corefork.telegram.org/type/ChannelAdminLogEventAction.html
@@ -308,11 +308,11 @@
channelAdminLogEventActionToggleSignatureProfiles
-
+Channel signature profiles were enabled/disabled.
channelAdminLogEventActionParticipantSubExtend
-
+A paid subscriber has extended their Telegram Star subscription » .