For a given key length, block ciphers provide certain level security. But now with the implementation of key stream generator using block cipher in various modes such as counter mode, OFB mode, etc., how we can say stream ciphers are less secure ?
The state of design is such that we know more about block ciphers and their security. One can employ block cipher in a mode that gives a stream ciphers, thus stream ciphers that are designed this days try to be faster than that mode (Output Feedback mode) and thus are usually weaker (due to speed requirements).
We can simply say that the design philosophy of block ciphers are more enhanced and so it seems it is easier to design a secure block cipher. This is just related to designers. On the other hand block ciphers are prone to time memory data trade-off attacks due to their nature. However, it is possible that a stream cipher can be designed to be secure against time memory data trade-off attacks. More importantly, there are both secure stream and block ciphers whereas broken block and stream ciphers as well.
A block cipher in counter mode creates the keystream in blocks. And then it XORs that keystream with the plaintext of the message to be encrypted. A stream cipher uses a PRNG to create the keystream, and then does much the same thing with the keystream and the message bytes.
If (a) the (pseudo-random) keystream sequence from the PRNG is at least as long as the message being encrypted, i.e. the keystream does not repeat when encrypting the message, and (b) that keystream is only used once, before the seed is changed, then I frankly do not see how a block cipher in counter mode can be any more secure. The vulnerabilities of the two should then be the same.
So for instance, you would want to include a message checksum within the ciphertext, to defend against a ciphertext substitution attack (the attacker won't be able to substitute ciphertext without the receiver being aware that this has happened), in both schemes, and you have to defend against a known plaintext attack by avoiding reuse of the same keystream on different messages, also in both schemes. (In a known plaintext attack, the keystream can be computed if the attacker knows the plaintext and ciphertext of a previous message. Then the attacker can use the keystream he just reverse-engineered to decrypt a new encrypted message. Won't work if the keystream changes each time.)
Unless I'm missing something fundamental here, seems to me that the two types of algorithms are much the same, in terms of security.
I agree with the other opinions. Decisive is that ciphertexts do not recur for identical plaintexts. Hence, a couple of operations modes for block ciphers and RRNGs for the initial seeds of stream ciphers have been introduced to achieve nonrecurrent ciphertexts.
According to Kerckhoffs's principle, the security of a cipher system should depend solely on the secrecy of the key and the private randomizer, not on algorithm. Hence irrespective of the type of the cipher, whether block cipher or stream cipher, appropriate random key should be used, to make the cipher system secure.
One Time Pad, a classical stream cipher is the unbreakably secure cipher, known so far. Because the key length is equal to the message length and brute force attack on this gives all possible plain texts and there is no reason why one plain text can be selected over the other.
Depends to usage. You can not classify stream cipher and block cipher as security level. each one has specific features which client side should according to its request
This is depends on the used, each one has some a good properties,however, if your request need fast, I advance used stream cipher after checking the keystream generator pass statistical tests.