DEV Community

Cover image for Excited About End-to-End?
ccaldwell11
ccaldwell11

Posted on • Updated on

Excited About End-to-End?

Introduction

In this day and age, technology can be observed any and everywhere no matter where you look. As the years progressed and people began integrating more and more tech into their daily lives, it was only a matter of time before privacy became a major concern as more threats made themselves apparent. With the increasing digitization of communication and information relay, making sure
that these potentially sensitive and more than likely private conversations and data transmissions remain private. This concern for the safety of one's information is what led us to the development of end-to-end encryption, a communication process with security as its top priority.

What is End-to-End Encryption?

End-to-end encryption, also referred to as E2EE, is a cryptography technique that ensures the security and privacy of digital communications from one recipient to another, or end-to-end. This means that any potentially sensitive information, such as files, messages, calls, contacts, passwords, or any other forms of info is encrypted on the sender's device and remains encrypted up until the point it reaches the recipient's device. Once the encrypted data has made it to its designated location, it is then decrypted and able to be viewed by the recipient.

Image description

How Does it Work?

E2EE utilizes public key encryption, which is the storage of cryptographic keys on the endpoints of the communication between senders and recipients. A public key is shared amongst those the sender wants to have access to be used for encryption and any messages sent with the encryption must be decrypted using a private key, also called a decryption key. A user's public key is used to encrypt a message to send to their desired recipient who was given access to the private key to be able to access the data being sent. This ensures that even telecommunication companies like WhatsApp and Telegram cannot observe what a user may be sending or discussing which is a topic of controversy for some.

/**
 * @fileoverview Base class for the implementation of a cryptographic algorithm.
 */

goog.provide('e2e.Algorithm');
goog.provide('e2e.AlgorithmImpl');

goog.forwardDeclare('e2e.cipher.Algorithm');
goog.forwardDeclare('e2e.signer.Algorithm');
goog.require('e2e.cipher.key');
goog.require('goog.asserts');
goog.require('goog.object');
goog.requireType('e2e.algorithm.WebCryptoKeyPair');


/**
 * @interface
 */
e2e.Algorithm = function() {};


/**
 * The algorithm being implemented.
 * @type {!e2e.signer.Algorithm|!e2e.cipher.Algorithm}
 */
e2e.Algorithm.prototype.algorithm;


/**
 * @type {e2e.cipher.key.Key|e2e.signer.key.Key|null}
 * @protected
 */
e2e.Algorithm.prototype.key;


/**
 * @type {e2e.algorithm.WebCryptoKeyPair}
 * @protected
 */
e2e.Algorithm.prototype.webCryptoKey;


/**
 * @type {number}
 */
e2e.Algorithm.prototype.keySize;


/**
 * Returns a copy of the key that can be modified.
 * @return {e2e.cipher.key.Key|e2e.signer.key.Key|null} The key or null if not
 *     yet set.
 */
e2e.Algorithm.prototype.getKey;


/**
 * Changes the key of the algorithm.
 * @param {!e2e.cipher.key.Key|!e2e.signer.key.Key} key The key.
 * @param {number=} opt_keySize The key size in bytes.
 */
e2e.Algorithm.prototype.setKey;
Enter fullscreen mode Exit fullscreen mode
Snippet provided by Google

Benefits of E2EE

End-to-end encryption offers many benefits that make it especially needed in today's modern society. With the increasing prevalence of digital communication (which will almost certainly persist) and the large amount of personal information being shared digitally that people would like to keep private, E2EE serves as a safeguard against prying eyes and other unauthorized access. This assurance of privacy is the main draw that brings users to E2EE, but this also cultivates a sense of confidence between the user and the software or application they may be using. The trust that is built from using such a promising tool in online interactions helps uphold the integrity of a vast amount of digital software and platforms.

Problems of E2EE

While end-to-end encryption is widely known for its amazing security that protects a user and any information they may be interacting with, it is understandably difficult to implement due to the challenge of endpoint definition between user devices. As mentioned earlier, there is a lot of controversy as well regarding how much encryption is put in place. Many believe it to be a dangerous resource for "everyday citizens" to have access to due to the possibility of it being used for immoral or illicit communications instead of innocent ones. Lastly, even though the contents of an encrypted relay remain encrypted from point A to point B, the metadata can still be observed. Metadata is descriptive information about a particular piece of data, files, or info such as date of creation and location to name a few examples.

Image description

Conclusion

In conclusion, end-to-end encryption is critical for protecting one's privacy or that of an organization. E2EE is a great tool for significantly reducing the chances of private information getting exposed, leaked, or stolen by ensuring that only authorized parties have access to sensitive information. Even with the potential risks that are associated with its access to most if not all parts of the population, E2EE remains a great resource and will continue to be as technology progresses further.

Top comments (0)