Difference between revisions of "Encryption"

From Glitchdata
Jump to navigation Jump to search
(References)
Line 9: Line 9:
  
  
==Types==
 
=== Symmetric key / Private key ===
 
 
In [[Symmetric-key algorithm|symmetric-key]] schemes,<ref>[http://iaktueller.de/Collatz.py Symmetric-key encryption software]</ref> the encryption and decryption keys are the same. Communicating parties must have the same key before they can achieve secure communication.
 
 
=== Public key ===
 
[[File:Public key encryption keys.png|thumb|Illustration of how encryption is used within servers [[Public key encryption]].]]
 
 
In [[public-key encryption]] schemes, the encryption key is published for anyone to use and encrypt messages. However, only the receiving party has access to the decryption key that enables messages to be read.<ref>Bellare, Mihir. "Public-Key Encryption in a Multi-user Setting: Security Proofs and Improvements." Springer Berlin Heidelberg, 2000. Page 1.</ref> Public-key encryption was first described in a secret document in 1973;<ref>{{cite web|url=http://www.gchq.gov.uk/history/pke.html|archiveurl=https://web.archive.org/web/20100519084635/http://www.gchq.gov.uk/history/pke.html|title=Public-Key Encryption - how GCHQ got there first!|publisher=gchq.gov.uk|archivedate=May 19, 2010}}</ref> before then all encryption schemes were symmetric-key (also called private-key).<ref name="Goldreich">[[Oded Goldreich|Goldreich, Oded.]] Foundations of Cryptography: Volume 2, Basic Applications. Vol. 2. Cambridge university press, 2004.</ref>{{rp|478}}
 
 
A publicly available public key encryption application called [[Pretty Good Privacy]] (PGP) was written in 1991 by [[Phil Zimmermann]], and distributed free of charge with source code; it was purchased by [[Symantec]] in 2010 and is regularly updated.<ref>{{cite web|url=http://www.computerworld.com/s/article/9176121/Symantec_buys_encryption_specialist_PGP_for_300M |title=Symantec buys encryption specialist PGP for $300M |publisher=Computerworld |date=2010-04-29 |accessdate=2010-04-29}}</ref>
 
 
===Homomorphic Encryption===
 
It is a method of performing calculations on encrypted data without decrypting them first. This offers a much-needed leeway to make use of the blockchain technology on an as-is basis. By using homomorphic encryption techniques to store data over the blockchain, a perfect balance can be created. There won’t be any significant changes in the blockchain properties. Meaning, it will still be a public blockchain. However, the data on the blockchain will be encrypted, taking care of the privacy concerns associated with public blockchains.
 
 
The use of homomorphic encryption technique will not only offer privacy protection, it will also allow ready access to encrypted data over public blockchain for auditing and other purposes. In order words, the use of homomorphic encryption to store data on public blockchain will offer the best of both public and private blockchains in one single package.
 
 
Private blockchains are still in the exploratory phase, where companies like R3 and Linux Foundation’s Hyperledger project are working on. R3 recently announced the launch of their private distributed ledger for the banking consortium called Corda. Corda is built specifically for the banking and financial sector. It is still undergoing trials.
 
 
[[Ethereum]] smart contracts using homomorphic encryption can offer similar features and greater control while keeping all the goodness of Ethereum intact.
 
 
One of the use cases of homomorphic encryption on the blockchain, as explained by Kobi Gurkan from Shield128 blockchain security platform, takes an Ethereum smart contract for managing employee expenses. In this use case, employees who do not want their peers to know about their expenses can encrypt the expense details and send it to a smart contract. The encrypted expense will then be added to the total expenses amount. In the end, when the accounts department of the company wants to analyze the expenditure can decrypt the final contract locally to get a detailed breakdown of the total expenses. It is as good as entering the details on a public ledger, but only the final authority will get to see the details. rest of the users who have access to the contract to add details will only see encrypted entries.
 
 
Ethereum and blockchain technology offers endless possibilities, with multiple ways to achieve a single goal. It is up to the developers to decide how they want to pursue it.
 
  
 
== See also ==
 
== See also ==

Revision as of 00:51, 12 June 2019

In cryptography, encryption is the process of encoding a message or information in such a way that only authorized parties can access it. Encryption does not of itself prevent interference, but denies the intelligible content to a would-be interceptor. In an encryption scheme, the intended information or message, referred to as plaintext, is encrypted using an encryption algorithm, generating ciphertext that can only be read if decrypted. For technical reasons, an encryption scheme usually uses a pseudo-random encryption key generated by an algorithm. It is in principle 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.



See also

Template:Portal

Further reading

Template:Refbegin

Template:Refend