Tag: #crypto
How to hash multiple values
Methods for hashing multiple values, including hash-then-XOR, concat-then-hash, and serialize-then-hash. The only method that’s collision-resistant is serialize-then-hash! 2018-01-09
Making a stream cipher
A stream cipher in Go that generates an infinite keystream from a shared key using SHA-256. 2018-01-01
Asymmetric encryption with the Web Cryptography API
Generating ECDH keys and deriving a shared AES key. 2017-11-03
Symmetric encryption with the Web Cryptography API
Generating a key, encrypting and decrypting text, and explaining the implementation. 2017-11-02
Signing a string with HMAC using the Web Crypto API
A web page that allows you to sign a string using the HMAC algorithm with SHA-256, implemented using the Web Crypto API. 2017-10-31
Hashing a string with the Web Cryptography API
The Web Cryptography API provides low-level crypto primitives in JavaScript, including hashing strings using SHA-256. 2017-10-30
Forward secrecy with hash ratchets
A “hash ratchet” ensures that a compromise of the current key does not allow decryption of past messages. Each message’s encryption key is derived from the previous key using a hash function. 2017-10-27
Group chat with end-to-end encryption
Group chat with end-to-end encryption can use “client-side fan-out” where the sender encrypts the message separately for each recipient, or “server-side fan-out” where the sender encrypts the message once using a shared secret, then the server distributes the ciphertext to the group. 2017-10-25
All content copyright James Fisher.