Encryption

Encryption is another important topic that is related to computer programming, a topic that I don't know a lot about, so I am going to try to learn more about it.

Date Created:

Refences



Definitions


  • Cryptography
    • Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior.
  • Pseudo-random
    • A pseudorandom sequence of numbers is one that appears to be statistically random, despite having been produced by a completely deterministic and repeatable process. Simply put, the problem is that many of the sources of randomness available to humans (such as rolling dice) rely on physical processes not readily available to computer programs.
      • A numeric sequence is said to be statistically random when it contains no recognizable patterns or regularities; sequences such as the results of an ideal dice roll or the digits of exhibit statistic randomness.
      • In mathematics, computer science, and physics, a deterministic system is a system in which no randomness is involved in the development of future states of the system. A deterministic model will this always produce the same output from a given starting condition or initial state.
  • eavesdropping attacks
    • Network eavesdropping, also known ad eavesdropping attack, sniffing attack, or snooping attack, is a method that retrieves user information through the internet. This attack happens on electronic devices like computers and smartphones. This network attack happens under the usage of unsecured networks, such as public WiFi connections or shared electronic devices. Eavesdropping attacks through the network is considered one of the most urgent threats in industries that rely on collecting and storing data. Internet users use eavesdropping via the internet to improve information security.
  • crypto-shedding
    • Crypto-shedding is the practice of "deleting" data by deliberately deleting or overwriting the encryption keys. This requires that the data have been encrypted. Data may be considered to exist in three states: data at rest, data in transit, and data in use.
  • Quantum Computing
    • A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing leverages this behavior using specialized hardware.



Notes


In cryptography, encryption is the process for transforming (more specifically, encoding) information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Despite its goal, encryption does not prevent interference but denies the intelligible content to a would-be interceptor.
  • For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is possible to decrypt the message without possessing the key, but, for a well-designed encryption scheme, considerable computational resources and skills are required.
  • An authorized recipient can easily decrypt the message with the key provided by the originator to recipients but not to unauthorized users.
  • Modern encryption schemes use the concepts of public-key and symmetric-key. Modern encryption techniques ensure security because modern computers are inefficient at cracking the encryption.


History


  • One of the earliest forms of encryption is symbol replacement found in ancient Egypt (~2000 BC).
    • Symbol replacement encryption is non-standard, which means that the symbols require a cipher or key to understand.
  • One of the most famous military encryption developments was the Caesar Cipher, which was a system in which a letter in normal text is shifted down a fixed number of positions down the alphabet to get the encoded letter.

  • The polyalphabetic cipher extended the lifespan of the Caesar Cipher, which could have been cracked by frequency analysis.


Thomas Jefferson theorized a cipher to encode and decode messages in order to provide a more secure way of military correspondence. The cipher, known as the Cipher Wheel or Jefferson disk, was theorized as a spool that could jumble English message up to 36 characters. The message could be decrypted by plugging in the jumbled message to a receiver with an identical cipher.
  • A similar device was in use by the military up to 1942.
  • In WW2, the axis powers used the Enigma Machine, which is similar to the Jefferson disk, except for the fact that the cipher used to jumble the letters would change every day.
  • Encryption is used today in the transfer of communication over the Internet for security and commerce. As computing power continues to increase, computer encryption is constantly evolving to prevent eavesdropping attacks.
  • Modern encryption standards use key sizes like 256 bits. Cipher suites utilizing a 128-bit or higher key, like AES, will not be brute-forced dur to the total amount of keys of 3.4028237e+38 possibilities.


Encryption in Cryptography


  • Encryption serves as a mechanism to ensure confidentiality. The process of encrypting and decrypting messages involves keys. Many complex cryptographic algorithms often use simple modular arithmetic in their implementations.

Types

  • Symmetric-Key Schemes
    • The encryption and decryption keys are the same. Communicating parties must have the same key in order to achieve secure communication.
    • The German Enigma machine utilized a new symmetric-key each day for encoding and decoding messages.
  • Public-Key Encryption
    • The encryption key is published for anyone to use and encrypt messages.
    • Only the receiving party has access to the decryption key that enables messages to be read.
    • This method became known as the Diffie-Hellman key exchange.
    • RSA (Rivest-Shamir-Adleman) is another notable public key cryptosystem. It is still used today for applications involving digital signatures. Using number theory, the RSA algorithm, selects two prime numbers, which help generate bot the encryption and decryption keys.


Uses


Encryption has long been commonly used by militaries and governments to facilitate secret communication. It is now commonly used in protecting information with many kinds of civilian systems.
  • Encryption can be used to protect data at rest, such as information stored on computers and storage drives.
  • Encryption is also used to protect data in transit.
  • Encryption can be used for data erasure. Conventional methods of deleting data from storage devices involve overwriting data with zeros, 1s, or some pattern, but cryptography, in a method called crypto-shedding, makes this process almost instantaneous.

Limitations

  • The length of encryption key is an indicator of the strength of the encryption method.
  • Quantum computing utilizes properties of quantum mechanics in order to process large amounts of data simultaneously. This computing power presents a challenge to today's encryption technology.
    • While quantum computing could be a threat to encryption security in the future, quantum computing as it currently stands is still very limited.
    • Furthermore, quantum computing advancements will be utilized in encryption as well.
    • The NSA is currently looking into this.


The Debate Around Encryption


The question balancing the need for national security with the right to privacy has been debated for years, since encryption has become critical in today's digital society. The modern encryption debate started around the 90s when the US government tried to ban cryptography because, according to them, it would threaten national security.


Insert Math Markup

ESC
About Inserting Math Content
Display Style:

Embed News Content

ESC
About Embedding News Content

Embed Youtube Video

ESC
Embedding Youtube Videos

Embed TikTok Video

ESC
Embedding TikTok Videos

Embed X Post

ESC
Embedding X Posts

Embed Instagram Post

ESC
Embedding Instagram Posts

Insert Details Element

ESC

Example Output:

Summary Title
You will be able to insert content here after confirming the title of the <details> element.

Insert Table

ESC
Customization
Align:
Preview:

Insert Horizontal Rule

#000000

Preview:


Insert Chart

ESC

View Content At Different Sizes

ESC

Edit Style of Block Nodes

ESC

Edit the background color, default text color, margin, padding, and border of block nodes. Editable block nodes include paragraphs, headers, and lists.

#ffffff
#000000

Edit Selected Cells

Change the background color, vertical align, and borders of the cells in the current selection.

#ffffff
Vertical Align:
Border
#000000
Border Style:

Edit Table

ESC
Customization:
Align:

Upload Lexical State

ESC

Upload a .lexical file. If the file type matches the type of the current editor, then a preview will be shown below the file input.

Upload 3D Object

ESC

Upload Jupyter Notebook

ESC

Upload a Jupyter notebook and embed the resulting HTML in the text editor.

Insert Custom HTML

ESC

Edit Image Background Color

ESC
#ffffff

Insert Columns Layout

ESC
Column Type:

Select Code Language

ESC
Select Coding Language