C++ Verschlüsselung unter Linux

haze4real

Lt. Junior Grade
Registriert
Juni 2009
Beiträge
266
Suche momentan eine Implementation für RSA und AES die man in kommerzieller Software (closed source) nutzen darf.
 
@Chris_87: Ein selten schlechter Rat.

Schau dir zb. mal Crypto++ an, das könnte deine Anforderungen erfüllen.
 
private ja, beruflich nein... hab mir jetzt mal libgcrypt rausgesucht, ist unter LGPL sodass ich diese verwenden kann. Hat jemand von euch schon Erfahrung mit libgcrypt im Bezug auf AES und RSA gemacht? wenn ja wär ein Beispiel nicht schlecht...
 
@bu1137: Die Lizenz von Crypto++ versteh ich nicht, die einzelnen Bestandteile sind Public Domain das Gesamtpacket steht unter Copyright?
 
Kann libtomcrypt auch nur empfehlen - existiert neuerdings wieder und ist bestens geeignet.

Wenn nicht: selbst implementieren - sollte auch nicht so schwer sein, einen CBC zu implementieren.
 
Zuletzt bearbeitet:
RSA ist ein asymmetrischer Verschlüsselungsalgorithmus - das Schwierigste bei der RSA-Implementierung ist das Schaffen einer Bignumber-Library - der Algorithmus an sich ist äußerst simpel.
CBC ist eine Vorgehensweise, wie Verschlüsselungsalgorithmen auf Klartexte angewandt werden (Feedback).
RSA + CBC ist aufgrund des hohen Berechnungsaufwands von RSA wenig sinnvoll.

Wie oben erwähnt: hat man erst einmal eine Bignumber-Library (für multiprecision arithmetics) wie z.B. libtommath, ist RSA keine unbezwingbare Hürde!

Also das nächste Mal vorher informieren, bevor man herumraunt!
 
das brauchst du mir nicht zu erzählen.. ich habe rsa schon implementiert..

selbst mit einer reinen bignumber library ist das nicht ganz trivial. speziell die key generation und der umgang mit primzahlen.
 
Doch. Es ist sehr simpel. Ich habe ein T-Shirt, auf dem der RSA-Algorithmus abgedruckt ist. In sehr großen Buchstaben.

Und ja, ich habe ihn auch schon implementiert. Mit libtommath.
 
Wer RSA (oder jeglichen etablierten kryptographischen Algorithmus) selbst implementiert oder eine Wald-und-Wiesen-Implementierung verwendet, handelt zumindest im professionellen Umfeld grob fahrlässig. Zum Ausprobieren und spielen immer toll - glauben, dass man jetzt totsicher ist? Weit gefehlt. (Zur Qualität der libtom ist mir nichts bekannt, weder positiv noch negativ)

Auch ein OpenSSL muss man z.B. mit einer "guten" (d.h. gegenüber OpenSSL verifizierten) BigNum-Library übersetzen, damit es beispielsweise nicht anfällig gegen Timing-Attacken ist. Solche Attacken gibt es viele und ich würde wirklich nicht behaupten wollen, dass ich mich auf diesem Umfeld gut auskenne. Finger weg von sowas (selbst implementieren), sobald es ins professionelle Umfeld geht.
 
Zuletzt bearbeitet:
Jeder weiß: Sicherheit ist relativ - und selbst diese relative Sicherheit kann in hohem Maße nur mit hohem Aufwand erreicht werden und ist selbst dann immer nur... relativ. Die absolute Sicherheit existiert nur auf dem Papier... in der Mathematik - nicht aber in der Praxis.

Sich von dem Gedanken der absoluten Sicherheit zu verabschieden - egal ob in der Informatik oder jedem anderen erforderlichen Bereich - ist der erste Schritt hin zu professioneller Sicherheit.
 
Es mag zwar keine absolute Sicherheit geben, aber sehr wohl den Unterschied zwischen relativ sicher und relativ unsicher. Und ich denke, man kann keine von Experten implementierte und getestete, mit zahlreichen Sicherheitsupdates versehene Anwendung mit der unbedarften Implementation eines Laien auf dem Gebiet vergleichen.

Und zu behaupten, ich implementier das selbst, weil großteils wird es schon so funktionieren und relativ sicher sein ist für mich ein Schritt weg von professioneller Sicherheit.

Nicht umsonst haben sich gewisse Dinge einfach bewährt und man muss nicht das Rad immer neu erfinden :)


so long
Renegade
 
Zurück
Oben