Länge von Public/Private Keys (RSA)

Hallo an alle!

Ist die Länge der private und public Keys mit Verwendung von RSA berechenbar?

Also wenn ich ein x-beliebiges Schlüsselpaar erstelle mit RSA-1024 kann ich dann auf die Länge oder max. Länge der beiden Schlüssel schließen?

Und gibt es dafür eine allg. Berechnung RSA-512, RSA-2024, etc.?

Danke + Gruß PHANTOM

Ist die Länge der private und public Keys mit Verwendung von
RSA berechenbar?

Die muss nicht errechnet werden, weil sie bekannt ist.

Also wenn ich ein x-beliebiges Schlüsselpaar erstelle mit
RSA-1024 kann ich dann auf die Länge oder max. Länge der
beiden Schlüssel schließen?

Logisch, die Schlüssellänge ist 1024 bit, wie der Name schon sagt.

Und gibt es dafür eine allg. Berechnung RSA-512, RSA-2024,
etc.?

Die Schlüssellänge in bit entspricht einfach der Zahl, die hinten angehängt ist.

Ist die Länge der private und public Keys mit Verwendung von
RSA berechenbar?

Die muss nicht errechnet werden, weil sie bekannt ist.

Das habe ich auch gedacht.

Also wenn ich ein x-beliebiges Schlüsselpaar erstelle mit
RSA-1024 kann ich dann auf die Länge oder max. Länge der
beiden Schlüssel schließen?

Logisch, die Schlüssellänge ist 1024 bit, wie der Name schon
sagt.

Ja, aber wie ist die Länge in Zeichen? Das soll in eine Datenbank-Spalte hinein. Was ist das Maximum bei 1024 Bit an Zeichen?

Gruß PHANTOM

Ja, aber wie ist die Länge in Zeichen? Das soll in eine
Datenbank-Spalte hinein. Was ist das Maximum bei 1024 Bit an
Zeichen?

Das kommt logischerweise drauf an, als was du das speicherst. Wenn du es als Bytearray oder als ähnlichen Binär-Datentyp speicherst, dann muss das Feld logischerweise 1024 bit lang sein.

Wenn du es als String speichern willst, dann hängt’s logischweise damit zusammen, wie du die Binärdaten kodieren willst. Wenn du’s z.B. mit Base64 machst, dann ist der String um ein Drittel länger als die Rohdaten.

Ist die Länge der private und public Keys mit Verwendung von
RSA berechenbar?

Die muss nicht errechnet werden, weil sie bekannt ist.

Achja?

Also wenn ich ein x-beliebiges Schlüsselpaar erstelle mit
RSA-1024 kann ich dann auf die Länge oder max. Länge der
beiden Schlüssel schließen?

Logisch, die Schlüssellänge ist 1024 bit, wie der Name schon
sagt.

Das ist so nicht richtig. N ist 1024 bit lang. N ist aber nicht der Schlüssel. Zur Erklärung ein Zitat aus der Wikipedia:

„Der öffentliche Schlüssel (public key) ist ein Zahlenpaar (e,N) und der private Schlüssel (private key) ein Zahlenpaar (d,N), wobei N bei beiden Schlüsseln gleich ist. Man nennt N das RSA-Modul, e den Verschlüsselungsexponenten und d den Entschlüsselungsexponenten.“

Darüber hinaus kommt es dann noch auf die Kodierung der Schlüssel an - und auf den Verwendungszweck, in GnuPG-Schlüsseln bspw. sind ja noch weitere Informationen kodiert, u.U. sogar JPEG-Bilder.

Und gibt es dafür eine allg. Berechnung RSA-512, RSA-2024, etc.?

Die Schlüssellänge in bit entspricht einfach der Zahl, die
hinten angehängt ist.

So einfach ist das Ganze dann leider nicht :smile:

Gruß,

Malte

PS: Ich seh grad, das manche Autoren N auch den „Schlüssel“ nennen, das ist aber eine praxisferne Bezeichnung und imho unsauber.

Das ist so nicht richtig. N ist 1024 bit lang. N
ist aber nicht der Schlüssel.

Da hast du recht. Dann ist der Schlüssel maximal 2*N groß, weil e bzw d maximal so groß wie N sein können.

Berichtigung
Berichtigung:
Wie Malte richtig sagt, setzt sich der Schlüssel aus zwei Zahlen zusammen. Die eine Zahl ist in der Tat bei RSA 1024bit lang, die zweite Zahl ist maximal 1024bit lang, d.h der benötigte Platz für den Schlüssel ist dann doppelt so groß, wie von mir in meinen vorherigen Postings angegeben.

Hmm, und wie lang als String ist der Schlüssel nun?
Ein public key den ich erzeugt habe, hat 199 Zeichen:
AAAAB3NzaC1yc2EAAAABIwAAAIEA5pAbIDBRC6uRvQKp0of0SQPCaof3U1DYApAebbieXECuI+rusFRY1gZP3FbMgJUdHDKUXyRPTy7inPBBI7ZksFj47RgPOoykpliaQPrtIrEL5Z7esiC/FyWDA3CnxisHE7eVuH6eYsmclYf2FrzGF1hhh1L4NLbJr/IPxsZD0XE

Das ist von Intersse. Ich brauche nur den Maximalwert von öffentlichem und privaten Schlüssel in dieser Textform, dann kann ich die Datenbankspalte dementsprechend dimensionieren.

Gruß PHANTOM

Hallo an alle!

Ist die Länge der private und public Keys mit Verwendung von
RSA berechenbar?

http://www.nm.ifi.lmu.de/pub/Fopras/schw00/PDF-Versi…

auf seite 24 stehts wie es in datenbanken etc gehalten werden kann.

Hallo,

hm, nicht ganz das was ich wissen wollte. Ich interessiere mich für die Länge des Keys. In die Datenbank kriege ich ihn, durch eine text-Spalte nur ich wollte das auf ein varchar begrenzen. Aber wenn das nicht möglich ist, dann lass ich das groß das Feld.

Gruß PHANTOM