CS461 MP 1: Due Wednesday 09/17 by 11:59 pm Fall 2014
\Anyone, from the most clueless amateur to the best cryptographer, can create an algorithm
that he himself can't break."
{ Bruce Schneier
Guidelines
You must work alone for this assignment.
You may use any programming language you're comfortable with, but we are using Python.
You're free to use any API or library you like. Don't re-invent the wheel.
Your answers might or might not be the same as your classmates'.
You must submit your answers in your SVN repository; we will only grade what's there!
Overview
This assignment will give you a chance to explore symmetric encryption.
Files
In your svn directory, you'll nd a folder called \mp1". The following les will be inside:
1. sub key.txt: key for task 1.
2. sub ciphertext.txt: ciphertext for task 1.
3. aes key.hex: key for task 2.
4. aes iv.hex: initialization vector for task 2.
5. aes ciphertext.hex: ciphertext for task 2.
6. aes weak ciphertext.hex: ciphertext for task 3.
7. key length.txt: a number needed for task 4.
8. bonus ciphertext.txt: ciphertext for a bonus mission, should you choose accept it.
We've also generated some (nearly) empty les for you to submit your answers to.
Tasks
1. Substitution Cipher (30 points)
2. Decrypting AES (30 points)
3. Breaking A Weak AES Key (30 points)
4. Computing Key Space Size (10 points)
5. Bonus: Breaking A Substitution Cipher (20 bonus points)
1
CS461 MP 1: Due Wednesday 09/17 by 11:59 pm Fall 2014
1 Substitution Cipher
sub key.txt contains a permutation of the 26 upper-case letters that represents the key for
a substitution cipher. Using this key, the ith letter in the alphabet in the plaintext has been
replaced by the ith letter in sub key.txt to produce ciphertext in sub ciphertext.txt. For
example, if the rst three letters in your sub key.txt are ZDF..., then all As in the plaintext have
become Zs in the ciphertext, all Bs have become Ds, and all Cs have become Fs. The plaintext
we encrypted is a clue from the gameshow Jeopardy, and has only upper-case letters, numbers
and spaces. Numbers and spaces in the plaintext were not encrypted. They appear exactly as
they did in the plaintext.
Use sub key.txt to decrypt sub ciphertext.txt to obtain the plaintext and submit
it in sub plaintext.txt.
2 Decrypting AES
aes key.hex contains a 256-bit AES key represented as a series of hexadecimal values. aes iv.hex
contains a 128-bit Initialization Vector in a similar representation. We encrypted a Jeopardy
clue using AES in CBC mode with this key and IV and wrote the resulting ciphertext (also
stored in hexadecimal) in aes ciphertext.hex.
Decrypt the ciphertext and submit the plaintext in aes plaintext.txt.
3 Breaking A Weak AES Key
As with the last task, we encrypted a Jeopardy clue using 256-bit AES in CBC and stored the
result in hexadecimal in the le aes weak ciphertext.hex. For this task, though, we haven't
supplied the key. All we'll tell you about the key is that it is 256 bits long and its 251 most
signicant (leftmost) bits are all 0's. The initialization vector was set to all 0s.
Find the plaintext and submit it in aes weak plaintext.txt.
4 Computing Key Space Size
Imagine a cipher you're working with takes a key with an unusual length. In key length.txt
you'll nd a single decimal (base 10) number representing how many bits the key has.
Calculate the total number of possible keys for this cipher (i.e. the size of the
key space), and submit your answer in key space size.txt as a single decimal num-
ber.
5 Bonus: Breaking A Substitution Cipher
For 20 bonus points, let's see if you can solve task 1 without the key. You can nd the cipher
text in bonus ciphertext.txt. The plaintext is guaranteed to consist of uppercase words in
English and spaces. As in task 1, spaces were not encrypted.
Submit the plaintext in bonus plaintext.txt.
2
CS461 MP 1: Due Wednesday 09/17 by 11:59 pm Fall 2014
Final Checklist
Make sure you have submitted these les:
sub plaintext.txt
aes plaintext.txt
aes weak plaintext.txt
key space size.txt
(optional) bonus plaintext.txt
3

解密程序代写,订制服务qq:928900200的更多相关文章

  1. 基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写

    基于JAVA WEB技术旅游服务网站系统设计与实现网上程序代写 专业程序代写服务(QQ:928900200) 随着社会的进步.服务行业的服务水平不断发展与提高,宾馆.酒店.旅游等服务行业的信息量和工作 ...

  2. C++程序代写实现HashSet class

    C++程序代写实现HashSet class 专业程序代写(QQ:928900200) Implement a HashSet class for elements of type string.It ...

  3. CS代码代写, 程序代写, java代写, python代写, c/c++代写,csdaixie,daixie,作业代写,代写

    互联网一线工程师程序代写 微信联系 当天完成特色: 互联网一线工程师 24-48小时完成.用心代写/辅导/帮助客户CS作业. 客户反馈与评价 服务质量:保证honor code,代码原创.参考课程sl ...

  4. 如何鉴别程序抄袭c语言程序代写

    如何鉴别程序抄袭:如何鉴别一份程序代码是抄袭另一份程序.输入:两个C语言源程序文件 输出:抄袭了多少?给出最相似的片段,判断是谁抄袭了谁? 提示:首先进行统一规范化排版,去掉无谓的空格.空行,然后比对 ...

  5. c编写程序完成m名旅客和n辆汽车的同步程序代写

    jurassic公园有一个恐龙博物馆和一个公园,有m名旅客和n辆汽车,每辆汽车仅能允许承载一名旅客.旅客在博物馆参观一阵,然后排队乘坐旅行车.当一辆车可用时,他载入一名旅客,再绕花园行驶任意长的时间. ...

  6. 实验教学管理系统 c语言程序代写源码下载

    问题描述:实验室基本业务活动包括:实验室.班级信息录入.查询与删除:实验室预定等.试设计一个实验教学管理系统,将上述业务活动借助计算机系统完成. 基本要求: 1.必须存储的信息 (1)实验室信息:编号 ...

  7. 模拟游客一天的生活与旅游java程序代写源码

    在某个城市的商业区里,有一家首饰店,一家饭店,一家面馆,一家火锅店,一家银行,一家当铺 现在有一群来自四川的游客,一群陕西的游客,一群上海的游客,和以上各店家的工作人员在此区域里,请模拟他们一天的生活 ...

  8. 程序代写, CS代写, 代码代写, CS编程代写, java代写, python代写, c++/c代写, R代写, 算法代写, web代写

    互联网一线工程师程序代写 微信联系 当天完成 查看大牛简介特色: 学霸代写,按时交付,保证原创,7*24在线服务,可加急.用心代写/辅导/帮助客户CS作业. 客户反馈与评价 服务质量:保证honor ...

  9. C++代写,代写C++,C++程序代写,C++ assignment代写

    C++代写,代写C++,C++程序代写 关于C++代写,我们的涉猎范围: C++数据结构.算法题目 C++操作系统os题目 C++网络编程networking题目 C++ Linux题目 C++ Wi ...

随机推荐

  1. 4.20-4.24程序设计基础结束,UID课程

    通过其他方式实现string函数的效果,效果有比较数组字符.显示字符串长度.复制字符串等.在比较字符串的时候,首先是比较字符串的长度,当长度一样的时候进行不同位置上一一对应的字符比较大小.关于字符长度 ...

  2. mfc 在VC的两个对话框类中传递参数的三种方法

    弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...

  3. FileOutputStream保存文件

    //保存文件,根据传入的路径,存放在SD卡目录下public boolean saveToPath(String title, String pageName) { Bitmap b = getCha ...

  4. 捉BUG记(To Catch a Bug)

    大约有一年整没有写一篇博客了,由于各种原(jia)因(ban)导致闲暇时间要么拿着IPad看岛国奇怪的片(dong)子(hua).要么拿着kindle看各种各样的资(xiao)料(shuo).本来想写 ...

  5. 【基础知识】.Net基础加强07 天

    一. 自定义泛型 1. 泛型的目的:提高代码的复用性. 2. T:一般叫做“类型参数”,把数据类型作为参数传递 .一般用T类表示或者以大写T开头的比如:TKey,TValue.TOutput.TRes ...

  6. C#学习之Linq to Xml

    前言 我相信很多从事.NET开发的,在.NET 3.5之前操作XML会比较麻烦,但是在此之后出现了Linq to Xml,而今天的主人公就是Linq to Xml,废话不多说,直接进入主题. 题外:最 ...

  7. C++中虚析构函数作用

    我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数.可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类: class ClxBase{public:    ...

  8. SQL Server转发记录指针的坏味道

    什么是转发记录指针? 转发记录指针是堆表中特有的数据存储机制. 当你修改了某个数据页中的一行时,如果该行所在的数据页已经无法存放其修改后的行, SQL Server会把这行数据移动到一个新的数据页上面 ...

  9. python 列表生成器

    python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...

  10. Gatling->次时代性能测试利器

    Gatling作为一款开源免费的性能测试工具越来越受到广大程序员的欢迎.免费当然是好的,最缺钱的就是程序员了;开源更好啊,缺啥功能.想做定制化的可以自己动手,丰衣足食.其实我最喜欢的原因是其提供了简洁 ...