{"id":22897963,"url":"https://github.com/jonath-z/go-vigenere-cipher","last_synced_at":"2025-04-01T00:46:29.437Z","repository":{"id":128571623,"uuid":"594765182","full_name":"Jonath-z/go-vigenere-cipher","owner":"Jonath-z","description":"Vigenere Cipher algorithm written in go","archived":false,"fork":false,"pushed_at":"2025-03-16T08:39:55.000Z","size":2,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T09:27:13.392Z","etag":null,"topics":["cipher-algorithms","cryptography","go","golang","vigenere-cipher-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Jonath-z.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-29T15:23:35.000Z","updated_at":"2025-03-16T08:39:59.000Z","dependencies_parsed_at":"2023-04-12T17:36:38.662Z","dependency_job_id":null,"html_url":"https://github.com/Jonath-z/go-vigenere-cipher","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/Jonath-z%2Fgo-vigenere-cipher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonath-z%2Fgo-vigenere-cipher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonath-z%2Fgo-vigenere-cipher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonath-z%2Fgo-vigenere-cipher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jonath-z","download_url":"https://codeload.github.com/Jonath-z/go-vigenere-cipher/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246563382,"owners_count":20797446,"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":["cipher-algorithms","cryptography","go","golang","vigenere-cipher-algorithm"],"created_at":"2024-12-14T00:20:10.172Z","updated_at":"2025-04-01T00:46:29.428Z","avatar_url":"https://github.com/Jonath-z.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vigenère Cipher\n\nThis is a Vigenère Cipher algorithm written in go\n\n## Description\n\nThe Vigenère cipher is a classic cipher originally developed by Italian cryptographer Giovan Battista Bellaso and published in 1553. It is named after a later French cryptographer Blaise de Vigenère, who had developed a stronger autokey cipher (a cipher that incorporates the message of the text into the key).\n\nThe cipher survived three centuries of attempts to break it, earning it the nickname \"le chiffre indéchiffrable\" or \"the indecipherable cipher.\"\n\nFrom Wikipedia:\n\nThe Vigenère cipher is a method of encrypting alphabetic text by using a series of different Caesar ciphers based on the letters of a keyword. It is a simple form of polyalphabetic substitution.\n\nIn a Caesar cipher, each letter of the alphabet is shifted along some number of places; for example, in a Caesar cipher of shift 3, A would become D, B would become E, Y would become B and so on. The Vigenère cipher consists of several Caesar ciphers in sequence with different shift values.\n\nAssume the key is repeated for the length of the text, character by character. Note that some implementations repeat the key over characters only if they are part of the alphabet -- this is not the case here.\n\nThe shift is derived by applying a Caesar shift to a character with the corresponding index of the key in the alphabet.\n\nVisual representation:\n\n```go\n\"my secret code i want to secure\"; // message\n\"passwordpasswordpasswordpasswor\"; // key\n```\n\n## Example\n\n```go\n\tencodedString := encode(\"Vigenere-cipher algorihtm\", encryptionKey)\n\tdecodedString := decode(encodedString, encryptionKey)\n\n\tfmt.Println(\"Encoded String\", encodedString) //$sCu{%|s|p+;EnzwsFkd\u003c_[:A\n\tfmt.Println(\"Decoded String\", decodedString) // Vigenere-cipher algorihtm\n```\n\n## Local test\n\n1. Clone the repository\n\n```bash\n    git clone https://github.com/Jonath-z/go-vigenere-cipher.git\n```\n\n2. Navigate into the cloned folder\n3. Run\n\n```shell\n  go run main.go\n```\n\n## Author\n\n- [Jonathan z.](https://www.linkedin.com/in/jonathan-z-0a40ab209/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonath-z%2Fgo-vigenere-cipher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonath-z%2Fgo-vigenere-cipher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonath-z%2Fgo-vigenere-cipher/lists"}