bilapro546

@bilapro546

Joined on Jan 26, 2024

  • Symmetric Cipher Adventure!!!! Trong bài viết này mình xin chỉ viết ngắn gọn và tóm tắt nhất có thể để có thể có góc nhìn tổng quát về các thuật toán mã khoá đối xứng, vì thế có thể có những thiếu sót và những thắc mắc, các bạn có thể liên lạc với mình để mình chỉnh sửa và bổ sung nhé :D (mình có đính kèm thêm những link tham khảo, trích dẫn để tiện tra cứu) 1. Khái quát về symmetric cipher: Những thuật toán mã khoá đối xứng (symmetric cipher algorithm) là các thuật toán có dùng chung một khoá. Có thể nói thuật toán mã khoá đối xứng có mặt ở khắp mọi nơi hiện nay vì sự tiện lợi, nhanh và an toàn, đặc biệt có thể kể đến AES (advanced encryption standard), trong bài viết này thì mình sẽ thường đề cập đến AES. Cốt lõi dẫn đến sự khó nhằn trong việc "bẻ khoá" thuật toán này nằm ở độ lớn của key (key space) và khả năng thống kê và xác xuất dự đoán dựa trên bản mã (ciphertext) thấp hoặc gần như không thể. Về độ lớn của key thì AES-128 sử dụng 128 bit key và tương tự AES-256 thì sử dụng 256 bit key, vì độ lớn của key khá lớn (2^128 và 2^256) nên hiện nay AES-128 hiện vẫn đang an toàn, nhưng khi đến kỷ nguyên máy tính lượng tử, AES-128 sẽ có thể bị bẻ khoá bởi thuật toán của ông Grover (Grover's algorithm) [1], và AES-256 sẽ là sự thay thế an toàn [2]. Về khả năng có thể thống kê và xác xuất để có thể "bẻ khoá" được các symmetric cipher thì ta có 2 loại hình tấn công tiêu biểu là Linear Cryptanalysis và Differential Cryptanalysis [3].
     Like  Bookmark
  • Setting a new Unix system of mine (wsl favor) zsh (better shell than bash :L) ohmyzsh (better shell managing) sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" conda (miniforge3) curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" bash Miniforge3-$(uname)-$(uname -m).sh
     Like  Bookmark
  • Đến với bài viết này ta sẽ làm quen với chữ ký số hay ngắn gọn là DSA (không phải data structures and algorithms nhé :V). Mình sẽ cố gắng cô đọng lại những gì mình biết về DSA nhất để có thể để các bạn có cái nhìn tổng quát, về chuyên sâu thì các bạn có thể tham khảo thêm từ nhiều nguồn khác nhau. Trước khi đến với thuật toán chữ ký số DSA, ta cần ôn lại kiến thức về public key cryptography: https://vnoi.info/wiki/cs/crypto/Public-Key-Cryptography.md https://en.wikipedia.org/wiki/Public-key_cryptography Về cách hoạt động của RSA, ECC: https://giapppp.notion.site/Elliptic-Curve-Cryptography-50d4401770b641349ad235e287b326d0 https://hackmd.io/@tranminhprvt01/RSA_Training_WCO2
     Like  Bookmark
  • How to make vscode run .sage files with sage command in terminal and with python syntax Best solution for code runner extention in visual studio code (vscode). add "*.sage" "python" key value in file association. Set executorMap python to null "python": null Assign 2 key value pair in executorMapByFileExtension ".py" : "python3 -u", ".sage": "cd $dir && sage $fileName" #inspired by this thread https://github.com/formulahendry/vscode-code-runner/issues/329#issuecomment-409806108
     Like  Bookmark
  • Lời nói đầu: Đây là những challenge mà mình ra ý tưởng, và những challenge này nếu đã làm quen với python và xài một ít thư viện thôi là có thể giải ra :smile: EasyRSA Một challenge về RSA: from Crypto.Util.number import bytes_to_long, getPrime FLAG = b"W1{??????????????????????????}" p = getPrime(512)
     Like  Bookmark
  • Lời nói đầu: đây là một giải CTF chất lượng vì mình thấy đề mảng crypto rất hay, tuy vậy mình vẫn chỉ giải được 1 bài crypto trong suốt thời gian cuộc thi diễn ra :sweat_smile:. Mong trong tương lai mình sẽ tìm ra cách giải của các bài còn lại ahihi. Ok bây giờ sẽ đến phần WU của bài babyRSA. babyRSA Đề bài cho ta file sau: from Crypto.Util.number import bytes_to_long from FLAG import flag
     Like  Bookmark
  • ASCIS 2023 WarmUp - Welcome RSA, Hidden Message Mình sẽ viết WU này để tổng hợp kiến thức cũng như để chia sẻ thêm về cách giải của một số bài mình giải được ở vòng khởi động giải CTF mới diễn ra ASCIS 2023 WarmUp. Đây là đề bài: #!/usr/bin/python3 from Crypto.Util.number import getPrime from Crypto.Util.number import bytes_to_long
     Like  Bookmark
  • Recently, I have participated in Asis CTF Quals 2023. Although I can only solve one challenge, which is renamiara, through this challenge I have learned a little more about math and gained a little experience about the way that I should approach a problem. Because this is the most recent flag of mine, I want to share the solution and all my thinking process. This will be a super fast write-up and I hope you like it. :pancakes: Renamiara This is the link to the challenge renamiara.py First, the server will give us a banner with "greetings and welcome" to the challenge and tell us that this is a real-world's discrete log problem (I don't think so :P) If we enter "y" then the fun begin. If we enter "n" then ... :cricket: ans = sc().decode().strip().lower()
     Like  Bookmark