{"id":19760643,"url":"https://github.com/nouralmulhem/cipher-sphere","last_synced_at":"2025-05-12T19:44:19.264Z","repository":{"id":227193374,"uuid":"765973013","full_name":"nouralmulhem/Cipher-Sphere","owner":"nouralmulhem","description":"🕵️‍♀️ an implementation of the Dell Hackathon game steganography","archived":false,"fork":false,"pushed_at":"2024-03-11T16:54:41.000Z","size":33705,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T02:49:40.637Z","etag":null,"topics":["deep-learning","eagles","foxes","machine-learning","problem-solving","riddles","security","staganography","trigger-word-detection"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nouralmulhem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-02T01:58:36.000Z","updated_at":"2024-03-12T14:21:46.000Z","dependencies_parsed_at":"2024-03-12T04:52:03.172Z","dependency_job_id":null,"html_url":"https://github.com/nouralmulhem/Cipher-Sphere","commit_stats":null,"previous_names":["nouralmulhem/cipher-sphere"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nouralmulhem%2FCipher-Sphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nouralmulhem%2FCipher-Sphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nouralmulhem%2FCipher-Sphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nouralmulhem%2FCipher-Sphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nouralmulhem","download_url":"https://codeload.github.com/nouralmulhem/Cipher-Sphere/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253809737,"owners_count":21967785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","eagles","foxes","machine-learning","problem-solving","riddles","security","staganography","trigger-word-detection"],"created_at":"2024-11-12T03:38:10.439Z","updated_at":"2025-05-12T19:44:19.239Z","avatar_url":"https://github.com/nouralmulhem.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align= \u003e\r\n\r\n# Cipher Sphere\r\n\r\n\u003c/div\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n   \u003cimg align=\"center\" height=\"350px\"  src=\"https://i.pinimg.com/originals/7b/99/67/7b9967bab38c9140f472c16b6d7c1d0c.gif\" alt=\"logo\"\u003e\r\n   \u003cbr\u003e\r\n\r\n### ”🦊 Fox VS Eagle 🦅“\r\n\r\n\u003c/div\u003e\r\n\r\n\u003cp align=\"center\"\u003e \r\n    \u003cbr\u003e \r\n\u003c/p\u003e\r\n\r\n## \u003cimg align= center width=50px height=50px src=\"https://thumbs.gfycat.com/HeftyDescriptiveChimneyswift-size_restricted.gif\"\u003e Table of Contents\r\n\r\n- \u003ca href =\"#about\"\u003e 📙 Overview\u003c/a\u003e\r\n- \u003ca href =\"#Started\"\u003e 💻 Get Started\u003c/a\u003e\r\n- \u003ca href =\"#Modules\"\u003e🤖 Modules\u003c/a\u003e\r\n  - \u003ca href=\"#fox\"\u003e🔁 Fox Module\u003c/a\u003e\r\n  - \u003ca href=\"#eagle\"\u003e💪 Eagle Module\u003c/a\u003e\r\n- \u003ca href =\"#Contributors\"\u003e ✨ Contributors\u003c/a\u003e\r\n- \u003ca href =\"#License\"\u003e 🔒 License\u003c/a\u003e\r\n\u003chr style=\"background-color: #4b4c60\"\u003e\u003c/hr\u003e\r\n\r\n\u003ca id = \"about\"\u003e\u003c/a\u003e\r\n\r\n## \u003cimg align=\"center\"  height =50px src=\"https://user-images.githubusercontent.com/71986226/154076110-1233d7a8-92c2-4d79-82c1-30e278aa518a.gif\"\u003e Overview\r\n\r\n\u003cul\u003e\r\n\u003cli\u003e Our solution for \u003ca href=\"https://www.dell.com/en-eg/dt/microsites/hacktrick.htm?dgc=SM\u0026cid=1083545\u0026lid=spr12198213058\u0026refid=sm_ADVOCACY_spr12198213058\u0026linkId=258142432#collapse\u0026tab0=0\u0026%23eligibility\"\u003eDell Hacktrick 2024\u003c/a\u003e\u003c/li\u003e\r\n\u003cli\u003e This project ranked \u003cstrong\u003e5th place\u003c/strong\u003e among 35 teams in leaderboard.\u003c/li\u003e\r\n\r\n\u003cli\u003e Built using \u003ca href=\"https://docs.python.org/3/\"\u003ePython\u003c/a\u003e.\u003c/li\u003e\r\n\u003cli\u003eGame Description\r\n\u003cul\u003e\r\n\u003cli\u003eFirstly: The Fox. Mischievous, and sly, the Fox uses all its tactics to fool the Eagle and\r\ntry to send the message through to the parrot using steganography. As the Fox, you’ll have\r\nthe opportunity to invest your time wisely into honing your skills and creating distractions\r\nto increase your chances of evading the Eagle’s watchful gaze.\u003c/li\u003e\r\n\u003cli\u003eSecond: The Eagle. Sharp-eyed and vigilant, the Eagle uses its attentiveness to try to\r\nintercept and decode the messages sent without getting fooled. Beware of the Fox’s devious\r\ntricks, 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.\r\nThe parrot represents the game administrator that receives the messages and scores both\r\nends accordingl\u003c/li\u003e\r\n\u003cbr\u003e\r\n\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003chr style=\"background-color: #4b4c60\"\u003e\u003c/hr\u003e\r\n\u003ca id = \"Started\"\u003e\u003c/a\u003e\r\n\r\n## \u003cimg  align= center width=50px height=50px src=\"https://c.tenor.com/HgX89Yku5V4AAAAi/to-the-moon.gif\"\u003e How To Run\r\n\r\n- First install the \u003ca href=\"https://github.com/nouralmulhem/Cipher-Sphere/blob/main/requirements.txt\"\u003eneeded packages\u003c/a\u003e.\u003c/li\u003e\r\n\r\n```sh\r\npip install -r requirements.txt\r\n```\r\n\r\n- Folder Structure\r\n\r\n```sh\r\n├─── data\r\n├─── Documentation\r\n│   ├── API Documentation.pdf\r\n│   ├── Hackathon General Documentation.pdf\r\n│   └─── Riddles Documentation.pdf\r\n├─── Eagle\r\n│   ├── eagle.py\r\n│   ├── Eagle_submission_script.ipynb\r\n│   ├── BiLstm_code.ipynb\r\n│   └─── GRU_code.ipynb\r\n├─── Solvers\r\n│   ├─── fox_submission_solver.py\r\n│   └─── eagle_submission_solver.py\r\n....\r\n```\r\n\r\n\u003chr style=\"background-color: #4b4c60\"\u003e\u003c/hr\u003e\r\n\u003ca id = \"Modules\"\u003e\u003c/a\u003e\r\n\r\n## \u003cimg  align= center width=60px src=\"https://media0.giphy.com/media/j3nq3JkXp0bkFXcNlE/giphy.gif?cid=ecf05e47cftu8uth80woqhyl1kr7oy4m7zaihotdf9twrcaa\u0026ep=v1_stickers_search\u0026rid=giphy.gif\u0026ct=s\"\u003e Modules\r\n\r\n\u003ca id = \"fox\"\u003e\u003c/a\u003e\r\n\r\n### \u003cimg align= center width=90px src=\"https://i.giphy.com/IbjRAoXxWCmiY.webp\"\u003eFox Module\r\n\r\n\u003col\u003e\r\n\u003cli\u003eThe 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. \u003c/li\u003e\r\n\u003cli\u003eFor each game, you will be provided with a message\r\nof a specific length and an image to use for encoding the messages. During the first phase,\r\nthe message length is fixed to 20 characters.\r\n\u003c/li\u003e\r\n\u003cli\u003e\r\nThe game is played in chunks (anything between 1 and 20). In every chunk, there are 3\r\nchannels that concurrently carry your messages. The messages can be one of the following\r\n3 types:\r\n\u003cul\u003e\r\n\u003cli\u003e\r\nReal: These messages are part of the original message intended for transmission.\r\n\u003c/li\u003e\r\n\u003cli\u003e\r\nEmpty: These are Empty messages.\r\n\u003c/li\u003e\r\n\u003cli\u003e\r\nFake: These are Fake messages used to deceive the Eagle. Unlocking this feature requires solving riddles\r\n\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cbr\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n   \u003cimg align=\"center\" height=\"350px\"  src=\"https://github.com/EslamAsHhraf/Recipe-Frontend/assets/71986226/a7c84601-ff57-455f-8a19-8f8ed7e71b31\" alt=\"logo\"\u003e\r\n\r\n\u003c/div\u003e\r\n\u003cbr\u003e\r\n\r\n\u003cli\u003eRiddles: Whenever you successfully solve a riddle, you will receive a specific reward based on the\r\ndifficulty level of the riddle. The rewards for each difficulty are as follows:\r\n\u003cbr\u003e\r\n\u003ctable\u003e\r\n\u003ctr\u003e\r\n\u003cth\u003eRiddle Type\u003c/th\u003e\r\n\u003cth\u003eBudget\u003c/th\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003eEasy\u003c/td\u003e\r\n\u003ctd\u003eA budget of 1 Fake message\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003eMedium\u003c/td\u003e\r\n\u003ctd\u003eA budget of 2 Fake message\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003ctr\u003e\r\n\u003ctd\u003eHard\u003c/td\u003e\r\n\u003ctd\u003eA budget of 3 Fake message\u003c/td\u003e\r\n\u003c/tr\u003e\r\n\u003c/table\u003e\r\nThere is a total of 10 different riddles:\r\n\u003cul\u003e\r\n\u003cli\u003e2 Security Riddles (medium and hard).\u003c/li\u003e\r\n\u003cli\u003e3 Computer Vision Riddles (easy, medium, and hard difficulties)\u003c/li\u003e\r\n\u003cli\u003e2 Machine Learning Riddles (easy and medium difficulties).\r\n\u003c/li\u003e\r\n\u003cli\u003e3 Problem Solving Riddles (easy, medium, and hard difficulties).\r\n\u003c/li\u003e\r\n\u003c/ul\u003e\r\n\u003c/li\u003e\r\n\u003cbr\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n   \u003cimg align=\"center\" src=\"https://github.com/EslamAsHhraf/Recipe-Frontend/assets/71986226/5f46ed9d-ca91-4d0e-9cf3-3f0f5ec9394f\" alt=\"logo\"\u003e\r\n\r\n\u003c/div\u003e\r\n\u003c/ol\u003e\r\n\u003ca id = \"eagle\"\u003e\u003c/a\u003e\r\n\r\n### \u003cimg align= center width=50px src=\"https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExZGJoMDJrbnJnaHd1NmU0dDJ0MDB2YmZ6b2tlam53OHpuMTIzcjlldCZlcD12MV9zdGlja2Vyc19zZWFyY2gmY3Q9cw/Rlxa6SJwyW3otUiB8E/giphy.webp\"\u003eEagle Module\r\n\u003col\u003e\r\n\u003cli\u003eAs previously mentioned, there are three channels through which messages are sent\r\nsimultaneously at a time. The channels receive messages in the same order sent by the\r\nFox. However, you can only intercept one channel at a time, which means you will miss\r\nthe messages sent on the other two channels.\u003c/li\u003e\r\n\u003cli\u003e\r\nTo assist in this identification process, you receive three footprints at a time, with each\r\nfootprint corresponding to one of the three channels. These footprints indicate whether the\r\nmessage on a specific channel is Real, Fake, or Empty. By analyzing the footprints, you\r\ncan determine which message is genuine and request it from that channel. However, be\r\ncautious, as requesting a message that is Empty or Fake would result in a penalty and could\r\nlead to missing a Real message altogether!\u003c/li\u003e\r\n\u003cli\u003eEach footprint is a visual representation of an audio file, one for each channel. Your\r\ntask is to identify the word represented, being one of: ”Dell”, Fooled, or just an Empty\r\naudio with some random noise. Rather than working directly with raw audio files, we’ve\r\ntransformed them into spectrograms with fixed dimensions (Tx, Nfreq).\r\n\u003c/li\u003e\r\n\u003cbr\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n   \u003cimg align=\"center\" height=\"350px\"  src=\"https://github.com/EslamAsHhraf/Recipe-Frontend/assets/71986226/cce9f14e-b299-440e-a871-45f5b091b701\" alt=\"logo\"\u003e\r\n\r\n\u003c/div\u003e\r\n\u003cbr\u003e\r\n\u003cli\u003eOnce you have requested and received a message, you need to decode it using the Least\r\nSignificant Bit (LSB) method explained earlier and submit the decoded message. The\r\naccuracy 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.\r\nFailure to do so will cause the game to enter a frozen state until the timeout is reached, and\r\nthe game ends.\u003c/li\u003e\r\n\u003cbr\u003e\r\n\u003cdiv align=\"center\"\u003e\r\n   \u003cimg align=\"center\" src=\"https://github.com/EslamAsHhraf/Recipe-Frontend/assets/71986226/6afd8a80-a7e5-4c72-b456-7095c28d6f22\" alt=\"logo\"\u003e\r\n\r\n\u003c/div\u003e\r\n\u003c/ol\u003e\r\n\u003chr style=\"background-color: #4b4c60\"\u003e\u003c/hr\u003e\r\n\r\n\u003ca id =\"Contributors\"\u003e\u003c/a\u003e\r\n\r\n## \u003cimg  align=\"center\" width= 70px height =55px src=\"https://media0.giphy.com/media/Xy702eMOiGGPzk4Zkd/giphy.gif?cid=ecf05e475vmf48k83bvzye3w2m2xl03iyem3tkuw2krpkb7k\u0026rid=giphy.gif\u0026ct=s\"\u003e Contributors\r\n\r\n\u003ctable align=\"center\" \u003e\r\n  \u003ctr\u003e\r\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/nouralmulhem\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/76218033?v=4\" width=\"150;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNour Almulhem\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\r\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ahmedmadbouly186\" \u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66012617?v=4\" width=\"150;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAhmed Madbouly\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\r\n    \u003c/td\u003e\r\n       \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Ahmed-H300\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/67925988?v=4\" width=\"150;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAhmed Hany\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\r\n    \u003c/td\u003e\r\n       \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/MohamedNasser8\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/66921605?v=4\" width=\"150;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMohamed Nasser\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\r\n     \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/EslamAsHhraf\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/71986226?v=4\" width=\"150;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEslam Ashraf\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\r\n\u003ca id =\"License\"\u003e\u003c/a\u003e\r\n\r\n## 🔒 License\r\n\r\n\u003e **Note**: This software is licensed under MIT License, See [License](https://github.com/nouralmulhem/Cipher-Sphere/blob/main/LICENSE) for more information ©nouralmulhem.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnouralmulhem%2Fcipher-sphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnouralmulhem%2Fcipher-sphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnouralmulhem%2Fcipher-sphere/lists"}