亚洲十八**毛片_亚洲综合影院_五月天精品一区二区三区_久久久噜噜噜久久中文字幕色伊伊 _欧美岛国在线观看_久久国产精品毛片_欧美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

    欧美电影一区二区三区| 日韩美女一区二区三区在线观看| 制服丝袜亚洲精品中文字幕| 婷婷中文字幕综合| 国产精一品亚洲二区在线视频| 欧美亚洲大陆| 国产精品无圣光一区二区| 亚洲性视频h| www一区二区三区| 欧美边添边摸边做边爱免费| 91精品国产一区二区三区蜜臀 | 日韩色在线观看| 97久久超碰精品国产| 精品二区视频| 麻豆国产精品官网| 久久电影院7| aaa国产精品| 亚洲天堂导航| 黄色网址在线播放| 久草在线资源网站| 欧美午夜精品一区二区蜜桃| 国产亚洲一区二区三区四区| 男女性色大片免费观看一区二区 | 独立日3在线观看完整版| 亚洲777理论| 国产精品进线69影院| 国产成人在线视频免费播放| 久久一区视频| 国一区二区在线观看| 成人同人动漫免费观看| 中文字幕一区二区三区日韩精品| 久久av资源| 91成人在线精品视频| 成人女性视频| 久热成人在线视频| 国产亚洲一区| 日韩av高清在线观看| 韩日成人av| 国产二区国产一区在线观看| 蜜桃视频免费观看一区| 久久精品在线免费观看| 在线国产亚洲欧美| 欧美性色综合网| 欧美丝袜丝nylons| 一级视频在线观看| 日本福利片高清在线观看| 最大av网站| 羞羞小视频在线观看| 国产三级在线播放| 黄色大片在线播放| 黄网址在线观看| 一区二区三区免费在线看| 亚洲久草在线| 国产精品色呦| 蜜桃av在线播放| 三级中文字幕在线观看| 国偷自产一区二区免费视频| 亚洲日本天堂| 国产精品黑丝在线播放| 亚洲成人三区| 夜夜嗨av一区二区三区网站四季av| 亚洲老女人视频免费| 女仆av观看一区| 蜜桃一区二区三区在线观看| 亚洲影视资源网| 午夜影院久久久| 在线视频资源站| 国产精品黄色片| 超碰成人在线免费| 日本三级亚洲精品| 一本色道久久综合亚洲91| 91精品国产一区二区| 麻豆网在线观看| 日韩精品永久网址| 欧美国产丝袜视频| 色综合天天综合在线视频| 你懂的视频在线观看| 人人澡人人添人人爽一区二区| 精品3atv在线视频| 成人动态视频| 国产91高潮流白浆在线麻豆 | 成人影视亚洲图片在线| 99久久综合精品| 国产对白国语对白| 亚瑟国产精品| 国产福利一区二区| 欧美va亚洲va香蕉在线| 深夜福利在线观看直播| 美女视频亚洲色图| 久久日一线二线三线suv| 精品高清美女精品国产区| 欧美视频在线一区| 国产拍在线视频| 日韩精品一二三四| 国产精品污网站| 伊人久久青青草| 久久视频国产| 亚洲成人激情自拍| 欧美大胆的人体xxxx| 蜜桃av综合| 国产亚洲制服色| 日本福利片在线| 先锋资源久久| 99久久精品国产精品久久| 悠悠资源av网站| 激情在线视频| 久久精品国内一区二区三区水蜜桃 | 日韩中文字幕一区二区三区| 欧美调教femdomvk| 日本欧美在线| 国产精品v亚洲精品v日韩精品 | 亚洲国产另类av| 欧美一区二区三区性视频| 日韩黄色在线| 99re6这里只有精品视频在线观看| 中文资源在线网| 欧美在线高清| 久久久九九九九| 在线观看二区| 国产欧美日韩精品一区二区三区 | 三级黄色网址| 亚洲午夜天堂| 成人爱爱电影网址| 欧美另类变人与禽xxxxx| www日韩tube| 久久91精品| 9久草视频在线视频精品| 亚洲嫩模一区| 欧美调教在线| 天天爽夜夜爽夜夜爽精品视频| 国产亚洲一区二区手机在线观看| 亚洲婷婷免费| 成人满18在线观看网站免费| 欧美精品资源| 国产精品国产精品国产专区不蜜 | 爽爽视频在线观看| 亚洲欧美日本视频在线观看| 亚洲精品高清视频在线观看| 黄色一级片视频| 欧美a在线观看| 国产91精品精华液一区二区三区 | 精品国产午夜| 成人免费淫片95视频观看网站| 欧美成年黄网站色视频| 91婷婷韩国欧美一区二区| 91精品国产综合久久精品图片 | 国产九色精品成人porny| 一区二区三区国产精品| 7777精品伊人久久久大香线蕉 | 成人免费黄色大片| 伊人色综合网| 中文在线一区| 成人三级网址| 亚洲成人7777| 欧美日韩成人| 日本在线不卡视频一二三区| 久草在线新视觉| 欧美无毛视频| 欧美丰满嫩嫩电影| 一区二区三区美女| 国产精品亚洲专一区二区三区| 日韩av中字| 欧美天堂在线观看| 精品无吗乱吗av国产爱色| 一区二区免费看| 国产精品sss在线观看av| 国产天堂亚洲国产碰碰| 欧美婷婷在线| av在线视屏| 亚洲精品aaaaa| 国产色99精品9i| 狠狠色狠狠色综合网| 在线观看黄色av网站| 精品福利在线导航| 亚洲精选久久| 欧美精品尤物在线观看| 加勒比色综合久久久久久久久| 久久电影中文字幕| 精品视频一区 二区 三区| 国产精品一区二区你懂的| 午夜先锋成人动漫在线| 激情影院在线观看| 日韩欧美在线观看| 国产午夜精品美女毛片视频| 欧美日本一区二区视频在线观看 | 国产一区二区三区四| 成人网免费视频| 天天操夜夜爽| 欧美一级在线观看| 欧美色999| 成人午夜在线观看视频| 日韩欧美国产高清| 色综合久久天天综合网| 亚洲欧美日韩人成在线播放| 日本高清不卡视频| av一区二区在线观看| 成人免费直播在线| 五月天亚洲一区| 伊人成综合网| 国产一区二区不卡老阿姨|