美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇

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

時(shí)間:2024-03-20  來源:  作者: 我要糾錯(cuò)



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 

標(biāo)簽:

掃一掃在手機(jī)打開當(dāng)前頁
  • 上一篇:代做AST20201、代寫Java編程設(shè)計(jì)
  • 下一篇:代寫CPS 1032、Java/Python程序代做
  • 無相關(guān)信息
    昆明生活資訊

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

    關(guān)于我們 | 打賞支持 | 廣告服務(wù) | 聯(lián)系我們 | 網(wǎng)站地圖 | 免責(zé)聲明 | 幫助中心 | 友情鏈接 |

    Copyright © 2025 kmw.cc Inc. All Rights Reserved. 昆明網(wǎng) 版權(quán)所有
    ICP備06013414號-3 公安備 42010502001045

    美女扒开腿免费视频_蜜桃传媒一区二区亚洲av_先锋影音av在线_少妇一级淫片免费放播放_日本泡妞xxxx免费视频软件_一色道久久88加勒比一_熟女少妇一区二区三区_老司机免费视频_潘金莲一级黄色片_精品国产精品国产精品_黑人巨大猛交丰满少妇
    91免费公开视频| 亚洲第一视频区| 国产精品免费在线视频| 久久精品无码一区| 亚洲人成人无码网www国产| 欧美大喷水吹潮合集在线观看| 国产又色又爽又高潮免费| 免费成人深夜蜜桃视频| 亚洲女人久久久| 在线观看美女av| 极品人妻一区二区| 69xxx免费视频| 国产 xxxx| 日韩人妻无码精品综合区| 亚洲aaa视频| 97免费公开视频| 久久人妻少妇嫩草av无码专区| 给我免费观看片在线电影的| 亚洲黄色在线网站| eeuss中文字幕| 日批在线观看视频| 国产精品综合激情| 精品人妻一区二区免费| 美国黄色一级毛片| 国产人妻精品一区二区三区不卡| 女同性αv亚洲女同志| 波多野结衣办公室33分钟| 亚洲一级理论片| 先锋资源av在线| 黄色一级大片在线免费观看| 久久福利小视频| 欧美大片xxxx| 国产精成人品免费观看| 人妻换人妻a片爽麻豆| 日韩三级久久久| 成人免费av片| 国产午夜在线一区二区三区| 免费看一级大片| 精品人妻中文无码av在线| 18岁成人毛片| 在线观看亚洲网站| 九九九视频在线观看| 久久福利小视频| 在线观看欧美一区二区| 精品熟妇无码av免费久久| 亚洲天堂美女视频| 东京热av一区| 北京富婆泄欲对白| 日本在线不卡一区二区| 婷婷在线精品视频| 久久免费看少妇高潮v片特黄| 快灬快灬一下爽蜜桃在线观看| 波多野结衣视频播放| 高h视频免费观看| 少妇aaaaa| 性欧美videos| 精品人妻无码中文字幕18禁| 国产少妇在线观看| 日韩三级在线观看视频| 欧美大片xxxx| 91人妻一区二区三区蜜臀| 美女的奶胸大爽爽大片| 日本少妇高清视频| 美女网站视频在线观看| 51调教丨国产调教视频| 欧美丰满少妇人妻精品| 欧洲av一区二区三区| www久久久久久久| 国产精品精品软件男同| 亚洲色婷婷一区二区三区| 特级特黄刘亦菲aaa级| 亚洲精品在线视频免费观看| 国产精品无码专区| 国产午夜精品久久久久久久久| www亚洲色图| 香蕉在线观看视频| 妺妺窝人体色WWW精品| 91插插插插插插| 日韩精品人妻中文字幕有码| 日韩欧美黄色网址| 久久久男人的天堂| 91中文字幕永久在线| 国产三级国产精品国产国在线观看 | 182在线视频| a天堂中文字幕| 一区二区三区人妻| 性欧美一区二区| 精品1卡二卡三卡四卡老狼| 丁香花五月婷婷| 国产白袜脚足j棉袜在线观看| 亚洲成人黄色av| 95视频在线观看| 老司机精品免费视频| 艳妇乳肉亭妇荡乳av| 亚洲伦理一区二区三区| 亚洲a v网站| 少妇精品无码一区二区三区| 一区二区三区影视| 在线观看国产精品一区| yy1111111| 国产成人av片| 91人妻一区二区三区蜜臀| 中国女人特级毛片| 国产精品毛片一区二区| 亚洲av成人精品一区二区三区| 国产成人无码精品久久二区三| 人与嘼交av免费| 一区二区伦理片| 给我看免费高清在线观看| 亚洲av无一区二区三区久久| 国产一区第一页| 美国精品一区二区| 日本人亚洲人jjzzjjz| 在线观看福利片| 3d动漫精品啪啪一区二区下载| 在线天堂www在线国语对白| 亚洲少妇一区二区三区| 久久黄色一级视频| 无码人妻久久一区二区三区蜜桃| 日本福利片在线观看| 久久精品一区二区三区四区五区| 精品成人无码一区二区三区| 91精彩刺激对白露脸偷拍| 欧美激情aaa| 国产jizz18女人高潮| 极品尤物一区二区| 国产精品视频一区二区在线观看| 久久一级免费视频| 亚洲911精品成人18网站| 亚洲成年人av| 波多野结衣办公室33分钟| 免费成人深夜天涯网站| 日韩在线视频免费看| 永久久久久久久| 亚洲黄色在线网站| eeuss中文字幕| 成人做爰69片免费| av电影网站在线观看| 波多野结衣不卡视频| 好吊日免费视频| 国产精品18在线| 视频免费在线观看| www.99热| 中文字幕在线观看网址| 精品伦精品一区二区三区视频密桃| 黄色录像二级片| 中文字幕在线观看网址| 亚洲国产精品免费在线观看| 色婷婷免费视频| 视频这里只有精品| 中文字幕免费视频| 26uuu国产| 肉色超薄丝袜脚交69xx图片| 中文字幕无码毛片免费看| 亚洲天堂视频一区| 国产乱国产乱老熟300| 中文字幕免费在线看线人动作大片| 91视频综合网| 性生交大片免费全黄| 亚洲永久精品ww.7491进入| 性一交一黄一片| 天天做夜夜爱爱爱| 国产不卡在线观看视频| 好吊一区二区三区视频| 免费啪视频在线观看| 宇都宫紫苑在线播放| 女人黄色一级片| www色com| 超碰97av在线| 蜜桃久久精品成人无码av| 久久久久国产精品区片区无码| 国产精品91av| 伊人av在线播放| 人妻互换一二三区激情视频| 中文字幕另类日韩欧美亚洲嫩草| 一色道久久88加勒比一| jizz欧美性20| 亚洲а∨天堂久久精品2021| 成人h动漫精品一区| 伊人网伊人影院| 精品人妻互换一区二区三区| 精品无码一区二区三区| 黄瓜视频污在线观看| 国产又粗又猛又爽又黄av| 精品国产av无码| 国产传媒在线看| 翔田千里88av中文字幕| 国模大尺度视频| 妖精视频一区二区| 成年人的黄色片| 欧美 日韩 成人| 亚洲怡红院在线观看| 日本女人黄色片| 亚洲调教欧美在线| 自拍偷拍亚洲天堂| 日韩av片在线| 久久久久无码精品| 亚洲国产第一区| 日本爱爱小视频| 亚洲熟妇一区二区|