Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nouralmulhem/cipher-sphere

πŸ•΅οΈβ€β™€οΈ an implementation of the Dell Hackathon game steganography
https://github.com/nouralmulhem/cipher-sphere

deep-learning eagles foxes machine-learning problem-solving riddles security staganography trigger-word-detection

Last synced: 4 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# Cipher Sphere



logo

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




## Table of Contents

- πŸ“™ Overview
- πŸ’» Get Started
- πŸ€– Modules
- πŸ” Fox Module
- πŸ’ͺ Eagle Module
- ✨ Contributors
- πŸ”’ License


## 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

- First install the needed packages.

```sh
pip install -r requirements.txt
```

- Folder Structure

```sh
β”œβ”€β”€β”€ 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](https://github.com/nouralmulhem/Cipher-Sphere/blob/main/LICENSE) for more information Β©nouralmulhem.