PoC||GTFO is a free journal of hacking and security research, published as PDF issues that are often also valid ZIP or other file formats.
Commenters recommend it as a favorite computing journal that captures the joy of programming, alongside Paged Out and Phrack.
There is good reason to believe the weaknesses introduced by the NSA with the PX1000-cr algorithm were introduced as part of a series of multiple backdoors that cooperate together [2][3].
The equation system to be solved is rather huge (~20 megabytes when shown as ASCII text), therefore it is logical to assume the NSA required more efficient techniques to break it in the 1980s.
The fact that the first and last character, as well as the top bits in between, leak the keystream makes for an easy and cheap attack that amortizes the algebraic attack costs. Detection of key re-use is therefore trivial.
And since this is a stream cipher key reuse, it is cryptographically disastrous; an excellent illustration of this is the Venona project [1].The NSA has spent decades trying to recover plaintext from two-timepads, but in the Venona case they did not know which two messages shared the same key. This is significantly simpler with the PX1000-cr.
For Venona, it is a safe guess that the NSA developed a significant amount of HW capable of recovering plaintext from two plaintexts that have been XOR-ed together. This implies they may employ more costly algebraic or other attacks only on cryptograms with unique keys. This, I feel, is a critical insight: there is not a single backdoor here, but numerous ones that cooperate.
[1] https://en.wikipedia.org/wiki/Venona_project
[2] https://www.alchemistowl.org/pocorgtfo/pocorgtfo21.pdf
[3]…
This is surely either derived from the Alchemist Owl's POC||GTFO musings, or destined to be included in them at some point in the very near future.
https://www.alchemistowl.org/pocorgtfo/
I'll never get my head around the fact that a language that started life as a way to accurately draw things on a printer and on a screen, is capable of being used for full-fledged applications such as this - although I suppose it makes sense, its still just too weird to me.
What's next? A full-blown desktop OS in Postscript, which is also the User Manual?
I sure freakin' hope so .. ;)
On a similar topic, PoC||GTFO [0] features files that are valid with multiple file formats. Issue 19 [1], for instance, "is valid as a PDF document, a ZIP archive, and a HTMLpage. It is also available as a Windows PE executable, a PNG image and an MP4 video" (see "technical note").
They are made by Ange Albertini [2] who has a great talk [3] on how he does this kind of things
[0] https://www.alchemistowl.org/pocorgtfo/
[1] https://www.alchemistowl.org/pocorgtfo/pocorgtfo19.pdf
[2] https://github.com/angea/pocorgtfo
[3] https://www.youtube.com/watch?v=W9WnnMJ0RKg
For anyone out there still using MD5 for any reason, check out this PDF file: https://www.alchemistowl.org/pocorgtfo/pocorgtfo14.pdf (42MB). You can also rename it to a .NES file and run it in a NES emulator.
It's a PDF File which is also a NES ROM that displays its own MD5 sum. The PDF also shows its own MD5 sum a few times. (The MD5 sum also happens to begin with 5EAF00D)
When an arbitrary MD5 can be created that easily, it's useless for any cryptographic applications, or even any data integrity.
From the PDF: "Bitrot will burn libraries with merciless indignity that even Pets Dot Com didn’t deserve. Please
mirror don’t merely link! pocorgtfo15.pdf and our other issues far and wide, so our articles can help fight
the coming flame deluge. We like the following mirrors.
https://unpack.debug.su/pocorgtfo/ "
https://pocorgtfo.hacke.rs/
https://www.alchemistowl.org/pocorgtfo/
https://www.sultanik.com/pocorgtfo/
Wonder how this would handle a polyglot[0][1], that is valid as a PDF document, a ZIP archive, and a Bash script that runs a Python webserver, which hosts Kaitai Struct’s WebIDE which, allowing you to view the file’s own annotated bytes.
[0]: https://www.alchemistowl.org/pocorgtfo/
[1]: https://www.alchemistowl.org/pocorgtfo/pocorgtfo16.pdf
Edit: just tested, and it does only identify the zip layer