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?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage