AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Verbindung verschlüsseln ( RSA + AES )
Thema durchsuchen
Ansicht
Themen-Optionen

Verbindung verschlüsseln ( RSA + AES )

Ein Thema von jokerfacehro · begonnen am 21. Feb 2012 · letzter Beitrag vom 22. Feb 2012
 
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#1

Verbindung verschlüsseln ( RSA + AES )

  Alt 21. Feb 2012, 15:02
Hallo,

ich habe eine kleine Lib erstellt namens CryptConn.

Diese dient zur verschlüsselten Übertragung von Daten per Delphi zu PHP und umgekehrt.

Es wird vor dem Senden ein zufälliger AES-Schlüssel generiert. Mit diesem wird der Text verschlüsselt
und der Schlüssel wird RSA-verschlüsselt mitgeschickt.

Verwendet wurde: AES-CBC 128Bit Key mit Padding und RSA-OAEP mit einem leeren Init-Hash (kann leicht geändert werden)


In der Delphi-Unit wurde ein Standard-Random verwendet, dieses kann aber leicht ausgetauscht werden.
In der PHP-Unit wurde ein relativ sicherer Random-Algo verwendet.


Folgende Libs wurden verwendet:

Delphi:

- DEC von negaH
(SHA1, AES, Base64)

- BigInteger von F. Rienhardt aka peanut (editiert von mir)
->Basis 256 hinzugefügt
(RSA)


PHP:

- SecurePHPLib



Weitere Angaben:


Der AES Schlüssel hat eine feste Länge von 128Bit.
Der RSA-Algo ist auf Delphi-Seite fest für Längen <= 20 Zeichen gestaltet ( kann aber leicht für beliebige Längen modifiziert werden).

Auf PHP-Seite gibt es keine Einschränkungen.


Für jeden Aufruf wird ein neuer AES-Schlüssel generiert.

Die RSA-Schlüssel müssen vorher ausgetauscht werden.
Im PHP-Script sind die Schlüssel Base64-kodiert um sie im Quelltext unter zubringen und sind im PKCS1-Format.

Es können beliebige Formate genutzt werden (einfach mal in die RSA.php schauen).


Die RSA-Schlüssel in der Delphi-Unit liegen als BigInteger ( e, d, n) vor.
Andere Formate müssen selber implementiert werden


PHP-Seitig können vorinstallierte Libs wie mcrypt etc. genutzt werden, sind aber nicht notwendig.

Hauptsächlich wurden Teile der securePHPLib nach Delphi übertragen.



Edit: Ihr könnt die Lib frei verwenden und abändern. Sie ist sicherlich noch nicht perfekt. Falls jemand diese erweitert, bitte hier reinposten, damit alle etwas davon haben

Edit 2: Fehler mit Randomize, Random und XOR korrigiert


Keywords: RSA , AES , Verschlüsselung , Kodierung , Encode , Encryption
Angehängte Dateien
Dateityp: rar CryptConn.rar (285,4 KB, 69x aufgerufen)
"Never touch a running system administrator !"

Geändert von jokerfacehro (22. Feb 2012 um 12:06 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz