{"exhaustive":{"nbHits":false,"typo":false},"exhaustiveNbHits":false,"exhaustiveTypo":false,"hits":[{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"loup-vaillant"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"The design of Chacha20"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://loup-vaillant.fr/tutorials/chacha20-design"}},"_tags":["story","author_loup-vaillant","story_13364424"],"author":"loup-vaillant","children":[13364620,13364687,13364726,13364762,13364881,13365580,13365594,13366442,13367196,13369755],"created_at":"2017-01-10T12:46:42Z","created_at_i":1484052402,"num_comments":70,"objectID":"13364424","points":258,"story_id":13364424,"title":"The design of Chacha20","updated_at":"2026-04-24T06:53:13Z","url":"http://loup-vaillant.fr/tutorials/chacha20-design"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ktt"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/openssl/openssl/issues/304"}},"_tags":["story","author_ktt","story_10710140"],"author":"ktt","children":[10710668,10710778,10710899,10710932,10711073,10712208],"created_at":"2015-12-10T11:41:48Z","created_at_i":1449747708,"num_comments":22,"objectID":"10710140","points":91,"story_id":10710140,"title":"Support for ChaCha20-Poly1305 released in OpenSSL 1.1.0","updated_at":"2024-09-19T22:30:48Z","url":"https://github.com/openssl/openssl/issues/304"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"_urga"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20-Poly1305 with long nonces \u2013 OpenSSL CVE-2019-1543"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.openssl.org/news/secadv/20190306.txt"}},"_tags":["story","author__urga","story_19325805"],"author":"_urga","children":[19326347,19326411,19326413,19326425,19328537],"created_at":"2019-03-07T05:40:52Z","created_at_i":1551937252,"num_comments":11,"objectID":"19325805","points":78,"story_id":19325805,"title":"ChaCha20-Poly1305 with long nonces \u2013 OpenSSL CVE-2019-1543","updated_at":"2025-12-26T11:22:38Z","url":"https://www.openssl.org/news/secadv/20190306.txt"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"conductor"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 and Poly1305 for IETF Protocols"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://tools.ietf.org/html/rfc8439"}},"_tags":["story","author_conductor","story_17359334"],"author":"conductor","children":[17360789,17362256,17367292],"created_at":"2018-06-20T20:16:35Z","created_at_i":1529525795,"num_comments":9,"objectID":"17359334","points":64,"story_id":17359334,"title":"ChaCha20 and Poly1305 for IETF Protocols","updated_at":"2024-09-20T02:37:15Z","url":"https://tools.ietf.org/html/rfc8439"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jgrahamc"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"It takes two to ChaCha (Poly)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://blog.cloudflare.com/it-takes-two-to-chacha-poly/"}},"_tags":["story","author_jgrahamc","story_11421114"],"author":"jgrahamc","children":[11421879,11422741,11423079,11423184],"created_at":"2016-04-04T11:51:18Z","created_at_i":1459770678,"num_comments":19,"objectID":"11421114","points":63,"story_id":11421114,"title":"It takes two to ChaCha (Poly)","updated_at":"2026-02-05T20:24:49Z","url":"https://blog.cloudflare.com/it-takes-two-to-chacha-poly/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"moonboots"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20- and Poly1305-based Cipher Suites for TLS"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-01"}},"_tags":["story","author_moonboots","story_6522674"],"author":"moonboots","children":[6523072,6523100,6523190,6523380,6524367,6524820],"created_at":"2013-10-09T17:46:31Z","created_at_i":1381340791,"num_comments":23,"objectID":"6522674","points":42,"story_id":6522674,"title":"ChaCha20- and Poly1305-based Cipher Suites for TLS","updated_at":"2023-09-06T22:23:37Z","url":"https://tools.ietf.org/html/draft-agl-tls-chacha20poly1305-01"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"zdw"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 Encryption Performance on Dec PDP-11 (2021)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://niconiconi.neocities.org/posts/chacha20-performance-on-pdp-11/"}},"_tags":["story","author_zdw","story_34285416"],"author":"zdw","children":[34288479],"created_at":"2023-01-07T05:08:49Z","created_at_i":1673068129,"num_comments":6,"objectID":"34285416","points":42,"story_id":34285416,"title":"ChaCha20 Encryption Performance on Dec PDP-11 (2021)","updated_at":"2024-09-20T13:05:15Z","url":"https://niconiconi.neocities.org/posts/chacha20-performance-on-pdp-11/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"nimishk"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"AES and ChaCha"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://phase.dev/blog/chacha-and-aes-simplicity-in-cryptography/"}},"_tags":["story","author_nimishk","story_43682369"],"author":"nimishk","children":[43683630,43684103,43684825,43688073,43689619],"created_at":"2025-04-14T15:28:07Z","created_at_i":1744644487,"num_comments":10,"objectID":"43682369","points":40,"story_id":43682369,"title":"AES and ChaCha","updated_at":"2025-12-02T14:26:27Z","url":"https://phase.dev/blog/chacha-and-aes-simplicity-in-cryptography/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"gaz"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha CEO Has Pretty Damn Sweet 8-Monitor Computer"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://www.techcrunch.com/2009/01/18/chacha-ceo-has-pretty-damn-sweet-8-monitor-computer/"}},"_tags":["story","author_gaz","story_440145"],"author":"gaz","children":[440176,440210,440214,440231,440233,440234,440281,440308,440602,440758,440852,440998,441271],"created_at":"2009-01-19T06:25:37Z","created_at_i":1232346337,"num_comments":26,"objectID":"440145","points":28,"story_id":440145,"title":"ChaCha CEO Has Pretty Damn Sweet 8-Monitor Computer","updated_at":"2023-09-06T19:33:43Z","url":"http://www.techcrunch.com/2009/01/18/chacha-ceo-has-pretty-damn-sweet-8-monitor-computer/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"vaksel"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha Makes Its Crazy Business Model\u2026Profitable"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://www.techcrunch.com/2009/12/31/chacha-makes-its-crazy-business-model-profitable/"}},"_tags":["story","author_vaksel","story_1024460"],"author":"vaksel","children":[1024733],"created_at":"2009-12-31T16:17:38Z","created_at_i":1262276258,"num_comments":17,"objectID":"1024460","points":26,"story_id":1024460,"title":"ChaCha Makes Its Crazy Business Model\u2026Profitable","updated_at":"2023-09-06T19:03:11Z","url":"http://www.techcrunch.com/2009/12/31/chacha-makes-its-crazy-business-model-profitable/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"grittygrease"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"CloudFlare Enables ChaCha20/Poly1305 for all sites"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/"}},"_tags":["story","author_grittygrease","story_9096764"],"author":"grittygrease","children":[9096836,9096920],"created_at":"2015-02-23T20:23:54Z","created_at_i":1424723034,"num_comments":3,"objectID":"9096764","points":16,"story_id":9096764,"title":"CloudFlare Enables ChaCha20/Poly1305 for all sites","updated_at":"2024-05-13T08:46:34Z","url":"https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"amirhirsch"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Do the ChaCha: better mobile performance with cryptography"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/ "}},"_tags":["story","author_amirhirsch","story_9096907"],"author":"amirhirsch","created_at":"2015-02-23T20:47:50Z","created_at_i":1424724470,"num_comments":0,"objectID":"9096907","points":8,"story_id":9096907,"story_text":"","title":"Do the ChaCha: better mobile performance with cryptography","updated_at":"2023-09-07T02:09:44Z","url":"https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/ "},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"AtmaBhava"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Free Open Source VPN \u2013 Curve25519,ChaCha20 \u2013 WireGuard and OpenVPN"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://openinternetaccess.com/"}},"_tags":["story","author_AtmaBhava","story_20980483"],"author":"AtmaBhava","children":[20981198,20981202,20981211,20981213,20981215,20981287],"created_at":"2019-09-16T01:35:41Z","created_at_i":1568597741,"num_comments":14,"objectID":"20980483","points":7,"story_id":20980483,"title":"Free Open Source VPN \u2013 Curve25519,ChaCha20 \u2013 WireGuard and OpenVPN","updated_at":"2024-09-20T04:51:51Z","url":"https://openinternetaccess.com/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"prakash"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Wow. ChaCha Is Raising Another $30 Million "},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://www.techcrunch.com/2009/01/26/wow-chacha-is-raising-another-30-million/"}},"_tags":["story","author_prakash","story_450228"],"author":"prakash","children":[450369,450515],"created_at":"2009-01-26T10:06:38Z","created_at_i":1232964398,"num_comments":4,"objectID":"450228","points":7,"story_id":450228,"title":"Wow. ChaCha Is Raising Another $30 Million ","updated_at":"2024-09-19T16:31:39Z","url":"http://www.techcrunch.com/2009/01/26/wow-chacha-is-raising-another-30-million/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"eatonphil"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"The Cha Cha Slide Is Turing Complete"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://twitter.com/emollick/status/1559334130327896065"}},"_tags":["story","author_eatonphil","story_32477593"],"author":"eatonphil","children":[32478342,32478811],"created_at":"2022-08-16T00:23:20Z","created_at_i":1660609400,"num_comments":2,"objectID":"32477593","points":7,"story_id":32477593,"title":"The Cha Cha Slide Is Turing Complete","updated_at":"2024-09-20T11:53:13Z","url":"https://twitter.com/emollick/status/1559334130327896065"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"objectivefs"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 and Poly1305 in OpenSSH"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html"}},"_tags":["story","author_objectivefs","story_6839090"],"author":"objectivefs","created_at":"2013-12-03T07:18:04Z","created_at_i":1386055084,"num_comments":0,"objectID":"6839090","points":7,"story_id":6839090,"story_text":"","title":"ChaCha20 and Poly1305 in OpenSSH","updated_at":"2024-09-19T20:12:31Z","url":"http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"hinting"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 and Poly1305 for TLS"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://www.imperialviolet.org/2013/10/07/chacha20.html"}},"_tags":["story","author_hinting","story_6512218"],"author":"hinting","created_at":"2013-10-08T00:26:28Z","created_at_i":1381191988,"num_comments":0,"objectID":"6512218","points":7,"story_id":6512218,"story_text":"","title":"ChaCha20 and Poly1305 for TLS","updated_at":"2023-09-06T22:22:49Z","url":"https://www.imperialviolet.org/2013/10/07/chacha20.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"miggy"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha12-BLAKE3: Secure, Simple and Fast authenticated and committing encryption"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://kerkour.com/chacha12-blake3"}},"_tags":["story","author_miggy","story_44824145"],"author":"miggy","children":[44824407],"created_at":"2025-08-07T13:21:52Z","created_at_i":1754572912,"num_comments":3,"objectID":"44824145","points":6,"story_id":44824145,"title":"ChaCha12-BLAKE3: Secure, Simple and Fast authenticated and committing encryption","updated_at":"2026-03-05T22:29:49Z","url":"https://kerkour.com/chacha12-blake3"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"pnt"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"DJB on crypto api design, ChaCha20 in OpenSSL"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://groups.google.com/forum/#!topic/boring-crypto/BpUmNMXKMYQ"}},"_tags":["story","author_pnt","story_7056696"],"author":"pnt","created_at":"2014-01-14T12:49:51Z","created_at_i":1389703791,"num_comments":0,"objectID":"7056696","points":5,"story_id":7056696,"story_text":"","title":"DJB on crypto api design, ChaCha20 in OpenSSL","updated_at":"2024-09-19T20:25:08Z","url":"https://groups.google.com/forum/#!topic/boring-crypto/BpUmNMXKMYQ"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Bogdanp"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Snuffle / Salsa / Chacha"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://graydon2.dreamwidth.org/319755.html"}},"_tags":["story","author_Bogdanp","story_45070626"],"author":"Bogdanp","created_at":"2025-08-29T23:43:56Z","created_at_i":1756511036,"num_comments":0,"objectID":"45070626","points":5,"story_id":45070626,"title":"Snuffle / Salsa / Chacha","updated_at":"2026-03-05T22:34:28Z","url":"https://graydon2.dreamwidth.org/319755.html"},{"_highlightResult":{"author":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"chachalarue"},"story_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Seems you can use command line option "openssl -enc -cipher chacha" with LibreSSL for file encryption however the documentation doesn't mention this as a supported cipher. Is it insanity to use a stream cipher for data at rest or should I stick to what the manpage for Libre/OpenSSL recommends which is "a strong block cipher in CBC mode such as bf or des3"."},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Ask HN: LibreSSL symmetric encryption using ChaCha20 (openssl -enc)"},"url":{"matchLevel":"none","matchedWords":[],"value":""}},"_tags":["story","author_chachalarue","story_9631995","ask_hn"],"author":"chachalarue","children":[9633595],"created_at":"2015-05-30T22:24:41Z","created_at_i":1433024681,"num_comments":2,"objectID":"9631995","points":4,"story_id":9631995,"story_text":"Seems you can use command line option "openssl -enc -cipher chacha" with LibreSSL for file encryption however the documentation doesn't mention this as a supported cipher. Is it insanity to use a stream cipher for data at rest or should I stick to what the manpage for Libre/OpenSSL recommends which is "a strong block cipher in CBC mode such as bf or des3".","title":"Ask HN: LibreSSL symmetric encryption using ChaCha20 (openssl -enc)","updated_at":"2023-09-07T02:51:53Z","url":""},{"_highlightResult":{"author":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"chacha102"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"CCBS2009: Chacha102 Content Blog Survey 2009"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://chacha102.com/2009/02/08/ccbs2009-survey/"}},"_tags":["story","author_chacha102","story_472763"],"author":"chacha102","created_at":"2009-02-09T01:32:15Z","created_at_i":1234143135,"num_comments":0,"objectID":"472763","points":4,"story_id":472763,"title":"CCBS2009: Chacha102 Content Blog Survey 2009","updated_at":"2024-09-19T16:33:34Z","url":"http://chacha102.com/2009/02/08/ccbs2009-survey/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Keyb0ardWarri0r"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Show HN: ChaCha12-BLAKE3: Secure and Fast committing AEAD Encryption for Any CPU"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://github.com/bloom42/chacha12-blake3"}},"_tags":["story","author_Keyb0ardWarri0r","story_44825449","show_hn"],"author":"Keyb0ardWarri0r","created_at":"2025-08-07T15:05:19Z","created_at_i":1754579119,"num_comments":0,"objectID":"44825449","points":4,"story_id":44825449,"title":"Show HN: ChaCha12-BLAKE3: Secure and Fast committing AEAD Encryption for Any CPU","updated_at":"2026-03-05T22:29:53Z","url":"https://github.com/bloom42/chacha12-blake3"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"loup-vaillant"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Keys Derivation with Chacha20"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://loup-vaillant.fr/articles/chacha20-key-derivation"}},"_tags":["story","author_loup-vaillant","story_19481120"],"author":"loup-vaillant","created_at":"2019-03-25T09:00:50Z","created_at_i":1553504450,"num_comments":0,"objectID":"19481120","points":4,"story_id":19481120,"title":"Keys Derivation with Chacha20","updated_at":"2025-08-14T01:20:38Z","url":"http://loup-vaillant.fr/articles/chacha20-key-derivation"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"based2"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"OpenSSL Security Advisory [10 Nov 2016] ChaCha20/Poly1305 Hbo, CMS Null Deref"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.openssl.org/news/secadv/20161110.txt"}},"_tags":["story","author_based2","story_12935148"],"author":"based2","created_at":"2016-11-11T22:38:54Z","created_at_i":1478903934,"num_comments":0,"objectID":"12935148","points":4,"story_id":12935148,"title":"OpenSSL Security Advisory [10 Nov 2016] ChaCha20/Poly1305 Hbo, CMS Null Deref","updated_at":"2024-09-19T23:56:52Z","url":"https://www.openssl.org/news/secadv/20161110.txt"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"mrb"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Linux 4.8 will use ChaCha20 for /dev/urandom"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://lkml.org/lkml/2016/7/25/43?"}},"_tags":["story","author_mrb","story_12163490"],"author":"mrb","created_at":"2016-07-26T05:17:12Z","created_at_i":1469510232,"num_comments":0,"objectID":"12163490","points":4,"story_id":12163490,"title":"Linux 4.8 will use ChaCha20 for /dev/urandom","updated_at":"2024-09-19T23:31:14Z","url":"https://lkml.org/lkml/2016/7/25/43?"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"MCCCS"},"story_text":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Hello HN community,
I'd like to present you my tool (https://blockupload.io) that allows embedding files up to 1 MB in Bitcoin Cash transactions. The tool uses WebAssembly to compress files using LZMA, and optionally encrypts files using a combination of OCB3 and ChaCha20. If you wonder how it does this, it's by not including a checksum in the ChaCha20 layer, which shouldn't be a problem since it's intended for chosen-ciphertext invulnerable, un-side-channeled personal computers. Anyway, you can see how it encrypts here: https://github.com/DesWurstes/BlockUpload/blob/7d0e247b7f5e01d1d84932a780156a590ec7f844/exports.c#L67
(This tool is intended for legal use only)
I'd like to hear your comments on this, HN community. You can also look at r/btc's reaction here: https://www.reddit.com/r/btc/comments/bah8zw/store_files_up_to_1_mb_in_bch_blockchain_onchain/
This tool is useful for:\n- Static CDN\n- Personal immutable file storage"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Blockupload.io: Upload Files to Bitcoin Cash Blockchain(LZMA and OCB3-ChaCha20"}},"_tags":["story","author_MCCCS","story_19735559","ask_hn"],"author":"MCCCS","children":[19735725,19778859],"created_at":"2019-04-24T04:28:55Z","created_at_i":1556080135,"num_comments":2,"objectID":"19735559","points":3,"story_id":19735559,"story_text":"Hello HN community,
I'd like to present you my tool (https://blockupload.io) that allows embedding files up to 1 MB in Bitcoin Cash transactions. The tool uses WebAssembly to compress files using LZMA, and optionally encrypts files using a combination of OCB3 and ChaCha20. If you wonder how it does this, it's by not including a checksum in the ChaCha20 layer, which shouldn't be a problem since it's intended for chosen-ciphertext invulnerable, un-side-channeled personal computers. Anyway, you can see how it encrypts here: https://github.com/DesWurstes/BlockUpload/blob/7d0e247b7f5e01d1d84932a780156a590ec7f844/exports.c#L67
(This tool is intended for legal use only)
I'd like to hear your comments on this, HN community. You can also look at r/btc's reaction here: https://www.reddit.com/r/btc/comments/bah8zw/store_files_up_to_1_mb_in_bch_blockchain_onchain/
This tool is useful for:\n- Static CDN\n- Personal immutable file storage","title":"Blockupload.io: Upload Files to Bitcoin Cash Blockchain(LZMA and OCB3-ChaCha20","updated_at":"2025-12-19T05:10:26Z"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"NilsIRL"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Chacha20.sh"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://git.zx2c4.com/chacha20.sh/tree/chacha20.sh"}},"_tags":["story","author_NilsIRL","story_28143767"],"author":"NilsIRL","children":[28143846],"created_at":"2021-08-11T16:04:04Z","created_at_i":1628697844,"num_comments":1,"objectID":"28143767","points":3,"story_id":28143767,"title":"Chacha20.sh","updated_at":"2024-09-20T09:08:46Z","url":"https://git.zx2c4.com/chacha20.sh/tree/chacha20.sh"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ciprian_craciun"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"RustCrypto AES/GCM and ChaCha20+Poly1305 Implementation Review"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://research.nccgroup.com/2020/02/26/public-report-rustcrypto-aes-gcm-and-chacha20poly1305-implementation-review/"}},"_tags":["story","author_ciprian_craciun","story_22511746"],"author":"ciprian_craciun","children":[22511750],"created_at":"2020-03-07T14:52:35Z","created_at_i":1583592755,"num_comments":1,"objectID":"22511746","points":3,"story_id":22511746,"title":"RustCrypto AES/GCM and ChaCha20+Poly1305 Implementation Review","updated_at":"2024-09-20T05:47:32Z","url":"https://research.nccgroup.com/2020/02/26/public-report-rustcrypto-aes-gcm-and-chacha20poly1305-implementation-review/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"conductor"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"OpenBSD replaced rc4 with ChaCha20"},"url":{"matchLevel":"none","matchedWords":[],"value":"http://marc.info/?l=openbsd-cvs&m=138065251627052&w=2"}},"_tags":["story","author_conductor","story_6540208"],"author":"conductor","created_at":"2013-10-12T20:42:07Z","created_at_i":1381610527,"num_comments":0,"objectID":"6540208","points":3,"story_id":6540208,"story_text":"","title":"OpenBSD replaced rc4 with ChaCha20","updated_at":"2024-09-19T20:02:04Z","url":"http://marc.info/?l=openbsd-cvs&m=138065251627052&w=2"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"enz"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha12-BLAKE3 is now ChaCha20-BLAKE3 and is stable and production-ready"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://kerkour.com/chacha12-blake3-is-now-chacha20-blake3"}},"_tags":["story","author_enz","story_46644084"],"author":"enz","created_at":"2026-01-16T07:47:21Z","created_at_i":1768549641,"num_comments":0,"objectID":"46644084","points":3,"story_id":46644084,"title":"ChaCha12-BLAKE3 is now ChaCha20-BLAKE3 and is stable and production-ready","updated_at":"2026-03-05T23:25:46Z","url":"https://kerkour.com/chacha12-blake3-is-now-chacha20-blake3"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"ashvardanian"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Tuning TLS: AES-256 Now Beats ChaCha20 on Every Modern CPU"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://ashvardanian.com/posts/chacha-vs-aes-2025/"}},"_tags":["story","author_ashvardanian","story_45848728"],"author":"ashvardanian","created_at":"2025-11-07T17:29:00Z","created_at_i":1762536540,"num_comments":0,"objectID":"45848728","points":3,"story_id":45848728,"title":"Tuning TLS: AES-256 Now Beats ChaCha20 on Every Modern CPU","updated_at":"2026-03-05T22:59:11Z","url":"https://ashvardanian.com/posts/chacha-vs-aes-2025/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"enz"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha12-BLAKE3: Secure, Simple and Fast authenticated and committing encryption"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://kerkour.com/chacha12-blake3"}},"_tags":["story","author_enz","story_44861282"],"author":"enz","created_at":"2025-08-11T06:31:52Z","created_at_i":1754893912,"num_comments":0,"objectID":"44861282","points":3,"story_id":44861282,"title":"ChaCha12-BLAKE3: Secure, Simple and Fast authenticated and committing encryption","updated_at":"2026-03-05T22:32:48Z","url":"https://kerkour.com/chacha12-blake3"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"samuel-lucas6"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20-Poly1305-SIV (CCP-SIV)"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://github.com/C2SP/C2SP/blob/main/chacha20-poly1305-siv.md"}},"_tags":["story","author_samuel-lucas6","story_44784471"],"author":"samuel-lucas6","created_at":"2025-08-04T11:41:51Z","created_at_i":1754307711,"num_comments":0,"objectID":"44784471","points":3,"story_id":44784471,"title":"ChaCha20-Poly1305-SIV (CCP-SIV)","updated_at":"2025-08-04T13:42:30Z","url":"https://github.com/C2SP/C2SP/blob/main/chacha20-poly1305-siv.md"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"qhoxie"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha And Aardvark: Putting Humans To Work To Get You The Answers You Need"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://www.techcrunch.com/2008/11/03/chacha-and-aardvark-putting-humans-to-work-to-get-you-the-answers-you-need/"}},"_tags":["story","author_qhoxie","story_352243"],"author":"qhoxie","created_at":"2008-11-03T17:26:28Z","created_at_i":1225733188,"num_comments":0,"objectID":"352243","points":3,"story_id":352243,"title":"ChaCha And Aardvark: Putting Humans To Work To Get You The Answers You Need","updated_at":"2024-11-18T22:39:20Z","url":"http://www.techcrunch.com/2008/11/03/chacha-and-aardvark-putting-humans-to-work-to-get-you-the-answers-you-need/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"cbzbc"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"The sound of Brainfuck running the ChaCha20 cipher"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://midn.gitlab.io/posts/bfchacha.html"}},"_tags":["story","author_cbzbc","story_32403474"],"author":"cbzbc","created_at":"2022-08-09T20:03:45Z","created_at_i":1660075425,"num_comments":0,"objectID":"32403474","points":3,"story_id":32403474,"title":"The sound of Brainfuck running the ChaCha20 cipher","updated_at":"2024-09-20T11:45:05Z","url":"https://midn.gitlab.io/posts/bfchacha.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"weinzierl"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Google Adiantum and the ChaCha RNG"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://www.johndcook.com/blog/2019/03/02/chacha-adiantum/"}},"_tags":["story","author_weinzierl","story_19296131"],"author":"weinzierl","created_at":"2019-03-03T19:02:26Z","created_at_i":1551639746,"num_comments":0,"objectID":"19296131","points":3,"story_id":19296131,"title":"Google Adiantum and the ChaCha RNG","updated_at":"2024-09-20T03:56:28Z","url":"https://www.johndcook.com/blog/2019/03/02/chacha-adiantum/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"zx2c4"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha speed update"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://moderncrypto.org/mail-archive/noise/2017/001207.html"}},"_tags":["story","author_zx2c4","story_14855447"],"author":"zx2c4","created_at":"2017-07-26T12:06:46Z","created_at_i":1501070806,"num_comments":0,"objectID":"14855447","points":3,"story_id":14855447,"title":"ChaCha speed update","updated_at":"2024-09-20T01:09:05Z","url":"https://moderncrypto.org/mail-archive/noise/2017/001207.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"beefhash"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"FreeBSD: Replace the RC4 algorithm for generating random numbers with Chacha20"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://svnweb.freebsd.org/base?view=revision&revision=317015"}},"_tags":["story","author_beefhash","story_14171359"],"author":"beefhash","created_at":"2017-04-22T06:30:20Z","created_at_i":1492842620,"num_comments":0,"objectID":"14171359","points":3,"story_id":14171359,"title":"FreeBSD: Replace the RC4 algorithm for generating random numbers with Chacha20","updated_at":"2024-09-20T00:44:25Z","url":"https://svnweb.freebsd.org/base?view=revision&revision=317015"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"trotter_cashion"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Cha Cha Cha Change, TSA Style"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://r38y.com/post/242612684/cha-cha-cha-change-tsa-style"}},"_tags":["story","author_trotter_cashion","story_940167"],"author":"trotter_cashion","children":[940420,940574],"created_at":"2009-11-13T16:19:16Z","created_at_i":1258129156,"num_comments":3,"objectID":"940167","points":2,"story_id":940167,"story_text":"","title":"Cha Cha Cha Change, TSA Style","updated_at":"2024-09-19T16:48:42Z","url":"http://r38y.com/post/242612684/cha-cha-cha-change-tsa-style"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"sylvain_kerkour"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20-BLAKE3: A fast and secure Stream/AEAD encryption cipher"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://kerkour.com/chacha20-blake3"}},"_tags":["story","author_sylvain_kerkour","story_39204412"],"author":"sylvain_kerkour","children":[39205894,39231420],"created_at":"2024-01-31T14:48:00Z","created_at_i":1706712480,"num_comments":2,"objectID":"39204412","points":2,"story_id":39204412,"title":"ChaCha20-BLAKE3: A fast and secure Stream/AEAD encryption cipher","updated_at":"2024-09-20T16:12:08Z","url":"https://kerkour.com/chacha20-blake3"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"colinprince"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaChaCha"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"https://www.epsilontheory.com/chachacha/"}},"_tags":["story","author_colinprince","story_30596062"],"author":"colinprince","children":[30596064],"created_at":"2022-03-08T03:20:10Z","created_at_i":1646709610,"num_comments":1,"objectID":"30596062","points":2,"story_id":30596062,"title":"ChaChaCha","updated_at":"2024-09-20T10:41:36Z","url":"https://www.epsilontheory.com/chachacha/"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"tosh"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20-Poly1305 (2016)"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://datatracker.ietf.org/doc/html/rfc7905"}},"_tags":["story","author_tosh","story_29638827"],"author":"tosh","children":[29638860],"created_at":"2021-12-21T16:18:50Z","created_at_i":1640103530,"num_comments":1,"objectID":"29638827","points":2,"story_id":29638827,"title":"ChaCha20-Poly1305 (2016)","updated_at":"2024-09-20T10:01:55Z","url":"https://datatracker.ietf.org/doc/html/rfc7905"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"GrumpyYoungMan"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Adding a ChaCha Cipher to Precursor\u2019s true random number generator"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.bunniestudios.com/blog/?p=6126"}},"_tags":["story","author_GrumpyYoungMan","story_27846232"],"author":"GrumpyYoungMan","children":[27846271],"created_at":"2021-07-15T15:59:45Z","created_at_i":1626364785,"num_comments":1,"objectID":"27846232","points":2,"story_id":27846232,"title":"Adding a ChaCha Cipher to Precursor\u2019s true random number generator","updated_at":"2024-09-20T08:58:05Z","url":"https://www.bunniestudios.com/blog/?p=6126"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jor-el"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 and Poly1305 for IETF Protocols"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://www.rfc-editor.org/rfc/rfc7539.txt"}},"_tags":["story","author_jor-el","story_9549322"],"author":"jor-el","created_at":"2015-05-15T07:19:56Z","created_at_i":1431674396,"num_comments":0,"objectID":"9549322","points":2,"story_id":9549322,"story_text":"","title":"ChaCha20 and Poly1305 for IETF Protocols","updated_at":"2023-09-07T02:45:33Z","url":"https://www.rfc-editor.org/rfc/rfc7539.txt"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"Nekit1234007"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"RFC 7539: ChaCha20 and Poly1305 for IETF Protocols"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://tools.ietf.org/html/rfc7539"}},"_tags":["story","author_Nekit1234007","story_9542247"],"author":"Nekit1234007","created_at":"2015-05-13T22:00:29Z","created_at_i":1431554429,"num_comments":0,"objectID":"9542247","points":2,"story_id":9542247,"story_text":"","title":"RFC 7539: ChaCha20 and Poly1305 for IETF Protocols","updated_at":"2023-09-07T02:44:58Z","url":"https://tools.ietf.org/html/rfc7539"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jgrahamc"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Add ChaCha20-Poly1305 support"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/cloudflare/sslconfig/pull/5"}},"_tags":["story","author_jgrahamc","story_8918773"],"author":"jgrahamc","created_at":"2015-01-20T19:06:10Z","created_at_i":1421780770,"num_comments":0,"objectID":"8918773","points":2,"story_id":8918773,"story_text":"","title":"Add ChaCha20-Poly1305 support","updated_at":"2023-09-06T23:19:16Z","url":"https://github.com/cloudflare/sslconfig/pull/5"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"jabo"},"story_text":{"matchLevel":"none","matchedWords":[],"value":""},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"Implement CHACHA20_POLY1305 [in cloudflare]"},"url":{"matchLevel":"none","matchedWords":[],"value":"https://github.com/cloudflare/sslconfig/issues/4"}},"_tags":["story","author_jabo","story_8908135"],"author":"jabo","created_at":"2015-01-18T17:46:22Z","created_at_i":1421603182,"num_comments":0,"objectID":"8908135","points":2,"story_id":8908135,"story_text":"","title":"Implement CHACHA20_POLY1305 [in cloudflare]","updated_at":"2023-09-06T23:18:21Z","url":"https://github.com/cloudflare/sslconfig/issues/4"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"sven"},"story_text":{"matchLevel":"none","matchedWords":[],"value":"+ poly1305 deployment in most cases.
I included the patches from google into libssl on my dell streak mini (http://forum.xda-developers.com/showpost.php?p=52309010&postcount=21)."},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha Usage and Deployment"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://ianix.com/pub/chacha-deployment.html"}},"_tags":["story","author_sven","story_7955787"],"author":"sven","created_at":"2014-06-27T19:17:36Z","created_at_i":1403896656,"num_comments":0,"objectID":"7955787","points":2,"story_id":7955787,"story_text":"+ poly1305 deployment in most cases.
I included the patches from google into libssl on my dell streak mini (http://forum.xda-developers.com/showpost.php?p=52309010&postcount=21).","title":"ChaCha Usage and Deployment","updated_at":"2023-09-06T23:13:19Z","url":"http://ianix.com/pub/chacha-deployment.html"},{"_highlightResult":{"author":{"matchLevel":"none","matchedWords":[],"value":"dfc"},"title":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"ChaCha20 and Poly1305 in OpenSSH"},"url":{"fullyHighlighted":false,"matchLevel":"full","matchedWords":["chacha"],"value":"http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html"}},"_tags":["story","author_dfc","story_7087247"],"author":"dfc","created_at":"2014-01-20T02:50:33Z","created_at_i":1390186233,"num_comments":0,"objectID":"7087247","points":2,"story_id":7087247,"title":"ChaCha20 and Poly1305 in OpenSSH","updated_at":"2023-09-06T21:57:38Z","url":"http://blog.djm.net.au/2013/11/chacha20-and-poly1305-in-openssh.html"}],"hitsPerPage":50,"nbHits":661,"nbPages":14,"page":0,"params":"query=chacha&tags=story&hitsPerPage=50&advancedSyntax=true&analyticsTags=backend","processingTimeMS":10,"processingTimingsMS":{"_request":{"queue":428,"roundTrip":20},"afterFetch":{"merge":{"mergeLoop":{"prepareNextHit":5,"total":5},"total":5},"total":5},"fetch":{"query":2,"total":3},"total":10},"query":"chacha","serverTimeMS":439}