Questions tagged [software-obfuscation]

Software obfuscation is the deliberate act of creating obfuscated code by making source or machine code difficult to understand from a human point of view. This may be by either ad-hoc heuristic techniques, or by cryptographic techniques based on hard problems.

Filter by
Sorted by
Tagged with
5
votes
3answers
189 views

Ways to make white-box cryptography AES implementation more difficult to be broken

Background: I want to use white-box cryptography to hide the keys stored in a client application. I am looking for existing implementations of white-box cryptography, such as AES 128 or 256. But I ...
2
votes
1answer
109 views

Is this protocol for masking DB ids sound?

Problem Statement I don't want to expose my internal database ids (or other internal private ids) so to make it harder to abuse them, by e.g. guessing the next id of a sequence or similar. It is not ...
8
votes
1answer
186 views

Obfuscating functions that are mostly zero

Let $f_k(x)$ be a boolean function of two arguments with two properties: The function $f$ can be efficiently computed. The output is always 0 or 1, and for any fixed $k$, if we choose $x$ randomly, $\...
1
vote
0answers
36 views

Is it considered good security to give your variables unhelpful names? [closed]

I was exploring my company's codebase yesterday and I noticed one class which had three variables named m_p1, m_p2, and m_p3. These variables are used very often in this class and each has a different,...
5
votes
1answer
173 views

Are there lower bounds to how efficient one can make obfuscated code?

I am wondering if there are any theoretical reasons why obfuscated programs cannot be nearly as efficient as the plaintext programs and whether there is any necessary computational overhead from ...
4
votes
1answer
130 views

Is obfuscation always reversable?

Let's say we have a program that only accepts numerical inputs and the output is simply an increment by one of the input. Example with input "a" and output "b": $$Input: a = 7$$ $$Output: b= a+1 = ...
6
votes
1answer
284 views

Intuitively what makes indistinguishability obfuscation useful?

I am reading some papers about the application of indistinguishability obfuscators (IO). As far as I know, there are two techniques which enables the application of IO: shell game of secrets and ...
0
votes
2answers
215 views

Making brute force attacks less effective through obfuscation?

This page on Wikipedia states "Brute-force attacks can be made less effective by obfuscating the data to be encoded making it more difficult for an attacker to recognize when the code has been ...
6
votes
1answer
443 views

The notion of sub-exponential security

I have been reading a paper where they construct probabilistic IO (indistinguishability obfuscation) from sub exponential IO. I want to know if the following two notions of sub-exponential security ...
1
vote
1answer
187 views

Sub exponentially hard OWF , PRF and iO

I'm currently reading the work "Obfuscation of probabilistic circuits and Applications' by Canetti Lin Tessaro and Vaikuntanathan 2015. It says sub exponentially hard OWF implies sub exponentially ...
13
votes
4answers
3k views

What is indistinguishability Obfuscation?

I've been studying functional encryption. Recently read that a Multi input functional encryption (MIFE) implies indistinguishability Obfuscation. Can someone please brief me: what is ...
2
votes
2answers
214 views

Indistinguishability Obfuscation : What are it's consequences on crypto? [closed]

I was reading about the construction of IO using MIFE and compact FE . I am just curious to know what are the consequences if there exists an IO.
7
votes
2answers
467 views

Why do we use multilinear maps for obfuscation?

I have recently developed interest about obfuscation, and I see that (all?) the proposals use multilinear maps. What's the reason to this? As I also that many of the multilinear map proposals get ...
3
votes
2answers
379 views

Hash based code obfuscation?

The code if(str1 == "abc") {} can be converted to if(hash(str1) == 0x8732e) {} // assume hash("abc") == 0x8732e to ...
3
votes
1answer
89 views

Does there exist an indistinguishability formal proof obfuscator?

A formal proof obfuscator is a mapping $\mathcal{O}$ such that whenever $P$ is a formal proof of a theorem $T$, then $\mathcal{O}(P)$ is a distribution of formal proofs of the same theorem $T$. An ...
2
votes
1answer
129 views

Do reversible black box obfuscators exist?

We shall say that an obfuscator $\mathcal{O}$ is a reversible black box obfuscator if for each reversible program $P$ the obfuscated program $\mathcal{O}(P)$ is still reversible but does not reveal ...
1
vote
0answers
58 views

Can you have partial cryptographic obfuscation (without a trusted setup)?

Cryptographic Obfuscation is a powerful cryptographic technique. My question is, can you do it partially? Instead of obfuscating an algorithm completely, you can have an algorithm with a couple of ...
4
votes
1answer
172 views

Why are obfuscators generally defined to be probabilistic algorithms, rather than deterministic ones?

One possible explanation is, randomness is not going to hurt you, so might as well use it. Also, if we are hoping to prove impossibility, it only makes the result stronger. One other explanation is ...
9
votes
3answers
1k views

What is the state of cryptographic obfuscation in 2015?

Cryptographic Obfuscation is a technique that allows one to obfuscate source code in a secure way (as opposed to insecurely mangling it into spaghetti code.) For example, here is a way to protect a ...
5
votes
2answers
305 views

Obfuscate an “I'll reveal if you do” function

Is there any cryptographic obfuscation scheme that will let me obfuscate a program that reveals my secret, if you reveal yours? Formalization. Let $C(\cdot),V(\cdot)$ be a secure commitment scheme. ...
5
votes
1answer
305 views

Universal Circuits in Indistinguishability Obfuscation Candidate Construction

I am currently working on an implementation of the candidate construction for an indistinguishability obfuscator that was recently proposed by Garg et al. The relevant paper can be found here. ...
8
votes
1answer
364 views

What functions allow for practical indistinguishability obfuscation?

Recently, there has been a major theoretical breakthrough in program obfuscation, in the area of indistinguishability obfuscation. Background: Indistinguishability obfuscation is a form of program ...
4
votes
0answers
237 views

Obfuscating point-like functions

There are standard schemes for obfuscating a point function; I'm wondering if we know how to obfuscate a slight generalization of a point function. I'll elaborate more precisely. Definition 1. A ...
2
votes
1answer
296 views

Digicipher and other proprietary systems?

I've always been curious as to how Pay-TV and other Conditional Access systems actually stay secure for any amount of time, given that they are usually one way and (I'm assuming) use symmetric keys ...
-1
votes
1answer
120 views

Hypothetical question about AES output

Consider that you stumble upon 5 different AES output strings. One of these strings can be decrypted with a secret phrase, the other four strings are based on the real string but have had random parts ...
16
votes
2answers
2k views

Practical consequences of using functional encryption for software obfuscation

I came across this article, which describes a method, developed by UCLA CS professor Amit Sahai et al, for using functional encryption in order to achieve software obfuscation. The paper that the ...
3
votes
1answer
371 views

A situation where security by obscurity might be the best solution - or am I wrong?

Imagine the following situation. There is an application for a microcontroller-driven system. The profits are made from manufacturing and selling the device itself. However, it is expected, that the ...