Professional Documents
Culture Documents
An Toàn M NG
An Toàn M NG
An Toàn M NG
NT101
LAB1
Task 1.1:
“2 4 5” từ (1) và (2) ta biết được rằng số 4 là số chính xác nhưng sai vị trí ( vị trí số 2) (3)
Có 2 số đúng và 1 trong 2 số đó là số 4 và sai vị trí ( ví trí số 1) và từ (3) => số 4 chỉ có thể nằm ở vị trí số 3
“x x 4” (4)
“2 9 1” từ (2) và (4) ta loại được 2 vị trí còn lại => số 9 là số đúng nằm ở vị trí chính xác “x 9 4”
“5 6 9: One number is correct but in wrong place” => ta loại được số 6
“4 6 3: Two number are correct but in wrong place” => số còn lại là số 3
“3 9 4”
Task 1.2:
A B C D E F G H I
A A B C ?
D D E D FF
? ? B G HH
? D E D HI
HD FF HH HF
HH
Có 3 TH xảy ra là : 11 , 22 , 33
Từ (1) => H = 2
B + E = 11
A A B C ?
D D E D FF
? ? B G 22
? D E D 2I
2D FF 22 2F
D D E D FF
3D + E = FF
Giả sử D = 9 và E = 8
FF < 36
Có 2 TH : 11 , 33
TH F = 1 :
TH F = 3 :
Nếu D = 9 thì E = 6:
A A 5 C ?
9 9 6 9 33
? ? 5 G 22
? 9 6 9 2I
29 33 22 23
TH C = 1 , G = 4 và A = 7 , I = 8
8 8 5 4 25
9 9 6 9 33
9 7 5 1 22
3 9 6 9 27
29 33 22 23
Nếu D = 8 thì E = 9
A A B C ?
8 8 9 8 33
? ? B G 22
? D 9 D 2I
2D FF 22 2F
A B C D E F G H I
8 5 4 9 6 3 1 2 7 s
2. Caesar cipher:
Task 2.1:
def brute_force_ceaser(text):
for i in range(26):
print(str(i)+ ": " + caesar_cipher(text,-i)) #decrypt using ~key
plain_text = "Nguyen Van Anh Tuan"
key = 24
cypher_text = caesar_cipher(plain_text, key) #Leswcl Tyl Ylf Rsyl
print(cypher_text)
brute_force_ceaser(cypher_text)
Kết quả :
Cypher_Text : Gurer ner gjb xvaqf bs crbcyr va guvf jbeyq: gubfr jub ner ybbxvat
sbe n ernfba naq gubfr jub ner svaqvat fhpprff. Gubfr jub ner
ybbxvat sbe n ernfba nyjnlf frrxvat gur ernfbaf jul gur jbex vf
abg svavfurq. Naq crbcyr jub svaq fhpprff ner nyjnlf ybbxvat sbe
Task 3.1:
Sử dụng trang 101computing để tính toán tần suất xuất hiện của các chữ cái của cypherText và thay thế
Thay thế các chữ cái dựa vào trang web norvig.com (thống kê số lần xuất hiện của các chữ cái trong
tiếng anh)
Thay thế các chữ cái theo thứ tự đã sắp xếp ở trên:
Dựa vào trang web cryptool biết được số lần xuất hiện theo n-grams
Từ có 3 chữ cái xuất hiện nhiều trong tiếng anh theo thống kê là : the , and , ing, …
Ta thử thay thế các chữ cái trên theo thứ tự và có được:
Ytn = the
Vup = and
Nqy = ent
Tiếp tục tìm kiếm và thay thế các từ thành từ có nghĩa, ví dụ : -> AFTER THIS
-> LIKE -> WEEKEND -> LONG -> PRESIDENT
Kết quả:
Task 3.2:
Task 5.1
Task 5.2
Xác định độ dài khóa: Bước đầu tiên là xác định độ dài của khóa được sử dụng trong Vigenere cipher.
Điều này có thể được thực hiện bằng cách phân tích các mẫu lặp lại trong văn bản đã mã hóa. Một kỹ
thuật thông thường là tính toán Chỉ số Tình ngẫu nhiên (Index of Coincidence - IOC) cho các độ dài khóa
khác nhau và tìm các đỉnh trong các giá trị IOC. Giá trị IOC cao hơn cho thấy khả năng cao về độ dài khóa
chính xác.
cv vvobobxy uocmgjg, olgiaqsliioa dynxyu fi axjwdy qgmqdgimpqz uvw jqygcgpemnqhu vqwpgpsgya
wltupmw mtag utajqgimpemf khueqjbl hpp u axa qr lcel-dmmmw jcxwcehvuivl jcxfmw hnsizbajym bh
atmhayvty gmlzcsya bu ymsa mocf uzx ocdx bh kgocxalt. fbmll fqnmktkzcampe mfohykfbul htq oaxk hal
kkfrfiokhrtck dla syvxycfcwg hpp xqzpvmf abnpuho tuf hyzbmkoubbvp fi xkvvqwb whvm jzbccos, exi
ddielpps iv mog uhbxypqn igk eahnbkgznqts eagunukoubbvpe mcvo ce wzxkkf wikk vduvlhefcwgz czx
mfhkx
c = ca/ bb / ac
v = va/ ub/