public void makeKey() {
    BufferedReader standardInput = launcher.openStandardInput();
    boolean accepted = false;

    // Frage jeweils solange die Eingabe ab, bis diese akzeptiert werden kann.
    do {
      Logger("Geben Sie den Modulus ein: ");
      try {
        modulus = Integer.parseInt(standardInput.readLine());

        String defaultAlphabet = CharacterMapping.getDefaultAlphabet(modulus);
        if (!defaultAlphabet.equals("")) {
          Logger("Vordefiniertes Alphabet: '" + defaultAlphabet + "'\nDieses vordefinierte Alphabet kann durch Angabe einer " + "geeigneten Alphabet-Datei\nersetzt werden. Weitere " + "Informationen finden Sie im Javadoc der Klasse\n'Character" + "Mapping'.");
          accepted = true;
        } else {
          Logger("Warnung: Dem eingegebenen Modulus kann kein Default-" + "Alphabet zugeordnet werden.\nErstellen Sie zusätzlich zu " + "dieser Schlüssel- eine passende Alphabet-Datei.\nWeitere " + "Informationen finden Sie im Javadoc der Klasse 'Character" + "Mapping'.");
          accepted = true;
        }
      } catch (NumberFormatException e) {
        System.out.println("Fehler beim Parsen des Modulus. Bitte korrigieren" + " Sie Ihre Eingabe.");
      } catch (IOException e) {
        System.err.println("Abbruch: Fehler beim Lesen von der Standardeingabe.");
        e.printStackTrace();
        System.exit(1);
      }
    } while (!accepted);
    // define mapping for testing later
    CharacterMapping mapping = new CharacterMapping(modulus);

    accepted = false;
    do {
      try {
        Logger("Schlüssel eingeben:");
        // von string nach character array konvertieren
        String keywordString = standardInput.readLine().toString();
        char keywordChar[] = keywordString.toCharArray();

        // länge vom keyword array initialiseren
        keyword = new int[keywordChar.length];

        // konvertieren in int array
        int character, mappedCharacter;
        for (int i = 0; i < keywordChar.length; i++) {
          // konvertiere in int
          character = (int) keywordChar[i];
          // map to our alphabet
          mappedCharacter = mapping.mapChar(character);

          if (mappedCharacter >= 0 && mappedCharacter < modulus) {
            accepted = true;
          } else {
            System.out.println("Ein Buchstabe im Schlüssel passt nicht zum Alphabet, das durch den Modulus definiert wurde. " + "korrigieren Sie Ihre Eingabe.");
            System.exit(1);
          }

          // character in dem array speichern
          keyword[i] = mappedCharacter;
        }

      } catch (IOException e) {
        System.err.println("Abbruch: Fehler beim Lesen von der Standardeingabe.");
        e.printStackTrace();
        System.exit(1);
      }
    } while (!accepted);
  }