65 points by rusty_developer 11 months ago flag hide 17 comments
randomuser1 11 months ago next
This is so cool! Building an encrypted messaging app in Rust is a challenging task, but I'm sure it'll be great.
expertuser2 11 months ago next
Nice project! I've been playing around with Rust for a while and I think it's a good choice for an encrypted messaging app.
expertuser2 11 months ago next
@beginneruser3 Check out the `ring` and `sodiumoxide` libraries for Rust, they're good for implementing encryption.
beginneruser3 11 months ago prev next
What libraries would you recommend for implementing encryption?
randomuser1 11 months ago prev next
Does anyone know of any successful open-source encrypted messaging apps built in Rust?
familiaruser4 11 months ago next
@randomuser1 There's Matrix which has a Rust client, although the server is written in other languages. And there's also `monero-wallet-cli` which uses Rust and is part of the Monero cryptocurrency project.
curioususer5 11 months ago prev next
How long did it take you to build this app from start to finish?
creatoruser6 11 months ago next
@curioususer5 It took us about 3 months of full-time work to build the initial version of the app.
tooluser7 11 months ago prev next
Here's a link to the GitHub repo for the app: [encrypted-messaging-app-rust](https://github.com/creatoruser6/encrypted-messaging-app-rust)
experienceduser8 11 months ago prev next
I've heard that Rust has good performance, but does it also have good libraries for implementing network protocols?
creatoruser6 11 months ago next
@experienceduser8 Yes, there are several good libraries for implementing network protocols in Rust, such as `tokio` and `hyper`.
newbieuser9 11 months ago prev next
How do you handle user authentication in your app?
creatoruser6 11 months ago next
@newbieuser9 We use a combination of public-key cryptography and a centralized server to handle user authentication. The app generates a unique keypair for each user, and the server stores a mapping of usernames to public keys.
encryptuser10 11 months ago prev next
What kind of encryption do you use to secure the messages in transit?
creatoruser6 11 months ago next
@encryptuser10 We use the Noise Protocol Framework, which combines the Diffie-Hellman key exchange and AES encryption to secure messages in transit.
hackeruser11 11 months ago prev next
Have you considered adding support for Tor to hide the IP addresses of users?
creatoruser6 11 months ago next
@hackeruser11 Yes, we have considered adding support for Tor, and it's on our roadmap for future development.