{"id":16417586,"url":"https://github.com/sakship31/text-steganography","last_synced_at":"2025-03-23T06:31:37.451Z","repository":{"id":37804452,"uuid":"339662158","full_name":"sakship31/Text-steganography","owner":"sakship31","description":"Flask website for implementation of paper on text-based steganography i.e. hiding a secret message in a cover message and sending it over social media which in turn can be revealed. ","archived":false,"fork":false,"pushed_at":"2021-02-28T16:45:43.000Z","size":4244,"stargazers_count":26,"open_issues_count":2,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T18:42:58.961Z","etag":null,"topics":["aes-decryption","aes-encryption","cryptography","decryption","flask","steganography","text-steganography"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sakship31.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-17T08:52:17.000Z","updated_at":"2025-01-30T22:50:09.000Z","dependencies_parsed_at":"2022-08-19T05:50:18.403Z","dependency_job_id":null,"html_url":"https://github.com/sakship31/Text-steganography","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakship31%2FText-steganography","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakship31%2FText-steganography/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakship31%2FText-steganography/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sakship31%2FText-steganography/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sakship31","download_url":"https://codeload.github.com/sakship31/Text-steganography/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245066497,"owners_count":20555402,"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":["aes-decryption","aes-encryption","cryptography","decryption","flask","steganography","text-steganography"],"created_at":"2024-10-11T07:11:37.273Z","updated_at":"2025-03-23T06:31:35.064Z","avatar_url":"https://github.com/sakship31.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cspan\u003e :male_detective: Text Cloak :female_detective: \u003c/span\u003e\n  \u003cbr\u003e\n  \n  [![](https://img.shields.io/badge/Made_with-Python3-blue?style=for-the-badge\u0026logo=python)](https://www.python.org \"Python3\")[![](https://img.shields.io/badge/Made_with-Flask-blue?style=for-the-badge\u0026logo=Flask)](https://flask.palletsprojects.com/en/1.1.x/ \"Flask\")\n\n\u003c/h1\u003e\n\u003cspan\u003e\u003ch4 align=\"center\"\u003eThe Cloak of Invisibility for your texts\u003c/h4\u003e\u003c/span\u003e\n\n\u003cp align=\"justify\"\u003e\nText Cloak is a steganography technique implemented in python, to hide secrets inside text by encrypting the secret before cloaking it with special unicode invisible characters. \nIt can be used to safely watermark strings, invisible scripts on webpages, texts on social media or for any other covert communication. Completely invisible! \n\u003cp\u003e\n\n## Resources \n\nThe following paper was implemented for generating and embedding Zero Width Characters in cover message and extracting the secret message from the cover message and generating ascii from extracted Zero Width Characters. \n\n\n\n- Taleby Ahvanooey, Milad \u0026 Li, Qianmu \u0026 Hou, Jun \u0026 Dana Mazraeh, Hassan \u0026 Zhang, Jing.\n```\nAITSteg: An Innovative Text Steganography Technique for Hidden Transmission of Text Message via Social Media.\nIEEE Access\n```\n\n## Features\n- Protect your invisible secret using passwords\n- Cryptographically secure by encrypting the invisible secret using AES-256-CTR encryption and decryption.\n- Uses Invisible characters in unicode characters that works everywhere in the web - Tweets, Gmail, WhatsApp, Telegram, Instagram, Facebook, and many more!\n- Completely invisible, uses Zero Width Characters instead of white spaces or tabs.\n- The secret message which is encrpted using password can be embedded in the cover message by the sender and extracted from the cover message and decrypted using the same password by the receiver.\n\n\u003cbr\u003e\n\n## Functions implemented\n- Embed algorithm: To embed the secret message into the cover message by converting it into invisible zero width unicode characters.\n- Extract algorithm: To extract the secret message from the cover message by converting it back into ascii characters from invisible zero width unicode characters.\n- AES-encryption: We take password for encrypting the secret message before embeding it,the key for encryption is generated from the password based key derivation function PBKDF2.\n- AES-decryption: For decrpytion,we need to pass the same password used while encryption since AES-256 is a symmetric cipher.\n\n### Demo ###\n----------------------------------------------------------------------------------------\n![](https://github.com/sakship31/Text-steganography/blob/master/assets/demo.gif)\n\n### Screensots ###\n----------------------------------------------------------------------------------------\n\n### Enter secret message to be sent, cover message and passowrd ###\n![](https://github.com/sakship31/Text-steganography/blob/master/assets/1.PNG)\n\u003cbr\u003e\n### On clicking Hide button, the cover message with embedded secret message is displayed and copied to clipboard ###\n![](https://github.com/sakship31/Text-steganography/blob/master/assets/2.PNG)\n\u003cbr\u003e\n### Enter received embedded cover message and mutually decided password ###\n![](https://github.com/sakship31/Text-steganography/blob/master/assets/3.PNG)\n\u003cbr\u003e\n### On clicking Reveal button, the secret message is displayed ###\n![](https://github.com/sakship31/Text-steganography/blob/master/assets/4.PNG)\n---------------------------------------------------------------------------------------\n\n#### Installation\nInstall the dependency for AES by running:\n```html  \n    pip install pycryptodomex\n```\n\n#### Run using Command Prompt\nClone the repository and run the following commands-\n```html\n    set FLASK_ENV=development\n    set FLASK_APP=app.py\n    flask run\n```\n\n###             Tech stack\n`Backend` : Python3,Flask  \u003cbr\u003e\n`Frontend` : Html,CSS  \u003cbr\u003e\n\n\u003ch3 align=\"center\"\u003e\u003cb\u003eDeveloped with :heart: by \u003ca href=\"https://github.com/Sakshi107\"\u003eSakshi Shelar\u003c/a\u003e\u003c/b\u003e, \u003cb\u003e\u003ca href=\"https://github.com/nishigthb\"\u003eNishi Shah\u003c/a\u003e\u003c/b\u003e and \u003cb\u003e\u003ca href=\"https://github.com/sakship31/\"\u003eSakshi Pandey\u003c/a\u003e\u003c/b\u003e\u003c/h3\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakship31%2Ftext-steganography","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsakship31%2Ftext-steganography","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsakship31%2Ftext-steganography/lists"}