{"id":16471070,"url":"https://github.com/ishivanshgoel/securechat-app","last_synced_at":"2026-04-08T23:33:50.411Z","repository":{"id":42009449,"uuid":"407901538","full_name":"ishivanshgoel/securechat-app","owner":"ishivanshgoel","description":"Backend for End-to-end encrypted chat application. https://github.com/ishivanshgoel/securechat","archived":false,"fork":false,"pushed_at":"2022-04-19T20:05:34.000Z","size":684,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-10T22:18:02.482Z","etag":null,"topics":["crypto","express","mongodb","mongoose","nodejs","rsa-cryptography","socket-io"],"latest_commit_sha":null,"homepage":"https://ishivanshgoel.github.io/securechat/","language":"JavaScript","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/ishivanshgoel.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}},"created_at":"2021-09-18T15:45:59.000Z","updated_at":"2022-04-20T05:32:47.000Z","dependencies_parsed_at":"2022-08-12T02:11:11.286Z","dependency_job_id":null,"html_url":"https://github.com/ishivanshgoel/securechat-app","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/ishivanshgoel%2Fsecurechat-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishivanshgoel%2Fsecurechat-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishivanshgoel%2Fsecurechat-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ishivanshgoel%2Fsecurechat-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ishivanshgoel","download_url":"https://codeload.github.com/ishivanshgoel/securechat-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241085565,"owners_count":19907258,"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":["crypto","express","mongodb","mongoose","nodejs","rsa-cryptography","socket-io"],"created_at":"2024-10-11T12:12:34.088Z","updated_at":"2026-04-08T23:33:45.392Z","avatar_url":"https://github.com/ishivanshgoel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure Chat\nThis repository contains backend services for End-2-End encrypted chat application.\n- \u003ca href=\"https://ishivanshgoel.github.io/securechat/\"\u003ehttps://ishivanshgoel.github.io/securechat/\u003c/a\u003e\n\n## Overview\nEnd-to-end encrypted messaging means that the users within that specific chat can only read messages sent between two people. \n\nTo enable this, the messages that are sent are encrypted before leaving a user's device, and can only be decrypted by the intended recipient (end-user).\n\nReal-time chat applications have grown tremendously. Most organizations have adopted them for communication. For security reasons, the messages exchanged over the network must be encrypted.\n\n## Technologies Used\n- Node.js\n- MongoDB\n- Socket.io\n- RSA Algorithm (Public Key Cryptography)\n\n## RSA Algorithm\nThe RSA algorithm is an asymmetric cryptography algorithm; this means that it uses a public key and a private key (i.e two different, mathematically linked keys). As their names suggest, a public key is shared publicly, while a private key is secret and must not be shared with anyone.\n\n\u003cimg src=\"https://github.com/ishivanshgoel/securechat-app/blob/master/docs/RSA.PNG\"\u003e\n\u003ca href=\"https://www.educative.io/edpresso/what-is-the-rsa-algorithm\"\u003eSource\u003c/a\u003e\n\n## HLD\n\u003cimg src=\"https://github.com/ishivanshgoel/securechat-app/blob/master/docs/flow%20secret%20chat.PNG\"\u003e\n\n## Setup\n- Create `.env` file in root directory\n```\nDB_URI=mongodb+srv://\u003c--- uri ----\u003e?retryWrites=true\u0026w=majority\n\nTOKEN_KEY=\u003c--- secret key for JWT tokens ---- \u003e \n\nPORT=\u003c-- PORT number for express server ----\u003e\n```\n\n## LICENCE\nMIT License\n\nCopyright (c) 2021 Shivansh Goel\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishivanshgoel%2Fsecurechat-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fishivanshgoel%2Fsecurechat-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fishivanshgoel%2Fsecurechat-app/lists"}