精品深夜AV无码一区二区_伊人久久无码中文字幕_午夜无码伦费影视在线观看_伊人久久无码精品中文字幕

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

    精品深夜AV无码一区二区_伊人久久无码中文字幕_午夜无码伦费影视在线观看_伊人久久无码精品中文字幕
    <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp>
    <ul id="e4iaa"></ul>
    <blockquote id="e4iaa"><tfoot id="e4iaa"></tfoot></blockquote>
    • <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp>
      <ul id="e4iaa"></ul>
      <samp id="e4iaa"><tbody id="e4iaa"></tbody></samp><ul id="e4iaa"></ul>
      <ul id="e4iaa"></ul>
      <th id="e4iaa"><menu id="e4iaa"></menu></th>
      福利一区二区三区四区| 全部免费毛片在线播放一个| 国产一卡二卡三卡四卡| 国产色视频在线| 午夜在线观看视频18| www.五月婷婷| 欧美日韩理论片| 亚洲av人无码激艳猛片服务器| 在线播放成人av| 精品国产乱码一区二区三| 天天综合网入口| 精品成人无码一区二区三区| 亚洲国产精品视频在线| 精品熟妇无码av免费久久| 亚洲精品人妻无码| 日本亚洲一区二区三区| 中文字幕永久在线| 人人妻人人藻人人爽欧美一区 | 精品欧美一区二区精品少妇| 人人妻人人澡人人爽| 成人一级黄色大片| www.午夜av| 国产jk精品白丝av在线观看 | 亚洲精品免费一区亚洲精品免费精品一区 | 国产精品一区二区入口九绯色 | a毛片在线免费观看| 国产乱人乱偷精品视频a人人澡| 日韩免费一级片| 欧美专区第二页| 九九热免费精品视频| 伊人久久亚洲综合| 午夜精品一区二区三| 亚洲av永久纯肉无码精品动漫 | 日本精品一区二区在线观看| 国产免费久久久| 黄色av免费播放| 欧美人一级淫片a免费播放| 蜜桃av噜噜一区二区三区麻豆| 国产黄在线免费观看| 99精品久久久久久中文字幕| 911国产在线| 国产污视频在线看| 日韩精品在线播放视频| 亚洲精品国产成人av在线| xfplay5566色资源网站| 久久精品国产亚洲av高清色欲| 日本三级黄色网址| 99国产精品免费视频| 日韩中文字幕免费在线观看| 精品人妻无码一区二区性色| 久久久久免费看| 亚洲一级理论片| 久久久久99精品成人| 久久无码精品丰满人妻| 亚洲天堂网在线观看视频| 国产人妖一区二区三区| 天堂av资源在线| 国产午夜精品福利视频| 中文无码精品一区二区三区| 国产又粗又黄又猛| 7799精品视频天天看| 人妻少妇精品无码专区| 五月激情六月婷婷| 精品人妻无码一区二区性色 | 国产又大又黄视频| 中文字幕欧美人妻精品一区蜜臀| 国产v在线观看| 亚洲精品激情视频| 精品一区免费观看| xfplay5566色资源网站| 夜夜爽久久精品91| 色屁屁影院www国产高清麻豆| 欧美精品韩国精品| 国产精品视频久久久久久| 日本一级二级视频| 国产免费美女视频| 在线免费看av片| 日韩精品久久久久久免费| 国产高清免费观看| 中文字幕天天干| 国产熟女一区二区三区四区| 天天干天天干天天| 亚洲欧美日韩网站| 中文字幕乱码人妻二区三区| 天天综合永久入口| 亚洲不卡的av| 中文字幕无人区二| 亚洲精品乱码久久| 中文字幕视频在线免费观看| 亚洲视频一二三四| av永久免费观看| 亚洲精品综合网| 99热这里只有精品99| 国产伦精品一区二区三区免.费| 无码少妇精品一区二区免费动态| 亚州视频一区二区三区| 99久在线精品99re8热| 在线精品一区二区三区| 久草中文在线视频| 日本一级免费视频| 亚洲AV成人精品| h色网站在线观看| 国语对白一区二区| 欧美成人三级伦在线观看 | 一区二区国产精品精华液| 图片区 小说区 区 亚洲五月| 五月天中文字幕在线| www.毛片com| 青青草免费av| 国产成人精品av久久| 婷婷中文字幕在线观看| 91激情视频在线| 欧美一区二区激情视频| 亚洲无码精品一区二区三区| 国产在线免费看| 亚洲av片不卡无码久久| 国产xxx在线观看| 神马一区二区三区| 国产又大又长又粗| 中文写幕一区二区三区免费观成熟| 国产精品乱码一区二区| 天天操中文字幕| 日本精品在线免费观看| 精品二区在线观看| 国产成人精品一区二区在线小狼| 在线播放黄色av| 婷婷激情四射网| 中文字幕乱视频| 中文字幕一区二区人妻电影| 免费看日批视频| 久久黄色一级视频| 黄色av免费观看| 这里只有久久精品视频| 思思久久精品视频| 色综合视频在线| 国内精品偷拍视频| 国产性xxxx| 美女少妇一区二区| 精品国产乱码久久久久久蜜臀网站 | 精品久久久久久久久久久国产字幕| av黄色免费网站| 成人欧美一区二区三区黑人一| 一级黄色免费网站| 亚洲av综合一区二区| 99在线精品视频免费观看20| yjizz国产| 国产3级在线观看| jizz亚洲少妇| 天堂av在线8| 中文字幕五月天| 丰满人妻妇伦又伦精品国产| 国产人妻人伦精品1国产丝袜| 玖玖爱这里只有精品| 色婷婷视频在线| 中文字幕 日韩有码| 丁香六月婷婷综合| 日本三级小视频| 99热这里只有精品在线| 久久国产精品波多野结衣| 日韩一区二区三区四区在线| 亚洲综合欧美在线| 亚洲男人的天堂在线视频| 国产1区2区在线观看| 欧洲在线免费视频| 91精品国产高潮对白| 久久精品国产亚洲AV熟女| 天天干天天操av| 中国精品一区二区| 国产精品九九九九九| 久久久久亚洲AV成人网人人小说 | 538精品在线视频| 午夜免费一区二区| 国产激情无套内精对白视频| 久久久久久久中文字幕| 亚洲黄色小说在线观看| 亚洲精品久久久久久宅男| 一级特黄免费视频| 呻吟揉丰满对白91乃国产区| 中文字幕线观看| 久久影视中文字幕| 99er热精品视频| 午夜性色福利影院| av五月天在线| 久久久久久国产免费a片| 国产三级漂亮女教师| 欧美色图亚洲天堂| 精品午夜福利视频| 最新天堂在线视频| 91香蕉视频污在线观看| 免费中文字幕在线| 久久国产视频精品| 国产视频在线免费观看| 免费网站看av| 亚洲精品国产精品国自产网站按摩| 西西44rtwww国产精品| 精品一区免费观看| 国产成人在线观看网站| 夜夜骚av一区二区三区| 天堂久久久久久| 天堂网视频在线|