{"id":23483944,"url":"https://github.com/shadow129-sys/steganography","last_synced_at":"2025-04-15T00:10:26.931Z","repository":{"id":47656816,"uuid":"376918912","full_name":"Shadow129-sys/Steganography","owner":"Shadow129-sys","description":"This is just basic encryption for hiding text messages inside simple images but obviously, this algorithm has its own limitations. ","archived":false,"fork":false,"pushed_at":"2021-08-19T12:44:22.000Z","size":173,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T12:11:08.813Z","etag":null,"topics":["basic","opencv","opencv-python","steganography","steganography-algorithms"],"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/Shadow129-sys.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-06-14T18:23:42.000Z","updated_at":"2023-12-12T07:46:33.000Z","dependencies_parsed_at":"2022-09-14T08:41:44.174Z","dependency_job_id":null,"html_url":"https://github.com/Shadow129-sys/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/Shadow129-sys%2FSteganography","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shadow129-sys%2FSteganography/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shadow129-sys%2FSteganography/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shadow129-sys%2FSteganography/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shadow129-sys","download_url":"https://codeload.github.com/Shadow129-sys/Steganography/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248981270,"owners_count":21193147,"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":["basic","opencv","opencv-python","steganography","steganography-algorithms"],"created_at":"2024-12-24T21:16:35.007Z","updated_at":"2025-04-15T00:10:26.902Z","avatar_url":"https://github.com/Shadow129-sys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Steganography\nSteganography is the technique of hiding secret data within an ordinary, non-secret, file or message in order to avoid detection the secret data is then extracted at its destination.The word steganography is derived from the Greek words steganos (meaning hidden or covered) and the Greek root graph(meaning to write).\nThis is just basic encryption for hiding text messages inside simple images but obviously, this algorithm has its own limitations. \n\n## :heavy_check_mark: How to get started \n* Clone the repo with `git clone` in git bash\n```gitbash\ngit clone https://github.com/Shadow129-sys/Steganography.git\n```\n* move to \"steganography\" folder\n```gitbash\ncd Steganography\n```\n* install all the required lib using `pip` from `requirements.txt`\n```gitbash\npip install -r requirements.txt\n```\n* run main.py by\n```gitbash\nFor Windows environment: python -u main.py\nFor Linux environment: python3 main.py\n```\nthen enter the mode encrypt or decrypt, in `encrypt mode` we need to enter the coverfile name with extension but that file should be in the same directory, the program will take the message from `input.txt` and creates a encrypted file `encrypted.png` now just to test the program we can delete the cover file and input.txt and then run the `decrypt mode` in this mode we need to enter the encrypted filename with extension `encrypted.png` it will generate an output file `output.txt` with the decrypted text.\n```ternimal\ne - encryption\nd - decryption\nChoice : e\nprocessing started.....\ncoverfile : \"Your regular image as filename.ext\"\nEncrypted file created...\nprocess ended...\n```\nthis will be printed if the program can encrypt the file or else it will show an error, in decrypt mode an `output.txt` file will be created with the decrypted text.\n```terminal\ne - encryption\nd - decryption\nChoice : d\nprocessing started.....\nencrypted file : \"Your encrypted image as filename.ext\"\nDecrypted Text : \"your decrypted text here\"\n\nprocess ended...\n```\n## 💡 How it works\nWe all know that a coloured image has 3 channels in 1 pixel in BGR format, we used binary of ascii value in 8 bits to store the value of a letter, This algorithm store the number of words and number of letters in each word in green channel and the value of each character in red channel in it's binary form.\n## :no_entry: Limitations \n* As of now this algorithm can only take 250 words or less than that\n* It can't encrypt very large word in the encrypted image\n* The ascii code for the letter should be from 0 to 255\n* Only works for coloured images\n* The program is not actually changing the image's metadata so if someone wish to send the encrypted image then send it as a document file, so that the file can retain its encrypted bits\n## :question: What's next \nWe can use some basic cryptography methords like substitution cipher, caesar cipher or Vigenere cipher to encrypt the message and then pass the encrypted message to this algorithm, in this way we can achive double encryption, this will make the encryption more harder to crack.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadow129-sys%2Fsteganography","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshadow129-sys%2Fsteganography","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshadow129-sys%2Fsteganography/lists"}