/* $datasource = new PDO('sqlite:'.$ks_hilf['pfad'].'/ksb.sqlite'); foreach ($datasource->query("SELECT data FROM alfa WHERE name = 'de' LIMIT 1") as $row) { $alfa = str_split($row[data],1); $alfastring = $row[data]; } */ # Plausibilität von Eingaben prüfen /* if (!is_int($key) || $key<0) {$key=0;} else {$key=($key%count($alfa));} if ($clean) {$clean = 'checked';} else {$clean = '';} */ if (!$key) { $key = 1; } $mulzahl = teilerfremde(100); for ($s = 0; $s < 100; $s++) { $rotzahl[] = $s; } if (isset($_POST['random'])) { $key_t = mt_rand(0, count($mulzahl) - 1); $key2_t = mt_rand(0, count($rotzahl) - 1); $key = $mulzahl[$key_t]; $key2 = $rotzahl[$key2_t]; } for ($t = 0; $t < 100; $t++) { if ($t < 10) { $tt = "0" . $t; } else { $tt = $t; }
$kkey2 = $_POST[kkey2]; $mkey2 = $_POST[mkey2]; $rkey2 = $_POST[rkey2]; $flip2a = $_POST[flip2a]; $flip2b = $_POST[flip2b]; $suche = $_POST[suche]; $suchen = $_POST[suchen]; $firsttime = FALSE; if ($orgtxt == "" && !isset($_POST['decode'])) { $orgtxt = JTEXT::_('DEFAULTTEXT'); $kkey1 = "CODE"; $kkey2 = "TEST"; $firsttime = TRUE; } $spacing = 5; $mulzahl = teilerfremde(count($alfa)); # Alfabete erzeugen ################################################################################ $orgtxt = strtoupper(normalisiere($orgtxt, $alfa)); $codtxt = strtoupper(normalisiere($codtxt, $alfa)); $kkey1 = strtoupper(normalisiere($kkey1, $alfa)); ################################################################################ if (!$mkey1) { $mkey1 = 1; } $alfa2 = rotieren($alfa, $rkey1); $alfa2 = createMulAlfa($alfa2, $mkey1); if ($flip1a) { $alfa2 = array_flipp($alfa2); } #$kkey1=normalize($kkey1);
function findmul($text) { # Alfabetmultiplikator finden global $AP; global $alfa; $mulzahl = teilerfremde(sizeof($alfa)); $VX = varianz($AP[de]); $SX = sqrt(varianz($AP[de])); $sp = hauf($text); $sps = array_sum($sp); for ($t = 0; $t < sizeof($sp); $t++) { $sp[$t] = @round($sp[$t] / $sps * 100, 2); } for ($t = 0; $t < sizeof($mulzahl); $t++) { for ($u = 0; $u < sizeof($sp); $u++) { $sp2[$u] = $sp[$mulzahl[$t] * $u % sizeof($sp)]; } $VY = varianz($sp2); $SY = sqrt(varianz($sp2)); $cov = covarianz($AP[de], $sp2); $r[$t] = @abs($cov / sqrt($VX * $VY)); } $b = array_search(max($r), $r); return $mulzahl[$b]; }
$mulv = $_POST[mulv]; $rotv = $_POST[rotv]; $rot = $_POST[rot]; $mul = $_POST[mul]; $rott = $_POST[rott]; $mult = $_POST[mult]; require 'fkt_coder.php'; require 'fkt_decipher.php'; require 'fkt_alfabet.php'; require 'alfa_dat.php'; require 'fkt_statistik.php'; if (!$spacing) { $spacing = 5; } $codtxt = strtoupper(normalisiere($codtxt, $alfa)); $mulzahl = teilerfremde(sizeof($alfa)); if (!$mulv) { $mulv = 1; } else { if (!array_search($mulv, $mulzahl)) { $mulv = 1; } } if (!$rotv) { $rotv = 0; } if ($rott || $mult || $reset) { $rotv = 0; $mulv = 1; } if (!$schw1) {