Cryptography in picoCTF 2019¶
Estimated time to read: 7 minutes
October 10, 2020 · ~5 minutes
The numbers1¶
Sau khi chúng ta download file ảnh từ challenge về ta được hình bên dưới.
Từ hình trên ta chú ý rằng phần đầu dãy số là 16 9 3 15 3 20 6{
và kết hợp với gợi ý của đề bài ta sẽ phát hiện ra khi convert dãy số 16 9 3 15 3 20 6
ra bảng chữ cái thì sẽ cho ra được chữ PICOCTF
(các số chính là vị trí các chữ cái trong bảng chữ cái latin). Ta làm tương tự với các dãy số sau, ta sẽ thấy được flag
Flag
PICOCTF{THENUMBERSMASON}
Easy12¶
Từ hình ảnh trên, ta biết được challenge này đang sử dụng Vigenère_cipher thuộc mật mã Caesar. Theo mã hóa Vigenère cipher, chúng ta sẽ được cung cấp 1 chuỗi key và chuỗi Ciphertext. Và để tìm message ta sẽ decoder từng kí tự một, bằng cách message[i] = (Ciphertext[i] - key[i] + 26) % 26. Tôi có viết một script để giải quyết vấn đề này
Sau khi chạy đoạn code trên, ta dễ dàng tìm ra được decoder là CRYPTOISFUN
và đây cũng chính là 1 phần của flag cần tìm
Flag
picoCTF{CRYPTOISFUN}
133¶
Ngay đầu dòng mô tả, ta cũng nhận ra đây là 1 challenge về ROT13 cơ bản, ta có thể dùng 1 số công cụ giải mã code trên google như là giải mã ROT13 và tôi cũng có viết 1 đoạn code nhỏ để giải mã cũng như nói 1 vài thứ tôi hiểu về loại mã hóa này, các bạn có thể xem tại đây
Flag
picoCTF{not_too_bad_of_a_problem}
caesar4¶
Lại là 1 challenge về mật mã caesar. Hiểu đơn giản thì mã caesar là một dạng mật mã thay thế, trong đó mỗi ký tự trên văn bản sẽ được thay bằng một ký tự khác, có vị trí cách nó một khoảng xác định trong bảng chữ cái. Tham vọng của ta là tìm khoảng dịch chuyển các chữ cái hợp lí để biến thông điệp dspttjohuifsvcjdpoabrkttds thành một thông điệp có nghĩa. Vì bảng chữ cái có 26 kí tự, tức là có tối đa 25 khoảng dịch chuyển, tôi đã ngồi chạy từng khoảng 1 thì biết được rằng khoảng dịch chuyển của message này là 25 kí tự, hay nó còn được gọi là ROT25
tôi có 1 script để giải mã chúng
Flag
picoCTF{crossingtherubiconzaqjsscr}
Xem thêm¶
Tapping5¶
Ở challenge này, ngay đầu tiên ta có dòng gợi ý: What kind of encoding uses dashes and dots?
Và đúng, tôi có nghiên cứu về loại mật mã này, đây là mật mã morse, sau khi nhận diện được loại mã hóa, ta dễ dàng có thể tự decode hoặc dùng 1 số công cụ decode mã morse có sẵn ở trên intenet.
Flag
PICOCTF{M0RS3C0D31SFUN3902019519}