[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Шифр Эль-Гамаля
Millenium
Возможно кому-нибудь из студентов понадобится данный код
Все числа водятся рандомно,можно задать ручками или увеличить диапазон рандомных чисел
Сделано по алгоритму, описанному в вики
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Эль-Гамаля</title>
</
head


><?php
echo '<b> Генерация ключей </b>';
echo "<br>\n";
echo '<font color="#0000FF""\">Генерируем простое число Р </font>';
echo "<br>\n";
//$P=23;
$P = rand(2,100);
$PP = "<font color='#CC0000'>".$P."</font>";
echo "Число P= " . $PP. "<br>\n";
echo '<font color="#0000FF""\">Выбираем g </font>';
echo "<br>\n";
//$q=5;
$q = rand (2 ,$P-2);
$qq = "<font color='#CC0000'>".$q."</font>";
echo "Число g= " . $qq. "<br>\n";
echo '<font color="#0000FF""\"> Выбираем случайное число Х такое, что больше единицы, но меньше Р </font>';
$X = rand(2,$P-1);
//$X=13;
echo "<br>\n";
$XX = "<font color='#CC0000'>".$X."</font>";
echo "Число X= " . $XX. "<br>\n";
echo '<b> Шифрование </b>';
echo "<br>\n";
echo '<font color="#0000FF""\"> Шифруем сообщение M(выбирается рандомно)... </font>';
$M=rand(2,150);
//$M=15;
$mm = "<font color='#CC0000'>".$M."</font>";
echo " M= " . $mm. "<br>\n";
echo "<br>\n";

echo "*Выбираем число К такое, что 1 <К < P-1";
echo "<br>\n";
//$K=7;
$K= rand(1,$P-1);
$kk="<font color='#CC0000'>".$K."</font>";
echo "Число K= " . $kk. "<br>\n";
echo '<font color="#0000FF""\"> Вычисляем числа a и b: </font>';
echo "<br>\n";
$a=bcpow($q,$K);
$as= bcmod($a,$P);
$aaw="<font color='#FF00FF'>".$as."</font>";
echo " a= " . $aaw. "<br>\n";
$bb=bcpow($q,$X);
$y=bcmod($bb,$P);
$b1= bcmod($M *(bcmod(bcpow($y,$K),$P)),$P);

$qqq = "<font color='#FF00FF'>".$b1."</font>";
echo "Число b= " . $qqq. "<br>\n";
echo "Пара чисел ( " . $aaw. "";
echo " , " .$qqq."";
echo ") является шифрокодом!";
?>
<br> </br>
<
br> </br>
<
br> </br>
<
b>*Алгоритм сперт с <a href="http://ru.wikipedia.org/wiki/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%AD%D0%BB%D1%8C-%D0%93%D0%B0%D0%BC%D0%B0%D0%BB%D1%8F"> Вики</a></b>
<
body bgcolor="#CCCCCC">
<
br> </br><br> </br>

<
center><a href="javascript:location.reload()">Обновить данные</a> </center>
</
body>
</
html>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.