Programm Vigenere Verfahren

Status
Nicht offen für weitere Antworten.

TeamBob

Aktives Mitglied
Hi
Also ich muss ein Programm programmieren in Java und folgene Aufgabenstellung ist gegeben....
Könnte mir da jemand den Quelltext zu programmieren oder sagen wo ich sowas runteraden kann,
weil ich habe nicht als zu viel ahnung davon und brauche das unbedingt und für die leute die ein wenig
ahnugn davon haben ist das doch bestimmt kein probelm für euch oder?`
Danke schonmal in vorraus.....

1.verschlüsslung eines textest8ohne längenbegrenzung) mit einen Schlüssel mit der Maximalen
Länge von 26 mit dem Vigenere Verfahren.

2.Eintschlüsselung eines Geheimtextes nach Vigenere Verfahren mit einem bekannten Schlüssel.

3.Entschlüsselung eines geheimtextes nach Vigenere Verfahren mit einen unbekannten
Schlüssel, aber bekannter Schlüssellänge mit einer maximalen Schlüssellänge von 26.

4.Entschlüsselung eines geheimtextes nach Vigenere Verfahren mit einen unbekannten
Schlüssel mit hulfe der Kasiki- oder Friedman Textest.

5.Nutzerfreundliche Oberfläche zur Bedienung.

Beachten
-Reinfolge unbedingt einhalten
- möglichkeit um klar- und Geheimtexte is das Projekt zu laden bzw. speichern
- ein menü
-eingeschränkter zeichensatz von 65-90 im AscII zeichensatz
 
ja super... welch Einsatz - ich bin begeistert.

1. Wir machen keine Hausaufgaben!

2. Wenn du kein Plan hast... - Google wirst du bestimmt bedienen können - das Ding gibts in hundertfacher Ausführung... - zwar vermutlich nicht auf anhieb mit Kasiski-Verfahren oder Friedman-Tests - aber - man wird so einiges zusammenbappen können...

3. Warum musst du ein Java-Programm programmieren, wenn du es nicht selbst lernen willst?
 
ist ja nicht so das ich es nicht probiert habe...
Also die lehrerin geht davon aus das wir es können
obwohl wir es noch nie hatten....
Also ich habe schon gegoogelt bevor ich hier
geschrieben hatte und probiert habe ich
auch schon aber irgendwie habe ich kein anhaltspunkt.
Wenn es sowas im net gibt könnt ihr denn nicht
bitte was raussuchen und es zusammenschreiben,
weil nur so lerne ich was wenn ich auch sehe
wie es geschrieben wurde...ist
ja nicht so das ich es dann einfach abgebe...
ich werde mir das mal anschauen und probieren
es zu verstehe und dann nochmal neu programmieren
bitte
 
TeamBob hat gesagt.:
Also die lehrerin geht davon aus das wir es können
obwohl wir es noch nie hatten....

Das steht auf der Hit-Liste ganz oben. Wie kann ein Lehrer etwas verlangen, ohne es vorher auch erklährt zu haben? :noe:
 
Sorry... aber das was du schreibst ist absoluter Blödsinn.

Das mag zwar vielleicht ne Taktik sein, die in der Schule okay ist... bzw. gerne angewendet wird - aber du kannst doch nicht im Ernst erwarten, dass sich jemand anderer die Mühe macht, dir mal eben was zusammenzuschrauben... selbst wenn es nicht soo wahnsinnig schwierig ist - trotzdem dauert das ganze seine Zeit... - alleine das ganze Tippen 😉

Und das mit dem Verstehen und Nachvollziehen hab ich schon so oft gehört, dass es mir zum Hals raushängt... so lernt man das Programmieren nunmal nicht...

und es kann ja nicht sein, dass ihr null Java-Programmierung hattet... so das es absolut keine Möglichkeit gibt für euch die Aufgabe zu lösen... oder ist das Problem nicht das Java sondern der Vigenere? ... das Verfahren ist ja nun alleine bei der Wikipedia hinreichend erklärt...

also nen bisschen mehr solltest du dich schon anstrengen.
 
hallo
also ich habe mich dazu schon lange belesen und weiss wie es funktioniert,
aber das ist ja nicht der knackpunkt, sondern das ic´h nicht weiss
wie ich es programmieren soll...wenn es so viel im net gitbt...
könntet ihr mir dann sagen wo es sowas gibt
und
du hattest doch gesagt das es nicht so schwer ist und nicht so
viel zeit in anspruch nimmt....aber so lange kann es doch nicht
dauern oder??
Bitte
 
Ne so lange dauerts nicht. Fang am besten gleich an, dann biste Mitternacht fertig.
 
hi
Also habe mich mal hingestzt und wollte mal fragen ob das so ok ist...
hab ich damit alle punkte einbegriffen oder was vergessen....das mit den beschränlten Ascii Zeichensatz weiss ich nicht


hier ist eine vigenere ver und entschlüsselung
Code:
void ver() {
int i=0;

buffer1 = VerEnt.getSelectedCheckbox();
ausfuehren = buffer1.getLabel(); 

while (i<L0) {
ch=s.charAt(i);

if (ausfuehren == "verschluesseln")
{
keychar = key.charAt(i % keylength);
y = (int)keychar;
x=(int)ch-65;
x=x+(y-65);
x= x % 26;
Text.append((char) (x+65));
i = i+1;
}
else {
keychar = key.charAt(i % keylength);
y = (int)keychar;
x=(int)ch-65;
x= x % 26;
x=x-(y-65);
Text.append((char) (x+65));
i = i+1;
}
}
}


dieses hier liesst eine ganze datei ein und gibt es in einer anderen aus

Code:
import java.io.*;
public class vigenere
{public static void main (String[] args) throws IOException
{
if (args.length != 2) {
System.err.println("So musst Du aufrufen: java vigenere dateiname schluessel");
System.exit(1);
} 
String klardateiname = args[0], kryptdateiname = "crypt"+klardateiname, key = args[1]; 
int z = 0, i=0, s=0, keylength;
char ch = 65;
File klardatei = new File(klardateiname), kryptdatei = new File(kryptdateiname);
FileReader leser = new FileReader (klardatei);
FileWriter schreiber = new FileWriter (kryptdatei);

key = key.toLowerCase(); 
keylength = key.length();
while (z != -1)
{ z= leser.read(); 
if (z > 96 & z < 123) {
ch = key.charAt( i % keylength);
s = ((int) ch) - 97;
s = s % 26;
schreiber.write((z-97+s)%26+65);
i++;
} 
}
leser.close(); schreiber.close();
}
}




und dieses hier knackt die verschlüsselung

Code:
import java.io.*; 
import java.lang.Math;
public class vigenereent
{public static void main (String[] args) throws IOException
{
if (args.length != 1) {
System.err.println("So musst Du aufrufen: java vigenereent dateiname");
System.exit(1);
} 
String klardateiname = args[0], code; 
int z=0, t=0, codelength, y=0, m=0, anzahl=0, schluessellaenge = 0;
float anteil = 0, max=0;
char p = 65, wzeichen = 65;
File klardatei = new File(klardateiname);
FileReader leser = new FileReader (klardatei);
StringBuffer text = new StringBuffer();
int statistik[] = new int [100];

/* Schluessellaenge herausfinden */

while (z != -1)
{ 
z= leser.read();
text.append((char) z);
}
code = text.toString();
code = code.toLowerCase();
codelength = code.length();
t = 0;
while (max<=12){
anzahl = 0;
t++;
y=0; 
for (int b=0; b 96 && m < 123) { 
m = (m-97)%26;
statistik[m]++;
anzahl++;
}
y = y+t;

}

for (int b=0; b<=25; b++) {
anteil = (statistik[b] * 100) / anzahl; 
if (anteil > max) {
max = anteil;
}
}
}
schluessellaenge = t;
System.out.println("Schluessellaenge: "+schluessellaenge);

/* Entschlüsselung */

for (int c=0; c 96 && m < 123) {
m = (m-97)%26;
statistik[m]++;
anzahl++; 
}
y = y + schluessellaenge;
}
for (int b=0; b<=25; b++) {
anteil = (statistik[b] * 100) / anzahl;
if (anteil > max) {
max = anteil;
if (max > 12) {
wzeichen = (char) (b+61);
System.out.print(wzeichen);
}
}
}
}



/* Engschlüsselung Ende */

leser.close(); 
}

}

[Edit by Beni: Codetags eingefügt]
 
TeamBob hat gesagt.:
kann mir bitte einer helfen das hiermit schluss ist
danke

Wie wir sehen, hast du dir doch Mühe gegeben. Allerdings mußt du
einsehen, daß wir ohne Einarbeitung in dieses Vignere (oder wie auch immer) Verfahren,
kaum, (für dich zuverlässig), eine Beurteilung abgeben können, ob deine Lösung
auch korrekt ist.

Dies soll jetzt keinen Angriff auf dich darstellen, sondern es ist
lediglich eine Vermutung, warum dir, in diesem speziellen Fall,
keiner antwortet.
 
hi
Also ich muss sagen das ich den Quelltext nicht von der Seite habe, sondern ich habe
einen gefragt und er hat gesagt er hilft mir programmieren....
Also müsste das stimmt....
Nur mal ne frage an sich
Wie beschränke ich den ASCII Zeichensatz von 65 bis 90
Danke
 
Ist ja interessant @TeamBob.. zufällig muss ich die gleiche aufgabe auch bearbeiten.. habe auch gestöbert und noch in nem anderen FOrum das gleiche palawer von dir gefunden.
/////// Zu meinem Problem ////
Hab mich mal selbst hingesetzt und was zusammenprogrammiert. Logo dass das dann nicht so wirklich funzt. Sieht jemand auf anhib einen Fehler?
Auszug aus der Klasse auf die ich mittels meines buttons "verschlüsseln" zugreife

public String vigenere1(String klartext, String schluessel){
String geheimtext = "";
//Laenge von Schlüssel und Klartext angleichen
if (schluessel.length()< klartext.length()){
schluessel = schluessel + schluessel;
}
//Klartext verschlüsseln
for(int i=0; i<klartext.length(); i++){
char buchstabe = (char)((int)klartext.charAt(i) + (int)schluessel.charAt(i)-25);
if((int) buchstabe > 90){
buchstabe = (char) ((int) buchstabe-26);
}
geheimtext = geheimtext + buchstabe;
}
return geheimtext;
}

Ich hoffe jemand hat ne idee 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben