Laden...

Daten mit Schlüssel E ver- und mit D entschlüsseln, ohne dass man mit D ver- und entschlüsseln kann

Erstellt von hipp1010 vor 11 Jahren Letzter Beitrag vor 11 Jahren 852 Views
H
hipp1010 Themenstarter:in
79 Beiträge seit 2011
vor 11 Jahren
Daten mit Schlüssel E ver- und mit D entschlüsseln, ohne dass man mit D ver- und entschlüsseln kann

Hi,

ich bin aif der suche nach einer Methode, bei der ich Daten mit einem KEY E verschlüssle und mit einem KEY D entschlüsseln kann. Besonderheit ist aber, dass man mit dem KEY D keine Datei erzeugen kann, die man dann aber mit dem gleichen KEY wieder entschlüsselnkann.

Hintergrund:

Ich verschlüssele eine Datei und gebe diese an jemanden. Dieser jemand (Nennen wir ihn Hugo) hat ein Programm gekauft, mit dem er mit einem speziellen Algorythmus und dem bekannten KEY D diese wieder lesbar machen und importieren kann.
Nun könnte es aber sein, dass Hugo einen Freund hat (nenn wir ihn EMIL), der sagt gib mir das Programm für Lau. Er geht nun hin, und erstellt sich einen eigene Input-Datei. Diese muss er aber verschlüsseln, damit das Programm die Daten dann korrekt importieren kann. Zwar könnte es sein, dass er das Programm hackt und den entschlüsselungs-Algorythmus sieht, doch soll er nicht in der Lage sein, seine Datei mit dem KEY D zu verschlüsseln un diese dem Programm einfachals Input gibt.

Ich hoffe, ich habe die Situation einigermaßen klar dargestellt.

Vielleicht weiß ja jemand Rat. Wenn es grundsätzlich nicht geht, dann muss ich mir etwas anderes ausdenken.

C
2.122 Beiträge seit 2010
vor 11 Jahren

Asymetrisches Verschlüsselungsverfahren machen genau dieses.
Ein Schlüssel den jeder kennen darf verschlüsselt Daten. Ein geheimer Schlüsselt entschlüsselt sie.
RSA ist ein bekanntes Verfahren dieser Art.

309 Beiträge seit 2008
vor 11 Jahren

Ergänzend zu chilic:

RSA ist ca. um den Faktor 1000 (kein Tippfehler) langsamer als symmetrische Verfahren wie z.B. TrippleDES oder AES.
RSA eignet sich im Grunde nur dazu kurze kurze Daten zu verschlüsseln. Deswegen wird die eigentliche Verschlüsselung in der Praxis symmetrisch durchgeführt und dann nur der symmetrische Schlüssel per RSA verschlüsselt übertragen.

using System;class H{static string z(char[]c){string r="";for(int x=0;x<(677%666);x++)r+=c[
x];return r;}static void Main(){int[]c={798,218,229,592,232,274,813,585,229,842,275};char[]
b=new char[11];for(int p=0;p<((59%12));p++)b[p]=(char)(c[p]%121);Console.WriteLine(z(b));}}

S
167 Beiträge seit 2008
vor 11 Jahren