Midterm Programming Project Encryption for IM Client
|
|
- Kory Miller
- 5 years ago
- Views:
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 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 informationKurose & 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
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)
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 informationA 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 informationPublic 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 informationLab 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 informationPassword. 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 informationLab 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 informationECE646 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 informationMicroprocessors & 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 informationCS 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 informationChapter 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 informationThe 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 informationCore 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 informationCryptully 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 informationInternetworking 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 informationEncryption. 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 informationGetting 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 {
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 informationFinal 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 informationCS2630: 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 informationCS-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 informationChapter 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 informationCS 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 informationCS 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 informationTime: 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 informationSummary 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 informationTotal 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 informationUNCA 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 informationDr. 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 informationVPN 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 informationAdmin 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 informationCS3114 (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 informationTime (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 informationMaking 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 informationCOMP 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 informationLab 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 informationLab 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 information6. 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 informationSecurity 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 informationPart 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 informationEncryption 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 informationCS2 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 informationAuthentication 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 informationRSA. 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 information1.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 informationCS52 - 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 informationProgramming 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 informationCS 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 informationTOPIC 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 information1. 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 informationBinary, 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 informationCSC 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 informationObjectives: 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 informationImplementation 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 informationProject #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 informationProblem 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 informationECE646 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 informationCS4333/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 informationProceedings 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 informationPKCS #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 informationCS4516 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 information15 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 informationFor 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 informationProject 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 informationProject #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 informationCMSC 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 informationCS 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 informationLecture 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 informationAuthentication. 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 informationHexadecimal 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
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 informationtoday 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 informationYou 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 informationUNIT 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 informationComputer 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 informationEncrypting 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 informationCS 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 informationExpressions 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 informationOverview. 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 informationChapter 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 informationSlide 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 informationExercise: 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 informationCPSC 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 informationDavenport 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 informationCryptography 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 informationBASIC 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 informationAssignment 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 informationUsing 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 informationLanguage 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 informationCS408 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 informationNote: 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 informationObjective- 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 informationUNIVERSITY 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 informationDr. 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 informationCSE 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 informationCSC 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 informationCS61A 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 informationCSE4344 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