Ben her karakterin önceki karakteri (alfabesinde) nasıl uzak dayalı tanımlanan bir Fourier dönüşümü kavramına dayalı alfabe şifre türü yarattık:
function fourier_cipher($text) {
$letters = array(1=>'a', 2=>'b', 3=>'c', 4=>'d', 5=>'e', 6=>'f', 7=>'g', 8=>'h', 9=>'i', 10=>'j', 11=>'k', 12=>'l', 13=>'m', 14=>'n', 15=>'o', 16=>'p', 17=>'q', 18=>'r', 19=>'s', 20=>'t', 21=>'u', 22=>'v', 23=>'w', 24=>'x', 25=>'y', 26=>'z');
$chars = str_split($text);
$prev_number = 0;
$prev_difference = 0;
for ($i=0; $i<count($chars); $i++) {
$letter = $chars[$i];
$number = array_search($letter,$letters);
if ($number) {
$difference = ($prev_difference > 13) ? 26 - abs($number - $prev_number) : abs($number - $prev_number);
$code[$i] = $letters[$difference];
$prev_number = $number;
$prev_difference = $difference;
}
else {
$code[$i] = $letter;
}
}
return implode($code);
}
Şifre bu tür faydalarından biri gerçek her harfini temsil şifre harfli boyunca sabit olmadığından bir Sezar şifre aksine, normal mektup-frekans analizi kullanılarak kırık olamaz, olduğunu.
Örneğin:
$text = 'we hold these truths to be self evident';
echo fourier_cipher($text);
// outputs: wh cgch pnwln kbcalk ae mc nlgf aqmeaif
Ben şifrelere hakkında çok az şey biliyorum, o yüzden bir şey bu tür daha önce yapılmış olduğunu varsayarak yaşıyorum.
Ben merak ediyorum: şifrenin bu tür bir adı var mı - ve diğer tekniklerle karşılaştırıldığında, deşifre etmek ne kadar kolay?