Personally I've always liked redacted keys because it makes it clear to users what they should expect.
Does this system want a PEM or a DER or a CER or a CRT or a JKS or a P7B or a P11? Or some vendor-specific format? The public key or the private key? Or both in the same file? A literal value, or a filename of a certificate on disk? A keyring?
It'd all be a heck of a lot easier if we didn't have such a mess of key formats.
I've changed it from https://www.hezmatt.org/~mpalmer/blog/2023/06/12/private-key... now.
Of course the bit-by-bit assumption makes you reveal much more data than buye-by-byte or base64 characters but the point still stands.
However, actual information, the zigzag pattern, starts from the bottom-right. For many QR-code versions, the middle part encode _mostly_ ECC blocks, which are by definition redundant.
The fact that a QR-code doesn't decode in the regular scanning apps does not mean you cannot read any information from it.
If you know (or correctly guess) the exact parameters of the blur, this works far beyond what most people would consider recoverable by looking at it.
I find it hard to believe that anyone would take their actual production key and redact it for documentation. Does the author have evidence of this in practice, or did they see example keys and assume they were redacted production keys?
edit: It seems they have found one: https://www.hezmatt.org/~mpalmer/blog/2023/06/12/private-key...
I wish this were a standardized thing every CA had to have, to avoid things like this:
> As of the time of writing, that certificate is not marked as revoked
But the situation is potentially still quite bad even if you have less information than that. See Heninger and Shacham (2008):
Why redact keys with PRIVATE KEY here when you can have more fun with it. You can put any base64 in there, put a nice image file in there (a logo if you're a boring company, a meme if you're writing a blog).
I would define replacing the entire body of the key as redacting a private key. I would define the behaviour of the author as advocating against as partially redacting a private key.