Tag Info

Hot answers tagged

15

This article is a nice introduction to the concept of white-box cryptography. It can be viewed as the devious cousin of code obfuscation. In simpler words: usually, security of a cryptographic algorithm is studied in the "black-box" model: e.g., for symmetric encryption, the attacker is given access to a "device" which runs the encryption algorithm with a ...


9

This requirement is a killer: The paper (or any medium other than the brain) must not at any time contain data that leaks information about the plaintext. Almost any security proof for a hash assumes an adversary only gets to see digests, not any mid-state. Mid-state has not had enough confusion and diffusion, so it leaks information. This means that ...


8

As you suspected, there's a very close relationship between white-box cryptography and obfuscation. (Good instincts!) White-box cryptography is basically all about obfuscating an encryption implementation. White-box cryptography is obfuscation of crypto code. Imagine that you took an AES implementation, picked a random AES key, and then hardcoded that AES ...


6

I still don't understand your desire for a hash, especially considering (as already stated at other places in this forum) that you don't gain any entropy by subjecting a PW to a deterministic function like a hash. So, when decrypting your ciphertext, you will be as secure with a H(key) as with (key), thus you might as well just memorize a good long ...


5

This question comes up often enough in the context of cryptography that it probably is relevant in a practical sense. I suspect we'll hear even more about it if homomorphic encryption raises interest in "computation in an adversarial setting". It's not just theoretically unsolvable. A great many software development organizations have tried to keep data ...


5

I've seen two implementations in the wild: WBACR AES A dubious Russian implementation


3

I'm pretty sure it's impossible for software alone to do everything you suggested. Asymmetric encryption can solve part of the problem. I suspect that, even though asymmetric encryption can't do everything you suggested, it can get close enough to solve your real problem. Perhaps you can give a high-level explanation of what you're really trying to do, and ...


3

No, there aren't any cryptographic hash functions like this. I'm pretty confident you're not going to find one. I have yet to see a white-box secure hash function that remains secure against dedicated attack, let alone one that you can implement securely on pencil and paper. Since this is a practical problem, I suggest finding another solution -- like ...


3

The initial motivation was as follows. If you do not know the key, you are bind to a particular implementation even if you can invert the encryption. The implementation might have some sort of backdoor, which might reveal the attacker's identity. I do not know how relevant this thinking was, but it has been pursued in mid-00s.


3

This is an excellent question. Unfortunately, I'm afraid I don't know of any really convincing answer. In principle, one possible application of white-box cryptography would be to build a public-key cipher out of a symmetric-key cipher. If you could build a white-box cryptographic implementation of AES encryption (say) where no one can recover the key nor ...


2

Adding my 2 cents, I would like to point out that many published methods for white-box cryptography have been broken. This includes… white-box AES white-box DES … which have been crypto-analyzed and are known to be insecure ever since. On the other hand, as long as you just plan to study implementation to learn about the techniques and not plan to ...


2

White-box cryptography is aimed at protecting secret keys from being disclosed in a software implementation. A cryptography algorithm gets the key and plaintext(encryption mode)/ciphertext(decryption mode) as input and outputs the ciphertext/plaintext. A white box implementation of the cryptography algorithm gets just plaintext/ciphertext as input and ...


2

You need your official builds to create a signature with some kind of key, without anyone being able to extract this key from the program, and without anyone being able to use that part of the program to sign anything else than what you intended it to sign. (Actually, private builds should be able to do the same thing, just with another key provided to ...


1

I have a x86 assembly version of the basic AES algorithm I wrote when we briefly tried to remediate some 20 year old POS registers for PCI compliance. Turned out we didn't need it, but it was a great experience to write some assembler again. I would be happy to share it if you feel it would be valuable. Please keep in mind that it is just the encryption ...



Only top voted, non community-wiki answers of a minimum length are eligible