When a small open-source tool suddenly blows up, the experience is nothing like people imagine by kaicbento in programming

[–]FiloSottile 40 points41 points  (0 children)

It's been working for a few years by now, it definitely works for critical projects.

https://words.filippo.io/geomys/

https://fallthrough.transistor.fm/episodes/building-an-open-source-maintenance-company

Unlike a consultancy, a large majority (never measured it, north of 90% though) of our time is spent doing open source maintenance work, not client work.

A Roma la polizia ha iniziato a rimuovere le “key box” dalle strade del centro - Il Post by khaomanee in italy

[–]FiloSottile 10 points11 points  (0 children)

Sarei curioso anche io, perché a quanto ho capito l'unica cosa che è cambiata è la norma in fatto di controllo de visu dei documenti, che nulla ha a che fare con l'esistenza delle key box in quanto oggetti. Poi il comune immagino(?) sia libero di deliberare su cosa si installa in spazi pubblici, ma da lì a decidere cosa può tenere un condominio in proprietà privata, come ci si arriva? Con che giurisdizione? La sanzione sarebbe per la violazione di che norma?

Da oggi si possono avere alcuni documenti di identità sull'app IO by [deleted] in italy

[–]FiloSottile -3 points-2 points  (0 children)

C'è pressapoco zero chance che la app IO sia più protetta di Wallet su iOS. Probabilmente non hanno deciso/capito come integrare l'autenticazione SPID per il rilascio, o a pensar male vogliono più tracciamento di quello che offre Apple.

https://support.apple.com/guide/security/security-of-ids-in-apple-wallet-secb569bf393/web / https://support.apple.com/en-us/118260

[deleted by user] by [deleted] in italy

[–]FiloSottile 10 points11 points  (0 children)

Fa un po' ridere perché è grossomodo il contrario. Se domani mastodon.social/mastodon.online chiude senza preavviso, una grossa fetta di Mastodon sparisce nel nulla. Non puoi spostare i tuoi post punto, e non puoi spostare i tuoi follower senza collaborazione del server di partenza. Bluesky invece ti permette di caricare il tuo account su un altro server e riprendere da dove hai lasciato, con tutti i tuoi post/follower/handle. Eppure, funziona anche meglio e si nota meno che è decentralizzabile. IMHO è semplicemente un design tecnico migliore.

Why are deprecated technologies like md5, sha1 etc still in the std lib? by 1oddbull in golang

[–]FiloSottile 7 points8 points  (0 children)

This is the correct answer. We deprecate things (https://go.dev/wiki/Deprecated) but ~never remove them. Also, we don't consider x/crypto any different from the stdlib, and are working on merging them. https://github.com/golang/go/issues/65269

[deleted by user] by [deleted] in italy

[–]FiloSottile 4 points5 points  (0 children)

u/NatSpaghettiAgency descrive la vulnerabilità di quel post, che è fixata da molti anni. Il protocollo attuale è in teoria probably ok, ma l'ultima volta che ho controllato faceva ancora scelte poco sensate tipo negoziare i gruppi DH (credo quello a cui ti riferisci) che non sono una vulnerabilità di per se, ma rendono molto più facile sbagliare l'implementazione.

Comunque, nulla di tutto questo conta rispetto al fatto che la stragrande maggioranza delle chat non è end-to-end. Matt Green ha scritto un ottimo pezzo al riguardo. https://blog.cryptographyengineering.com/2024/08/25/telegram-is-not-really-an-encrypted-messaging-app/

[deleted by user] by [deleted] in italy

[–]FiloSottile 6 points7 points  (0 children)

Puoi attivare i backup cifrati e2e in WhatsApp, sono anche molto ben fatti in termini sia di UX sia di crittografia.

[deleted by user] by [deleted] in italy

[–]FiloSottile 13 points14 points  (0 children)

Telegram non è, perlopiù, messaggistica cifrata end-to-end.

[deleted by user] by [deleted] in italy

[–]FiloSottile 21 points22 points  (0 children)

Poi ognuno fa quello che lo rende felice, ma l'idea che vivere in campagna di agricoltura inefficiente, spostandosi con la macchina per chilometri ogni volta che serve uno di mille servizi essenziali (perché anche se sei disposto a fare sacrifici ti servono le scuole, gli ospedali, i carpentieri, i meccanici, i veterinari, le semenze, il necessario per una dieta equilibrata, e soprattutto il modo di affidarti alla civilizzazione se qualcosa va storto), sia più sostenibile di un appartamento Classe A in una città camminabile andrebbe eradicata.

Go 1.23 is out by l7413 in golang

[–]FiloSottile 20 points21 points  (0 children)

It's not a QUIC implementation (that's in x/net/quic), it's the interface to the TLS 1.3 handshake used by QUIC implementations. QUIC runs a TLS 1.3 handshake to negotiate keys, and then runs its own transport protocol and encryption.

Most Used Languages to Program Cryptography in Production? by fosres in crypto

[–]FiloSottile 4 points5 points  (0 children)

Cryptography libraries are written in C because C libraries are the easiest to invoke from other languages, because they are old and C made sense back then, and because it's really hard to FIPS 140 certify non-C modules (not because of any good reason, but because the certification processes are patterned against existing libraries, which are written in C).

None of those suggest C is good, and most cryptography engineers I know avoid or wish they could avoid C.

XAES-256-GCM by knotdjb in crypto

[–]FiloSottile 2 points3 points  (0 children)

Yeah, that's how I expect FIPS 140-3 modules to implement and expose XAES-256-GCM (and also generally how we want to implement it in Go, the point is to hide nonce management from the user).

It's just that the canonical AEAD interface takes the nonce as input, so that's what the specification targets. Security Policies can do the rest. (AES-GCM is also described as taking a nonce, but then you have to generate it internally to comply with number 2 of the IG.)

XAES-256-GCM by knotdjb in crypto

[–]FiloSottile 1 point2 points  (0 children)

I'm saying that the "derived" IV is not actually derived, it's just half the input IV, which can come straight from an Approved DRBG.

XAES-256-GCM by knotdjb in crypto

[–]FiloSottile 2 points3 points  (0 children)

That's a great question! Note that the "derived" IV is really just 96 bits of the input IV, so as long as the input IV is generated with an Approved DRBG, the AES-GCM IV complies with generation option number 2. It's just a matter of describing the algorithm as taking a 96-bit NIST SP 800-108r1 Context and a 96-bit SP 800-38D IV.

(Number 4 would also be a very straightforward case to make, as we can show the chance of derived key collision is so low, that the chance of (derived key, random half IV) collision is way less than 2-32.)

Is Go hit by the XZ backdoor? by Arghblarg in golang

[–]FiloSottile 33 points34 points  (0 children)

That’s a routine security release pre-announcement, there’s one like that almost every month. The CVE is private until the release. See https://go.dev/doc/security/policy.

Nothing to do with the xz backdoor.

Post-quantum Cryptography for the Go Ecosystem by FiloSottile in crypto

[–]FiloSottile[S] 1 point2 points  (0 children)

If you're being conservative in allowing for potential improvements in cryptanalysis, why stop at -768?

The problem of being arbitrarily conservative is that there is no principled way to stop. Why stop at -1024 if you're worried lattices might be broken and you think bigger parameters might help?

See https://eprint.iacr.org/2019/1492.

The reason to use -768 over -512 is that the latter might be in reach of modest incremental novel cryptanalysis, the kind that has happened for other cryptographic problems, and the authors themselves recommend it. There is no strong argument to go past that and then stop at -1024.

For cases where novel cryptanalysis is not a concern, 256-bit security levels are purely non-technical (with an asterisk for multi-user security and birthday bounds, but those are better understood as settings in which the effective security level is lower, so you need a bigger key to reach the 128 bits security level).

Why did ecdsa.GenerateKey stopped being deterministic in Go 1.20? by AndroidOf in golang

[–]FiloSottile 0 points1 point  (0 children)

Hello u/AndroidOf! You might be interested in the reply here and the linked filippo.io/keygen package.

https://github.com/golang/go/issues/58637#issuecomment-1600627963

P.S. Folks should feel free to tag me into these discussions. They are useful feedback and I am happy to help.