Skip to content
UoL CS Notes

Home

This website houses notes from my studies at the University of Liverpool. If you see any errors or issues, please do open an issue on this site's GitHub.

XQuery Basics

COMP207 Lectures

This is a method of running queries on XML. They are an extension of XPath and therefore every XPath is an XQuery expression. For additional XQuery examples see this lecture video Syntax For the following tree: graph $doc -->|students|a[ ] a -->|student|$s $s -->|name| ''Anna'' $s -->|module| ''COMP207'' an XQuery...

Read More

Advanced XPaths

COMP207 Lectures

General Form XPaths generally take the following form: /axis1::E1[C1]/axis2::E2[C2] axis are navigation axes. C are conditions. E are name or a tag, attribute or *. Navigation Axes Axis Shorthand Description attribute @ An attribute child Default (child:: can be omitted) Any child descendant //E instead of /descendant::E Any proper descendant...

Read More

XPath Basics

COMP207 Lectures

XPath allows us to write queries that return a set of value or nodes from an XML document: Values Nodes Document Node The whole document. Element Node Includes the root. Attributes Inside the tags of elements. Path Expressions They take the following format: \[/E_1/E_2/E_3/\ldots/E_n\] This would select all nodes reachable...

Read More

XML Schema

COMP207 Lectures

This is the second way of defining the format of an XML file. Comparison to DTD XML schema should be used if you want more precision on the schema than offered by DTD. Positives: Defined in XML. Give bounds on number of occurrences. Can do unordered sets. Can do more...

Read More

Document Type Definitions (DTD)

COMP207 Lectures

There are two ways to define the format of XML files. This lecture explains how to use DTD. DTDs contain information about the structure of an XML document: Elements that may occur in the document. Sub-elements that an element may have. Attributes that an element may have Structure The are...

Read More

WiFi Security

COMP211 Lectures

With a wireless network the arriving mobile must: Associate with the access point. Authenticate to the network. 802.11 Authentication & Encryption Discovery of Security Capabilities: AP advertises its presence, forms of authentication and encryption provided. Device requests specific forms of authentication and encryption desired. Although the device and AP are...

Read More

Transport-Layer Security (TLS)

COMP211 Lectures

This protocol is deployed above the transport layer and provides: Confidentiality - Via Symmetric encryption. Integrity - Via cryptography hashing. Authentication - Via public key cryptography. TLS TLS is implemented in the application layer alongside HTTP. TLS 1.3 Cipher Suite TLS 1.3 allows for the following choices: 4 ciphers based...

Read More

Secure Email

COMP211 Lectures

Confidentiality If Alice wants to send a confidential email to Bob she can do the following: Generate a random symmetric private key $K_S$. Encrypt the message with $K_S$ (for efficiency). Also encrypt $K_S$ with Bob’s public key. Send both $K_S(m)$ and $K^+_B(K_S)$ to Bob. Bob will then: Use his privaet...

Read More

Integrity & Digital Signatures

COMP211 Lectures

Digital Signatures Digital signatures should be: Verification of a document creator. Verifiable and non-forgettable. Must have only been created by the document creator. We can complete a simple digital signature by encrypting the document with your private key $K^-_B$. This is computationally expensive, especially as message length gets longer. Message...

Read More

Authentication

COMP211 Lectures

In order for authentication to be secure you need to ensure that the protocol avoids replay attacks: This is where an attacker replays a recorded packet and is able to authenticate as you. Nonce To avoid this the server (Bob) can send a nonce (number used once) $R$ which Alice...

Read More