Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2011, 20:45   #1
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию Програмная реализация алгоритма RSA Delphi

Пример реализации RSA-кодирования на Delphi у меня что то есть но переделать под своё немогу так как там все сложно реализовано мне надо проще
Anna) вне форума Ответить с цитированием
Старый 27.12.2011, 20:48   #2
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Задавай вопросы где не понятно!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 27.12.2011, 20:58   #3
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

Код:
unit Unit16;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type

  TIncodeMes = array of Integer;

  TForm16 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Memo3: TMemo;
    Button2: TButton;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Image1: TImage;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    FMes: TIncodeMes;
  public
    { Public declarations }
  end;

var
  Form16: TForm16;

implementation
uses math;

{$R *.dfm}

//Çíà÷åíèå áèòà â äâîéíîì ñëîâå (32áèòà)
function Bit(Value, n: Integer): Boolean;
asm
   bt eax, edx
   setc al
   and eax, 0FFh
end;

//Ôóíêöèÿ áûcòðîãî âîçâåäåíèÿ â ñòåïåíü
function FastPower(a, b, n: integer): integer;
var i: integer;
    ai: extended;
begin
  ai := a;
  for I := Trunc(log2(b)) - 1 downto 0 do
  if Bit(b, i) then ai := Round(sqr(ai) * a) mod n else ai := Round(sqr(ai)) mod n;
  result := Round(ai);
end;

function Encrypt(s: string; e, n: integer): TIncodeMes;
  var I: Integer;
begin
  SetLength(result, length(s));
  for I := 0 to Length(s) - 1 do
    result[i] := FastPower(ord(s[i + 1]), e, n)
end;

function Decrypt(s: array of integer; e, n: integer): string;
  var i: Integer;
begin
  SetLength(Result, Length(s));
  for I := 0 to Length(s) - 1 do
    result[i + 1] := chr(FastPower(s[i], e, n))
end;

//Øèôðîâàíèå òåêñòà â Memo
procedure TForm16.Button1Click(Sender: TObject);
  var i, n, e: Integer;
begin
  n := StrToIntDef(Edit3.Text, 697);
  e := StrToIntDef(Edit2.Text, 7);
  FMes := Encrypt(Memo1.Lines.Text, e, n);
  for i := 0 to High(FMes) do Memo2.Lines.Append(IntToStr(FMes[i]));
end;

//Äåøèôðîâêà ñîîáùåíèÿ
procedure TForm16.Button2Click(Sender: TObject);
  var i, n, d: integer;
      s : string;
begin
  d := StrToIntDef(Edit1.Text, 183);
  n := StrToIntDef(Edit3.Text, 697);
  s := Decrypt(FMes,d , n);
  Memo3.Lines.Add(s)
end;

end.
есть такой код

но например
p
q
е
у меня заданы значит функция возведения в степень мне не нужна и её надо заменить чем то типа result := round(Power(x, e)) mod n; ??

Программа должна шифровать и дешифровать виденное имя ..

Последний раз редактировалось Stilet; 02.06.2013 в 16:34.
Anna) вне форума Ответить с цитированием
Старый 27.12.2011, 21:12   #4
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Anna) Посмотреть сообщение
Программа должна шифровать и дешифровать виденное имя ..
Скинь лучше весь проект!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 27.12.2011, 21:20   #5
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

вот проект
Вложения
Тип файла: rar RSA_src.rar (313.6 Кб, 772 просмотров)
Anna) вне форума Ответить с цитированием
Старый 27.12.2011, 21:39   #6
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Anna) Посмотреть сообщение
вот проект
Шифровка-дешифровка, вроде, работает!
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 27.12.2011, 21:50   #7
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

Я знаю что работает просто там слешком круто реализовану у меня же :
p
q
е

это о одна простая цифра и генерировать их мне не надо

p = 5, q = 19, е=7

не каких предложений?

Последний раз редактировалось Stilet; 02.06.2013 в 16:39.
Anna) вне форума Ответить с цитированием
Старый 27.12.2011, 23:23   #8
ByAlex
Форумчанин
 
Аватар для ByAlex
 
Регистрация: 15.03.2011
Сообщений: 465
По умолчанию

Цитата:
Сообщение от Anna) Посмотреть сообщение
не каких предложений?
Проверь, немного упростил, если что, задавай вопросы!
Вложения
Тип файла: rar RSA_src.rar (310.0 Кб, 756 просмотров)
Помог - жми на весы!
ByAlex89@mail.ru
ByAlex вне форума Ответить с цитированием
Старый 27.12.2011, 23:43   #9
Anna)
Пользователь
 
Регистрация: 19.12.2011
Сообщений: 17
По умолчанию

спасибо , проверить смогу лиш завтра (
Anna) вне форума Ответить с цитированием
Старый 02.06.2013, 01:52   #10
Анна Сафронова
Новичок
Джуниор
 
Регистрация: 23.05.2013
Сообщений: 2
По умолчанию

Ребят. у меня тут проблема. Я не совсем понимаю что такое RSA. Каким образом он шифрует текст этот алгоритм? Что таоке p,q,e? Объясните пожалуйста.
Анна Сафронова вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация RSA на ASM Impulsive Фриланс 0 06.12.2011 21:50
шифрование информации по правилу алгоритма RSA chillin Помощь студентам 1 10.02.2011 17:00
Реализация дешифровки RSA JustKurt Фриланс 7 24.09.2010 21:24
реализация алгоритма дешифровки Valx Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 30.03.2010 08:18