免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300

COMP 3334代做、代寫Python語言編程

時間:2024-03-20  來源:  作者: 我要糾錯



COMP 3334 – Computer Systems Security (Semester 2, 2024)
Assignment
This is an individual assignment. You may use the course material and Internet resources to answer
the questions. However, you should not post the questions online and ask for help. Discussion
among your peers is encouraged; however, you must produce answers by yourself and in your own
words. Any suspicion of plagiarism will be thoroughly investigated. Copying answers from GenAI
tools into your assignment is a form of plagiarism. This assignment is due on Sunday, 17 March
2024, 23:59.
Late submissions will be subjected to a 15% penalty per day, starting at 00:01.
Total: 100 points. Course weight: 10%.
Submission requirements
Submit on Blackboard a single ZIP file containing:
1. A PDF file named as comp3334-studentid.pdf for your written answers. Change “studentid” with
your actual student ID. The file must also include your name and student ID on the first page.
2. The three Python files as requested in the exercises below: exercise{1,3,4}.py.
Double check your submission. Any incorrect submission format may result in a zero mark for this
assignment.
Exercise 1: Misusing AES [30 pts]
A website authenticates its users by asking for a login/password, and sends them a cookie C, valid
for one minute, to keep track of their authentication status. The cookie C is formed such as C =
Enc("user=username,tmstmp=timestamp"), with username = "anonymous" for unauthenticated users,
or the name of the user when authenticated; and timestamp is a Unix-formated timestamp1
representing
the time up to which the user is authenticated (current time plus one minute). Enc(·) designates the
AES256 encryption in OFB-mode using iv as a random IV and k as a random key; both k and iv are
unknown to us. The OFB mode of operation for encryption is described in Figure 1.
In this exercise, we consider cookies delivered on February 1st, 2024 at 00:00am UTC. At that time,
an unauthenticated user coming to the website will receive a cookie:
CU = AES256-OFBk,iv("user=anonymous,tmstmp=1706745660")
The value 1706745660 corresponds to 00:01am on February 1st. We denote by PU the plaintext version
of the cookie.
a) Give the plaintext cookie, denoted PA, that corresponds to the authenticated admin user if he
logged in at the same time. Compare the length of PA and PU . [3 pts]
b) Describe how to modify the cookie CU into CA = AES256-OFBk,iv(PA) without knowing k nor
iv. You may rethink about the value of PA so that PU and PA have the same length. Note that
the cookie may authenticate the user admin for as long as you want (but at least the original one
minute duration). [7 pts]
c) Implement in Python the attack that would turn CU into a valid CA for at least the original duration.
Prepare a single Python file named exercise1.py that contains a function modifycookie() that
takes as argument a base64-encoded cookie and returns the base64-encoded modified cookie. Your
attack should work for different timestamps. You will get full marks if, given an encrypted cookie
1https://www.epochconverter.com/
1
block cipher
encryption Key
Ciphertext
Initialization Vector (IV)
block cipher
encryption Key
Ciphertext
block cipher
encryption Key
Ciphertext
Plaintext Plaintext Plaintext
Figure 1: Output Feedback (OFB) mode of operation (during encryption)
issued at any later date than February 1st this year, you are able to turn this cookie into a valid
admin cookie for at least the original duration. Make sure your code uses meaningful variable
names, consistent indenting scheme, and comments. [20 pts]
Exercise 2: Lan Manager hash [20 pts]
Back in the days, up to Windows XP, Windows account passwords were hashed using Microsoft’s LAN
Manager (LM) hash function, which works as follows:
Step 1 The password is converted into upper case, null-padded to 14 characters (or truncated to
14 characters), and split into two 7-character halves.
Step 2 Each half is separately converted into a DES key. This key is used to encrypt the ASCII
string “KGS!@#$%”, producing an 8-byte value.
Step 3 The two 8-byte values are concatenated, resulting in a 16-byte hash.
1. Suppose the attacker obtains a file with N hashed passwords. How much work would he need to do,
at most, to crack these passwords by brute-force search? Show your calculations. Express the result
in scientific notation (m × 10n, m ∈ R < 10, n ∈ N), and round it to two decimals. Assume that
users could type any of the 95 printable characters found on a US keyboard i.e., letters, numbers,
symbols, and punctuation marks, which are represented by codes 32 to 126 in the ASCII table.
Passwords could be any length. [15 pts]
2. Knowing that a single modern NVIDIA GeForce RTX 4090 GPU can perform 151.1 GH/s for LM,2
how long would it take an attacker with one such GPU to crack these N hashes? Assume that the
overhead of matching a 64-bit string in a list of 2N 64-bit strings is negligible. [5 pts]
Exercise 3: PKCS#7 padding [20 pts]
The PKCS#7 padding scheme is commonly used to pad irregularly-sized plaintext messages to a specific
block length before encryption, and is described in RFC5652. The algorithm simply consists in appending
the required number of bytes up to nearest multiple of the block length. The value of each appended byte
is equal to the number of bytes added. The maximum length of the pad is therefore 255. If the plaintext
size is already a multiple of the block length, padding is still required. In this case, an entire block
of padding bytes will be used. To remove the padding after decryption, the last byte of the decrypted
ciphertext is read, which indicates how many bytes (of the same value) should be stripped from the end.
For this exercise, do NOT use any library/package in your code.
1. Write a function pkcs(plaintext, length) in Python that takes a plaintext (plaintext) and a
desired block length (length) as input and applies the PKCS#7 padding scheme. The function
should return the padded input. An exception should be thrown if the block length is greater than
the maximum pad length, using: raise Exception("Invalid block size")
For instance, for the message "YELLOW SUBMARINE" and a block size of 20, the output should be
"YELLOW SUBMARINEx04x04x04x04". [5 pts]
2See Hashcat benchmark here: https://gist.github.com/Chick3nman/32e662a5bb63bc4f51b847bb422222fd
2
2. Write a function validate pkcs(plaintext, length) in Python that verifies the validity of the
padding, and returns an unpadded string. The function should throw exceptions using raise
Exception("Invalid padding") when: 1) the length of the plaintext indicates that no padding
has been used; 2) the value for the pad length is incompatible with the block length; 3) the value
of the padding bytes is incorrect. [15 pts]
Prepare a single Python file named exercise3.py that contains both functions.
Make sure to use the exact exception messages given above throughout this exercise;
otherwise, your function will not be evaluated properly for assessment.
Exercise 4: Near collisions [30 pts]
Referring to the exercise given in Lecture 4 (slide 23), find a “near collision” on SHA-256 by hashing
values that must contain your student ID. A near collision is defined as a pair of inputs which hash to
values that share the same first n bits. We define n = 34 for this exercise.
One method of finding such collisions is to hash an increasing counter (concatenated to your student
ID) and keep n-bit prefixes in a dictionary. If you encounter a prefix you have already seen, you found a
near collision.
1. Provide a function find near collisions(studentid) that takes as input your student ID as a
string in the format 12345678 (without letter) and outputs a tuple of binary strings (val1, val2) that
are near collisions, and studentid is a substring of each value. Your program should terminate
within one minute on a reasonably modern laptop and with a correct output. [20 pts]
2. Provide a function get values() that returns a tuple of binary strings (val1, val2) that you have
previously computed and that satisfy the above criteria. Simply hardcode those values and return
them. [10 pts]
Example of correct outputs for student ID=12345678: (b‘12345678288576’, b‘12345678335737’).
Prepare a single Python file named exercise4.py that contains both functions.
Questions?
If you need a clarification about an exercise requirements, you can contact the following TA:
Bowen CUI: bowen.cui@connect.polyu.hk
TAs will not tell you whether your approach is correct or not, whether you got the right answer, etc.
請加QQ:99515681  郵箱:99515681@qq.com   WX:codehelp 

標簽:

掃一掃在手機打開當前頁
  • 上一篇:代做AST20201、代寫Java編程設計
  • 下一篇:代寫CPS 1032、Java/Python程序代做
  • 無相關信息
    昆明生活資訊

    昆明圖文信息
    蝴蝶泉(4A)-大理旅游
    蝴蝶泉(4A)-大理旅游
    油炸竹蟲
    油炸竹蟲
    酸筍煮魚(雞)
    酸筍煮魚(雞)
    竹筒飯
    竹筒飯
    香茅草烤魚
    香茅草烤魚
    檸檬烤魚
    檸檬烤魚
    昆明西山國家級風景名勝區
    昆明西山國家級風景名勝區
    昆明旅游索道攻略
    昆明旅游索道攻略
  • 短信驗證碼平臺 理財 WPS下載

    關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網 版權所有
    ICP備06013414號-3 公安備 42010502001045

    免费一级欧美片在线观看网站_国产一区再线_欧美日本一区二区高清播放视频_国产99久久精品一区二区300
    亚洲国产成人porn| 91香蕉视频mp4| 国产欧美一二三区| 成人精品电影在线观看| 国产精品传媒入口麻豆| 91蜜桃传媒精品久久久一区二区 | 欧美激情一区二区三区四区| 懂色av噜噜一区二区三区av| 综合中文字幕亚洲| 欧美日韩一二区| 久99久精品视频免费观看| 久久午夜国产精品| caoporn国产一区二区| 亚洲主播在线观看| 欧美一级视频精品观看| 国产老肥熟一区二区三区| 国产精品麻豆视频| 在线一区二区观看| 美腿丝袜一区二区三区| 久久精品人人做人人爽97| 99精品在线免费| 天天影视涩香欲综合网| 精品欧美一区二区久久| 不卡av电影在线播放| 亚洲一二三区视频在线观看| 91麻豆精品国产91久久久久久| 国内成+人亚洲+欧美+综合在线| 国产精品嫩草影院com| 欧美色综合天天久久综合精品| 日本不卡一二三| 欧美激情一区二区| 欧美色大人视频| 国产一本一道久久香蕉| 亚洲欧美日韩国产手机在线| 4438x成人网最大色成网站| 国产另类ts人妖一区二区| 亚洲另类在线一区| 欧美电影免费观看完整版| 成人av影院在线| 天天影视色香欲综合网老头| 国产欧美日韩精品a在线观看| 91官网在线免费观看| 激情综合五月婷婷| 亚洲夂夂婷婷色拍ww47 | 精品日韩在线一区| 91免费看`日韩一区二区| 免费一级片91| 成人欧美一区二区三区| 欧美电视剧免费观看| 一本色道久久综合狠狠躁的推荐 | 9191精品国产综合久久久久久| 老司机精品视频一区二区三区| 久久九九久久九九| 欧美国产丝袜视频| 亚洲bt欧美bt精品| 捆绑调教美女网站视频一区| 久久亚洲一级片| 亚洲超丰满肉感bbw| 在线一区二区观看| 2021久久国产精品不只是精品| 午夜电影一区二区| 久久久久综合网| 欧美色视频在线| 成人少妇影院yyyy| 免费一区二区视频| 亚洲精品乱码久久久久久| 久久亚洲欧美国产精品乐播| 欧美色视频一区| 成人美女在线观看| 久久精品国产秦先生| 亚洲欧美色综合| 国产三级欧美三级| 91精品国产高清一区二区三区蜜臀| av成人老司机| 国产一区二区三区综合| 婷婷久久综合九色综合绿巨人 | 欧美日韩国产天堂| av不卡免费电影| 激情小说欧美图片| 婷婷中文字幕一区三区| 亚洲欧美日本韩国| 中文字幕电影一区| 久久夜色精品一区| 91精品午夜视频| 在线免费一区三区| 99九九99九九九视频精品| 国产精品一区二区在线观看不卡| 日韩精品每日更新| 亚洲国产一区二区在线播放| 亚洲欧美在线另类| 久久久亚洲午夜电影| 日韩欧美在线影院| 欧美肥妇free| 欧美日韩日日夜夜| 欧美性受xxxx| 91成人免费在线| 91麻豆精品在线观看| 不卡的av网站| proumb性欧美在线观看| 国产成人免费高清| 国产精品一区二区在线播放| 久久国产精品99久久久久久老狼| 91色porny| 国产99久久久久| 国产盗摄一区二区三区| 国内久久婷婷综合| 久久国产视频网| 毛片不卡一区二区| 久久精品免费观看| 另类中文字幕网| 美女网站色91| 蜜桃视频免费观看一区| 人妖欧美一区二区| 蜜桃av一区二区三区电影| 日本色综合中文字幕| 日韩高清在线不卡| 蜜臀精品一区二区三区在线观看| 天堂一区二区在线免费观看| 日本欧洲一区二区| 免费在线看一区| 麻豆精品久久久| 国模套图日韩精品一区二区| 国模大尺度一区二区三区| 国产一区日韩二区欧美三区| 国产成人精品aa毛片| 成人不卡免费av| 色综合天天狠狠| 欧美综合色免费| 欧美日本在线看| 日韩欧美国产综合一区| 久久这里只精品最新地址| 久久久久97国产精华液好用吗| 欧美激情一区二区| 亚洲人快播电影网| 性做久久久久久| 久久精品国产久精国产爱| 国产一区二区三区在线观看免费视频 | 一本一道久久a久久精品| 欧美亚洲国产一区二区三区va | 免费观看91视频大全| 国产在线播放一区二区三区 | 成人久久视频在线观看| 色综合天天性综合| 欧美色图一区二区三区| 日韩一区二区在线观看视频| 久久久噜噜噜久久中文字幕色伊伊| 国产精品污污网站在线观看| 亚洲免费观看高清完整版在线观看熊| 亚洲影院在线观看| 蜜桃一区二区三区四区| 国产宾馆实践打屁股91| 在线观看不卡视频| 正在播放一区二区| 久久精品一区二区三区四区| 自拍偷自拍亚洲精品播放| 亚洲第一搞黄网站| 国产一区二区中文字幕| 99久久精品免费看国产| 91久久精品日日躁夜夜躁欧美| 欧美精品1区2区| 久久久午夜电影| 亚洲女性喷水在线观看一区| 天天亚洲美女在线视频| 国产精品夜夜嗨| 色狠狠色噜噜噜综合网| 日韩欧美激情在线| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲午夜久久久| 国产成人免费xxxxxxxx| 欧美日韩一区二区三区视频| 久久久久久麻豆| 一级特黄大欧美久久久| 激情文学综合网| 色婷婷av一区二区三区软件| 欧美一级二级在线观看| 亚洲视频网在线直播| 蜜桃av一区二区三区| 色综合久久天天| 2020日本不卡一区二区视频| 一区二区三区成人在线视频| 国产一区二区三区久久久| 在线观看视频91| 国产亚洲欧美在线| 午夜精品久久久久久久99樱桃| 国产白丝网站精品污在线入口| 欧美猛男gaygay网站| 国产精品美女www爽爽爽| 毛片一区二区三区| 在线观看日韩av先锋影音电影院| 337p日本欧洲亚洲大胆精品| 一区二区三区国产豹纹内裤在线| 国产乱码精品一品二品| 欧美挠脚心视频网站| 国产精品久久久久久福利一牛影视 | 日本中文一区二区三区| 色视频一区二区| 国产视频一区二区在线| 日韩福利视频导航| 日本韩国欧美国产| 欧美极品xxx|