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
0 votes
1 answer
59 views

Can the indistinguishability obfuscator leak the password when obfuscating the password checking function?

Suppose I have a dumb password checking function: def dumb_checker(password): return password == "my_secret_key_that_should_not_be_revealed" One can ...
mercury0114's user avatar
2 votes
1 answer
140 views

Barak et al. proof that black-box obfuscation is impossible

I have been attempting to analyse the classic proof presented by Barak et al. that claims Black-Box Obfuscation is not possible for (what appears to be) most classes of programs. The proof is ...
James's user avatar
  • 201
1 vote
0 answers
63 views

Cryptographic Code Anonymization

I've been reading a lot about techniques related to stylometry whereby programmers can be de-anonymized by analyzing their source code. Resisting deanonymization seems like a multifaceted problem. ...
Sidharth Ghoshal's user avatar
3 votes
1 answer
107 views

iO from Matrix Branching Programs

Recently I'm learning about constructing iO from Matrix Branching Programs via Multi-linear Maps (to be exact, [GGH+13] and [GGH15]). However, I have a small question that I couldn't figure out. It ...
Steven Yue's user avatar
2 votes
1 answer
109 views

Cryptographic function that can 'pack' numbers

Is there a cryptographic algorithm that can 'pack' a bunch of strings/numbers and "confirm" if a string/numbers exists (later in the code) while keeping the output hidden? For example, I have ...
JohnnyP's user avatar
  • 43
2 votes
3 answers
299 views

Is obfuscation considered a cryptographic primitive?

The general definition of obfuscation is the process of obscuring a message (not necessarily source code). There is a "rigorous" method for obfuscation (indistinguishability obfuscation, ...
JacopoStanchi's user avatar
8 votes
5 answers
2k 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 ...
TJCLK's user avatar
  • 477
3 votes
1 answer
467 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 ...
Patrick's user avatar
  • 251
8 votes
1 answer
557 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, $\...
D.W.'s user avatar
  • 36.2k
1 vote
0 answers
66 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,...
Jon McClung's user avatar
5 votes
1 answer
228 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 ...
Joseph Van Name's user avatar
4 votes
1 answer
240 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 = ...
AleksanderCH's user avatar
  • 6,406
6 votes
1 answer
786 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 ...
user50394's user avatar
  • 295
0 votes
2 answers
356 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 ...
daniel's user avatar
  • 912
8 votes
1 answer
945 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 ...
user avatar
2 votes
1 answer
353 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 ...
user avatar
26 votes
5 answers
9k views

What is Indistinguishability Obfuscation?

I've been studying functional encryption. I recently read that a multi-input functional encryption (MIFE) implies indistinguishability obfuscation (IO). Can someone please brief me: what is ...
user avatar
2 votes
2 answers
323 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.
user avatar
7 votes
2 answers
733 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 ...
typos's user avatar
  • 799
3 votes
2 answers
694 views

Hash based code obfuscation?

The code if(str1 == "abc") {} can be converted to if(hash(str1) == 0x8732e) {} // assume hash("abc") == 0x8732e to ...
Infinite's user avatar
  • 133
3 votes
1 answer
108 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 ...
Joseph Van Name's user avatar
2 votes
1 answer
180 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 ...
Joseph Van Name's user avatar
1 vote
0 answers
72 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 ...
PyRulez's user avatar
  • 819
5 votes
1 answer
295 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 ...
heisenberg's user avatar
11 votes
3 answers
2k 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 ...
PyRulez's user avatar
  • 819
5 votes
2 answers
352 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. ...
D.W.'s user avatar
  • 36.2k
5 votes
1 answer
412 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. ...
kekx's user avatar
  • 53
8 votes
1 answer
572 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 ...
D.W.'s user avatar
  • 36.2k
4 votes
0 answers
295 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 ...
D.W.'s user avatar
  • 36.2k
2 votes
1 answer
339 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 ...
Brian's user avatar
  • 21
0 votes
1 answer
153 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 ...
Howard Butler's user avatar
17 votes
2 answers
3k 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 ...
Henrick Hellström's user avatar
3 votes
1 answer
411 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 ...
vsz's user avatar
  • 513