Verschlüsselung und Entschlüsselung großer Dateien mit RSA in Java

Ich verwende den RSA-Algorithmus zum Ver- und Entschlüsseln einer Datei mit einer Größe von mehr als dem RSA-Schlüssel.

In dem unten stehenden Code für die Verschlüsselung lese ich Dateiinhalte blockweise und konvertiere sie in Chiffretext. Die Blockgröße beträgt 32 Byte.

FileInputStream fin1 = new FileInputStream(genfile);

FileOutputStream fout = new FileOutputStream(seedcipher);

byte[] block = new byte[32];
int i;
while ((i = fin1.read(block)) != -1)
{
    byte[] inputfile= cipher.doFinal(block);
    fout.write(inputfile);
}

fin1.close();

Am Entschlüsselungsteil wird die gleiche blockweise Entschlüsselung in dem Code durchgeführt, in dem ich die Blockgröße als 128 Bytes erwähnt habe

FileInputStream fin1 = new FileInputStream(encryptedfile);
FileOutputStream fout = new FileOutputStream(seedcipher);

DataInputStream dos =new DataInputStream(fin1);
DataOutputStream dosnew =new DataOutputStream(fout);
byte[] block = new byte[128];
int i;
while ((i = fin1.read(block)) != -1)
{
    byte[] inputfile= cipher.doFinal(block);
      fout.write(inputfile);
}

Input Dateigröße ist 81,3 kB und Datei enthält

0
1
2
3
4.....29000 

Nachdem die Datei entschlüsselt wurde, enthält die Ausgabe einige zusätzliche Werte, die nicht relevant sind. Warum sind diese zusätzlichen Daten im Ergebnis?