Verschlüsselung

Status
Nicht offen für weitere Antworten.

alexpetri

Aktives Mitglied
Hallo,

kennt von euch jemand einen Verschlüsselungsalgoritmus (ausser ROT-13 und Konsorten) bei dem die Anzahl der Zeichen gleich bleibt - respektive Leerzeichen und Satzzeichen nicht mit verschlüsselt werden?

Bin für jeden Hinweis dankbar.
 

JPKI

Top Contributor
Hier mal 'n ganz einfacher :cool: :
Code:
public String encode(String toEncode) {

char array[] = toEncode.toCharArray();
for (int i = 0; i < array.length; i++)
 if (Character.isLetter(array[i]))
  array[i] = (char)(((int)array[i])++);

return new String(array);
}

public String decode(String toDecode) {

char array[] = toDecode.toCharArray();
for (int i = 0; i < array.length; i++)
 if (Character.isLetter(array[i]))
  array[i] = (char)(((int)array[i])--);

return new String(array);
}

- Code ungetestet -
Das is wirklich extrem simpel, aber es reicht, um die meisten User zu verwirren^^
 

JPKI

Top Contributor
Nachtrag: Du kannst ja auf die oben gezeigt Art und Weise einfach auf einen Buchstaben testen und falls die Bedingung true ergibt, mit jedem beliebigen Verschlüsselungsalgorithmus verschlüsseln.
 

HoaX

Top Contributor
dein code ist nicht wirklich ganz korrekt. da sich buchstaben und nicht buchstaben den zahlenraum teilen ist es möglich, dass das array++ einen buchstaben zu einem nichtbuchstaben verwandelt -> decode liefert falsches ergebnis

decode sollte also Character.isLetter(array-1) prüfen
 

Backwardsman

Bekanntes Mitglied
darf ich mal fragen, warum du leer- und sonderzeichen erhalten willst!? das widerspricht ja irgendwie dem grundprinzip der verschlüsselung... bzw. dann kann man es auch gleich sein lassen...
 

taraku

Mitglied
mhh Leerzeichen könnte man doch auch erhalten lassen^^..das kommt doch auch bei vielen Verschlüsselungen vor..
zur Verschlüsselung...mhh du könntest ja einen string erstmal machen, der alle möglichen buchstaben und zahlen erhaelt(und ggf auch sodnerzeichen :p)
diesen String dann mischen(wie hier:)
Code:
public static void main(String[] args) {
		String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890ÖöÜüÄäß\n\t ";
		char[] carray = s.toCharArray();
		int num = 0;
		Random r = new Random();
		int max = s.length();
		int cur = 0;
		HashSet<Character> hs = new HashSet<Character>();
		while(num < max){
			if(hs.add(carray[cur = r.nextInt(max-1)])){
				num++;
				System.out.print(carray[cur]);
			}
		}
	}
(was unpräzise aber was solls xD..die ausgegeben zeichenkette kopeirst du eifnach xD)

und schon haste deinen private key xD....noe also diese zufallsstring könntest du dann zur verschlüsselung benutzen,
indem du z.b. alle zeichen deines klartextes in diesem zufallsstring dann eine stelle vorwärts verschiebst..
(wie hier:(bsp)

Code:
public static String bdecode(String s){
		StringBuffer sb = new StringBuffer(s);
		for(int i = 0; i < sb.length(); i++){
			try{
				if((BALPHABET.indexOf(Character.toString(sb.charAt(i)))) == -1){
					throw new IndexOutOfBoundsException();
				}
				sb.setCharAt(i, BALPHABET.charAt(BALPHABET.indexOf(Character.toString(sb.charAt(i))) + 1));
			}
			catch(IndexOutOfBoundsException ioobex){
				sb.setCharAt(i, sb.charAt(i));
			}
		}
		return sb.toString();
BALPHABET is der zufallsstring
 

taraku

Mitglied
also das gegenteil von dem, was ich vorhin geschrieben hab??? is gebongt:
Code:
public static String bencode(String s){
		StringBuffer sb = new StringBuffer(s);
		for(int i = 0; i < sb.length(); i++){
			try{
				sb.setCharAt(i, BALPHABET.charAt(BALPHABET.indexOf(Character.toString(sb.charAt(i))) - 1));
			}
			catch(IndexOutOfBoundsException ioobex){
				sb.setCharAt(i, sb.charAt(i));
			}
		}
		return sb.toString();
	}

ich kann zwischen dekodieren udn enkodieren nicht utnerscheiden...für mich ist:
klartext in schlüssel = dekodieren
schlüssel in klartext = enkodieren^^
 

JPKI

Top Contributor
Irgendwie isses genau andersrum ???:L
Was ist denn BALPHABET für eine Variable? Wo deklarierst/initialisierst du sie?
 

taraku

Mitglied
hab ich oben im ersten post doch erklärt^^..
BALPHABET ist der zufällsstring..bsp:


Code:
public static void main(String[] args) {
      String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890ÖöÜüÄäß";
      char[] carray = s.toCharArray();
      int num = 0;
      Random r = new Random();
      int max = s.length();
      int cur = 0;
      HashSet<Character> hs = new HashSet<Character>();
      while(num < max){
         if(hs.add(carray[cur = r.nextInt(max-1)])){
            num++;
            System.out.print(carray[cur]);
         }
      }
   }
den string s darin hab ich hier dann erstmal gemischt (ich glaub ich haette es sogar mit Arrays.shuffle() einfacher machen können^^..aber was solls)
dann komtm zum beispiel das hier raus:

Sk5X1ÖxöÜDezivRbJß49h0ÄnYZEuoL6NOV37B2UpüAIj8GQPlsdfrKCMHtqWgmTFäycaw

und das haette ich dann z.b. als BALPHABET benutzt xD:



Code:
static final String BALPHABET = "Sk5X1ÖxöÜDezivRbJß49h0ÄnYZEuoL6NOV37B2UpüAIj8GQPlsdfrKCMHtqWgmTFäycaw";
 
H

HP-Bexter

Gast
Hab jetzt nur den 1. Frage gelesen, du könntest den RC4 Algorithmus verwenden.

Du findest ein Programm mit offenem SC auf http:\\roth.htm24.de
 

Backwardsman

Bekanntes Mitglied
taraku hat gesagt.:
mhh Leerzeichen könnte man doch auch erhalten lassen^^..das kommt doch auch bei vielen Verschlüsselungen vor..
...mag sein... ich kenne zwar keine, aber wenn, dann nur bei sehr schlechten verschlüsselungsverfahren!
 

Backwardsman

Bekanntes Mitglied
HP-Bexter hat gesagt.:
...du könntest den RC4 Algorithmus verwenden.
RC4 ist eine ganz normale Stromchiffre, welche bitweise arbeitet... da werden leer- und andere zeichen genau so wenig berücksichtigt, wie bei jedem anderen verschlüsselungsverfahren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M pfx-Zertifikat in Tomcat für SSL-Verschlüsselung nutzen Allgemeine Java-Themen 14
X Verschlüsselung Allgemeine Java-Themen 18
P String-Verschlüsselung - Frage zur Sicherheit Allgemeine Java-Themen 21
R Verschlüsselung falsch Allgemeine Java-Themen 3
R Verschlüsselung funktioniert nicht Allgemeine Java-Themen 5
J Passwort Verschlüsselung hash Allgemeine Java-Themen 2
D AES Verschlüsselung / Wirklich AES 128-Bit? Allgemeine Java-Themen 4
I Best Practice Verschlüsselung mit SALT Allgemeine Java-Themen 4
A Mehrfache XOR Verschlüsselung Allgemeine Java-Themen 11
Thallius Moderne sichere synchrone Verschlüsselung mit Java? Allgemeine Java-Themen 3
Ananaskirsche Verschlüsselung mit AES Allgemeine Java-Themen 4
E Verschlüsselung Allgemeine Java-Themen 4
F Schlüsselworte RSA Verschlüsselung implementieren Allgemeine Java-Themen 5
S Key (für AES-Verschlüsselung) aus String Allgemeine Java-Themen 4
M Serialisierung & Verschlüsselung Allgemeine Java-Themen 2
K Problem mit Salted - Verschlüsselung Allgemeine Java-Themen 4
Z Java E-Mail Client mit End-to-End-Verschlüsselung Allgemeine Java-Themen 4
J Verschlüsselung von Text? Allgemeine Java-Themen 2
K Vigenere- Verschlüsselung Allgemeine Java-Themen 13
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
T AES-Verschlüsselung mit eigenem 256 Bit Schlüssel Allgemeine Java-Themen 12
DStrohma Verschlüsselung: SALT aus Passwort generieren? Allgemeine Java-Themen 3
G AES Verschlüsselung nur bis 63 Zeichen Länge Allgemeine Java-Themen 2
M Verschlüsselung mit Cipher Allgemeine Java-Themen 5
B XOR Verschlüsselung Allgemeine Java-Themen 7
S Framework für symetrische und asymetrische Verschlüsselung Allgemeine Java-Themen 3
lumo Verschlüsselung Allgemeine Java-Themen 2
H Verschlüsselung mit Blowfish Allgemeine Java-Themen 14
C Interpreter-Fehler AES verschlüsselung mit MD5 key Allgemeine Java-Themen 6
S AES Verschlüsselung - File Headers korrupt Allgemeine Java-Themen 10
A Datei, UTF-8, NTRU-Verschlüsselung Allgemeine Java-Themen 3
B "Verschlüsselung" mit Passwort (XOR bzw. Modulo) Allgemeine Java-Themen 7
B String Verschlüsselung Allgemeine Java-Themen 6
M Verschlüsselung anwenden Allgemeine Java-Themen 6
J Verschlüsselung Allgemeine Java-Themen 22
T MD5 Verschlüsselung Nullen fehlen? Allgemeine Java-Themen 2
L [Exception] RSA Verschlüsselung. Allgemeine Java-Themen 16
C javamail signatur und verschlüsselung Allgemeine Java-Themen 2
R 128 Bit Verschlüsselung/Entschlüsselung in Java? Allgemeine Java-Themen 6
F RSA-Verschlüsselung Allgemeine Java-Themen 4
S Verschlüsselung in Java Allgemeine Java-Themen 2
G Interessant! Verschlüsselung in Java, Charset in der JVM? Allgemeine Java-Themen 14
D Eigener Key bei AES Verschlüsselung Allgemeine Java-Themen 4
T Verschlüsselung von Dateien Allgemeine Java-Themen 8
S Verschlüsselung - IllegalBlockSizeException Allgemeine Java-Themen 3
G Problem mit RSA Verschlüsselung bei .net und Java Allgemeine Java-Themen 1
D Caesar und Vigenère Verschlüsselung Allgemeine Java-Themen 2
@ [Sicherheit] Speicherung von Keys für Verschlüsselung Allgemeine Java-Themen 4
P Verschlüsselung in PHP -> Entschlüsselung in Java Allgemeine Java-Themen 2
Lazybone Caeser Verschlüsselung Allgemeine Java-Themen 6
S Verschlüsselung mit Cipher Allgemeine Java-Themen 8
S Verschlüsselung Allgemeine Java-Themen 15
J Problem mit Dateien/XOR-Verschlüsselung Allgemeine Java-Themen 5
G RSA-Verschlüsselung Allgemeine Java-Themen 1
P HMACMD5- Verschlüsselung entschlüsseln Allgemeine Java-Themen 2
I Verschlüsselung mit Pwd. - User soll Algorithmus wählen Allgemeine Java-Themen 4
J Probleme bei XOR verschlüsselung ! Allgemeine Java-Themen 5
G Verschlüsselung in Java Allgemeine Java-Themen 9
M RSA Verschlüsselung Allgemeine Java-Themen 7
J Verschlüsselung von Daten Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben