Computer Security, Cryptography, Databases and Data Mining, CS 101 – Study Notes
offline

Difficulty: Introductory | Prerequisites: None (general computing literacy helpful)

Big Picture

Computer security and cryptography sit at the heart of how modern systems protect information. Databases and data mining, meanwhile, are the mechanisms through which large volumes of data are stored, retrieved and put to use. Together, these topics form the backbone of nearly every digital system you interact with, from online banking to search engines. You do not need prior coursework beyond basic computing literacy, but familiarity with binary number systems will help.

TL;DR

Computer security is the branch of CS concerned with defending systems against unauthorised access and tampering. Cryptography provides the mathematical tools (encryption, hashing, digital signatures) that make that defence possible. Databases organise large collections of data for efficient storage and retrieval, and data mining discovers patterns within those collections.


Key Terms

Computer security

The branch of computer science focused on protecting information from unauthorised access, disruption or modification, while keeping systems available and usable for their intended users.

In simple terms, it is the practice of keeping computers and data safe from attackers.

Cryptography

The science of writing and deciphering secret messages. Historically a manual art; in its modern form, a mathematical discipline dealing with secure communication over untrusted channels.

Think of it as the set of tools that let two people talk privately even when someone is listening.

Symmetric encryption

An encryption method where the same key is used to both encrypt and decrypt data.

In simple terms, sender and receiver share one secret key, like a single house key that locks and unlocks the same door.

Asymmetric encryption (public-key encryption)

An encryption method that uses a pair of keys: a public key (shared openly) and a private key (kept secret). Data encrypted with one can only be decrypted with the other.

Think of it as a mailbox: anyone can drop a letter in (public key), but only the owner has the key to open it (private key).

Digital signature

A cryptographic mechanism that lets the recipient verify the sender's identity and confirm the message has not been altered.

In simple terms, the electronic equivalent of a handwritten signature, but much harder to forge.

Cryptographic hash function

A function that takes input of any size and produces a fixed-size output (the "hash" or "digest"). It is designed to be one-way: easy to compute forward, infeasible to reverse.

Think of it as a fingerprint for data: a tiny change in the input produces a completely different hash.

Key-agreement protocol

A protocol that lets two parties establish a shared secret key over an insecure channel, without ever transmitting the key itself.

In simple terms, two people agree on a secret without saying it out loud.

Blockchain

A distributed, append-only ledger where each block contains a cryptographic hash of the previous block, forming a tamper-evident chain.

Think of it as a shared notebook that everyone can read and add to, but nobody can erase.

Zero-knowledge proof

A cryptographic protocol in which one party (the prover) can convince another (the verifier) that a statement is true without revealing any information beyond the truth of that statement.

In simple terms, proving you know a password without ever showing the password.

Database

An organised collection of data designed to be stored, managed and retrieved efficiently.

Think of it as a digital filing cabinet that can find any folder in milliseconds.

Database management system (DBMS)

Software that handles the creation, maintenance and querying of databases, using data models and query languages.

In simple terms, the software layer that sits between users and the raw data, handling all the organising and searching.

Data mining

The process of discovering patterns, correlations and anomalies in large datasets.

Think of it as sifting through a mountain of data to find the useful nuggets hiding inside.


Core Content: Computer Security and Cryptography

What computer security protects

  • Confidentiality: preventing unauthorised parties from reading data

  • Integrity: ensuring data has not been altered without detection

  • Availability: keeping systems accessible to legitimate users

These three goals are sometimes called the "CIA triad." A secure system balances all three rather than maximising one at the expense of the others.

Cryptography: historical vs. modern

  • Historical cryptography was primarily an art: substitution ciphers, transposition ciphers and manual code-breaking

  • Modern cryptography is a rigorous mathematical discipline focused on problems in secure communication, authentication and distributed computing

Core techniques in modern cryptography

  • Symmetric encryption: one shared key encrypts and decrypts (e.g. AES). Fast, but requires a secure way to share the key

  • Asymmetric encryption: a key pair (public + private). Solves the key-distribution problem but is computationally slower

  • Digital signatures: prove the sender's identity and that the message was not tampered with

  • Cryptographic hash functions: produce a fixed-length "fingerprint" of data. Used for integrity checks, password storage and blockchain construction

  • Key-agreement protocols: allow two parties to derive a shared key over an insecure channel (e.g. Diffie-Hellman)

  • Blockchain: a chain of cryptographically linked blocks forming an immutable distributed ledger

  • Zero-knowledge proofs: let one party prove knowledge of a secret without revealing it

  • Garbled circuits: enable secure multi-party computation, where two parties compute a function on their combined inputs without either seeing the other's input

Steganography (related concept)

Steganography is the practice of hiding a message inside another medium (an image, audio file, or text) so that its existence is concealed. It differs from encryption: encryption makes a message unreadable, while steganography makes it invisible.

Core Content: Databases and Data Mining

What a database does

A database is designed to organise, store and retrieve large quantities of data efficiently. Before digital databases, this was done with paper files and card catalogues. Digital databases use a database management system (DBMS) to insert, create, maintain and search data.

Key components

  • Data model: the logical structure that defines how data is organised (relational tables, document stores, key-value pairs, graphs)

  • Query language: the language used to interact with the database (SQL is the most widely known for relational databases)

  • Indexing: data structures that speed up searches at the cost of additional storage

Data mining

Data mining is the process of examining large datasets to discover patterns, correlations and anomalies. It sits at the intersection of statistics, machine learning and database technology.

Common tasks in data mining include classification (assigning items to categories), clustering (grouping similar items), association rule learning (finding items that frequently co-occur) and anomaly detection (flagging outliers).


Real-World Applications

  • Symmetric and asymmetric encryption underpin HTTPS, the protocol that secures virtually all web traffic. Every time your browser shows a padlock icon, a key-agreement protocol and certificate verification have run behind the scenes.

  • Cryptographic hash functions are how services store your password without keeping it in plain text: they store the hash, and when you log in, they hash your entry and compare.

  • Databases power everything from airline booking systems to social media platforms. Any application that stores user accounts, transactions or content relies on a DBMS.

  • Data mining drives product recommendations on streaming services, fraud detection in banking and early-warning systems in public health.


Common Misconceptions

  • Students often think encryption and hashing are the same thing. They are not. Encryption is reversible (you can decrypt with the right key); hashing is designed to be one-way.

  • Students sometimes assume symmetric encryption is obsolete because asymmetric encryption exists. In practice, most systems use both: asymmetric to exchange a key, then symmetric for the actual data (this is called hybrid encryption).

  • "A database is just a spreadsheet" is a common early misunderstanding. A DBMS handles concurrent access, enforces data integrity rules, supports complex queries and scales to millions of records, none of which a spreadsheet is designed to do.

  • Data mining does not mean "looking at data." It involves systematic, often automated statistical and machine-learning techniques applied to large datasets.


Why It Matters / Exam Flags

  • ⚠️ Know the difference between symmetric and asymmetric encryption, and be able to give an example of each

  • ⚠️ Be able to explain why hash functions are called "one-way" and give a use case (password storage, data integrity)

  • ⚠️ Understand the three goals of computer security: confidentiality, integrity, availability (the CIA triad)

  • ⚠️ Be able to define a DBMS and explain how it differs from a flat file or spreadsheet

  • ⚠️ Know what data mining is and be able to name at least two common tasks (classification, clustering, association, anomaly detection)


Quick Self-Test

  1. True or False: A cryptographic hash function can be reversed to recover the original input.

  1. Fill in the blank: The three goals of computer security are confidentiality, ________ and availability.

  1. True or False: Asymmetric encryption uses the same key for encryption and decryption.

  1. Fill in the blank: A ________ is software that handles the creation, maintenance and querying of databases.

  1. True or False: Data mining is the process of manually reading through datasets.

Answers: 1. False. 2. Integrity. 3. False (it uses a key pair). 4. Database management system (DBMS). 5. False (it uses automated statistical and ML techniques).


Practice Q&A

Q: What is the difference between symmetric and asymmetric encryption?

A: Symmetric encryption uses one shared key for both encryption and decryption. Asymmetric encryption uses a key pair: a public key to encrypt and a private key to decrypt (or vice versa for signing).

Q: Name three techniques studied in modern cryptography.

A: Any three of: symmetric encryption, asymmetric encryption, digital signatures, cryptographic hash functions, key-agreement protocols, blockchain, zero-knowledge proofs, garbled circuits.

Q: What is a DBMS, and what does it do?

A: A database management system is software that handles the creation, maintenance, querying and administration of databases. It provides tools to insert, update, delete and search data through a data model and query language.

Q: How does steganography differ from encryption?

A: Encryption makes a message unreadable without the correct key. Steganography hides the message inside another medium so that its existence is concealed. The two can be combined.

Q: Give two examples of data mining tasks.

A: Classification (assigning items to predefined categories) and clustering (grouping similar items without predefined labels). Other valid examples: association rule learning, anomaly detection.


Connections to Other Topics

Cryptography connects directly to the foundational CS discoveries covered in the companion notes: binary representation (Leibniz, Boole, Shannon) is what makes digital encryption possible in the first place. Databases connect to programming paradigms (also in the companion notes) because query languages like SQL borrow concepts from both declarative and imperative programming. Data mining overlaps with machine learning and statistics, courses you are likely to encounter later in the programme.


Related Terms / Search Tags

Computer security, information security, infosec, CIA triad, confidentiality integrity availability, cryptography, encryption, symmetric encryption, AES, asymmetric encryption, public-key cryptography, RSA, digital signature, hash function, SHA, MD5, key exchange, Diffie-Hellman, blockchain, distributed ledger, zero-knowledge proof, ZKP, garbled circuit, secure multi-party computation, steganography, database, DBMS, relational database, SQL, query language, data model, data mining, pattern recognition, classification, clustering, association rules, anomaly detection, CS 101, Arizona State University