Difference between revisions of "Telegram (application)"

From SI410
Jump to: navigation, search
Line 24: Line 24:
 
===Messaging===
 
===Messaging===
 
Telegram supports messaging between users, groups of users, and channels, where one person can broadcast announcements one-way to a large audience. Moreover, users can send files up to 2 Gb in size, which is bigger than every other messaging app.<ref>https://www.businessinsider.com/what-is-telegram</ref>. Telegram's group chats support up to 200,000 members per chat, and users can mention users and pin messages <ref>https://telegram.org/tour/groups</ref>. Lastly, Telegram's channels are a one way method of broadcasting messages to large audiences. There is an unlimited amount of subscribers but only admins of the channel are allowed to post. Telegram also supports polls in groups and channels, where a poll creator can ask questions of other members in the channel or group (polls can either be a questionnaire, with no answer, or a quiz, with a correct answer).<ref>https://telegram.org/tour/channels</ref>
 
Telegram supports messaging between users, groups of users, and channels, where one person can broadcast announcements one-way to a large audience. Moreover, users can send files up to 2 Gb in size, which is bigger than every other messaging app.<ref>https://www.businessinsider.com/what-is-telegram</ref>. Telegram's group chats support up to 200,000 members per chat, and users can mention users and pin messages <ref>https://telegram.org/tour/groups</ref>. Lastly, Telegram's channels are a one way method of broadcasting messages to large audiences. There is an unlimited amount of subscribers but only admins of the channel are allowed to post. Telegram also supports polls in groups and channels, where a poll creator can ask questions of other members in the channel or group (polls can either be a questionnaire, with no answer, or a quiz, with a correct answer).<ref>https://telegram.org/tour/channels</ref>
 +
Telegram also supports secret chats between users, where messages are end-to-end encrypted and self destruct in a certain amount of time.
 
===Sign-up===
 
===Sign-up===
Telegram requires a working phone number and the mobile app on either android or iOS.<ref>https://www.businessinsider.com/how-to-make-a-telegram-account</ref> Telegram does not support registration on the desktop app.<ref>https://www.businessinsider.com/how-to-make-a-telegram-account</ref>
+
Telegram requires a working phone number and the mobile app on either android or iOS.<ref>https://www.businessinsider.com/how-to-make-a-telegram-account</ref> Telegram does not support registration on the desktop app. To register, a user must verify their phone number with Telegram, and can then add a first and last name and a profile picture.<ref>https://www.businessinsider.com/how-to-make-a-telegram-account</ref>
 
===Voice/Video calls===
 
===Voice/Video calls===
===Bots===
+
Voice calls were introduced in 2017 <ref>https://techcrunch.com/2017/03/30/telegram-call/</ref> and  video calls were added in 2020. Both aforementioned services are supported by end-to-end encryption.<ref>https://www.theverge.com/2021/6/26/22551652/telegram-adds-group-video-calling-chat#:~:text=Voice%20chats%20in%20any%20group,who%20join%20a%20voice%20chat.</ref> In addition, Telegram also supports group video calling, which was added in 2021 and is limited to 30 participants (there is an unlimited amount of participants for audio calls).<ref>https://www.theverge.com/2021/6/26/22551652/telegram-adds-group-video-calling-chat#:~:text=Voice%20chats%20in%20any%20group,who%20join%20a%20voice%20chat</ref>
 +
===Emojis===
 +
Telegram not only supports regular Emojis and reactions to posts, it also supports interactive Emojis, where the Emoji will vibrate both the sender and the receiver's phone upon tapping.
 +
 
 
==Design==
 
==Design==
===Encryption===
+
===Encryption for Messaging===
 +
Telegram uses their own encryption protocol (called MTProto) for messaging where messages in non secret chats are added with a server salt, a session id, the message sequence number, the message length, and the time. These are then embedded into the transfer protocol's payload (either TCP/HTTP or otherwise) before being sent to the server and then to the receiving client. With non secret chats, the server knows the decryption key and so can theoretically decrypt messages. <ref>https://core.telegram.org/mtproto/description</ref>
 +
 
 +
 
 +
With secret chats, the messages are end-to-end encrypted and can only be decrypted by the sender and receiver. On top of the MTProto encryption mentioned above, messages sent in secret mode are encrypted by the Diffie-Hellman protocol where only the receiver and sender have access to their corresponding private keys. <ref>https://core.telegram.org/api/end-to-end</ref>
 +
 
 +
===Encryption for Voice/Video calling===
 +
For voice and video calls, they are encrypted in a manner similar to messages where each side generates their own secret keys via the Diffie-Hellman protocol and their data packets are hashed by SHA256 before being sent to each other.
 +
 
 
===Servers===
 
===Servers===
==APIs===
+
Telegram's messaging servers are decentralized and based all over the world, being in certain locations for certain groups (London for Europe, Singapore for Asia and San Francisco for US). <ref>https://twitter.com/telegram/status/437273030856019969?lang=en</ref>
 +
 
 +
 
 +
Telegram uses their own encrypted CDN's which store files that are sent to it (and encrypted with AES-256). They rent these CDN's so that they are able to switch providers in case of negative government influence.
 +
 
 +
==APIs==
 +
Telegram offers an API to developers, firstly, the Bot API, where developers can leverage the API to create bots to send custom emojis or messages.<ref>https://core.telegram.org/bots</ref>. Their bot API is an http based API where developers can make requests using GET and POST requests to an http URL (https://api.telegram.org/bot123456). Bot developers can host a local bot API server where their requests will be able to download unlimited files. The second API available to developers is TDLib, the Telegram Database Library, where third party developers can build their own custom apps that run on the Telegram cloud, in effect being able to offer custom clients for Telegram. <ref>https://telegram.org/blog/tdlib</ref> The TDLib API natively supports Java and C/C++.
 +
 
 
==Sources of Profit==
 
==Sources of Profit==
 +
Until 2021, all of Telegram's services were free (and supported by the founder's personal funds from their successful venture VK). The founders plan on implementing non targeted advertising in the platform in order to pay their operating costs, who they estimate at a few hundred million dollars a year<ref>https://t.me/durov/142</ref>.
  
 
==Controversy==
 
==Controversy==
 +
===Initial Coin Offering===
  
 
==References==
 
==References==

Revision as of 08:28, 28 January 2022

Back • ↑Topics • ↑Categories
Telegram
Telegram-Logo.png
Telegram-ui.jpeg
Telegram Site
Type Chat Application
Launch Date August 14, 2013 [1]
Status Active
Product Line product
Platform Android, iOS, Windows, Mac, Linux
Website telegram.org

Telegram is an open source encrypted messaging app, and currently the fifth most used messenger type app in the world with over 500 million users [2] [3]. It can be accessed from Windows, iOS, Android, Linux, and from most web browsers[4]. The associated code with these clients is all open source [5][6][7] Telegram is famous for their secret chats, which are end-to-end encrypted, meaning that no intermediary, including Telegram itself, can access user chat logs[8]. Due to this feature, telegram has gained adoption among privacy conscious individuals due to its better privacy protections compared to competitors such as WhatsApp [9]. Still, Telegram is not without it's own controversies. A common complaint is that chats are not end to end encrypted by default and as such, Telegram's servers some chat data from users [10]

History

Telegram was developed by Paul and Nikolai Durov and was first launched on August 14, 2013 [11][12]. It was initially started as a research project for during the pair's tenure as founders of VK, Russia's largest social network before their ousting by pro-Kremlin investors [13]. The Durov's made Telegram as a response to Edward Snowden's leaking of the NSA's spy programs on the internet. Telegram was described as a privacy centric company where profit was not a priority[14]. In April 2018, Telegram was banned in Russia, but due it's open source nature, the ban was ineffective[15]. In 2020, Telegram was unbanned in Russia[16]. Due to its decentralized nature, Telegram does not disclose the location of their data centers or offices despite being registered as a British/American company. Similarly, co-founder Paul Durov has stated that he and a core team of four engineers develop Telegram from locations around the world, changing locations every 3-4 months.[17]

Features

Messaging

Telegram supports messaging between users, groups of users, and channels, where one person can broadcast announcements one-way to a large audience. Moreover, users can send files up to 2 Gb in size, which is bigger than every other messaging app.[18]. Telegram's group chats support up to 200,000 members per chat, and users can mention users and pin messages [19]. Lastly, Telegram's channels are a one way method of broadcasting messages to large audiences. There is an unlimited amount of subscribers but only admins of the channel are allowed to post. Telegram also supports polls in groups and channels, where a poll creator can ask questions of other members in the channel or group (polls can either be a questionnaire, with no answer, or a quiz, with a correct answer).[20] Telegram also supports secret chats between users, where messages are end-to-end encrypted and self destruct in a certain amount of time.

Sign-up

Telegram requires a working phone number and the mobile app on either android or iOS.[21] Telegram does not support registration on the desktop app. To register, a user must verify their phone number with Telegram, and can then add a first and last name and a profile picture.[22]

Voice/Video calls

Voice calls were introduced in 2017 [23] and video calls were added in 2020. Both aforementioned services are supported by end-to-end encryption.[24] In addition, Telegram also supports group video calling, which was added in 2021 and is limited to 30 participants (there is an unlimited amount of participants for audio calls).[25]

Emojis

Telegram not only supports regular Emojis and reactions to posts, it also supports interactive Emojis, where the Emoji will vibrate both the sender and the receiver's phone upon tapping.

Design

Encryption for Messaging

Telegram uses their own encryption protocol (called MTProto) for messaging where messages in non secret chats are added with a server salt, a session id, the message sequence number, the message length, and the time. These are then embedded into the transfer protocol's payload (either TCP/HTTP or otherwise) before being sent to the server and then to the receiving client. With non secret chats, the server knows the decryption key and so can theoretically decrypt messages. [26]


With secret chats, the messages are end-to-end encrypted and can only be decrypted by the sender and receiver. On top of the MTProto encryption mentioned above, messages sent in secret mode are encrypted by the Diffie-Hellman protocol where only the receiver and sender have access to their corresponding private keys. [27]

Encryption for Voice/Video calling

For voice and video calls, they are encrypted in a manner similar to messages where each side generates their own secret keys via the Diffie-Hellman protocol and their data packets are hashed by SHA256 before being sent to each other.

Servers

Telegram's messaging servers are decentralized and based all over the world, being in certain locations for certain groups (London for Europe, Singapore for Asia and San Francisco for US). [28]


Telegram uses their own encrypted CDN's which store files that are sent to it (and encrypted with AES-256). They rent these CDN's so that they are able to switch providers in case of negative government influence.

APIs

Telegram offers an API to developers, firstly, the Bot API, where developers can leverage the API to create bots to send custom emojis or messages.[29]. Their bot API is an http based API where developers can make requests using GET and POST requests to an http URL (https://api.telegram.org/bot123456). Bot developers can host a local bot API server where their requests will be able to download unlimited files. The second API available to developers is TDLib, the Telegram Database Library, where third party developers can build their own custom apps that run on the Telegram cloud, in effect being able to offer custom clients for Telegram. [30] The TDLib API natively supports Java and C/C++.

Sources of Profit

Until 2021, all of Telegram's services were free (and supported by the founder's personal funds from their successful venture VK). The founders plan on implementing non targeted advertising in the platform in order to pay their operating costs, who they estimate at a few hundred million dollars a year[31].

Controversy

Initial Coin Offering

References

  1. https://telegram.org/evolution
  2. https://www.statista.com/statistics/258749/most-popular-global-mobile-messenger-apps/
  3. Currently, Telegram boasts over 500 million active monthly users
  4. https://telegram.org/apps
  5. https://github.com/DrKLO/Telegram
  6. https://github.com/telegramdesktop/tdesktop
  7. https://github.com/TelegramMessenger/Telegram-iOS
  8. https://telegram.org/faq
  9. https://www.nytimes.com/2021/01/13/technology/telegram-signal-apps-big-tech.html
  10. https://www.forbes.com/sites/zakdoffman/2020/08/09/whatsapp-security-apple-iphone-google-android-apps-update-signal-telegram-encryption/?sh=26f62ccd64b3
  11. https://telegram.org/evolution
  12. https://telegram.org/faq#q-who-are-the-people-behind-telegram
  13. https://www.ft.com/content/21c5c7f2-20b1-11e5-ab0f-6bb9974f25d0
  14. https://techcrunch.com/2013/10/27/meet-telegram-a-secure-messaging-app-from-the-founders-of-vk-russias-largest-social-network/
  15. https://www.theverge.com/2020/6/29/21306691/telegram-russia-ban-evaded-washington-post-go-read-this
  16. https://www.theverge.com/2020/6/18/21295535/russia-telegram-ban-lifted-security
  17. https://www.ft.com/content/21c5c7f2-20b1-11e5-ab0f-6bb9974f25d0
  18. https://www.businessinsider.com/what-is-telegram
  19. https://telegram.org/tour/groups
  20. https://telegram.org/tour/channels
  21. https://www.businessinsider.com/how-to-make-a-telegram-account
  22. https://www.businessinsider.com/how-to-make-a-telegram-account
  23. https://techcrunch.com/2017/03/30/telegram-call/
  24. https://www.theverge.com/2021/6/26/22551652/telegram-adds-group-video-calling-chat#:~:text=Voice%20chats%20in%20any%20group,who%20join%20a%20voice%20chat.
  25. https://www.theverge.com/2021/6/26/22551652/telegram-adds-group-video-calling-chat#:~:text=Voice%20chats%20in%20any%20group,who%20join%20a%20voice%20chat
  26. https://core.telegram.org/mtproto/description
  27. https://core.telegram.org/api/end-to-end
  28. https://twitter.com/telegram/status/437273030856019969?lang=en
  29. https://core.telegram.org/bots
  30. https://telegram.org/blog/tdlib
  31. https://t.me/durov/142