Elliptic curve Diffie-Hellman key exchange
I concluded the previous post by saying elliptic curve Diffie-Hellman key exchange (ECDHE) requires smaller keys than finite field Diffie-Hellman (FFDHE) to obtain the same level of security. How much smaller are we talking about? According to NIST recommendations, a 256-bit elliptic curve curve provides about the same security as
Read moreFinite field Diffie Hellman primes
Diffie-Hellman key exchange is conceptually simple. Alice and Bob want to generate a shared cryptographic key. They want to use asymmetric (public) cryptography to share a symmetric (private) key. The starting point is a large prime p and a generator 1 < g < p. Alice generates a large random
Read moreMultiplayer programming on mobile: a chat with Replit CEO Amjad Masad
The home team talks with Replit CEO and founder Amjad Masad about the democratization of coding tools; why Replit prioritized a mobile coding app; and the technical challenges of a real-time, multi-user IDE. This is part one of our conversation.
Read moreChinese Remainder Theorem synthesis algorithm
Suppose m = pq where p and q are large, distinct primes. In the previous post we said that calculations mod m can often be carried out more efficiently by working mod p and mod q, then combining the results to get back to a result mod m. The Chinese
Read moreCommunication Infrastructure for Engineering Managers
Midjourney, prompt: “communication infrastructure”“The single biggest problem in communication is the illusion that it has taken place.”— George Bernard Shaw, Nobel Prize-winning playwrightUnderstanding Communication InfrastructureIn the last few weeks, as part of my own product research, I’ve interviewed over 60 engineering managers. My goal was to learn more about what processes,
Read moreGaining efficiency by working modulo factors
Suppose m is a large integer that you are able to factor. To keep things simple, suppose m = pq where p and q are distinct primes; everything in this post generalizes easily to the case of m having more than two factors. You can carry out calculations mod m
Read moreImplementing Semantic Release for Public Non-Scoped Packages
Detailed instructions on publishing a non-scoped public package using semantic release leveraging the power of GitHub ActionsThanks to Harper Sunday from Unsplash for this pictureIn the evolving software development landscape, maintaining version consistency and automating the release process is more important than ever. Enter Semantic Release: a tool designed to ensure clear
Read moreFirebase Remote Configuration — Making It Work For You
Firebase Remote Config — Making It Work For YouBecause remote is always betterBecausePhoto by Rima Kruciene on UnsplashRemote configurations are useful since they allow you to alter behavior in your application without having to release another version. One prominent example is using remote configurations to decide if a feature should be turned on or off.
Read moreGroup theory and RSA encryption
RSA encryption a map from numbers mod n to numbers mod n where n is a public key. A message is represented as an integer m and is encrypted by computing c = me mod n where e is part of the public key. In practice, e is usually 65537
Read moreRSA encrypted messages that cannot be decrypted
Not all messages encrypted with the RSA algorithm can be decrypted. This post will show why this is possible and why it does not matter in practice. RSA in a nutshell RSA encryption starts by finding two large primes, p and q. These primes are kept secret, but their product n
Read more