亚洲十八**毛片_亚洲综合影院_五月天精品一区二区三区_久久久噜噜噜久久中文字幕色伊伊 _欧美岛国在线观看_久久国产精品毛片_欧美va在线观看_成人黄网大全在线观看_日韩精品一区二区三区中文_亚洲一二三四区不卡

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

    欧美影院精品| 日本我和搜子同居的日子高清在线| 麻豆免费看一区二区三区| 成人自拍在线| 麻豆影视在线观看| 亚洲色图在线播放| 成人性视频免费网站| 欧美1区2区3区| 成人在线免费小视频| 欧美日韩国产一级片| 欧美黄免费看| 色开心亚洲综合| 亚洲成人自拍一区| 欧美三级免费| 久久精品人人| 欧美日韩亚洲一区| 国产丝袜视频在线播放| 日韩国产福利| 国产视频一区三区| 国产成人午夜精品5599| 91麻豆精品国产91久久久资源速度 | 91免费在线看| 国内自拍欧美| bl视频在线免费观看| 男女免费观看在线爽爽爽视频| eeuss鲁片一区| 另类图片亚洲色图| 色悠悠亚洲一区二区| 中文字幕成人在线观看| 久久久久av| 青青青国产精品| 国产精品一区二区美女视频免费看| 日韩一级电影| 波多野结衣久久| 51漫画成人app入口| 国产精品毛片久久久久久久久久99999999| 国产精品激情偷乱一区二区∴| kk眼镜猥琐国模调教系列一区二区| 亚洲免费在线视频一区 二区| 91黄色免费观看| 久久精品嫩草影院| 一区二区三区国产在线| 日韩久久免费av| 女女色综合影院| 激情欧美一区二区三区在线观看| 亚洲欧美激情一区二区| 一区二区三区在线观看网站| 国产亚洲欧美一级| 91久久国产综合久久| 日韩精品在线一区| 欧美成人视屏| 午夜在线免费观看视频| 欧美本精品男人aⅴ天堂| 免费看的毛片| 欧美亚洲国产精品久久| 国产99久久精品| 捆绑调教美女网站视频一区| 精品在线你懂的| 欧美激情一区二区三区四区| 亚洲第一二三区| 日韩欧美一区二区三区在线视频 | 国产精品久久国产愉拍| 99久久夜色精品国产亚洲96| 亚洲第一论坛sis| 成人性生活av| 345成人影院| 嫩草伊人久久精品少妇av杨幂| 色爱综合区网| 麻豆蜜桃在线观看| 日韩在线影院| 欧美黄色激情| 阿v视频在线观看| 国产成人av| 国产麻豆精品久久| 欧美激情亚洲| 麻豆精品一区二区av白丝在线| 久久99精品久久久久久国产越南| 免费观看久久久4p| 久久久久九九视频| 国产精品免费久久| 欧美小视频在线| 国产天堂在线观看| 成全电影播放在线观看国语| 色婷婷在线播放| 日本少妇精品亚洲第一区| 亚洲制服av| 日本va欧美va欧美va精品| 性色av一区二区怡红| 26uuu另类欧美| 色综合久久久网| 美臀av在线| 桃子视频成人app| 无码少妇一区二区三区| 亚洲电影在线| 成人av电影在线播放| 亚洲一区二区三区四区在线免费观看 | 精品av一区二区| 久久国产免费看| 亚洲美女免费在线| 成人拍拍拍在线观看| 青青青草原在线| 久久久久97| 日韩国产在线一| 欧美中文字幕一区| 任你弄在线视频免费观看| 日韩高清在线免费观看| 久久精品国产亚洲aⅴ| 亚洲人一二三区| 日本视频三区| 农村妇女一区二区| 天堂va蜜桃一区二区三区| 欧美色xxxx| 国产网站在线免费观看| 男男gay无套免费视频欧美 | 亚洲国产人成综合网站| 永久www成人看片| 婷婷久久综合九色综合99蜜桃| 一区在线视频| 天天做天天摸天天爽国产一区| 欧美日韩激情视频一区二区三区| 永久免费观看精品视频| 国内成人精品2018免费看| 午夜国产精品一区| 日本在线免费中文字幕| 精品国产乱码久久久久久蜜坠欲下| 国产999精品久久久久久绿帽| 欧美一区二区不卡视频| 亚洲精品毛片| 国产精品1区2区3区在线观看| 激情综合丁香| 久久91麻豆精品一区| 夜夜嗨av一区二区三区中文字幕| 亚洲区欧洲区| 久88久久88久久久| 一个人看的免费视频色| 青青草成人影院| 欧美日韩国产免费| www.豆豆成人网.com| 悠悠色在线精品| 992tv国产精品成人影院| www.av精品| 51精品在线| 国产免费成人在线视频| 国产99re66在线视频| 国产91色综合久久免费分享| 亚洲1024| 成人一区二区视频| 国产黄a三级三级三级av在线看| 激情伊人五月天久久综合| 欧美在线观看在线观看| 91丨porny丨中文| 日韩最新在线| 精品美女在线播放| 欧美精品日日操| 日韩成人av影视| 日韩欧美精品在线| 亚洲视频www| 国产精品久久久久久妇女| 色爱区综合激月婷婷| 欧美日本国产| 首播影院在线观看免费观看电视| 国产九九精品| 在线观看免费av网| 中文字幕一区二区三| 在线精品自拍| 天天噜噜噜噜噜噜| 欧美aaaaaa午夜精品| 麻豆免费在线视频| 在线观看网站黄不卡| 亚洲调教视频在线观看| 成人不用播放器| 日韩美女视频一区二区 | 中文亚洲字幕| 国产传媒av在线| 男女午夜刺激视频| 成人免费av资源| av在线播放一区二区| 超碰在线中文| 欧美极品少妇xxxxⅹ高跟鞋 | 成人欧美一区二区三区白人 | 岛国片av在线| 国产一区二区在线观看免费| 国产美女特级嫩嫩嫩bbb片| 欧美精品一卡| 一级毛片在线看| 国产一区二区三区黄视频 | 99精品视频在线| 九色porny丨国产首页在线| 黄色三级电影网| 欧美网站在线观看| 久久午夜电影网| 久久成人国产| 欧美电影一区| 久久99国产精品二区高清软件| 神马亚洲视频| 日韩免费观看高清完整版在线观看| 亚洲精品免费电影| 99re在线视频这里只有精品| 久久亚洲综合| 日韩在线一区二区|