Encryption of plain text using stream cipher algorithm

We know that in stream cipher algorithms plain text and generated key are Xored byte by byte. Generated key depends on how much plain text there is and on that basis key will generate and plain text is encrypted. So my doubt is I am using the latest stream cipher algorithm that is Rabbit and encrypting plain text using the Rabbit stream cipher so in that Rabbit's input key is 128-bit and after all operations output will be a 128-bit key that will Xored with Plain text and give cipher text. As here output is fixed 128-bit so if our data is more than 128-bit then how it will encrypt data? Do we have to do padding with our plain text to make it a multiple of 128-bits?

• What makes you think that the output of Rabbit is limited to128 bits? It generates 128 bits per iteration; however you're not limited to doing only 1 iteration. Commented Apr 24, 2015 at 15:16
• Ya, that is right.but in Rabbit algorithm after all iteration it generates 128-bits so if we give them as a key then it will generate again 128-bits but if we give less than 128-bits data then it will not encrypted and showing error that data is less than 128-bits. So for that how will data encrypt? And you are saying that we are not limited to one iteration so it means whatever output will come from Rabbit that will feed as key again as produce again 128-bit key and that will feed as key and produce again 128-bit key like that are you saying? Commented Apr 27, 2015 at 5:21