Skip to content
Tags

Cryptography in picoCTF 2019

Estimated time to read: 7 minutes

October 10, 2020 · ~5 minutes


The numbers1

Hình ảnh challenge

Sau khi chúng ta download file ảnh từ challenge về ta được hình bên dưới.

Hình ảnh minh họa sau khi mở file

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

Hình ảnh challenge
Hình ảnh trong file table

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

Code giải mã thể hiện trên C++

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

Hình ảnh challenge

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

Hình ảnh challenge

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

Mật mã caesar

Mật mã caesar 2

Decode caesar online

Tapping5

Hình ảnh sau khi "nc jupiter.challenges.picoctf.org 21610"

Ở 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}

Xem thêm

Mã morse

Giải mã mã morse

Comments