Reverse Engineering the Verification QR Code on My Diploma
The author attempts to reverse engineer a QR code on their diploma encrypted with RSA encryption. Challenges arise due to encryption complexities, Flutter app disassembly, and RSA key limitations, making decryption unfeasible.
Read original articleThe article discusses the author's exploration of reverse engineering a QR code on their diploma for verification purposes. The QR code contained personal information and grades encrypted with RSA encryption. The author attempted to decode the data but faced challenges due to the encryption method used. They delved into disassembling the mobile app to understand its functionality, revealing the use of Flutter and RSA encryption for data decryption. Despite issues with RSA key usage standards and unsafe padding methods, breaking the encryption seemed unfeasible. The article explores potential attacks like the Bleichenbacher Padding Oracle Attack but concludes they are not applicable due to the RSA key's characteristics. The author also considers generating a fake diploma but finds limitations due to the RSA key's exponent. Overall, the exploration highlights the complexities of decrypting and manipulating encrypted data within the context of the mobile app's verification process.
Related
Reconstructing Public Keys from Signatures
The blog delves into reconstructing public keys from signatures in cryptographic schemes like ECDSA, RSA, Schnorr, and Dilithium. It highlights challenges, design choices, and security considerations, emphasizing the complexity and importance of robust security measures.
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
XZ backdoor: Hook analysis
Kaspersky experts analyzed the XZ backdoor in OpenSSH 9.7p1, revealing hidden connections, SSH authentication bypass, and remote code execution capabilities. The backdoor manipulates RSA keys, uses steganography, and executes commands.
Researchers Prove Rabbit AI Breach by Sending Email to Us as Admin
Researchers found a security flaw in Rabbit R1 AI assistant, exposing hardcoded API keys. Hackers could access sensitive data, impersonate the company, and send emails. Rabbitude group aims to improve security and functionality.
R1 jailbreakers find security flaw in Rabbit's code
A group of R1 jailbreakers discovered a security flaw in Rabbit's code, exposing hardcoded API keys. Rabbit took action after a month, revoking most compromised keys. The breach complicates Rabbit's recovery from R1 AI gadget issues.
e.g.:
> The first issue is the absolute disregard for any of the standards related to RSA key usage. Encrypting with the private key and decrypting with the public key is usually only done in the context of signing/verifying.
but... you are doing a verification at this stage. this is how public-key encryption works. but since the data is so short, the "signature" is just the data itself instead of a (essentially) a hash of it.
the stuff about pkcs#1 1.5 likewise is irrelevant. there's no way to get a padding oracle, and the Bleichenbacher '06 signature forgery scheme seems to be an attack on a bad signature verification algorithm and not an issue with the primitive. but we're not using signature verification here.
It's far more secure to sign a hash and prepend that to the data itself because that means you need to have a very specific number of padding bytes that match, and you need a way to generate data with arbitrary hashes. This is pretty difficult.
If you're just signing arbitrary data, there is a real risk that someone can construct something that yields valid data.
Where you get killed is that technically, every 256 bytes decrypts to a message -- it's the proportion of valid to invalid messages (and how usable an arbitrary valid message is) that really defines the security of the system.
In this case, you just need something that decrypts to a string having N pipes and a string of M digits. Based on some very basic napkin math, that should happen in under or around a billion trials. Inserting your name and an arbitrary degree -- that's going to be a lot more expensive!
In this case, PKCS #1 v1.5 is used for an RSA signature. The choice of PKCS #1 v1.5 is perfectly adequate for the digital signature scenario and was proven secure in 2018 ref. https://eprint.iacr.org/2018/855.pdf
EDIT: eh, PKCS #1 v1.5 is proven secure for a set of assumptions that I don't think apply to this case.
I think the security strength of this signature with message recovery approach is limited by the extent to which the maximum message length exceeds the signature size. You can choose random signatures until you get one that verifies to a syntactically-valid PKCS #1 padded string, which "only" requires an initial 88 bit match, based on the required minimum padding length.
You won't get a syntactically valid (per the apparent specification for the certificate) result, but it would be broken at the cryptographic level.
I mean, realistically, it's probably fine but, yeah.
would be kinda neat if there were a combined standard where there were a deterministic scheme for ocr'ing the text (specifically its ordering) as well as an accompanying signature so that the signature actually signed the text that appears on the document.
Groan
Related
Reconstructing Public Keys from Signatures
The blog delves into reconstructing public keys from signatures in cryptographic schemes like ECDSA, RSA, Schnorr, and Dilithium. It highlights challenges, design choices, and security considerations, emphasizing the complexity and importance of robust security measures.
Hacking eInk Price Tags (2021)
Hackers repurpose eInk electronic shelf labels (ESLs) into photo frames or status displays by customizing firmware. Detailed exploration of hacking challenges, including Marvell chip analysis, bootloader functions, memory storage, communication protocols, and debugging methods.
XZ backdoor: Hook analysis
Kaspersky experts analyzed the XZ backdoor in OpenSSH 9.7p1, revealing hidden connections, SSH authentication bypass, and remote code execution capabilities. The backdoor manipulates RSA keys, uses steganography, and executes commands.
Researchers Prove Rabbit AI Breach by Sending Email to Us as Admin
Researchers found a security flaw in Rabbit R1 AI assistant, exposing hardcoded API keys. Hackers could access sensitive data, impersonate the company, and send emails. Rabbitude group aims to improve security and functionality.
R1 jailbreakers find security flaw in Rabbit's code
A group of R1 jailbreakers discovered a security flaw in Rabbit's code, exposing hardcoded API keys. Rabbit took action after a month, revoking most compromised keys. The breach complicates Rabbit's recovery from R1 AI gadget issues.