All Projects → connectim → Android

connectim / Android

Licence: MIT License
Connect IM Android Project

Programming Languages

java
68154 projects - #9 most used programming language
FreeMarker
481 projects

Projects that are alternatives of or similar to Android

ios
Connect IM iOS Project
Stars: ✭ 13 (-38.1%)
Mutual labels:  connect, instant-messaging, encrypted, im, bitcoin-wallet
vscode-qq
基于安卓QQ协议的vscode-qq扩展
Stars: ✭ 588 (+2700%)
Mutual labels:  instant-messaging, im
electronim
Electron based multi IM (Instant Messaging) client
Stars: ✭ 50 (+138.1%)
Mutual labels:  instant-messaging, im
Android yichat lite
android client
Stars: ✭ 118 (+461.9%)
Mutual labels:  instant-messaging, im
Im
IM server based on netty. Provides a client jar. Integrate with your own login system.基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统
Stars: ✭ 490 (+2233.33%)
Mutual labels:  instant-messaging, im
onchat-web
A simple, beautiful, mobile-first instant messaging progressive web application.
Stars: ✭ 138 (+557.14%)
Mutual labels:  instant-messaging, im
Yichat
YiChat-基于tigase的独立IM系统
Stars: ✭ 731 (+3380.95%)
Mutual labels:  instant-messaging, im
Androidclient
Kontalk official Android client
Stars: ✭ 542 (+2480.95%)
Mutual labels:  encrypted, im
Fpush
📶即时消息推送服务(即时通讯),基于Netty+protobuf-- Instant Messaging push service based on Netty+protobuf
Stars: ✭ 134 (+538.1%)
Mutual labels:  instant-messaging, im
i2pchat
🌀 i2pchat. Anonymous private secure opensource chat using end-to-end encrypted transport.
Stars: ✭ 25 (+19.05%)
Mutual labels:  encrypted, im
Im service
golang im server
Stars: ✭ 1,694 (+7966.67%)
Mutual labels:  instant-messaging, im
xyTalk-pc
企业IM即时通讯定制平台,百万级高并发、高性能、可扩展、安全、高交互体验的企业通信和协作im平台。包含通讯服务、客户端(PC、Android、iOS)、Web门户(用于集成企业应用)、WebAPI。
Stars: ✭ 48 (+128.57%)
Mutual labels:  instant-messaging, im
server
即时通讯(IM)系统
Stars: ✭ 6,896 (+32738.1%)
Mutual labels:  instant-messaging, im
bootpush
📶即时消息推送服务(即时通讯),基于Netty- Instant Messaging push service based on Netty
Stars: ✭ 146 (+595.24%)
Mutual labels:  instant-messaging, im
AndroidIMTemplate
a brief guide on building a secure instant messaging app for Android
Stars: ✭ 26 (+23.81%)
Mutual labels:  instant-messaging
desktop
CoinApp is a simple to use minimal Cryptocurrency Wallet for Ethereum, ERC20 Tokens, Bitcoin and Litecoin built for Windows, Mac and Linux.
Stars: ✭ 60 (+185.71%)
Mutual labels:  bitcoin-wallet
ergvein
Multiplatform BTC wallet with client side filters
Stars: ✭ 35 (+66.67%)
Mutual labels:  bitcoin-wallet
ARChatRoom
应用场景包括:语聊房,语音开黑,狼人杀,陌生人交友,组队PK。支持Android 端、iOS 端。
Stars: ✭ 39 (+85.71%)
Mutual labels:  im
fosscord-server
Fosscord backend made with Typescript and love (and a bit of C++)
Stars: ✭ 864 (+4014.29%)
Mutual labels:  instant-messaging
findbtc
Find bitcoin wallets on corrupt, formatted or overwritten drives
Stars: ✭ 69 (+228.57%)
Mutual labels:  bitcoin-wallet

Connect

Open Source Love MIT Licence Awesome

Appstore Google play

Introduction

Connect is an open source point-to-point encryption instant messaging APP. You can use Connect to send texts, voices, pictures, videos and even Bitcoin. In both one-on-one chat and group chat, all the messages including text, picture, voices, video, etc. are sent via the shared key encryption negotiated by both sides of the chat. Any third party other than the both sides including the server can't decrypt the messages. Different from other instant messaging tools provided by other Internet giants, Connect offers a higher level of security and privacy. protection. It protects your chatting contents from being eavesdropped by any third party such as employers and government. It protects your personal data such as telephone numbers and friends from being utilized by any third party such as marketing personnel and advertisers. Considering "PRISM" scandal as well as multiple network fraud cases caused by information leakage, each of us should defending "freedom of speech" and "personal privacy”. So Connect is suitable for everyone. Connect is available for android Connect is available for Google play

Encryption

Connect uses advanced and open-source symmetric encryption algorithms to secure both parties' information and the communication between the client and the server, and anyone can authenticate. The end-to-end encrypted communication between both sides of the session as well as the encrypted communication between client-side and server uses the key negotiation method to make double layer encryption, with the steps as below:

  1. Session initiator_A use the agreed ECC (elliptic curve cryptography) locally to generate a pair of key(Public_key_A,Private_key_A) and a 512-bit random number salt, and send the random number “saltA” and “Public_key_A” to receiver_B after AES256-GCM encrypted.
  2. The receiver_B receives “PublicKey_A” and “saltA” after decrypt. then use the same ECC (elliptic curve cryptography) generate a pair of key(Public_Key_B,Private_Key_b) and a 512-bit random number salt, and send the random number “saltB” and “Public_key_B” to initiator_A after AES256-GCM encrypted.
  3. Initiator_A get “saltB” and “Public_key_B”. Then both initiator_A and receiver_B get ECDH_Key ECDH_Key = ECDH(PrivateKey_A, PublicKey_B) = ECDH(PrivateKey_B, PublicKey_A)
  4. Then the PBKDF2key expansion algorithm to obtain the negotiated key "K" by ECDH_KEY and random number salts of both sides. Shared_key = PBKDF2(HMAC-SHA512, ecdhKey, saltA^saltB, pow(2, n), 256) ,(n=12)
  5. The key agreement is completed, and both sides of the AB erase their session key pairs from their respective memory. (ECDH_Key,PublicKey_A,PublicKey_B)
  6. Sessions following, both sides of the AB encrypt and decrypt messages using 256bit Shared_key and AES-256-GCM algorithm.
  7. The negotiated key is updated when a new session is created each time. The encrypted communication channel established by the above process ensures that communication contents are not leaked under the condition that the network flow is completely monitored. Even if the private key of server-side is mastered by the monitor, the monitor can't decrypt the actual communication contents () according to the private key of server and all network flows, and even can't know the person who is logged in or the side to whom the messages are sent. So this solution has the nature of forward secrecy because the session key pair will be erased by both sides from their respective memories after completion of negotiation.

Document

How to use?

Referencing

License

MIT License

Copyright (c) 2017 Connect IM

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].