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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2009, 21:34   #1
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию шифрование методом RSA на Delphi

Добрый день! Вот делаю шифрование методом RSA, сделал выборку простых чисел из n = 33^5 методом "Решето-Эратосфена" и все это записывается в файл, теперь из этих чисел нужно выбрать такие 2-а числа, которые при умножении друг на друга получили n. У меня не получается( Проблема в том что считает программа по символу всю строку, а мне нужно что бы он считал от пробела до пробела символы и то что получилось делил на n.
Вот часть кода где не мог придумать как это написать:
Цитата:
procedure TForm1.Button2Click(Sender: TObject);
var n, a, k, i : integer;
f : textfile;
F_1: string;
m : char;
begin
AssignFile(f , 'C:\Users\Desktop\RSA\text.txt');
reset(f);
while not EOF(f) do
begin
readln(f, f_1);
memo1.Text:=memo1.Text + f_1;
for i:=1 to length(f_1) do
begin
if f_1 = ' ' then begin // вот тут должно стоять где считает от пробела
// до пробела ну дальше не важно это сам уже)

m:=n/StrToInt(f_1[i]);
memo1.Text:=memo1.Text + FloatToStr(m) + ' ; ' ;
// if (mod(m) = 0 and n = m * f_1) then....
end;
end;
CloseFile(f);
если можно то с объяснениями, должен же понять, но придумать не как не могу мож переработал((
Что не понятно в коде спрашивайте не стесняйтесь)
Заранее спасибо)
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 08.11.2009, 11:01   #2
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию

Что не кто не кто не знает?( Тут грубо говоря нужно что бы программа считала из файла цифры от пробела до пробела. Именно из файла, т.е если бы хотел сделать просто программу я бы из первой части кода, т.е матрицы простых чисел и выбирал, а так хочется именно через файл. Например:
123 4567 3214
вот и читать он будет первое это - 123, второе - 4567 и третье - 3214.
Хоть подскажите мож ф-ция какая есть?
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 08.11.2009, 11:03   #3
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
Хоть подскажите мож ф-ция какая есть?
read -эта ф-ия называется;
Код:
var f:file of integer;
      k:integer;
begin
.....
While not eof(f)
Read(f,k);
....
end.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 08.11.2009, 12:03   #4
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию

т.е
Цитата:
While not eof(f)
Read(f,k);
он будет считывать группу цифр, а не одну? или же он тут будет считать цифры одной строки до нажатия Enter? т.е например
123
432
вот так тип первый это 123 и второй 432, да?

Последний раз редактировалось Тёма(C@$pEr); 08.11.2009 в 12:07.
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 08.11.2009, 12:06   #5
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
он будет считывать группу цифр, а не одну?
а что мешает попробовать???
вот вам рабочий код он же инфа к размышлению
Код:
procedure TForm1.btn1Click(Sender: TObject);
var f:file of Integer;
  i:Integer;
begin
AssignFile(f,'inp.int');
Rewrite(f);
For I :=1 to 45 do
 write(f,i);
CloseFile(f);
  AssignFile(f,'inp.int');
Reset(f);
while not Eof(f) do
begin
  Read(f,i);
 Showmessage(IntToStr(i));
 end;
CloseFile(f);
end;

end.
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.

Последний раз редактировалось ОДИНОЧЕСТВО В СЕТИ; 08.11.2009 в 12:11.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 08.11.2009, 12:54   #6
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию

Да я как раз пробовал. Вот в отдельно созданном проекте сделал твой код ну немного изменив, хотел проверить что же он мне выведет из того файла где у меня простые числа в файле много удалил чего и оставил ток вот это:
2 ; 3 ; 5 ; 7 ; 11 ; 13 ; 17 ; 19 ; 23 ; 29 ; 31 ;
вот код
Цитата:
procedure TForm1.FormCreate(Sender: TObject);
var f:file of integer; i:integer;
begin
AssignFile(f,'C:\RSA\text.txt');
reset(f);
while not Eof(f) do
begin
Read(f,i);
Showmessage(IntToStr(i));
end;
CloseFile(f);
end;
end.
но он мне выводит какие то странные многозначные числа которых в файле нету, типа 540745778,540745779, 540745781 ,540745783 и т.д, а что это?
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 08.11.2009, 12:58   #7
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

Цитата:
а что это?
Тёма(C@$pEr)
Цитата:
2 ; 3 ; 5 ; 7 ; 11 ; 13 ; 17 ; 19 ; 23 ; 29 ; 31 ;
мой вам совет почитайте про типизированные файлы
или откройте файлик 'inp.int' (создаваемый моим кодом) в блокноте и посмотрите чего вы там увидите!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 08.11.2009, 13:10   #8
Тёма(C@$pEr)
Пользователь
 
Регистрация: 24.01.2009
Сообщений: 36
По умолчанию

Ооо большое спасибо вижу что выводит то что надо. Обязательно повторю эту тему, как раз видимо её как то пропустил.
Тёма(C@$pEr) вне форума Ответить с цитированием
Старый 10.06.2010, 13:29   #9
AlexUnder88
 
Регистрация: 10.06.2010
Сообщений: 3
По умолчанию

Ребята очень прошу помогите, выложите программу на делфи для шифрования и расшифрования RSA, просто 2 экзамена в 1 день и не успеваю...заранее спасибо всем кто откликнется.
AlexUnder88 вне форума Ответить с цитированием
Старый 10.06.2010, 13:37   #10
A_r_r_a_y
Форумчанин
 
Аватар для A_r_r_a_y
 
Регистрация: 01.03.2008
Сообщений: 165
По умолчанию

у меня есть, но очень специфично сделано, нам препод сам придумывал хэш-функцию, и она в коде прописана, через интерфейс не меняется. Выкладывать?
A_r_r_a_y вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование методом гаммирования student_63 Безопасность, Шифрование 9 28.04.2012 17:36
Шифрование по алгоритму RSA Эльмирчик (ms) Помощь студентам 1 05.06.2009 20:51
Работа с большими числами (делфи, шифрование RSA) WinApi Помощь студентам 1 05.06.2009 20:43
RSA шифрование. Требуется пример. Hakman Помощь студентам 5 22.02.2008 16:05
Шифрование методом сдвига Paul Hindenburg Общие вопросы Delphi 5 24.01.2008 08:30