1.3 Exchanging data Flashcards
What is Asymmetric encryption?
An encryption technique where a public key available to everyone is used to encrypt the data and the data is decrypted by the paired private key known only by the recipient
What is dictionary coding?
A type of lossless compression where text is searched for in entries that match the entries in a dictionary. Entries are substituted by a unique code which can then be translated
What is hashing?
A one-way transformation of data into an abbreviated form called a hash value. The hash value is used to validate login credentials like passwords or pins without revealing the original data to hackers
What is lossless compression?
A compression algorithm that retains all the data in the file by only storing the instructions needed to reconstruct the original file. No data is lost
What is lossy compression?
A compression algorithm that removes non-essential data from a file leading to a noticeable decrease in accuracy of data. Data is lost and non-recoverable
What is run-length encoding?
A type of lossless compression where repeated occurrences of the same data (like several pixels of the same colour in an image) are stored as single data values with their counts.
What is symmetric encryption?
An encryption technique where the same key is used to encrypt and decrypt data. A copy of the key must be transferred between both parties
What is atomicity?
All transactions should either succeed or fail and never only be partially processed
What is consistency?
Each transaction must obey the defined validations rules of the database to maintain referential integrity
What is durability?
Once a transaction has begun, it must be completed under all circumstances not lost under power loss.
guarantees that once the transaction completes and changes are written to the database, they are persisted. This ensures that data within the system will persist even in the case of system failures like crashes or power outages.
What is entity-relationship modelling?
A method of abstractly describing the data tables and the relationship between them visually. They can be used to reduce redundancy and construct a relational database
1NF
A table with no repeating attributes. The intersection of each record and attribute produces exactly one value
Flat file database?
A database where a single table data structure is used to store all of the data
Foreign key
A linking attribute that joins two table in a relational database by being a primary key in one and a foreign key in another
What is indexing?
The process of creating an index of primary keys such that the location of any record can be retrieved given its primary key
What is isolation?
No transaction should overwrite other transactions that are simultaneously occurring. The same results must be obtained if transactions are concurrently or sequentially processed
What is normalisation
The formal process of optimally designing data tables by reducing data redundancy and repetition by converting them into normal forms
What is a primary key?
A unique identifier that identifies each RECORD in a table
What is record locking?
A technique used to prevent simultaneous access to data in a database by locking a record when it is being edited or updated. Otherwise inconsistencies may arise in the database
What is redundancy?
The unnecessary repetition of a field in multiple tables. Databases should have redundancy in the form of identical copies if part of the database gets lost and needs to be recovered
What is referential integrity
The idea of keeping a database consistent by ensuring that any changes made to data or relationships associated with a table are accounted for in all the linked tables
What is a relational database?
A database where separate tables are made for each entity and relationships between entities are represented by foreign keys
What is a secondary key?
A key that can be used as an alternative index to access or sort records in the table in a quicker but less accurate way
2NF
1NF needs to be completed and a table that has data that repeats across multiple records removed and put into a new table with appropriate relationships ( no partial dependencies)
3NF
2NF needs to be completed where all attributes that are not the primary key are fully dependant on the primary key (no non-key dependencies)
What is transaction processing?
The idea of making sure that any logical operation or change in state of a database (transaction) conforms to ACID
What is ACID
Atomicity, consistency, isolation, durability
What is circuit switching?
A method for sending data between two nodes on a networks by creating a dedicated communication channel first. All data follows this path for the duration of communication.
What is a client-server network?
A type of network organisation where networked computers (clients) connect to one or more powerful central computers (servers) that handles service requests and has resources.
What is a domain name system?
A hierarchical naming system that maps human-readable domain names to IP addresses that locate and identify resources on a network
What is encryption?
The process of converting the original data (plaintext) into a form which cannot be understood by unauthorised users (cipher text) using an encryption algorithm
What are firewalls?
A security checkpoint application that monitors incoming and outgoing network traffic, designed to prevent external users from gaining unauthorised access between two networks
Local area networks
A network connecting a group of computing devices on a single geographical site
Packet switching
A method for sending data over a network by breaking data into several data packets which are sent independently and then reassembled once they all reach their destination
Peer to peer network
A type of network organisation where networked computers are connected to each other and share resources and workloads without a central server
Protocol layering
A technique the simplifies network design by dividing it into its functional layers and assigning protocols to each layer to complete tasks and communicate with adjacent layers
What are proxies?
A server application that intercepts all data packets entering and leaving a network to hide the true addresses of the source. Also restrict access to data and isolate the network from external networks
TCP/IP stack
Networking protocols that allow networked computers to communicate consisting of 4 connected layers. All incoming packets are passed through these layers
Wide area networks
A network connecting a group of computing devices over a large geographical area typically with the help of third party carriers
What does CSS stand for?
Cascading style sheets
CSS
A style language used to define the layout, design and presentation of a webpage written in a markup language
What is client-side processing
The data processing and operations performed by the clienton the clkienbts local computer
What resources are used for client-side processing
The user’s local computer resources
What does HTML stand for?
HyperText Markup Language
HTML
A mark-up language used to write the contents of the webpages on the world wide web
What is JavaScript?
A interpreted, object oriented programming language used to create interactive elements within web browsers
Why is JavaScript used?
To add functionality to dynamic web pages
PageRank algorithm
A link analysis algorithm to rank web pages. Assesses number and quality of inbounded links to a page
recalculates pagerank scores each time it crawls the web and rebuilds its index
Search engine indexing
A method of collecting, parsing and storing data from websites to facilitate fast and accurate information retrieval using an index of webpages
Server side processing
The data processing and operations performed by the web server. Data sent from the clients browser to the web server for secure processing, output is sent back to client
AAAAAABBBBBCCC in RLE
A6B5C3
What also has to be stored when using dictionary compression
The dictionary created
What is the process of the sender and receiver sharing the same private key in symmetric encryption?
Key exchange
What is the key used for in symmetric encryption?
Encrypting and decrypting the data
Why does the private key have to be kept secret in symmetric encryption?
As if the key is intercepted then any communications sent can be intercepted and decrypted using the key
How many keys are used for asymmetric encryption?
two
What are the two keys used in asymmetric encryption?
Public and private key, private key has to be kept secret
What are the two keys together called in asymmetric encryption and what type of relation do they have
key pair and they are mathematically related
What are messaged encrypted and decrypted with in asymmetric encryption?
The recipients public key and decrypted with the recipients private key which only the recipient should have
What happens if someone wants to send you a message?
they must first find your public key. There are a
variety of websites which can do this for you. The message is then encrypted with your
public key meaning that only you can decrypt it
How can you prove a message has been sent by you?
you can encrypt it using your
private key. This means that anyone can decrypt it (as your public key is available to
anyone) and by doing so, can guarantee that you encrypted the message, as only you
have access to the private key. This forms the basis of a system called digital signatures.
What is the process of hashing?
an input (called a key) is turned into a
fixed size value (called a hash). There are a vast number of algorithms, called hash
functions, which do this
Describe a picture of hashing
Difference between encryption and hashing
Unlike encryption, the output of a hash function can’t be reversed to form the key. This
quality makes hashing useful for storing passwords.
Why is hashing good for passwords?
A password entered by a user can be
hashed and checked against the key to see if it is correct, but
a successful hacker would only gain access to the keys,
which can’t be reversed to gain the passwords.
What is another use of hashing?
Hash tables
What are hash tables
data
structure which holds key-value pairs. Formed from a bucket
array and a hash function, hash tables can be used to lookup
data in an array in constant time.
What happens when data needs to be inserted into a hash table
When data needs to be
inserted, it is used as the key for the hash function and
stored in the bucket corresponding to the hash.
Where are hash tables used
in situations where a lot of data needs to be stored with
constant access times. For example, in caches and databases.
What happens if two keys produce the same hash?
a collision is said to have occurred
How do you overcome hashing collisions
including storing items together in a list under
the hash value, or using a second hash function to generate a new hash.
What should a good hash function have
low chance of collision and should be quick to
calculate. A hash function should provide an output which is smaller than the
input it was provided, otherwise searching for the hash could take longer than simply
searching for the key
What is an entity?
item of interest about which information is stored
What is a relational database in link to entities?
database which recognises the differences between entities by creating different tables for
each entity
What are attributes?
Attributes are characteristics of the entity;
these are categories about which data is collected.
What do primary keys uniquely identify?
Each record
What needs to be set up for secondary keys
Secondary index
Why is the primary key often not queried?
It is not normally remembered