Reputation
Next tag badge:
101/100 score
17/20 answers
Badges
1 9 31
Newest
 Caucus
Impact
~97k people reached

Sep
20
comment Can I use SHA1 as license key?
It's usually even simpler: most "stand-alone software" validation can be defeated by simply hooking into whatever code does the key validation, and replacing it by "this key is valid" (regardless of the key, of course). Unless said key is going to be used at some subsequent point in the program (e.g. as some authentication token for interaction with some remote server), that's it - you've "cracked" the software product, without even caring what validation mechanism was involved. I think you need to detail your specific requirements a bit more.
Sep
18
comment How to choose keys for a block cipher?
The keys $k$, $l$, etc.. are just variables. You can put whatever key you want in there (as long as it is 56 bits long, or 128 bits long, or whatever the key length for the given cipher is) and you will get one of the possible permutations of the cipher (parameterized by the key). Are you asking how those keys are generated e.g. how they are derived from passwords for instance and so on?
Sep
12
comment Break a simple compression function of a cryptographic hash function
Agreed on the second paragraph, but regarding the first paragraph, I think the point was to use some form of cryptanalysis to defeat this particular hash function, and not just invoke a generic attack. But yeah, no effort shown at all.
Sep
12
comment Can I dynamically calculate an appropriate number of iterations for PBKDF2 based on the system time, rather than using a fixed value?
KDF's can be computed client-side (this is not often done, mostly due to lack of web scripting language support for cryptography and in that the authentication protocol is a bit different) so DDoS is a non-issue. 12k rounds is too low these days. Modification 1 is well-intentioned, but this is really a bad idea, you have no control of the hardware (however outdated it may be) and this will probably cause more problems than it will solve. Modification 2 is good (it's the standard way of updating password hashes).
Sep
11
comment Stream vs Block cipher: Synchronising and the receiver
I am not sure what you mean by synchronization. The ciphertext produced by basically every encryption scheme out there is, in some sense, "in the same order as" the plaintext. You might be confusing with the network stack and packets etc..
Sep
4
comment Encryption schemes and pseudorandom permutations
@Reid I really meant directly using a PRF as an encryption scheme (as per the question). As a building block primitive it is of course quite useful to construct encryption schemes out of.
Aug
31
comment Is the first version of the Message-Digest algorithm by Ronald Rivest publically available?
The talk page on Wikipedia has some information, if you haven't seen it: en.wikipedia.org/wiki/Talk%3AMD4. It suggests MD1 as such never existed, but was instead just MD (and was never published) and that MD3 was a failed experiment; apparently there exists a specification somewhere (I cannot find the referenced document 1335: MD2, MD4, MD5, SHA and other hash functions. M.J.B. Robshaw). The best way to know would be to send the author an email, though :p
Aug
31
answered RSA smaller number work-out-by-hand not working - I think I made a mistake
Aug
31
comment RSA smaller number work-out-by-hand not working - I think I made a mistake
During encryption, the public exponent 3 turned into a 7.
Aug
30
comment Meet-in-the-middle with checking complexity
Keywords are "asymptotic complexity" and "order of magnitude".
Aug
27
comment Why restricting SHA3 to have only two possible capacities?
Simplicity, perhaps.. a standardized algorithm needs to be simple, have few configuration options so that it can't be "used wrong", and to minimize support and transition costs. Applications which want more can always use the full version.. it doesn't just disappear because NIST chose to make some changes.
Aug
27
comment RC2, RC4, RC5 key length
Perhaps you should reformulate the "even number of bytes" statement into, for instance, "integral number of bytes". When I read it I initially thought you meant RC4 needed a key length multiple of 16 bits and was confused.
Aug
27
comment Should I delete cryptographic data from memory?
Number 2 is particularly important. For instance you can look at how OpenSSL does it, by doing strange operations on the data to overwrite to trick the compiler into randomizing it even though it will never be used later on (for higher level languages this may well be impossible to achieve). There is indeed no generic solution.
Aug
25
comment Would this simple encrypted chat program be feasible using One Time Pads?
Please do not deface your own question, it makes the whole thread incomprehensible for readers and wastes everyone's time. If you want to delete your question, please cleanly flag it for moderator attention indicating you want it deleted.
Aug
23
comment Keepass Twofish plugin security
Looking at the code again, I think this actually isn't a problem. I am not familiar with how Keepass handles plugins but I would expect it to pass its own generated key/IV's to the underlying plugin rather than let it generate them itself (see the EncryptStream() method, public and hence exported from the plugin, taking pbKey and pbIV as arguments). In that case the dummy implementations above exist only to satisfy the contract of the C# SymmetricAlgorithm interface. Though it would be better to properly implement them to be able to reuse the Twofish implementation elsewhere....
Aug
22
comment Is it theoretically possible to construct a string that contain its own hash value?
Are you asking about whether for any such string, there exists one (or more) possible "hash values" satisfying this condition, or whether for an arbitrary "hash value" you can find a string of a given length satisfying the condition? Or both?
Aug
19
comment Am I insecurely implementing AES in Python?
@Alex Hardly...
Aug
16
comment One Time Pad Question
You may want to reread the question, which was how to find the key (pad) which will map a given ciphertext to a given plaintext (or a given ciphertext to meaningful plaintext for some definition of "meaningful", not sure how best to interpret it).
Aug
11
comment How does DES decryption work? Is it the same as encryption or the reverse?
@fgrieu No, it does not apply directly to DES, but it applies directly to the question at hand, which is "why is it not necessary to invert the one-way function to invert a DES round".
Aug
11
answered How does DES decryption work? Is it the same as encryption or the reverse?