{"id":37078162,"url":"https://github.com/wzyskq/polybius_square_pro","last_synced_at":"2026-01-14T09:04:01.219Z","repository":{"id":178242635,"uuid":"661562872","full_name":"wzyskq/polybius_square_pro","owner":"wzyskq","description":"An improved encryption and decryption system from the Polybius Square.","archived":false,"fork":false,"pushed_at":"2024-07-11T14:13:11.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-29T02:26:24.997Z","etag":null,"topics":["cryptography"],"latest_commit_sha":null,"homepage":"https://wzyskq.github.io/polybius_square_pro/","language":"Python","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/wzyskq.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,"publiccode":null,"codemeta":null}},"created_at":"2023-07-03T06:48:26.000Z","updated_at":"2025-01-22T03:07:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0c212ad-d526-45a0-87d1-13c1acbe589b","html_url":"https://github.com/wzyskq/polybius_square_pro","commit_stats":null,"previous_names":["wzyskq/polybius_square_pro"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wzyskq/polybius_square_pro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzyskq%2Fpolybius_square_pro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzyskq%2Fpolybius_square_pro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzyskq%2Fpolybius_square_pro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzyskq%2Fpolybius_square_pro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wzyskq","download_url":"https://codeload.github.com/wzyskq/polybius_square_pro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzyskq%2Fpolybius_square_pro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28414738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T08:38:59.149Z","status":"ssl_error","status_checked_at":"2026-01-14T08:38:43.588Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cryptography"],"created_at":"2026-01-14T09:04:00.467Z","updated_at":"2026-01-14T09:04:01.205Z","avatar_url":"https://github.com/wzyskq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔒Polybius square cipher Pro\n\nEnglish | [简体中文](README.zh.md)\n\n### About The Project\n\nPolybius square cipher, also known as chess-board cipher, has the advantage of being simple to understand, but the disadvantage is that the encryption strength is low and it is easy to crack.\n\nTherefore, chessboard ciphers are usually used for some simple encryption scenarios, and are not suitable for situations with high security requirements.\n\nIn order to improve its encryption strength, the author made the following improvements: \n1. 🏁Key strengthening, the original 5×5 square matrix to 10 × 10\n\n2. 🔐Insert new random numbers into the encrypted password for interference to prevent the same plaintext from being cracked by word frequency analysis. \n\n3. 🌗Shift encryption, add a random digit from 0 to 9 to the head, and add a number of encrypted ciphertext length and a check code to the tail.\n\n4. ↩️Reverse scrambles, decrypts the newly generated password with the key in reverse order to obtain garbled code\n\n## ✨Feature\n\n1. The same plaintext output **ciphertext is different**\n\n2. Decrypt the text immediately after encryption for easy verification\n\n3. Pure string replacement interpretation, small calculation and high accuracy\n\n4. The output ciphertext is highly complex and about twice as long as the plaintext\n\n5. The key can be **customized** and there are many kinds of the same character 100 Combination mode\n\n6. Input plaintext length up to 1000+ characters (more parameters can be used, but not recommended)\n\n## ✈️Getting started\n\n### Website (🪄Recommend\n\nAn website version has been released on my page! [Try it  now ✓](https://wzyskq.github.io/polybius_square_pro/)\n\n### Installation\n1. Clone the repo\n\n```shell\ngit clone https://github.com/wzyskq/polybius_square_pro.git\n```\n2. pip to get the module\n```python\npip install polybius-square-pro\n```\n## 🎉Usage\n\n### Website(🪄Recommend\n\n- Usage\n    1. `Encode`: Enter plaintext, and the ciphertext will be automatically displayed in the Result section. If you are not satisfied with the ciphertext, you can click the refresh button on the right side of the Result section to update the ciphertext.\n    2. `Decode`: Enter the ciphertext, and the plaintext will be automatically displayed in the Result section.\n    3. `Element`: Stores the elements that make up the key, and the order is bound to the key table.\n    4. `Save`: Save the key in the browser (localStorage).\n    5. `Load`: Load the key stored in the browser.\n    6. `Random`: Shuffle the keys in Elem and the password table.\n    7. `Default`: Restore the default key.\n    8. `Button`\n        - `On`: Continuous input mode, automatically focus on the next cell in the key table after entering a cell (automatically enabled after clearing the key).\n        - `Off`: Fixed input mode, the cursor remains fixed in a cell when entering the password table (automatically disabled when Elem length is 100).\n- Custom Key\n    - Clear Elem or the key table, and then you can create your own key!\n\n### Python\n\n**clone:**\n\n- Normal encryption\n    1. Double click the `Polybius Squire Pro.py`\n    2. Select a mode：\n\n        - Encode: Input `encode`\n        - Decode: Input `decode`\n        - Out: Input `0`\n\n        The default mode is encryption\n\n    3. Input plaintext or ciphertext\n\n- Bulk encryption\n    1. Create a `demo.md` file in the current directory, wrap the content to be encrypted separately, add `-\u003e` and a space before the line, and enter the plaintext\n    2. Double-click `Polybius Squire Pro with Files.py`, `demo.md` automatically encrypts files and change the program suffix to `.exe`\n    3. If you need to bulk encrypt again, change the `Polybius Squire Pro with Files.exe` suffix, or double-click `rename.py`\n\n**pip:**\n\n```python\nimport polybius_square_pro as psp\n\ninputwords = '...'  # The word you want to encode.\n\nciphertext = psp.Core.encode(inputwords)\nprint(ciphertext)\n\nplaintext = psp.Core.decode(ciphertext)\nprint(plaintext)\n\n# Check\nprint(inputwords == plaintext)  # True\n```\n\n\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzyskq%2Fpolybius_square_pro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwzyskq%2Fpolybius_square_pro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzyskq%2Fpolybius_square_pro/lists"}