Midterm Programming Project Encryption for IM Client

Size: px
Start display at page:

Download "Midterm Programming Project Encryption for IM Client"

Transcription

1 1 CS 334 Computer Security Fall 2008 Midterm Programming Project Encryption for IM Client Assigned: October 24 Due: Monday, November 17, 11:59:59pm 1 Introduction In this project, you will take a functioning IMClient, and extend it so that the text of conversations is transferred encrypted using standard DES (i.e., using a 64-bit key). The DES key for a given conversation is to be generated by using the Diffie-Hellman key exchange algorithm. To be clear, you need to implement the code that performs the DES encryption-decryption as well as the code that performs the Diffie-Hellman exchange. The DES mode of operation you should use is CBC with initialization vector set to zero. 2 The IMClient Code You are given as a starting point, Java code that implements an IM client. It is capable of communicating via either AIM or ichat, as long as both parties are using AIM addresses (as opposed to, say,.mac addresses). For testing purposes, you will want to have more than one AIM address. The code requires two special libraries, squint and TOCtools, which are contained in the zip file on the course web site. You will need to place the jar files in the appropriate directories on your machine (as determined by the value of the CLASSPATH environment variable). 3 Getting Started It is likely that some of you have never coded using the graphical user interface components of Java (e.g., the Swing classes). The code that you have been given actually uses a somewhat simplified API, which is provided in the squint library. In particular, squint provides a GUIManager class that simplifies some of the functionality typically provided by Swing. Documentation for squint can be found at on the page tom/weavingcs/materials/, which contains a link to the API. Though the code you are provided does use Swing, you need only learn a small amount to do what is necessary for this project. I recommend looking through the code before trying to learn any Swing in almost all cases it is clear what the various classes are doing. If you are having trouble

2 making sense of the code, I am happy to explain it to you. (And actually, I am happy to explain it even if you DO understand it, though I don t really see the need for that.) 4 Implementing DES and Diffie-Hellman 4.1 Generating a DES Session Key The Diffie-Helman exchange allows each of two communicating parties to establish a secret number. There are several ways that this number could be converted into a DES key. Since you will be working with the Java BigIntegers class(see below), the easiest way to do this is for this project is to use the tobytearray() method in the BigInteger class, and use the last seven bytes of this array as the key. Remember that though DES is said to use a 64 bit key (and much of the literature describing it details how things are done with a 64 bit key), it is really a 56 bit key with one parity byte attached, so that there are only 56 meaningful bits. 4.2 Getting at the Bits The data that is transmitted via IM is ASCII text. Your IM client code receives it as a String from the textfield in which it is entered. You should use the getbytes() method, and specifically the version of getbytes() that takes a string charset as input parameter (you must use the charset US-ASCII), to convert that string to a byte array (in this case to it s 7 bit ASCII value). You will need to write your own class to get at the individual bits within each byte (which amounts to performing bitwise operations of your byte with bitmasks). 4.3 Arithemetic with Big Integers Appropriately enough, you ll want to use the BigInteger class that is included in the Java standard library. In addition to providing methods for performing arithmetic (including exponentiation) on large integers, it provides methods for modular arithmetic, and for finding large primes (well large numbers that are very likely prime). 5 Client or Server? Note that your code must act both as a client and a server. By this, I mean that your code should both be able to initiate enrypted communication, and decrypt transmissions that have been encrypted. In order to do this, your code needs to have a means of communicating to a chat client that it wishes to perform a Diffie-Hellman exchange. After a sucessful exchange, all communication

3 3 is expected to be encrypted in both directions until one side indicates that it no longer wishes to communicate in an encrypted mode. In order to accomplish this, the TOC protocol must be extended to include control signals that indicate the start/end of encryption. Since TOC messages pass through AIM servers which do not have encryption capabilities, these signals must be passed in-band (gasp). That is, the signals will take the form of a normal IM message, but with special content in the payload (data). Although when communicating with an AIM or ichat client your clients will receive text encoded in HTML, when you run two instances of your code against each other, you will simply received text or the form IM IN2:ProfSzajda:F:F:here is the message body! We will augment the TOC protocol to handle our additional signal by adding one more field delimited by colons. This field, which I call the encryption status field, will consist of a single uppercase letter, the values of which are P APpacket indicates that a client wishes to initiate a Diffie-Hellman exchange. APpacket has the form (in addition to the usual IM IN2 fields):p: : , where the base-10 number immediately following the :P: represents the the prime p in the Diffie-Helman exchange, and the number following the next colon represents the number g in the exchange. Though it is numbers that are being communicated, as data types you are sending Strings, so what is being sent is a string representing the base-10 value of these numbers. T ATpacket is used when a client is exchanging it s T value with its communication partner. The number should again be transmitted as a string representing the base-10 representation of the number. E An E packet indicates that the data following is encrypted. N An N packet indicates that the data following is not encrypted. 6 Transmitting Information There is a bit of a problem with exactly what gets transmitted from client to client once the Diffie- Hellman has completed, because all traffic passes through an AOL server. The server expects that

4 messages have a specific format, and that format expects that the body of the packet is a string enclosed in double quotes. This means that all messages need to be transmitted as strings. There are lots of ways to do this. For the sake of interoperability, I have selected one. That is, the bits you transmit should be transmitted as a string. As an example, if you wish to transmit the bit pattern (which is the ASCII bit pattern for uppercase A) this should be transmitted as the string Transmitting it this way is obviously not the most efficient way to do things, since instead of transmitting a byte, you re actually transmitting 16 bytes (Java encodes text using the unicode format, which uses two bytes for every character). But it has the advantage that the string will be understood and passed without modification by the AOL server. 7 The Graphical User Interface You should modify the GUI supplied in the code by adding two JButtons to ChatWindow displays. These should have the labelsencryt anddecrypt. These buttons, as you may have guessed, turn on and off the encryption capability for the particular conversation represented by that ChatWindow. The new ChatWindow GUI should also include a JLabel that indicates whether or not communication is in encrypted mode, and another JButton that displays the DES key (in hexidecimal notation) that is created by the Diffie-Hellman exchange. When the conversation is not being encrypted, the label should simply be blank. 8 Project Zipfile Contents The contents of the zip file are: Two jar files, squint.jar and TOCtools.jar Four Java source code files, IMControl.java, ChatWindow.java, TOCServerPacket.java, and SBox.java An pdf file containing excerpts from the the text Network Security: Private Communication in a Public World (2nd Ed.) by Kaufmann, Perlman, and Speciner, describing detials of DES and of Diffie-Hellman. You will also likely want to consult FIPS Pub 46 (found at which describes DES, and FIPS Pub 81 (found at which describes DES modes of operation. The pdf files for Labs 4 and 5 of my CS 150 class. These are necessary so that you understand the TOC protocol that is being used by the code I have provided.

5 9 Interoperability Like all network code, a client written by you should be able to converse with a client written by me, provided we both code to the protocol. So, in testing your code, I will be running one of your clients against one of mine. 10 Deliverables You will need to submit to me all of the source code files required for your project (including those that I have provided to you, since you may want to make some changes to them). You do not need to include the squint and TOCtools jar files. I will eventually provide you with a working client against which you can test. You should submit to me only a single jar file containing all of the material you are submitting. The name of the jar file should be XXXIMClient.jar, where XXX is the first three letters of your last name.

Lab 5 Classy Chat. XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM

Lab 5 Classy Chat. XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM Lab 5 Classy Chat XMPP Client Implementation --- Part 2 Due Oct. 19 at 11PM In this week s lab we will finish work on the chat client programs from the last lab. The primary goals are: to use multiple

More information

Kurose & Ross, Chapters (5 th ed.)

Kurose & Ross, Chapters (5 th ed.) Kurose & Ross, Chapters 8.2-8.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) Addison-Wesley, April 2009. Copyright 1996-2010, J.F Kurose and

More information

ח'/סיון/תשע "א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms

ח'/סיון/תשע א. RSA: getting ready. Public Key Cryptography. Public key cryptography. Public key encryption algorithms Public Key Cryptography Kurose & Ross, Chapters 8.28.3 (5 th ed.) Slides adapted from: J. Kurose & K. Ross \ Computer Networking: A Top Down Approach (5 th ed.) AddisonWesley, April 2009. Copyright 19962010,

More information

(Refer Slide Time: 00:23)

(Refer Slide Time: 00:23) In this session, we will learn about one more fundamental data type in C. So, far we have seen ints and floats. Ints are supposed to represent integers and floats are supposed to represent real numbers.

More information

A nice outline of the RSA algorithm and implementation can be found at:

A nice outline of the RSA algorithm and implementation can be found at: Cryptography Lab: RSA Encryption and Decryption Lab Objectives: After this lab, the students should be able to Explain the simple concepts of encryption and decryption to protect information in transmission.

More information

Public Key Algorithms

Public Key Algorithms Public Key Algorithms 1 Public Key Algorithms It is necessary to know some number theory to really understand how and why public key algorithms work Most of the public key algorithms are based on modular

More information

Lab 5 TOC to Me. Class Structure. IM Client Implementation --- Part 2 Due: 23:00 Monday 13 October. CS 150, Profs. Lawson and Szajda Fall 2008

Lab 5 TOC to Me. Class Structure. IM Client Implementation --- Part 2 Due: 23:00 Monday 13 October. CS 150, Profs. Lawson and Szajda Fall 2008 Lab 5 TOC to Me IM Client Implementation --- Part 2 Due: 23:00 Monday 13 October In this week s lab we will finish work on the IM client programs you started in the last lab. You will add one significant

More information

Password. authentication through passwords

Password. authentication through passwords Password authentication through passwords Human beings Short keys; possibly used to generate longer keys Dictionary attack: adversary tries more common keys (easy with a large set of users) Trojan horse

More information

Lab 5 TOC to Me. IM Client Implementation --- Part 2

Lab 5 TOC to Me. IM Client Implementation --- Part 2 Lab 5 TOC to Me IM Client Implementation --- Part 2 In this week s lab we will finish work on the IM client programs from the last lab. The primary goals are: to use multiple windows to manage more than

More information

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction ECE646 Fall 2012 Lab 1: Pretty Good Privacy Instruction PLEASE READ THE FOLLOWING INSTRUCTIONS CAREFULLY: 1. You are expected to address all questions listed in this document in your final report. 2. All

More information

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition

More information

CS Computer Networks 1: Authentication

CS Computer Networks 1: Authentication CS 3251- Computer Networks 1: Authentication Professor Patrick Traynor 4/14/11 Lecture 25 Announcements Homework 3 is due next class. Submit via T-Square or in person. Project 3 has been graded. Scores

More information

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012

Chapter 8 Security. Computer Networking: A Top Down Approach. 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Chapter 8 Security A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations; and can add,

More information

The Diffie-Hellman/Karn Encryption App

The Diffie-Hellman/Karn Encryption App The Diffie-Hellman/Karn Encryption App University of Cincinnati College of Engineering and Applied Science July, 2015 What can be done with this app? A group of students may send messages to each other.

More information

Core Security Services and Bootstrapping in the Cherubim Security System

Core Security Services and Bootstrapping in the Cherubim Security System Core Security Services and Bootstrapping in the Cherubim Security System Charles Willis cfwillis@uiuc.edu Technical Report 2 July 1998 University of Illinois at Urbana-Champaign Department of Computer

More information

Cryptully Documentation

Cryptully Documentation Cryptully Documentation Release 5.0.0 Shane Tully Mar 12, 2018 Contents 1 Introduction 1 2 Features 3 2.1 How does it work and how is it secure?................................. 3 3 Quick Start 5 4 Doesn

More information

Internetworking Models The OSI Reference Model

Internetworking Models The OSI Reference Model Internetworking Models When networks first came into being, computers could typically communicate only with computers from the same manufacturer. In the late 1970s, the Open Systems Interconnection (OSI)

More information

Encryption. INST 346, Section 0201 April 3, 2018

Encryption. INST 346, Section 0201 April 3, 2018 Encryption INST 346, Section 0201 April 3, 2018 Goals for Today Symmetric Key Encryption Public Key Encryption Certificate Authorities Secure Sockets Layer Simple encryption scheme substitution cipher:

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

// Class used to hold a list of Strings interpreted as web site addresses. public class URLList {

// Class used to hold a list of Strings interpreted as web site addresses. public class URLList { Question 1. The analysis of Ethernet performance in the paper by Metcalfe and Boggs makes the simplifying assumption that each computer will transmit during a given slot with probability 1 N where N is

More information

Final Programming Project

Final Programming Project Due Thursday, Dec. 7, at 5:00 pm Logistics This assignment should be completed in groups of 3. This is not optional -- you are not allowed to complete it on your own, or in groups of any other size. I

More information

CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm

CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm CS2630: Computer Organization Homework 1 Bits, bytes, and memory organization Due January 25, 2017, 11:59pm Instructions: Show your work. Correct answers with no work will not receive full credit. Whether

More information

CS-201 Introduction to Programming with Java

CS-201 Introduction to Programming with Java CS-201 Introduction to Programming with Java California State University, Los Angeles Computer Science Department Lecture V: Mathematical Functions, Characters, and Strings Introduction How would you estimate

More information

Chapter 9. Public Key Cryptography, RSA And Key Management

Chapter 9. Public Key Cryptography, RSA And Key Management Chapter 9 Public Key Cryptography, RSA And Key Management RSA by Rivest, Shamir & Adleman of MIT in 1977 The most widely used public-key cryptosystem is RSA. The difficulty of attacking RSA is based on

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2013 CS 161 Computer Security 3/14 Asymmetric cryptography Previously we saw symmetric-key cryptography, where Alice and Bob share a secret key K. However, symmetric-key cryptography can

More information

CS 134 Midterm Fall 2006

CS 134 Midterm Fall 2006 CS 34 Midterm Fall 26 This is a closed book exam. You have 5 minutes to complete the exam. There are 5 questions on this examination. The point values for the questions are shown in the table below. Your

More information

Time: 8:30-10:00 pm (Arrive at 8:15 pm) Location What to bring:

Time: 8:30-10:00 pm (Arrive at 8:15 pm) Location What to bring: ECE 120 Midterm 1 HKN Review Session Time: 8:30-10:00 pm (Arrive at 8:15 pm) Location: Your Room on Compass What to bring: icard, pens/pencils, Cheat sheet (Handwritten) Overview of Review Binary IEEE

More information

Summary of PGP Services

Summary of PGP Services Table 15.1 Summary of PGP Services Function Algorithms Used Description Digital signature Message encryption Compression Email compatibility DSS/SHA or RSA/SHA CAST or IDEA or Three-key Triple DES with

More information

Total points: 71. Total time: 75 minutes. 9 problems over 7 pages. No book, notes, or calculator

Total points: 71. Total time: 75 minutes. 9 problems over 7 pages. No book, notes, or calculator CMSC 414 F08 Exam 1 Page 1 of 10 Name: Total points: 71. Total time: 75 minutes. 9 problems over 7 pages. No book, notes, or calculator 1. [14 points] a. Are n=221 and e=3 valid numbers for RSA. Explain.

More information

UNCA CSCI 255 Exam 1 Spring February, This is a closed book and closed notes exam. It is to be turned in by 1:45 PM.

UNCA CSCI 255 Exam 1 Spring February, This is a closed book and closed notes exam. It is to be turned in by 1:45 PM. UNCA CSCI 255 Exam 1 Spring 2017 27 February, 2017 This is a closed book and closed notes exam. It is to be turned in by 1:45 PM. Communication with anyone other than the instructor is not allowed during

More information

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Public Key Cryptography Modular Arithmetic RSA

More information

VPN Ports and LAN-to-LAN Tunnels

VPN Ports and LAN-to-LAN Tunnels CHAPTER 6 A VPN port is a virtual port which handles tunneled traffic. Tunnels are virtual point-to-point connections through a public network such as the Internet. All packets sent through a VPN tunnel

More information

Admin ENCRYPTION. Admin. Encryption 10/29/15. Assignment 6. 4 more assignments: Midterm next Thursday. What is it and why do we need it?

Admin ENCRYPTION. Admin. Encryption 10/29/15. Assignment 6. 4 more assignments: Midterm next Thursday. What is it and why do we need it? Admin Assignment 6 4 more assignments:! Assignment 7, due 11/13 5pm! Assignment 8, due 11/20 5pm! Assignments 9 & 10, due 12/9 11:59pm ENCRYPTION David Kauchak CS52 Spring 2015 Admin Midterm next Thursday!

More information

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus

CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 11:00 PM for 100 points Due Monday, October 11:00 PM for 10 point bonus CS3114 (Fall 2013) PROGRAMMING ASSIGNMENT #2 Due Tuesday, October 15 @ 11:00 PM for 100 points Due Monday, October 14 @ 11:00 PM for 10 point bonus Updated: 10/10/2013 Assignment: This project continues

More information

Time (self-scheduled): Location Schedule Your Exam: What to bring:

Time (self-scheduled): Location Schedule Your Exam: What to bring: ECE 120 Midterm 1B HKN Review Session Time (self-scheduled): Between Wednesday, September 27 and Friday, September 29, 2017 Location: 57 Grainger Engineering Library (in the basement on the east side)

More information

Making and Breaking Ciphers

Making and Breaking Ciphers Making and Breaking Ciphers Ralph Morelli Trinity College, Hartford (ralph.morelli@trincoll.edu) Smithsonian Institute October 31, 2009 2009 Ralph Morelli You are free to reuse and remix this presentation

More information

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web

COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

Lab Assignment 3 for ECE374

Lab Assignment 3 for ECE374 Lab Assignment 3 for ECE374 Posted: 02/25/18 Due: 03/08/18 In this lab, we ll take a quick look at the UDP and TCP transport protocol. Whenever possible you should hand in a Wireshark screenshot that you

More information

Lab 03 - x86-64: atoi

Lab 03 - x86-64: atoi CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb

More information

6. Security Handshake Pitfalls Contents

6. Security Handshake Pitfalls Contents Contents 1 / 45 6.1 Introduction 6.2 Log-in Only 6.3 Mutual Authentication 6.4 Integrity/Encryption of Data 6.5 Mediated Authentication (with KDC) 6.6 Bellovin-Merrit 6.7 Network Log-in and Password Guessing

More information

Security Handshake Pitfalls

Security Handshake Pitfalls Hello Challenge R f(k, R f(k, R Problems: 1. Authentication is not mutual only authenticates Anyone can send the challenge R. f(k, R Problems: 1. Authentication is not mutual only authenticates Anyone

More information

Part III Appendices 165

Part III Appendices 165 Part III Appendices 165 Appendix A Technical Instructions Learning Outcomes This material will help you learn how to use the software you need to do your work in this course. You won t be tested on it.

More information

Encryption 2. Tom Chothia Computer Security: Lecture 3

Encryption 2. Tom Chothia Computer Security: Lecture 3 Encryption 2 Tom Chothia Computer Security: Lecture 3 This Lecture Counter Mode (CTR) enryption Diffie Helleman key exchange Public Key Encryption RSA Signing Combining public and symmetric key encryption

More information

CS2 Practical 2 CS2Ah

CS2 Practical 2 CS2Ah CS2 Practical 2 Finite automata This practical is based on material in the language processing thread. The practical is made up of two parts. Part A consists of four paper and pencil exercises, designed

More information

Authentication Handshakes

Authentication Handshakes AIT 682: Network and Systems Security Topic 6.2 Authentication Protocols Instructor: Dr. Kun Sun Authentication Handshakes Secure communication almost always includes an initial authentication handshake.

More information

RSA. Public Key CryptoSystem

RSA. Public Key CryptoSystem RSA Public Key CryptoSystem DIFFIE AND HELLMAN (76) NEW DIRECTIONS IN CRYPTOGRAPHY Split the Bob s secret key K to two parts: K E, to be used for encrypting messages to Bob. K D, to be used for decrypting

More information

1.1 Information representation

1.1 Information representation Fundamentals of Data Representation: Before we jump into the world of number systems, we'll need a point of reference; I recommend that you copy the following table that you can refer to throughout this

More information

CS52 - Assignment 7. Due Friday 11/13 at 5:00pm. https://xkcd.com/538/

CS52 - Assignment 7. Due Friday 11/13 at 5:00pm. https://xkcd.com/538/ CS52 - Assignment 7 Due Friday 11/13 at 5:00pm https://xkcd.com/538/ For this assignment we will be writing code that allows us to encrypt and decrypt strings using RSA encryption. Put your solution in

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,

More information

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA 1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

1. Diffie-Hellman Key Exchange

1. Diffie-Hellman Key Exchange e-pgpathshala Subject : Computer Science Paper: Cryptography and Network Security Module: Diffie-Hellman Key Exchange Module No: CS/CNS/26 Quadrant 1 e-text Cryptography and Network Security Objectives

More information

Binary, Hexadecimal and Octal number system

Binary, Hexadecimal and Octal number system Binary, Hexadecimal and Octal number system Binary, hexadecimal, and octal refer to different number systems. The one that we typically use is called decimal. These number systems refer to the number of

More information

CSC 474/574 Information Systems Security

CSC 474/574 Information Systems Security CSC 474/574 Information Systems Security Topic 3.3: Security Handshake Pitfalls CSC 474/574 Dr. Peng Ning 1 Authentication Handshakes Secure communication almost always includes an initial authentication

More information

Objectives: 1. Introduce the course. 2. Define programming 3. Introduce fundamental concepts of OO: object, class

Objectives: 1. Introduce the course. 2. Define programming 3. Introduce fundamental concepts of OO: object, class CS112 Lecture: Course Introduction Last revised 1/3/06 Objectives: 1. Introduce the course. 2. Define programming 3. Introduce fundamental concepts of OO: object, class Materials: 1. Questionnaire 2. Syllabi

More information

Implementation of 5PM(5ecure Pattern Matching) on Android Platform

Implementation of 5PM(5ecure Pattern Matching) on Android Platform Implementation of 5PM(5ecure Pattern Matching) on Android Platform Overview - Main Objective: Search for a pattern on the server securely The answer at the end -> either YES it is found or NO it is not

More information

Project #3. Computer Science 2334 Fall Create a Graphical User Interface and import/export software for a Hurricane Database.

Project #3. Computer Science 2334 Fall Create a Graphical User Interface and import/export software for a Hurricane Database. User Request: Project #3 Computer Science 2334 Fall 2007 Milestones: Create a Graphical User Interface and import/export software for a Hurricane Database. 1. Create import software that can read the output

More information

Problem Set 10 Due: Start of class December 11

Problem Set 10 Due: Start of class December 11 CS242 Computer Networks Handout # 20 Randy Shull December 4, 2017 Wellesley College Problem Set 10 Due: Start of class December 11 Reading: Kurose & Ross, Sections 7.1 7.3, 8.1 8.4 Wireshark Lab [16] Recall

More information

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction

ECE646 Fall Lab 1: Pretty Good Privacy. Instruction ECE646 Fall 2015 Lab 1: Pretty Good Privacy Instruction PLEASE READ THE FOLLOWING INSTRUCTIONS CAREFULLY: 1. You are expected to address all questions listed in this document in your final report. 2. All

More information

CS4333/6333 Network Programming Project #2 -Building an Ethernet Layer Introduction / Purpose

CS4333/6333 Network Programming Project #2 -Building an Ethernet Layer Introduction / Purpose CS4333/6333 Network Programming Project #2 -Building an Ethernet Layer Introduction / Purpose For this project, we will provide you with the framework for a virtual host including the network stack. This

More information

Proceedings of the 10 th USENIX Security Symposium

Proceedings of the 10 th USENIX Security Symposium USENIX Association Proceedings of the 10 th USENIX Security Symposium Washington, D.C., USA August 13 17, 2001 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION 2001 by The USENIX Association All Rights Reserved

More information

PKCS #3: Diffie-Hellman Key-Agreement

PKCS #3: Diffie-Hellman Key-Agreement 1 of 6 5/19/2006 1:04 PM PKCS #3: Diffie-Hellman Key-Agreement Standard An RSA Laboratories Technical Note Version 1.4 Revised November 1, 1993 * 1. Scope This standard describes a method for implementing

More information

CS4516 Advanced Computer Networks. Program 1 {February 4, 2013} 70 points

CS4516 Advanced Computer Networks. Program 1 {February 4, 2013} 70 points Program 1 {February 4, 2013} 70 points Disaster Victim Location Database Using Selective Repeat in the Data Link Layer Due: Sunday, February 10, 2013 at 11:59 p.m. This assignment consists of two components:

More information

15 July, Huffman Trees. Heaps

15 July, Huffman Trees. Heaps 1 Huffman Trees The Huffman Code: Huffman algorithm uses a binary tree to compress data. It is called the Huffman code, after David Huffman who discovered d it in 1952. Data compression is important in

More information

For Step 1, DO NOT USE IP ADDRESSES THAT WEREN'T ASSIGNED TO YOU OR SOMEONE

For Step 1, DO NOT USE IP ADDRESSES THAT WEREN'T ASSIGNED TO YOU OR SOMEONE CS 485/ECE 440/CS 585 Fall 2017 Lab 4, part 1 Lab 4 part 1 is due by 11:59pm on Monday, November 27 th, 2017. Part 1 is worth 100 points, and part 2 will be worth 100 points, so in total Lab 4 is worth

More information

Project 1: Scheme Pretty-Printer

Project 1: Scheme Pretty-Printer Project 1: Scheme Pretty-Printer CSC 4101, Fall 2017 Due: 7 October 2017 For this programming assignment, you will implement a pretty-printer for a subset of Scheme in either C++ or Java. The code should

More information

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:

More information

CMSC 150 Lab 8, Part II: Little PhotoShop of Horrors, Part Deux 10 Nov 2015

CMSC 150 Lab 8, Part II: Little PhotoShop of Horrors, Part Deux 10 Nov 2015 CMSC 150 Lab 8, Part II: Little PhotoShop of Horrors, Part Deux 10 Nov 2015 By now you should have completed the Open/Save/Quit portion of the menu options. Today we are going to finish implementing the

More information

CS 161 Computer Security

CS 161 Computer Security Paxson Spring 2017 CS 161 Computer Security Midterm 2 Print your name:, (last) (first) I am aware of the Berkeley Campus Code of Student Conduct and acknowledge that any academic misconduct will be reported

More information

Lecture C1 Data Representation. Computing and Art : Nature, Power, and Limits CC 3.12: Fall 2007

Lecture C1 Data Representation. Computing and Art : Nature, Power, and Limits CC 3.12: Fall 2007 Lecture C1 Data Representation Computing and Art : Nature, Power, and Limits CC 3.12: Fall 2007 Functionalia Instructor Chipp Jansen, chipp@sci.brooklyn.cuny.edu Course Web Page http://www.sci.brooklyn.cuny.edu/~chipp/cc3.12/

More information

Authentication. Strong Password Protocol. IT352 Network Security Najwa AlGhamdi

Authentication. Strong Password Protocol. IT352 Network Security Najwa AlGhamdi Authentication Strong Password Protocol 1 Strong Password Protocol Scenario : Alice uses any workstation to log to the server B, using a password to authenticate her self. Various way to do that? Use Ur

More information

Hexadecimal Numbers. Journal: If you were to extend our numbering system to more digits, what digits would you use? Why those?

Hexadecimal Numbers. Journal: If you were to extend our numbering system to more digits, what digits would you use? Why those? 9/10/18 1 Binary and Journal: If you were to extend our numbering system to more digits, what digits would you use? Why those? Hexadecimal Numbers Check Homework 3 Binary Numbers A binary (base-two) number

More information

(a) Symmetric model (b) Cryptography (c) Cryptanalysis (d) Steganography

(a) Symmetric model (b) Cryptography (c) Cryptanalysis (d) Steganography Code No: RR410504 Set No. 1 1. Write short notes on (a) Symmetric model (b) Cryptography (c) Cryptanalysis (d) Steganography 3. (a) Illustrate Diffie-hellman Key Exchange scheme for GF(P) [6M] (b) Consider

More information

today cs3157-fall2002-sklar-lect05 1

today cs3157-fall2002-sklar-lect05 1 today homework #1 due on monday sep 23, 6am some miscellaneous topics: logical operators random numbers character handling functions FILE I/O strings arrays pointers cs3157-fall2002-sklar-lect05 1 logical

More information

You Can Make a Difference! Due April 11/12 (Implementation plans due in class on 4/9)

You Can Make a Difference! Due April 11/12 (Implementation plans due in class on 4/9) You Can Make a Difference! Due April 11/12 (Implementation plans due in class on 4/9) In last week s lab, we introduced some of the basic mechanisms used to manipulate images in Java programs. Now, we

More information

UNIT 7A Data Representation: Numbers and Text. Digital Data

UNIT 7A Data Representation: Numbers and Text. Digital Data UNIT 7A Data Representation: Numbers and Text 1 Digital Data 10010101011110101010110101001110 What does this binary sequence represent? It could be: an integer a floating point number text encoded with

More information

Computer Science 210: Data Structures

Computer Science 210: Data Structures Computer Science 210: Data Structures Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures design efficiency implementation

More information

Encrypting and Decrypting using CTR and CBC Modes in C# with BouncyCastle

Encrypting and Decrypting using CTR and CBC Modes in C# with BouncyCastle SE425: Communication and Information Security Recitation 5 Semester 2 5778 16 April 2018 Encrypting and Decrypting using CTR and CBC Modes in C# with BouncyCastle In this week s recitation we ll learn

More information

CS 134 Midterm Spring 2013

CS 134 Midterm Spring 2013 CS 134 Midterm Spring 2013 This is a closed book exam. You have 75 minutes to complete the exam. There are 5 questions on this examination. The point values for the questions are shown in the table below.

More information

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal

Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types

More information

Overview. Public Key Algorithms I

Overview. Public Key Algorithms I Public Key Algorithms I Dr. Arjan Durresi Louisiana State University Baton Rouge, LA 70810 Durresi@csc.lsu.Edu These slides are available at: http://www.csc.lsu.edu/~durresi/csc4601-04/ Louisiana State

More information

Chapter 4: Computer Codes. In this chapter you will learn about:

Chapter 4: Computer Codes. In this chapter you will learn about: Ref. Page Slide 1/30 Learning Objectives In this chapter you will learn about: Computer data Computer codes: representation of data in binary Most commonly used computer codes Collating sequence Ref. Page

More information

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng

Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng Slide Set 2 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2018 ENCM 335 Fall 2018 Slide Set 2 slide

More information

Exercise: Using Numbers

Exercise: Using Numbers Exercise: Using Numbers Problem: You are a spy going into an evil party to find the super-secret code phrase (made up of letters and spaces), which you will immediately send via text message to your team

More information

CPSC 467b: Cryptography and Computer Security

CPSC 467b: Cryptography and Computer Security CPSC 467b: Cryptography and Computer Security Michael J. Fischer Lecture 7 January 30, 2012 CPSC 467b, Lecture 7 1/44 Public-key cryptography RSA Factoring Assumption Computing with Big Numbers Fast Exponentiation

More information

Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke

Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke Davenport University ITS Lunch and Learn February 2, 2012 Sneden Center Meeting Hall Presented by: Scott Radtke A discussion on the mathematics behind coding and decoding using RSA Public-Key Cryptography.

More information

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur

Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 38 A Tutorial on Network Protocols

More information

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment

More information

Assignment pts

Assignment pts CSE 127: Computer Security - Fall 2014 Assignment 4 120 pts Due November 4 10:00 P.M. PDT This is a three part assignment. For the first part of the assignment, you will create an AppArmor profile for

More information

Using System.out.println()

Using System.out.println() Programming Assignments Read instructions carefully Many deduction on Program 3 for items in instructions Comment your code Coding conventions 20% of program grade going forward Class #23: Characters,

More information

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */

Language Basics. /* The NUMBER GAME - User tries to guess a number between 1 and 10 */ /* Generate a random number between 1 and 10 */ Overview Language Basics This chapter describes the basic elements of Rexx. It discusses the simple components that make up the language. These include script structure, elements of the language, operators,

More information

CS408 Cryptography & Internet Security

CS408 Cryptography & Internet Security CS408 Cryptography & Internet Security Lectures 16, 17: Security of RSA El Gamal Cryptosystem Announcement Final exam will be on May 11, 2015 between 11:30am 2:00pm in FMH 319 http://www.njit.edu/registrar/exams/finalexams.php

More information

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit.

Note: This is a miniassignment and the grading is automated. If you do not submit it correctly, you will receive at most half credit. Com S 227 Fall 2017 Miniassignment 1 50 points Due Date: Monday, October 16, 11:59 pm (midnight) Late deadline (25% penalty): Tuesday, October 17, 11:59 pm General information This assignment is to be

More information

Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions

Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions Variable is a letter or symbol that represents a number. Variable (algebraic)

More information

UNIVERSITY OF CALIFORNIA

UNIVERSITY OF CALIFORNIA UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS164 Fall 1997 P. N. Hilfinger CS 164: Midterm Name: Please do not discuss the contents of

More information

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Photuris and SKIP PHASE 1 IKE PHASE 2 IKE How is SA established? How do parties negotiate

More information

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 CSE 1001 Fundamentals of Software Development 1 Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 Identifiers, Variables and Data Types Reserved Words Identifiers in C Variables and Values

More information

CSC 170 Introduction to Computers and Their Applications. Lecture #1 Digital Basics. Data Representation

CSC 170 Introduction to Computers and Their Applications. Lecture #1 Digital Basics. Data Representation CSC 170 Introduction to Computers and Their Applications Lecture #1 Digital Basics Data Representation Data refers to the symbols that represent people, events, things, and ideas. Data can be a name, a

More information

CS61A Lecture #39: Cryptography

CS61A Lecture #39: Cryptography Announcements: CS61A Lecture #39: Cryptography Homework 13 is up: due Monday. Homework 14 will be judging the contest. HKN surveys on Friday: 7.5 bonus points for filling out their survey on Friday (yes,

More information

CSE4344 Project 2 (Spring 2017) Wireshark Lab: HTTP

CSE4344 Project 2 (Spring 2017) Wireshark Lab: HTTP Objectives CSE4344 Project 2 (Spring 2017) Wireshark Lab: HTTP To get familiar with capturing network packets using Wireshark. To explore the HTTP message formats and basic operations of HTTP protocol.

More information