Cryptography 101: A Detailed Tutorial on Ensuring Your Data Security

September 14, 2025 • 4 views • Tutorials 2 min read

The article offers a tutorial on cryptography, a vital tool in modern cybersecurity methods. It explains the basics of cryptography, its various types, and practical applications, highlighting its role in ensuring data integrity, confidentiality, and authenticity.

Table of Contents

Hello cyber enthusiasts! Today, we venture into the fascinating world of cryptography – an essential tool in modern cybersecurity practices. This tutorial will unravel the basics of cryptography, its types, and practical applications. So, let’s dive in!

Introduction to Cryptography

Cryptography, derived from the Greek words 'kryptos' and 'graphein', meaning 'hidden' and 'writing' respectively, is the practice and study of techniques to secure communication in the presence of adversaries. It involves creating written or generated codes that allow information to be kept secret. In cybersecurity, cryptography is used to protect data from theft or alteration, ensuring data integrity, confidentiality, and authenticity.

Types of Cryptography

Cryptography can be broadly divided into three types:

  1. Symmetric-key Cryptography: Both the sender and receiver share a single key to encrypt and decrypt the message. Example: DES (Data Encryption Standard), AES (Advanced Encryption Standard).

  2. Asymmetric-key Cryptography: Two keys are used; a public key known to everyone and a private key known only to the recipient of the message. Example: RSA (Rivest–Shamir–Adleman), DSA (Digital Signature Algorithm).

  3. Hash Functions: No key is used in this method. It is a one-way encryption and is primarily used to ensure data integrity. Example: SHA (Secure Hash Algorithms), MD5 (Message Digest Algorithm).

Practical Applications of Cryptography

Let's take a look at some practical examples on how to use cryptography.

Symmetric Key Cryptography: AES Encryption

In Python, you can use the PyCryptoDome library to perform AES encryption.

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

data = "This is a test message.".encode("utf-8")
key = get_random_bytes(16)
cipher = AES.new(key, AES.MODE_EAX)
ciphertext, tag = cipher.encrypt_and_digest(data)

print("Ciphertext:", ciphertext)
print("Tag:", tag)

The above code generates a random 16-byte key, creates a new AES cipher object, and then encrypts the data.

Asymmetric Key Cryptography: RSA Encryption

Again, Python's PyCryptoDome library can be used for RSA encryption.

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP

data = "This is a test message.".encode("utf-8")
keyPair = RSA.generate(3072)
pubKey = keyPair.publickey()
pubKeyPEM = pubKey.exportKey()

print("Public key: ", pubKeyPEM)

cipher = PKCS1_OAEP.new(pubKey)
encrypted = cipher.encrypt(data)

print("Encrypted data: ", encrypted)

This code generates a 3072-bit RSA key pair, exports the public key, and then encrypts the data using the public key.

Hash Functions: SHA256 Hash

In Python, you can use the hashlib library to create a SHA256 hash.

import hashlib

data = "This is a test message.".encode("utf-8")
hash_object = hashlib.sha256(data)
hex_dig = hash_object.hexdigest()

print("SHA256 Hash: ", hex_dig)

This code creates a new SHA256 hash object, hashes the data, and then prints the hexadecimal representation of the hash.

Conclusion

Cryptography is an essential part of cybersecurity. It helps protect sensitive information from unauthorized access and assures the recipient of the sender's identity. This tutorial provided a basic understanding of different types of cryptography and their practical uses. The journey of mastering cryptography is a long one, but understanding its basics is a good start towards improving your cybersecurity skills. Keep exploring, keep learning!