87 votes
Accepted

Keeping a String Secret in (Open) Source Code

You have at least two options, depending on what problem you want to solve. If you want innocent readers of your code to not get the answers inadvertently, or you at least want to make it a bit ...
user avatar
59 votes

Why do we need full-fledged workstations running massive OSes with massive software?

You are conflating a number of issues here. Why does my software have all these features to begin with? Because other computers' software has those features, and network effects punish any software ...
user avatar
33 votes
Accepted

How does an operating system create entropy for random seeds?

The title and the body of your question ask two different questions: how the OS creates entropy (this should really be obtains entropy), and how it generates pseudo-randomness from this entropy. I'll ...
user avatar
29 votes

Keeping a String Secret in (Open) Source Code

You have two three options: Keep the answers separate from the rest of the source code If you want your code to be open source, however don't want the answers to be open source, then you open source ...
user avatar
  • 391
13 votes

Why do we need full-fledged workstations running massive OSes with massive software?

Since the other answers go pretty well into why companies just buy general purpose computers, I wanted to give an answer about security. In a lot of ways, it's easier to secure a system you know is ...
user avatar
10 votes

What is oblivious RAM and how does it work?

Oblivious RAM is an interface between a program and the physical RAM that when you perform a read or write, does both at the same time on the physical RAM to hide if you are reading or writing. Plus, ...
user avatar
10 votes
Accepted

Can you prevent a man in the middle from reading the message?

Can the man in the middle not just take the keys swapped by the opponents, change the keys and then decrypt and encrypt the message again? Yes, they can. A key exchange protocol like (the "textbook" ...
user avatar
  • 4,899
9 votes

Running an algorithm on data remotely and ensuring answer has not been tampered with

In the crypto community, this task is known as delegated computation, or verifiable delegation. You wish to let the server (the "cloud") to do the work for you, but you also want the cloud to give you ...
user avatar
  • 20.4k
7 votes
Accepted

Would it ever be possible for computer viruses to evolve new "genes" to allow them to perform their job?

I suppose it would be possible in theory, but computer malware (viruses, worms, etc.) typically don't work this way today, and there are good reasons why they're written the way they are. You might ...
user avatar
  • 141k
7 votes

Zero-knowledge proof: Abstract example

I believe this is done to illustrate two things. (i) The small probability, that $P$eggy ($P$rover) might be lying. If she really does not know the magic word and $V$ictor ($V$erifier) sees her ...
user avatar
  • 138
7 votes
Accepted

Can software itself be encrypted?

If you want a practical answer: with Intel SGX, the answer seems to be a qualified yes, but software development is likely to be more painful. (Similar with a TPM, though that will be even more ...
user avatar
  • 141k
5 votes

Would it ever be possible for computer viruses to evolve new "genes" to allow them to perform their job?

TL;DR: computers are not autonomous entities like organisms, with any survival instinct. They just run instructions, and sometimes they run instructions we don't like, so we run other instructions to ...
user avatar
  • 29.1k
5 votes
Accepted

Computer Security versions of the Halting Problem

What you're looking for is Rice's Theorem, which is a generalized version of Halting Undecidability. It basically says that any property of a Turing Machine (i.e. any computer program) is undecidable,...
user avatar
  • 29.1k
5 votes

Can you prevent a man in the middle from reading the message?

In a man-in-the-middle attack, you ask Bob for his key but Eve intercepts the message and sends you her key instead. She asks Bob for his key and then passes messages between you and Bob, decrypting ...
user avatar
5 votes

Why do we need full-fledged workstations running massive OSes with massive software?

"If I were running a company ... the employee would see only the "sections" that are relevant for them, coded by me." You are not prescient. You cannot predict the future requirements of all your ...
user avatar
5 votes

Why do we need full-fledged workstations running massive OSes with massive software?

I'd use a simple username/password system, with no password resets or two-factor auth Password resets are required somewhere because people forget passwords. 2FA is required sometimes because they ...
user avatar
  • 411
5 votes

Why did the concept of "write-protecting" not carry over from floppy disks to USB memsticks and especially external USB HDDs?

I'm not entirely sure that this question is on topic, but nonetheless, I suspect it has a simple answer. Physical write protection mechanisms predate floppy disks. At my school holiday job in the ...
user avatar
  • 19k
4 votes

Keeping a String Secret in (Open) Source Code

Why would you store your answers in your GPL source code if you don't want your users to know them? Even if they're not known or easily crackable now, they can (and likely will) be in the future. ...
user avatar
  • 143
4 votes

Keeping a String Secret in (Open) Source Code

Open source requires the source code to be made public and available, not the game data. So you could easily put the data in another file and not publish that one. Add some crypto if you want to ...
user avatar
  • 149
4 votes

Keeping a String Secret in (Open) Source Code

If the object is to obscure strings from casual reading of the source code but keep them open so other people can easily make their own changes - for example if you were publishing the source to a ...
user avatar
  • 141
4 votes

Why do we need full-fledged workstations running massive OSes with massive software?

I would argue that the premise of the question makes a wrong assumption: There is an enormous amount of people that use computers set up to perform a single task. Behind the scenes, they're generic ...
user avatar
  • 141
4 votes
Accepted

How large is the seed in an encryption algorithm such as stream cipher?

The seed of a pseudorandom generator that is used as a stream cipher is called a key. The most common key sizes are 128 bits and 256 bits. (That's symmetric keys, where there's no cheaper way to break ...
user avatar
4 votes
Accepted

Sharing a requested secret number not knowing which

This is known as the oblivious transfer problem. You can find about it online if you are looking for zero-knowledge interactive proofs for it.
user avatar
  • 10.8k
4 votes

Why are computers so fundamentally insecure?

The point of a general-purpose computer is that it can do almost anything. It's an extremely flexible tool. The point of a secure system is that it can't do most things. It can only do the things that ...
user avatar
3 votes

Existence of functions that only tests memberships without revealing any information about the members

Yes. This is known as the problem of obfuscating a point function. There are standard schemes. See, e.g., the following papers: On Obfuscating Point Functions. Hoeteck Wee. STOC 2005. ...
user avatar
  • 141k
3 votes

How does an operating system create entropy for random seeds?

In addition to Gilles answer, interrupts can also be used to establish entropy. In Linux for example, when adding an interrupt handler you can define whether the occurrence of this interrupt should be ...
user avatar
3 votes

Can Eve impersonate Alice or Bob by using a replay attack?

well, you don't really explain what happens in each step, and how the authentication procedure works, but your first suggestion is at the right direction. However, the impersonator wishes to ...
user avatar
  • 20.4k
3 votes

Would it ever be possible for computer viruses to evolve new "genes" to allow them to perform their job?

the general question is about evolution in malware. the specific question is about genes. there is indeed a genetic algorithm mechanism that uses digital "genes" for optimization & could certainly ...
user avatar
  • 10.8k
3 votes

Computer Science - System Security : How to Prove that KISS principle is Implemented in Security?

As stated, to prove that the KISS principle is frequently applied, you would need to make a study of design documents of a large number of security-related projects, and measure how often rationales ...
user avatar
3 votes

Computer Science - System Security : How to Prove that KISS principle is Implemented in Security?

It would be easier to demonstrate the opposite by reference to http://www.cert.org/ -- there should be plenty of materials to show that people screw up security all the time. KISS is about keeping ...
user avatar
  • 131

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