Tag Info

Hot answers tagged

68

As a starting point, we will consider that each elementary operation implies a minimal expense of energy; Laundauer's principle sets that limit at 0.0178 eV, which is 2.85*10-21 J. On the other hand, the total mass of the Solar system, if converted in its entirety to energy, would yield about 1.8*1047 J (actually that's what you would get from the mass of ...


41

Much of the work on passwords and keys is related to controlling where they are stored and copied. A password is stored in the mind of a human user. It is entered on a keyboard (or equivalent) and goes through the registers of a CPU and the RAM of the computer, while it is processed. Unless some awful blunder is done, the password never reaches a permanent ...


30

(LZMA is a compression algorithm, not cryptographic.) For the purpose of implementing cryptographic algorithms, the generic method is getting the relevant descriptive standard, grabbing your keyboard, and trying. Most standards include "test vectors", i.e. sample values which let you know whether your implementation returns the correct answers. At that ...


20

TL;DR in bold: We don't have crystal balls to predict where technology will take us, but the purpose of cryptography is to develop algorithms that have just this kind of resistance on a very fundamental level. Mathematically speaking, in terms of "honestly" brute-forcing a single plaintext from a single ciphertext, knowing everything that would otherwise ...


11

Papers. In addition to @Dogeatcat world's excellent answer, here are some more papers: Matt Weir, Sudhir Aggarwal, Breno de Medeiros, Bill Glodek, Password Cracking Using Probabilistic Context-Free Grammars, IEEE Security & Privacy 2009. Arvind Narayanan, Vitaly Shmatikov, Fast Dictionary Attacks on Passwords Using Time-Space Tradeoff, CCS 2005. ...


11

First point: there is a practical security increase only if both encryption algorithms, taken alone, would be independently vulnerable to exhaustive search, i.e. by using too small a key. That is the main issue, and it is better to fix that. Exhaustive search works only up to the key sizes such that the space of key can be enumerated with existing or ...


10

The definition by Gary McGraw: Software security is the idea of engineering software so that it continues to function correctly under malicious attack


8

The problem with the future is that you don't know what will happen. We can guess, of course, but you can never get a guarantee. AES is presumed to be secure, and no known faults exist in the algorithm. In fact, DES (the original government-endorsed cipher) has no known faults in the algorithm either, the only problem is that the key length is too short. ...


8

Much like recursion, to properly understand audits we must first understand the scope and usage of audits. Audits are used to determine compliance against a benchmark. Without said benchmark, then the auditor has nothing to measure against. In some cases your benchmark may be a deeply technical document describing programming practices or operating system ...


7

Here is a good academic paper on the subject: Advances in password cracking by Simon Marechal: http://www.springerlink.com/content/y24724w25118n884/ I don't have the full article here atm, but if I recall correctly, the experimental results are based on leaked real-use passwords. You will of course not be able to find passwords that does not contain a ...


7

Note: the actual simple operations used are not relevant here - they might be operations on a quantum computer, or hash invocations, or whatever. Well, a quantum computer is the reason no one can tell you the "amount of simple operations that can be obviously seen as out of reach for all humanity for the forseeable future". By definition a quantum ...


7

Covert channels and side channels are hard to eliminate. Additionally, many of the open problems in computer science have implications for security. There is a need for formal ways to specify software, and there is a need for formal ways to specify security requirements. The difficulty we have proving program correctness for critical programs the size of ...


7

Register for Stanford's online Cryptography class that begins next January. It's free, online, includes both theory (video lectures and quizzes) and practice (programming assignments), let's you work at your own pace and you will get a statement of accomplishment if you succeed. Given the various echoes I got on Stanford's previous online courses session, ...


7

Keeping your crypto secret is not feasible. You need to have it out there, if it was just so people could test it if it actually works. I don't see any reason to keep crypto secret. You can put a lock on the door everyone can see your lock everyone knows how your lock works and knows that without the key it's useless. The password is your key. Besides all ...


7

The term "sandbox" is wide, generic, and often misused and misunderstood. Let's consider a type of sandbox, a virtual machine running under control of an hypervisor. The guest system is nominally isolated and cannot "see" the host system. However, this is relative to the implementation of the hypervisor, which is a combination of software and hardware, both ...


6

Two things, really: Get a good book. Bruce Schneier's "Applied Cryptography" is adequate. Learn the 'openssl' tools, and learn to use them. The most important thing about crypto to learn is humbleness. You don't want to ever create a new solution a problem -- you want to copy as best you can the solutions that have been well-tested by others. Most crypto ...


6

For crypto algorithms: Stinson's Cryptography: Theory and Practice goes through the math of many crypto algorithms in a way that would make them fairly easy to implement, if that's what you wanted to do. Scheiner's Applied Cryptography is also a leading book on the topic. Probably overlaps quite a bit but with some different algorithms. As far as a ...


6

Potentially, sure. If permissions are viewable, that gives an attacker a list of valid usernames and tells the attacker which accounts are the best candidates to attack. An attacker is much more likely to want to break in to the jdoe account in the HR system if they know, for example, that jdoe has the ability to see everyone's salary. Making ...


6

There are two important differences between algorithms vs. passwords/keys: You can (and should) change cryptographic keys routinely -- or when a compromise is suspected. This mitigates loss of secrecy. Similarly, you should change your password whenever you have reason to suspect that the password may be compromised. In contrast, it is rarely feasible ...


6

Established expert... that would be me (although not under this name -- I use a pseudonym because I am tremendously humble). Allow me to answer, then. The "halting problem" is indeed an illustration of the impossibility to decide (for a computer) whether a given program will halt or not. Of course, a lot of programs are decidable, but not all of them. ...


6

A first generic comment is that when you give a key to a friend, there is no way you can prevent that "friend" from sending the same key to other people, or blabbering about your semi-private information. In that sense, encryption cannot make a useful distinction between "keyF" and "keyA". In a security setting, there are only two categories of information: ...


5

Audits are typically used for detection: detecting problems. Controls typically provide prevention: preventing intrusions. However, you can use audits for more than just detecting intrusions. You can also use auditing to detect problems or shortcomings in your controls (e.g., compliance audits, network configuration audits), and/or to detect ...


5

"Addressing" that law, strictly speaking, means suing God for creating mankind with limited brains. There is little to do here, except to be aware of the difficulty of assessing the security of a security system: namely, that you cannot assess the security of your own creation. One way to say it is the following: if you cannot break your own system, then you ...


5

To my knowledge, there is no generally accepted definition. Some papers in trusted computing define "trustworthy software" as software that works according to the expectations of the user. Rather subjective and volatile. Maybe you should try a different approach and use the generally more accepted term security engineering as a start. Ross Anderson's book ...


5

A lot of analysis tools look for known data structures (i.e., patterns) in memory that indicate a particular type of information. For instance, malloc'd memory has header (and sometimes trailer) data that point forward and backward in memory to adjacent memory. Free'd memory pointers can jump around in memory if they aren't consolidated/coalesced. Windows ...


4

Suppose that you have a pseudorandom function with an output of n bits. A good hash function with a given salt ought to behave like a PRF. The general, average structure of a PRF, with regards to repeated application, is to have one big "cycle": if you hash and rehash repeatedly, you will, at some point, enter a cycle and obtain a value which you already ...


4

Modern strong encryption with key assumptions will be safe for a hundred years and foreseeably longer; e.g., millions/billions of years from brute forcing. That is if you encrypt a message with a high entropy passphrase (e.g., 20 random diceware words at ~260 bits of entropy) with a suitably strong encryption scheme say AES256 (where the passphrase creates ...


4

I don't think this law needs any addressing, to be honest. It is well understood by the industry and (almost) everyone follows the sensible course of action. For most purposes, encryption should be a solid reliable process which just works given an appropriate key length and using agreed algorithms which are peer reviewed (as per Rook's answer) and ...


4

A common way of addressing this problem is peer review. The open source world thrives on this. Better solutions are produced by the more eyes looking at the problem. By attacking software you become better at it though practice. So you also become better at attacking your own software, and by Schneier's law you can then write more secure software.


4

You seem to have misunderstood how this lattice model works, and the diagram you gave doesn't really help. It's meant to be a 3D structure. In this model, we have: Entities - These are things that you can have access to. In your diagram, these are crypto and nuclear. Privilege levels - These are generic levels of privilege that can be applied to any ...



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