{"id":21284645,"url":"https://github.com/sieugene/secure-messenger","last_synced_at":"2026-05-07T13:48:11.918Z","repository":{"id":190122182,"uuid":"681952180","full_name":"sieugene/secure-messenger","owner":"sieugene","description":"Ethereumを活用したセキュアなメッセージングスマートコントラクトと暗号化技術のデモ。参加者間で暗号化されたメッセージをやり取りするためのSolidityスマートコントラクトと暗号化手法を示します。","archived":false,"fork":false,"pushed_at":"2023-09-27T00:41:35.000Z","size":105,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T17:50:47.469Z","etag":null,"topics":["ethereum","ethereum-contract","security-tools","solidity"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/sieugene.png","metadata":{"files":{"readme":"README-en.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,"zenodo":null}},"created_at":"2023-08-23T05:56:28.000Z","updated_at":"2023-08-29T10:07:37.000Z","dependencies_parsed_at":"2023-09-27T05:41:38.924Z","dependency_job_id":null,"html_url":"https://github.com/sieugene/secure-messenger","commit_stats":null,"previous_names":["sieugene/secure-messenger"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sieugene/secure-messenger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieugene%2Fsecure-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieugene%2Fsecure-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieugene%2Fsecure-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieugene%2Fsecure-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sieugene","download_url":"https://codeload.github.com/sieugene/secure-messenger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieugene%2Fsecure-messenger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32740917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"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":["ethereum","ethereum-contract","security-tools","solidity"],"created_at":"2024-11-21T11:16:52.026Z","updated_at":"2026-05-07T13:48:11.903Z","avatar_url":"https://github.com/sieugene.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Secure messenger\n\n## Secure Messenger Smart Contract and Encryption\n\nThis repository provides an example of a secure messaging smart contract built on Ethereum using Solidity and encryption techniques. The contract allows two participants to exchange encrypted messages while ensuring that only the intended recipients can decrypt and read the messages.\n\n### SecureMessenger.sol - Smart Contract\n\nThe `SecureMessenger.sol` smart contract defines a secure messaging system. Here are its key features:\n\n- Participants are defined during contract deployment.\n- Messages are stored in an encrypted form on the blockchain.\n- Messages are encrypted using AES-256-GCM encryption.\n- Only the participants can send and read messages.\n\nYou can find the full Solidity code in the `SecureMessenger.sol` file.\n\n### Encryption and Decryption\n\nThe encryption and decryption process is handled in the `SecureTool` class using the Elliptic Curve Cryptography (ECC) and AES-256-GCM encryption algorithm. Here are the steps involved:\n\n1. Participants generate an ECC key pair from a seed phrase.\n2. When sending a message, the sender encrypts the message using AES-256-GCM with a shared secret derived from ECC key pairs.\n3. The encrypted message is then stored on the blockchain.\n4. The recipient can decrypt the message using the same shared secret.\n\nYou can find the encryption and decryption methods in the `SecureTool` class.\n\n### About\n\n- This example is meant for educational purposes and may not cover all aspects of a production-ready messaging system.\n- Care should be taken to ensure the security and privacy of participants' private keys and data.\n\nFeel free to explore, modify, and expand on this example to build more sophisticated secure communication systems on the blockchain.\n\n### How to Use\n\n```shell\nyarn install\n\nyarn deploy\n\nyarn test\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsieugene%2Fsecure-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsieugene%2Fsecure-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsieugene%2Fsecure-messenger/lists"}