Coder Social home page Coder Social logo

nouralmulhem / cipher-sphere Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 3.0 32.92 MB

πŸ•΅οΈβ€β™€οΈ an implementation of the Dell Hackathon game steganography

License: MIT License

Jupyter Notebook 98.22% Python 1.50% C++ 0.14% JavaScript 0.14%
deep-learning eagles foxes machine-learning problem-solving riddles security staganography trigger-word-detection

cipher-sphere's Introduction

Cipher Sphere

logo

β€πŸ¦Š Fox VS Eagle πŸ¦…β€œ


Table of Contents


Overview

  • Our solution for Dell Hacktrick 2024
  • This project ranked 5th place among 35 teams in leaderboard.
  • Built using Python.
  • Game Description
    • Firstly: The Fox. Mischievous, and sly, the Fox uses all its tactics to fool the Eagle and try to send the message through to the parrot using steganography. As the Fox, you’ll have the opportunity to invest your time wisely into honing your skills and creating distractions to increase your chances of evading the Eagle’s watchful gaze.
    • Second: The Eagle. Sharp-eyed and vigilant, the Eagle uses its attentiveness to try to intercept and decode the messages sent without getting fooled. Beware of the Fox’s devious tricks, for Fake messages may cross your path. Your mission is to distinguish truth from deception, ensuring that only genuine messages are intercepted while avoiding costly mistakes. The parrot represents the game administrator that receives the messages and scores both ends accordingl


How To Run

pip install -r requirements.txt
  • Folder Structure
β”œβ”€β”€β”€ data
β”œβ”€β”€β”€ Documentation
β”‚   β”œβ”€β”€ API Documentation.pdf
β”‚   β”œβ”€β”€ Hackathon General Documentation.pdf
β”‚   └─── Riddles Documentation.pdf
β”œβ”€β”€β”€ Eagle
β”‚   β”œβ”€β”€ eagle.py
β”‚   β”œβ”€β”€ Eagle_submission_script.ipynb
β”‚   β”œβ”€β”€ BiLstm_code.ipynb
β”‚   └─── GRU_code.ipynb
β”œβ”€β”€β”€ Solvers
β”‚   β”œβ”€β”€β”€ fox_submission_solver.py
β”‚   └─── eagle_submission_solver.py
....

Modules

Fox Module

  1. The primary objective for the Fox is to send the secret message to the parrot, encoded through steganography, while devising a strategic game plan to outsmart the Eagle and prevent it from intercepting the message.
  2. For each game, you will be provided with a message of a specific length and an image to use for encoding the messages. During the first phase, the message length is fixed to 20 characters.
  3. The game is played in chunks (anything between 1 and 20). In every chunk, there are 3 channels that concurrently carry your messages. The messages can be one of the following 3 types:
    • Real: These messages are part of the original message intended for transmission.
    • Empty: These are Empty messages.
    • Fake: These are Fake messages used to deceive the Eagle. Unlocking this feature requires solving riddles

  4. logo

  5. Riddles: Whenever you successfully solve a riddle, you will receive a specific reward based on the difficulty level of the riddle. The rewards for each difficulty are as follows:
    Riddle Type Budget
    Easy A budget of 1 Fake message
    Medium A budget of 2 Fake message
    Hard A budget of 3 Fake message
    There is a total of 10 different riddles:
    • 2 Security Riddles (medium and hard).
    • 3 Computer Vision Riddles (easy, medium, and hard difficulties)
    • 2 Machine Learning Riddles (easy and medium difficulties).
    • 3 Problem Solving Riddles (easy, medium, and hard difficulties).

  6. logo

Eagle Module

  1. As previously mentioned, there are three channels through which messages are sent simultaneously at a time. The channels receive messages in the same order sent by the Fox. However, you can only intercept one channel at a time, which means you will miss the messages sent on the other two channels.
  2. To assist in this identification process, you receive three footprints at a time, with each footprint corresponding to one of the three channels. These footprints indicate whether the message on a specific channel is Real, Fake, or Empty. By analyzing the footprints, you can determine which message is genuine and request it from that channel. However, be cautious, as requesting a message that is Empty or Fake would result in a penalty and could lead to missing a Real message altogether!
  3. Each footprint is a visual representation of an audio file, one for each channel. Your task is to identify the word represented, being one of: ”Dell”, Fooled, or just an Empty audio with some random noise. Rather than working directly with raw audio files, we’ve transformed them into spectrograms with fixed dimensions (Tx, Nfreq).

  4. logo

  5. Once you have requested and received a message, you need to decode it using the Least Significant Bit (LSB) method explained earlier and submit the decoded message. The accuracy of the submitted message will be verified and contribute to your score. It is crucial to remember that after requesting a message, you must submit a message in response. Failure to do so will cause the game to enter a frozen state until the timeout is reached, and the game ends.

  6. logo

Contributors


Nour Almulhem


Ahmed Madbouly


Ahmed Hany


Mohamed Nasser


Eslam Ashraf

πŸ”’ License

Note: This software is licensed under MIT License, See License for more information Β©nouralmulhem.

cipher-sphere's People

Contributors

ahmed-h300 avatar ahmedmadbouly186 avatar eslamashhraf avatar mohamednasser8 avatar nouralmulhem avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.