Subtrees hinzugefügt
This commit is contained in:
parent
433a6f2eb1
commit
a02bf698e6
19 changed files with 2775 additions and 0 deletions
5
Quellcodes/iud_key_inf7_breakmono/.gitignore
vendored
Normal file
5
Quellcodes/iud_key_inf7_breakmono/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
*.class
|
||||
*.ctxt
|
||||
*.sh
|
||||
repo.adoc
|
||||
*.~lock
|
||||
42
Quellcodes/iud_key_inf7_breakmono/Baustein.java
Normal file
42
Quellcodes/iud_key_inf7_breakmono/Baustein.java
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
public class Baustein implements Comparable<Baustein>{
|
||||
|
||||
// Anfang Attribute
|
||||
private String zeichen;
|
||||
private int anzahl;
|
||||
// Ende Attribute
|
||||
|
||||
public Baustein(String zeichen) {
|
||||
super();
|
||||
anzahl = 1;
|
||||
this.zeichen = zeichen;
|
||||
}
|
||||
// Anfang Methoden
|
||||
|
||||
|
||||
|
||||
public int compareTo(Baustein c) {
|
||||
|
||||
int anz = c.getAnzahl();
|
||||
|
||||
//ascending order
|
||||
return anz - this.anzahl;
|
||||
|
||||
//descending order
|
||||
//return compareQuantity - this.quantity;
|
||||
|
||||
}
|
||||
public String getZeichen() {
|
||||
return zeichen;
|
||||
}
|
||||
|
||||
public int getAnzahl() {
|
||||
return anzahl;
|
||||
}
|
||||
|
||||
public void incAnzahl() {
|
||||
anzahl++;
|
||||
}
|
||||
|
||||
|
||||
// Ende Methoden
|
||||
}
|
||||
BIN
Quellcodes/iud_key_inf7_breakmono/BreakMono.jar
Normal file
BIN
Quellcodes/iud_key_inf7_breakmono/BreakMono.jar
Normal file
Binary file not shown.
396
Quellcodes/iud_key_inf7_breakmono/BreakMono.java
Normal file
396
Quellcodes/iud_key_inf7_breakmono/BreakMono.java
Normal file
|
|
@ -0,0 +1,396 @@
|
|||
import java.awt.*;
|
||||
import java.awt.event.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.event.*;
|
||||
import javax.swing.table.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import javax.swing.text.DefaultHighlighter;
|
||||
import javax.swing.text.Highlighter;
|
||||
import javax.swing.text.Highlighter.HighlightPainter;
|
||||
import javax.swing.text.BadLocationException;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* Programm zur Kryptoanalyse
|
||||
* von monoalphabetischen Substitutionen
|
||||
*
|
||||
* @version 1.0 from 23.11.2016
|
||||
* @author Thomas Schaller
|
||||
*/
|
||||
|
||||
public class BreakMono extends JFrame {
|
||||
// Anfang Attribute
|
||||
private JTextField[] buchstabe;
|
||||
|
||||
private JButton jButton1 = new JButton();
|
||||
private JTable jTable1 = new JTable(10, 2);
|
||||
private DefaultTableModel jTable1Model = (DefaultTableModel) jTable1.getModel();
|
||||
private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1);
|
||||
private JTable jTable2 = new JTable(10, 2);
|
||||
private DefaultTableModel jTable2Model = (DefaultTableModel) jTable2.getModel();
|
||||
private JScrollPane jTable2ScrollPane = new JScrollPane(jTable2);
|
||||
private JTable jTable3 = new JTable(10, 2);
|
||||
private DefaultTableModel jTable3Model = (DefaultTableModel) jTable3.getModel();
|
||||
private JScrollPane jTable3ScrollPane = new JScrollPane(jTable3);
|
||||
private JButton jBBuchstabe = new JButton();
|
||||
private JButton jBBigramm = new JButton();
|
||||
private JButton jBDoppel = new JButton();
|
||||
private String[] h = {"E : 17,4%", "N : 9,8%", "S : 7,9%", "I : 7,6%", "R : 7,0%", "A : 6,5%", "T: 6,2%", "D : 5,1%", "U : 4,4%", "L : 3,5%"};
|
||||
private String[] b = {"ER : 4,1%", "EN : 4,0%", "CH : 2,4%", "DE : 2,3%", "EI : 1,9%", "ND : 1,9%", "TE: 1,9%", "IN : 1,7%", "IE : 1,6%", "GE : 1,5%"};
|
||||
private String[] t = {"SS : 0,76%", "NN : 0,43%", "LL : 0,42%", "EE : 0,23%", "MM : 0,23%", "TT : 0,23%", "RR: 0,15%", "DD : 0,13%", "FF : 0,12%", "AA : 0,08%"};
|
||||
|
||||
private JTextArea jTextArea1 = new JTextArea("");
|
||||
private JScrollPane jTextArea1ScrollPane = new JScrollPane(jTextArea1);
|
||||
private JTextArea jTextArea2 = new JTextArea("");
|
||||
private JScrollPane jTextArea2ScrollPane = new JScrollPane(jTextArea2);
|
||||
private JLabel jLabel1 = new JLabel();
|
||||
private JLabel jLabel2 = new JLabel();
|
||||
private JLabel jLabel4 = new JLabel();
|
||||
// Ende Attribute
|
||||
|
||||
public BreakMono (String title) {
|
||||
super (title);
|
||||
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
|
||||
int frameWidth = 702;
|
||||
int frameHeight = 651;
|
||||
setSize(frameWidth, frameHeight);
|
||||
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
int x = (d.width - getSize().width) / 2;
|
||||
int y = (d.height - getSize().height) / 2;
|
||||
setLocation(x, y);
|
||||
Container cp = getContentPane();
|
||||
cp.setLayout(null);
|
||||
// Anfang Komponenten
|
||||
jButton1.setBounds(216, 440, 241, 25);
|
||||
jButton1.setText("Entschlüsselung versuchen");
|
||||
jButton1.setMargin(new Insets(2, 2, 2, 2));
|
||||
jButton1.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
jButton1_ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
cp.add(jButton1);
|
||||
jTable1ScrollPane.setBounds(16, 176, 193, 177);
|
||||
jTable1.getColumnModel().getColumn(1).setHeaderValue("Deutsch");
|
||||
jTable1.getColumnModel().getColumn(0).setHeaderValue("Dieser Text");
|
||||
jTable1.setFont(new Font("@Fixedsys", Font.PLAIN, 12));
|
||||
cp.add(jTable1ScrollPane);
|
||||
jTable2ScrollPane.setBounds(240, 176, 201, 177);
|
||||
jTable2.getColumnModel().getColumn(1).setHeaderValue("Deutsch");
|
||||
jTable2.getColumnModel().getColumn(0).setHeaderValue("Dieser Text");
|
||||
cp.add(jTable2ScrollPane);
|
||||
jTable3ScrollPane.setBounds(480, 176, 193, 177);
|
||||
jTable3.getColumnModel().getColumn(1).setHeaderValue("Deutsch");
|
||||
jTable3.getColumnModel().getColumn(0).setHeaderValue("Dieser Text");
|
||||
cp.add(jTable3ScrollPane);
|
||||
jBBuchstabe.setBounds(16, 144, 193, 25);
|
||||
jBBuchstabe.setText("Buchstabenhäufigkeit");
|
||||
jBBuchstabe.setMargin(new Insets(2, 2, 2, 2));
|
||||
jBBuchstabe.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
jBBuchstabe_ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
cp.add(jBBuchstabe);
|
||||
jBBigramm.setBounds(240, 144, 201, 25);
|
||||
jBBigramm.setText("Bigramm-Häufigkeit");
|
||||
jBBigramm.setMargin(new Insets(2, 2, 2, 2));
|
||||
jBBigramm.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
jBBigramm_ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
cp.add(jBBigramm);
|
||||
jBDoppel.setBounds(480, 144, 193, 25);
|
||||
jBDoppel.setText("Doppelbuchstaben-Häufigkeit");
|
||||
jBDoppel.setMargin(new Insets(2, 2, 2, 2));
|
||||
jBDoppel.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
jBDoppel_ActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
cp.add(jBDoppel);
|
||||
jTextArea1ScrollPane.setBounds(16, 24, 665, 105);
|
||||
JScrollBar jsb = jTextArea1ScrollPane.getVerticalScrollBar();
|
||||
jsb.addAdjustmentListener(new AdjustmentListener() {;
|
||||
public void adjustmentValueChanged(AdjustmentEvent evt) {
|
||||
adjustScrollBars(1);
|
||||
}
|
||||
});
|
||||
jTextArea1.setLineWrap(true);
|
||||
jTextArea1.setFont(new Font("Courier New", Font.BOLD, 16));
|
||||
jTextArea1.addCaretListener(new CaretListener() {
|
||||
|
||||
@Override
|
||||
public void caretUpdate(CaretEvent arg0) {
|
||||
int dot = arg0.getDot();
|
||||
int mark = arg0.getMark();
|
||||
updateMarkierung(dot, mark);
|
||||
}
|
||||
});
|
||||
|
||||
cp.add(jTextArea1ScrollPane);
|
||||
jTextArea2ScrollPane.setBounds(16, 480, 665, 105);
|
||||
jsb = jTextArea2ScrollPane.getVerticalScrollBar();
|
||||
jsb.addAdjustmentListener(new AdjustmentListener() {;
|
||||
public void adjustmentValueChanged(AdjustmentEvent evt) {
|
||||
adjustScrollBars(2);
|
||||
}
|
||||
});
|
||||
jTextArea2.setLineWrap(true);
|
||||
jTextArea2.setFont(new Font("Courier New", Font.BOLD, 16));
|
||||
jTextArea2.addCaretListener(new CaretListener() {
|
||||
|
||||
@Override
|
||||
public void caretUpdate(CaretEvent arg0) {
|
||||
int dot = arg0.getDot();
|
||||
int mark = arg0.getMark();
|
||||
updateMarkierung(dot, mark);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
cp.add(jTextArea2ScrollPane);
|
||||
jLabel1.setText("Kryptotext");
|
||||
jLabel1.setBounds(16, 3, 110, 20);
|
||||
cp.add(jLabel1);
|
||||
jLabel2.setBounds(16, 456, 110, 20);
|
||||
jLabel2.setText("Klartext");
|
||||
cp.add(jLabel2);
|
||||
jLabel4.setBounds(128, 584, 419, 33);
|
||||
jLabel4.setText("(cc) Schaller (ZPG Informatik) - V1.0 (2017)");
|
||||
jLabel4.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
jLabel4.setFont(new Font("Dialog", Font.PLAIN, 12));
|
||||
cp.add(jLabel4);
|
||||
// Ende Komponenten
|
||||
buchstabe = new JTextField[26];
|
||||
for (int i = 0; i<26 ;i++ ) {
|
||||
JLabel jLabel3 = new JLabel();
|
||||
jLabel3.setBounds(23+i*25, 375, 25, 25);
|
||||
int c = 65+i;
|
||||
jLabel3.setText(""+((char) c));
|
||||
cp.add(jLabel3);
|
||||
buchstabe[i] = new JTextField();
|
||||
buchstabe[i].setBounds(16+i*25, 400, 25, 25);
|
||||
buchstabe[i].setText("");
|
||||
buchstabe[i].setHorizontalAlignment(SwingConstants.CENTER);
|
||||
buchstabe[i].addKeyListener(new KeyAdapter() {
|
||||
public void keyReleased(KeyEvent e) {
|
||||
e.consume();
|
||||
}
|
||||
|
||||
public void keyTyped(KeyEvent e) {
|
||||
e.consume();
|
||||
}
|
||||
|
||||
public void keyPressed(KeyEvent e) {
|
||||
JTextField textField = (JTextField) e.getSource();
|
||||
String text = textField.getText();
|
||||
if ((e.getKeyChar()>='a' && e.getKeyChar()<='z') ||(e.getKeyChar()>='A' && e.getKeyChar()<='Z')) {
|
||||
text = ""+e.getKeyChar();
|
||||
}
|
||||
if (e.getKeyChar()==' ' || e.getKeyChar() == KeyEvent.VK_BACK_SPACE || e.getKeyChar() == KeyEvent.VK_DELETE) {
|
||||
text = "";
|
||||
|
||||
} // end of if
|
||||
textField.setText(text.toUpperCase());
|
||||
e.consume();
|
||||
jButton1_ActionPerformed(null);
|
||||
changeColors();
|
||||
|
||||
} // end of if
|
||||
|
||||
});
|
||||
|
||||
cp.add(buchstabe[i]);
|
||||
} // end of for
|
||||
for (int i = 0; i<10 ; i++ ) {
|
||||
jTable1.getModel().setValueAt(h[i],i,1);
|
||||
jTable2.getModel().setValueAt(b[i],i,1);
|
||||
jTable3.getModel().setValueAt(t[i],i,1);
|
||||
} // end of for
|
||||
|
||||
setResizable(false);
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
|
||||
public void changeColors() {
|
||||
System.out.println("askd");
|
||||
for (int i=0; i<26 ; i++ ) {
|
||||
buchstabe[i].setBackground(new Color(150,250,150));
|
||||
if (buchstabe[i].getText().equals("")) {
|
||||
buchstabe[i].setBackground(Color.white);
|
||||
|
||||
|
||||
} // end of if
|
||||
|
||||
} // end of for
|
||||
for (int i= 0; i<26 ;i++ ) {
|
||||
for (int j=i+1; j<26 ;j++ ) {
|
||||
if (!buchstabe[i].getText().equals("") && buchstabe[i].getText().equals(buchstabe[j].getText())) {
|
||||
buchstabe[i].setBackground(new Color(250,150,150));
|
||||
buchstabe[j].setBackground(new Color(250,150,150));
|
||||
} // end of if
|
||||
} // end of for
|
||||
} // end of for
|
||||
}
|
||||
|
||||
|
||||
// Anfang Methoden
|
||||
public void jButton1_ActionPerformed(ActionEvent evt) {
|
||||
String krypttext = jTextArea1.getText().toLowerCase();
|
||||
for (int i=0;i<26 ;i++ ) {
|
||||
int c = i+97;
|
||||
String z = buchstabe[i].getText().toUpperCase();
|
||||
if (z.equals("")) {
|
||||
z = "*";
|
||||
} // end of if
|
||||
if (z.length()>1) {
|
||||
buchstabe[i].setText(z.substring(0,1));
|
||||
} // end of if
|
||||
krypttext = krypttext.replace((char) c,z.charAt(0));
|
||||
|
||||
} // end of for
|
||||
jTextArea2.setText(krypttext);
|
||||
} // end of jButton1_ActionPerformed
|
||||
|
||||
public void jBBuchstabe_ActionPerformed(ActionEvent evt) {
|
||||
String s = jTextArea1.getText();
|
||||
s = s.toLowerCase();
|
||||
s = s.replace(" ","");
|
||||
ArrayList<Baustein> h = new ArrayList<Baustein>();
|
||||
for (int i=0; i < s.length() ; i++ ) {
|
||||
String z = s.substring(i,i+1);
|
||||
boolean g = false;
|
||||
for (Baustein b : h ) {
|
||||
if (b.getZeichen().equals(z)) {
|
||||
b.incAnzahl();
|
||||
g = true;
|
||||
break;
|
||||
|
||||
} // end of if
|
||||
} // end of for
|
||||
if (!g) {
|
||||
h.add(new Baustein(z));
|
||||
}
|
||||
} // end of for
|
||||
Collections.sort(h);
|
||||
for (int i=0; i < 10 && i < h.size() ; i++ ) {
|
||||
double x = h.get(i).getAnzahl();
|
||||
x = Math.round(x / (double) s.length()*1000.0)/10.0;
|
||||
jTable1.getModel().setValueAt(h.get(i).getZeichen()+" : "+x+"%",i,0);
|
||||
} // end of for
|
||||
} // end of jBBuchstabe_ActionPerformed
|
||||
|
||||
public void jBBigramm_ActionPerformed(ActionEvent evt) {
|
||||
String s = jTextArea1.getText();
|
||||
s = s.toLowerCase();
|
||||
int anz=0;
|
||||
ArrayList<Baustein> h = new ArrayList<Baustein>();
|
||||
for (int i=0; i < s.length()-1 ; i++ ) {
|
||||
if (s.charAt(i) != ' ' && s.charAt(i+1) != ' ') {
|
||||
anz++;
|
||||
String z = s.substring(i,i+2);
|
||||
boolean g = false;
|
||||
for (Baustein b : h ) {
|
||||
if (b.getZeichen().equals(z)) {
|
||||
b.incAnzahl();
|
||||
g = true;
|
||||
break;
|
||||
|
||||
} // end of if
|
||||
} // end of for
|
||||
if (!g) {
|
||||
h.add(new Baustein(z));
|
||||
}
|
||||
|
||||
} // end of if
|
||||
} // end of for
|
||||
Collections.sort(h);
|
||||
for (int i=0; i < 10 && i < h.size() ; i++ ) {
|
||||
double x = h.get(i).getAnzahl();
|
||||
x = Math.round(x / anz*1000)/10.0;
|
||||
jTable2.getModel().setValueAt(h.get(i).getZeichen()+" : "+x+"%",i,0);
|
||||
} // end of for
|
||||
} // end of jBBigramm_ActionPerformed
|
||||
|
||||
public void jBDoppel_ActionPerformed(ActionEvent evt) {
|
||||
String s = jTextArea1.getText();
|
||||
s = s.toLowerCase();
|
||||
int anz = 0;
|
||||
ArrayList<Baustein> h = new ArrayList<Baustein>();
|
||||
|
||||
for (int i=0; i < s.length()-1 ; i++ ) {
|
||||
|
||||
if (s.charAt(i) != ' ' && s.charAt(i+1) != ' ') {
|
||||
anz++;
|
||||
|
||||
if (s.charAt(i+1) == s.charAt(i) ) {
|
||||
String z = s.substring(i,i+2);
|
||||
boolean g = false;
|
||||
for (Baustein b : h ) {
|
||||
if (b.getZeichen().equals(z)) {
|
||||
b.incAnzahl();
|
||||
g = true;
|
||||
break;
|
||||
|
||||
} // end of if
|
||||
} // end of for
|
||||
if (!g) {
|
||||
h.add(new Baustein(z));
|
||||
}
|
||||
|
||||
} // end of if
|
||||
}
|
||||
} // end of for
|
||||
Collections.sort(h);
|
||||
for (int i=0; i < 10 && i < h.size() ; i++ ) {
|
||||
double x = h.get(i).getAnzahl();
|
||||
x = Math.round(x / anz*10000)/100.0;
|
||||
jTable3.getModel().setValueAt(h.get(i).getZeichen()+" : "+x+"%",i,0);
|
||||
} // end of for
|
||||
} // end of jBDoppel_ActionPerformed
|
||||
|
||||
public void adjustScrollBars(int i) {
|
||||
if (i==1) {
|
||||
jTextArea2ScrollPane.getVerticalScrollBar().setValue(jTextArea1ScrollPane.getVerticalScrollBar().getValue());
|
||||
|
||||
} else {
|
||||
jTextArea1ScrollPane.getVerticalScrollBar().setValue(jTextArea2ScrollPane.getVerticalScrollBar().getValue());
|
||||
}
|
||||
}
|
||||
|
||||
public void updateMarkierung(int p1, int p2) {
|
||||
Highlighter h1 = jTextArea2.getHighlighter();
|
||||
Highlighter h2 = jTextArea1.getHighlighter();
|
||||
h1.removeAllHighlights();
|
||||
h2.removeAllHighlights();
|
||||
int von = Math.min(p1,p2);
|
||||
int bis = Math.max(p1,p2);
|
||||
try{
|
||||
h1.addHighlight(von ,
|
||||
bis,
|
||||
new DefaultHighlighter.DefaultHighlightPainter(Color.yellow));
|
||||
|
||||
}catch(BadLocationException e) {}
|
||||
try{
|
||||
h2.addHighlight(von ,
|
||||
bis,
|
||||
new DefaultHighlighter.DefaultHighlightPainter(Color.yellow));
|
||||
|
||||
}catch(BadLocationException e) {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Ende Methoden
|
||||
|
||||
public static void main(String[] args) {
|
||||
new BreakMono("BreakMono");
|
||||
}
|
||||
}
|
||||
423
Quellcodes/iud_key_inf7_breakmono/BreakMono.jfm
Normal file
423
Quellcodes/iud_key_inf7_breakmono/BreakMono.jfm
Normal file
|
|
@ -0,0 +1,423 @@
|
|||
object breakMono: TFGUIForm
|
||||
Left = 0
|
||||
Top = 0
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = 'BreakMono'
|
||||
ClientHeight = 612
|
||||
ClientWidth = 691
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -10
|
||||
Font.Name = 'MS Sans Serif'
|
||||
Font.Style = []
|
||||
FormStyle = fsMDIChild
|
||||
OldCreateOrder = True
|
||||
Position = poDesigned
|
||||
ShowHint = True
|
||||
Visible = True
|
||||
WindowState = wsMaximized
|
||||
OnClose = FormClose
|
||||
OnCloseQuery = FormCloseQuery
|
||||
OnResize = FormResize
|
||||
FrameType = 5
|
||||
Resizable = False
|
||||
Undecorated = False
|
||||
Background = clBtnFace
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object jButton1: TJButton
|
||||
Tag = 4
|
||||
Left = 216
|
||||
Top = 440
|
||||
Width = 241
|
||||
Height = 25
|
||||
Hint = 'jButton1'
|
||||
Foreground = 3355443
|
||||
Background = 15658734
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
actionPerformed = 'jButton1_ActionPerformed'
|
||||
Text = 'Entschl'#252'sselung versuchen'
|
||||
Mnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
Selected = False
|
||||
BorderPainted = True
|
||||
FocusPainted = False
|
||||
ContentAreaFilled = True
|
||||
HorizontalAlignment = CENTER
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
RolloverEnabled = False
|
||||
Border.BorderType = NoBorder
|
||||
Border.LineColor = clBlack
|
||||
Border.LineThickness = 0
|
||||
Border.LineRounded = False
|
||||
Border.EtchHighlightColor = clBlack
|
||||
Border.EtchShadowColor = clBlack
|
||||
Border.Etchtype = 0
|
||||
Border.BevelHighlightColor = clBlack
|
||||
Border.BevelShadowColor = clBlack
|
||||
Border.Beveltype = 0
|
||||
Border.MatteColor = clBlack
|
||||
Border.MatteTop = 0
|
||||
Border.MatteLeft = 0
|
||||
Border.MatteBottom = 0
|
||||
Border.MatteRight = 0
|
||||
end
|
||||
object jTable1: TJTable
|
||||
Tag = 19
|
||||
Left = 16
|
||||
Top = 176
|
||||
Width = 193
|
||||
Height = 177
|
||||
Hint = 'jTable1'
|
||||
Foreground = clWindowText
|
||||
Background = clWhite
|
||||
Font.Charset = GB2312_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = '@Fixedsys'
|
||||
Font.Style = []
|
||||
RowHeight = 16
|
||||
ShowHorizontalLines = True
|
||||
ShowVerticalLines = True
|
||||
ShowGrid = True
|
||||
Columns.Strings = (
|
||||
'Title 1'
|
||||
'Title 2'
|
||||
'Title 3'
|
||||
'Title 4'
|
||||
'Title 5')
|
||||
ColCount = 5
|
||||
RowCount = 5
|
||||
FillsViewportHeight = False
|
||||
AutoCreateRowSorter = False
|
||||
RowSelectionAllowed = True
|
||||
ColumnSelectionAllowed = False
|
||||
CellSelectionEnabled = False
|
||||
DragEnabled = False
|
||||
HorizontalScrollBarPolicy = AS_NEEDED
|
||||
VerticalScrollBarPolicy = AS_NEEDED
|
||||
end
|
||||
object jTable2: TJTable
|
||||
Tag = 19
|
||||
Left = 240
|
||||
Top = 176
|
||||
Width = 201
|
||||
Height = 177
|
||||
Hint = 'jTable2'
|
||||
Foreground = 3355443
|
||||
Background = clWhite
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = []
|
||||
RowHeight = 16
|
||||
ShowHorizontalLines = True
|
||||
ShowVerticalLines = True
|
||||
ShowGrid = True
|
||||
Columns.Strings = (
|
||||
'Title 1'
|
||||
'Title 2'
|
||||
'Title 3'
|
||||
'Title 4'
|
||||
'Title 5')
|
||||
ColCount = 5
|
||||
RowCount = 5
|
||||
FillsViewportHeight = False
|
||||
AutoCreateRowSorter = False
|
||||
RowSelectionAllowed = True
|
||||
ColumnSelectionAllowed = False
|
||||
CellSelectionEnabled = False
|
||||
DragEnabled = False
|
||||
HorizontalScrollBarPolicy = AS_NEEDED
|
||||
VerticalScrollBarPolicy = AS_NEEDED
|
||||
end
|
||||
object jTable3: TJTable
|
||||
Tag = 19
|
||||
Left = 480
|
||||
Top = 176
|
||||
Width = 193
|
||||
Height = 177
|
||||
Hint = 'jTable3'
|
||||
Foreground = 3355443
|
||||
Background = clWhite
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = []
|
||||
RowHeight = 16
|
||||
ShowHorizontalLines = True
|
||||
ShowVerticalLines = True
|
||||
ShowGrid = True
|
||||
Columns.Strings = (
|
||||
'Title 1'
|
||||
'Title 2'
|
||||
'Title 3'
|
||||
'Title 4'
|
||||
'Title 5')
|
||||
ColCount = 5
|
||||
RowCount = 5
|
||||
FillsViewportHeight = False
|
||||
AutoCreateRowSorter = False
|
||||
RowSelectionAllowed = True
|
||||
ColumnSelectionAllowed = False
|
||||
CellSelectionEnabled = False
|
||||
DragEnabled = False
|
||||
HorizontalScrollBarPolicy = AS_NEEDED
|
||||
VerticalScrollBarPolicy = AS_NEEDED
|
||||
end
|
||||
object jBBuchstabe: TJButton
|
||||
Tag = 4
|
||||
Left = 16
|
||||
Top = 144
|
||||
Width = 193
|
||||
Height = 25
|
||||
Hint = 'jButton2'
|
||||
Foreground = 3355443
|
||||
Background = 15658734
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
actionPerformed = 'jBBuchstabe_ActionPerformed'
|
||||
Text = 'Buchstabenh'#228'ufigkeit'
|
||||
Mnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
Selected = False
|
||||
BorderPainted = True
|
||||
FocusPainted = False
|
||||
ContentAreaFilled = True
|
||||
HorizontalAlignment = CENTER
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
RolloverEnabled = False
|
||||
Border.BorderType = NoBorder
|
||||
Border.LineColor = clBlack
|
||||
Border.LineThickness = 0
|
||||
Border.LineRounded = False
|
||||
Border.EtchHighlightColor = clBlack
|
||||
Border.EtchShadowColor = clBlack
|
||||
Border.Etchtype = 0
|
||||
Border.BevelHighlightColor = clBlack
|
||||
Border.BevelShadowColor = clBlack
|
||||
Border.Beveltype = 0
|
||||
Border.MatteColor = clBlack
|
||||
Border.MatteTop = 0
|
||||
Border.MatteLeft = 0
|
||||
Border.MatteBottom = 0
|
||||
Border.MatteRight = 0
|
||||
end
|
||||
object jBBigramm: TJButton
|
||||
Tag = 4
|
||||
Left = 240
|
||||
Top = 144
|
||||
Width = 201
|
||||
Height = 25
|
||||
Hint = 'jButton3'
|
||||
Foreground = 3355443
|
||||
Background = 15658734
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
actionPerformed = 'jBBigramm_ActionPerformed'
|
||||
Text = 'Bigramm-H'#228'ufigkeit'
|
||||
Mnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
Selected = False
|
||||
BorderPainted = True
|
||||
FocusPainted = False
|
||||
ContentAreaFilled = True
|
||||
HorizontalAlignment = CENTER
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
RolloverEnabled = False
|
||||
Border.BorderType = NoBorder
|
||||
Border.LineColor = clBlack
|
||||
Border.LineThickness = 0
|
||||
Border.LineRounded = False
|
||||
Border.EtchHighlightColor = clBlack
|
||||
Border.EtchShadowColor = clBlack
|
||||
Border.Etchtype = 0
|
||||
Border.BevelHighlightColor = clBlack
|
||||
Border.BevelShadowColor = clBlack
|
||||
Border.Beveltype = 0
|
||||
Border.MatteColor = clBlack
|
||||
Border.MatteTop = 0
|
||||
Border.MatteLeft = 0
|
||||
Border.MatteBottom = 0
|
||||
Border.MatteRight = 0
|
||||
end
|
||||
object jBDoppel: TJButton
|
||||
Tag = 4
|
||||
Left = 480
|
||||
Top = 144
|
||||
Width = 193
|
||||
Height = 25
|
||||
Hint = 'jButton4'
|
||||
Foreground = 3355443
|
||||
Background = 15658734
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
actionPerformed = 'jBDoppel_ActionPerformed'
|
||||
Text = 'Doppelbuchstaben-H'#228'ufigkeit'
|
||||
Mnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
Selected = False
|
||||
BorderPainted = True
|
||||
FocusPainted = False
|
||||
ContentAreaFilled = True
|
||||
HorizontalAlignment = CENTER
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
RolloverEnabled = False
|
||||
Border.BorderType = NoBorder
|
||||
Border.LineColor = clBlack
|
||||
Border.LineThickness = 0
|
||||
Border.LineRounded = False
|
||||
Border.EtchHighlightColor = clBlack
|
||||
Border.EtchShadowColor = clBlack
|
||||
Border.Etchtype = 0
|
||||
Border.BevelHighlightColor = clBlack
|
||||
Border.BevelShadowColor = clBlack
|
||||
Border.Beveltype = 0
|
||||
Border.MatteColor = clBlack
|
||||
Border.MatteTop = 0
|
||||
Border.MatteLeft = 0
|
||||
Border.MatteBottom = 0
|
||||
Border.MatteRight = 0
|
||||
end
|
||||
object jTextArea1: TJTextArea
|
||||
Tag = 3
|
||||
Left = 16
|
||||
Top = 24
|
||||
Width = 665
|
||||
Height = 105
|
||||
Cursor = crIBeam
|
||||
Hint = 'jTextArea1'
|
||||
Foreground = clWindowText
|
||||
Background = clWhite
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Courier New'
|
||||
Font.Style = [fsBold]
|
||||
LineWrap = True
|
||||
HorizontalScrollBarPolicy = AS_NEEDED
|
||||
VerticalScrollBarPolicy = AS_NEEDED
|
||||
WrapStyleWord = False
|
||||
TabSize = 8
|
||||
Editable = True
|
||||
end
|
||||
object jTextArea2: TJTextArea
|
||||
Tag = 3
|
||||
Left = 8
|
||||
Top = 480
|
||||
Width = 673
|
||||
Height = 105
|
||||
Cursor = crIBeam
|
||||
Hint = 'jTextArea2'
|
||||
Foreground = clWindowText
|
||||
Background = clWhite
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -16
|
||||
Font.Name = 'Courier New'
|
||||
Font.Style = [fsBold]
|
||||
LineWrap = True
|
||||
HorizontalScrollBarPolicy = AS_NEEDED
|
||||
VerticalScrollBarPolicy = AS_NEEDED
|
||||
WrapStyleWord = False
|
||||
TabSize = 8
|
||||
Editable = True
|
||||
end
|
||||
object jLabel1: TJLabel
|
||||
Tag = 1
|
||||
Left = 16
|
||||
Top = 8
|
||||
Width = 110
|
||||
Height = 20
|
||||
Hint = 'jLabel1'
|
||||
Foreground = 3355443
|
||||
Background = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
Text = 'Kryptotext'
|
||||
HorizontalAlignment = LEFT
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
DisplayedMnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
end
|
||||
object jLabel2: TJLabel
|
||||
Tag = 1
|
||||
Left = 8
|
||||
Top = 456
|
||||
Width = 110
|
||||
Height = 20
|
||||
Hint = 'jLabel1'
|
||||
Foreground = 3355443
|
||||
Background = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = [fsBold]
|
||||
Text = 'Klartext'
|
||||
HorizontalAlignment = LEFT
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
DisplayedMnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
end
|
||||
object jLabel4: TJLabel
|
||||
Tag = 1
|
||||
Left = 128
|
||||
Top = 584
|
||||
Width = 419
|
||||
Height = 33
|
||||
Hint = 'jLabel4'
|
||||
Foreground = clWindowText
|
||||
Background = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -12
|
||||
Font.Name = 'Dialog'
|
||||
Font.Style = []
|
||||
Text = '(cc) Schaller (ZPG Informatik) - V1.0 (2017)'
|
||||
HorizontalAlignment = CENTER
|
||||
VerticalAlignment = CENTER
|
||||
HorizontalTextPosition = RIGHT
|
||||
VerticalTextPosition = CENTER
|
||||
IconTextGap = 4
|
||||
DisplayedMnemonic = 0
|
||||
DisplayedMnemonicIndex = 0
|
||||
end
|
||||
end
|
||||
BIN
Quellcodes/iud_key_inf7_breakmono/JEClasses.jar
Normal file
BIN
Quellcodes/iud_key_inf7_breakmono/JEClasses.jar
Normal file
Binary file not shown.
12
Quellcodes/iud_key_inf7_breakmono/readme.adoc
Normal file
12
Quellcodes/iud_key_inf7_breakmono/readme.adoc
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
= Material : Breakmono (Angriff auf monoalphabetische Verschlüsselung)
|
||||
|
||||
|===
|
||||
|Zuordnung| Informationsgesellschaft und Datensicherheit
|
||||
|Klassenstufe| Informatik 7
|
||||
|Bildungsplanbezug | allgemeine monoalphabetische Verschlüsselung
|
||||
|Werkzeug| Java
|
||||
|Autoren| Thomas Schaller
|
||||
|===
|
||||
|
||||
== Inhalt
|
||||
Dieses Programm unterstützt das Brechen einer allmeinen monoalphabetischen Verschlüsselung durch eine Häufigkeitsanalyse (auch von Bigrammen und Doppelbuchstaben).
|
||||
Loading…
Add table
Add a link
Reference in a new issue