The following are some potential exam topics, taken from the course notes and slides:

  1. E-commerce overview.
    • Issues in implementing commerce online: identity, atomicity, non-repudiation, negotiation, exchange.
    • Aspects of e-commerce: Discovery, Negotiation, Exchange, plus Encryption and Security.
    • More Issues: How to deal with very large search spaces. Differences between designed and emergent economies. Sale and distribution of information.
  2. What is an agent?
    • What separates an agent from an object/subroutine/daemon?
    • Why (and when) is it useful to look at a piece of software as if it is an agent?
  3. Encryption:
    • Terminology: code, cipher, plaintext, ciphertext, etc.
    • One-time pads - theoretical security, practical problems.
    • What is the key distribution problem?
    • Symmetric Key Encryption:
      • Stream and Block Ciphers
      • Cipher Block Chaining
      • Caesar Cipher
      • DES
      • RC5
    • Asymmetric (Public-key) Encryption:
      • RSA
      • What are one-way functions and trapdoor functions?
      • What are hash functions?
      • Basics of modular arithmetic
    • Larger issues in encryption:
    • Practical security and problem difficulty - keyspaces, attacks.
    • Digital Signatures and authentication - how do they work?
    • Zero-knowledge protocols - what are they? (dual signing)
    • Attacks: What are they and how can they be avoided?
      • Man-in the middle attacks
      • Passive vs. Active attacks
      • Impersonation Attacks
      • Reflection Attacks
    • Watermarking:
      • Uses (Authentication, copy protection, usage tracking)
      • Challenges in implementing watermarks
      • Attacks
    • Public Key Infrastructure - requirements
    • Certificate Authorities
    • Trust Models
    • Protocols:S/MIME, SSL
    • Session-oriented vs. Message-oriented protocols
  4. Discovery:
    • Structure of the Web (Core, upstream, downstream, islands)
    • Estimating web coverage
    • How search engines work:
      • Components of a search engine
      • Indexing web pages
      • Crawling the Web
      • Deciding where to crawl next
      • PageRank
    • Web Services
    • XML, DTDs, structure of XML documents, XSLT.
    • Representing and transforming data.