Cryptography Applications

1. Cryptography — Are you a Crypto Nerd?

Cryptography is no longer limited to the military and spies. This ancient art underpins modern life. It’s about encoding intelligible data, e.g. numbers, text and transforming them into something unreadable to anyone other than who the information is meant for.
As information super-highways are developed, cryptographic techniques are needed for privacy and authentication of digital data.
In this blog, we see the applications of Cryptography in real-world:
a. Homomorphic Cryptography
The term homomorphic encryption may seem esoteric, but it just means encryption which you can compute on. Homomorphic encryption differentiates itself by preserving the structure of the data. It encodes data in a mathematical object, and then encrypts in a way that doesn’t affect the contained information.
Let’s take for instance the above scenario with facebook’s autonomous chat agent. With the use of homomorphic encryption, FB can store all your chat conversations on premise, encrypted using your encryption key and perform operations on them. i.e. train a neural net to respond to conversations without disclosing any of the information in your conversations.

Homomorphic encryption is important because it allows consumers and enterprises to store their sensitive data in the cloud in encrypted form. The cloud can compute on the data in its encrypted form and then return encrypted predictions or encrypted analytics, all without ever decrypting the data or learning anything about the client’s sensitive information.
Security in Cloud Computing: The cloud service provider for cloud makes sure that the customer does not face any problem such as loss of data or data alteration
Private Use of Untrusted Web Servers: Homomorphic encryption preserves modular multiplication. Building encryption schemes for diverse types and their operations is crucial in attaining transparent end-to-end data privacy.
Protection of mobile agents: In protecting mobile agent against malicious host homomorphic encryption can be efficiently used where the encrypted mobile codes can be executed directly on different platforms without decryption.
Election schemes: In election schemes, the homomorphic property provides a tool to obtain the tally given the encrypted votes without decrypting the individual votes.
Watermarking and fingerprinting schemes: Digital watermarking and fingerprinting schemes embed additional information into digital data. The homomorphic property is used to add a mark to previously encrypted data.
Homomorphic Algorithm

The process begins with some plain text message, m. The goal is to perform some function f on it, like capitalizing the name.
That’s possible, but it would be safer to encrypt the message using enc before performing any functions on it so the person performing the function never learns plaintext.
So the message is encrypted to some ciphertext. Then, it is evaluated, or transformed, into another value using some other function, eg. f(x)=x+127, for example. The output is another completely encrypted message. This message can then be decrypted to plaintext.
The information needed to perform the enc function might be public. the decrypt function is private. That way, no attacker can steal the evaluated encryption enc(f(m)) and decrypt it for themselves. This is a foundation of RSA encryption.
Homomorphic Encryption Libraries
There are five open source homomorphic encryption libraries that I’ve heard good things about:
b. Time Stamping : A valuable future complement to Digital Signature/Authentication

Ever signed a cheque bill? So, you must be aware of the concept of signatures. They act as proof that you agreed to the document you signed and it is tied to that particular document and cannot be copy-pasted to other documents.
So, there are three steps involved in a digital signature:
- GenerateKeys: first we generate a pair of the public(pk) and secret keys(sk). SecretKey is used for the purpose of signing and the public key is used for the purpose of verification of signer.
(sk,pk):=generateKeys(keysize in bits)- Sign the message: We then sign the message using the secret key.
sig:=sign(sk,message)- Verification: We can now authenticate the sender.
isValid:=verify(pk,message,sig)==trueTime stamping is an increasingly valuable complement to digital signing practices, enabling organizations to record when a digital item — such as a message, document, transaction or piece of software — was signed. For some applications, the timing of a digital signature is critical, as in the case of stock trades, lottery ticket issuance and some legal proceedings.

Time stamping is an increasingly valuable complement to digital signing practices, enabling organizations to record when a digital item — such as a message, document, transaction or piece of software — was signed. For some applications, the timing of a digital signature is critical, as in the case of stock trades, lottery ticket issuance and some legal proceedings.
Time stamping is very similar to sending a registered letter through the U.S. mail but provides an additional level of proof. It can prove that a recipient received a specific document.
TSAs use Public Key Infrastructure (PKI) technology to apply timestamps. Here is a high level summary of the steps involved.
- The client application creates a hashed value (as a unique identifier of the data or file that needs to be timestamped) and sends it to the TSA.
- From now on, any change (even by a single bit of information) in the original file will require communication of changes with the TSA server.
- The TSA combines the hash and other information, including the authoritative time. The result is digitally signed with the TSA’s private key, creating a timestamp token which is sent back to the client. The timestamp token contains the information the client application will need to verify the timestamp later.
- The timestamp token is received by the client application and recorded within the document or code signature.
c. Full-Disk Encryption

Full disk encryption is basically the act of protecting all of the files residing on the hard drive of your machine. The main benefit is that full disk encryption keeps your data safe while your computer is off. Without a proper login by someone knowing the decryption key and/or passphrase, the data on your encrypted computer is just a bunch of gobbledygook.
The disk’s data is protected using symmetric cryptography with the key randomly generated when a disk’s encryption is first established. This key is itself encrypted in some way using a password or pass-phrase known (ideally) only to the user. Thereafter, in order to access the disk’s data, the user must supply the password to make the key available to the software. This must be done sometime after each operating system start-up before the encrypted data can be used.
Done in software, disk encryption typically operates at a level between all applications and most system programs and the low-level device drivers by “transparently” (from a user’s point of view) encrypting data after it is produced by a program but before it is physically written to the disk. Conversely it decrypts data immediately after being read but before it is presented to a program. Properly done, programs are unaware of these cryptographic operations.
Read the following guides for each OS. (Links Below)
- BitLocker Guide — Windows default
- FileVault Guide — Mac default
- VeraCrypt Guide — Works on anything
Conclusion
Ultimately, Cryptography will become increasingly important, not just for our messaging and communication needs, but to underwrite the Internet of Things, connected devices and driverless cars of the future.
It’s like snowboarding. It was unpopular to wear a helmet twenty years ago, but after a few high-profile accidents, people started to reconsider. Now, you would never think of hitting the slopes without one.

The same is true with business security, cryptography is the helmet — and your head is the data. As the number of stories of data breaches and hacked communications continues to grow, cryptography continues its journey from optional extra to absolute necessity.
References
- https://www.researchgate.net/publication/282783441_A_Brief_Overview_of_Homomorphic_Cryptosystem_and_Their_Applications/link/561c76bc08ae044edbb397a2/download
- https://brilliant.org/wiki/homomorphic-encryption/#:~:targetText=Homomorphic%20encryption%20is%20a%20cryptographic,to%20obtain%20the%20desired%20output.
- https://en.wikipedia.org/wiki/Disk_encryption_software
- https://en.wikipedia.org/wiki/Disk_encryption#:~:targetText=Disk%20encryption%20is%20a%20technology,a%20disk%20or%20disk%20volume.
