Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 1 mod 2 =1???? 
V
    Опции темы
JustInTime
Дата 27.11.2007, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.11.2007

Репутация: нет
Всего: нет



1 mod 2=1 
ПОчему,,,? Не могу понять........
PM MAIL   Вверх
Snowy
Дата 27.11.2007, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Это математика.
Остаток от деления на 2 какой?
Возьми учебник по математике для средней школы, повтори...
PM MAIL   Вверх
JustInTime
Дата 27.11.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.11.2007

Репутация: нет
Всего: нет



2 Snowy
Остаток равен 0,5 ? Так или нет?

PM MAIL   Вверх
Lexicss
Дата 27.11.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



smile
Ещё для более лучше запоминания могу объяснить для этого частого случая так :
если дано выражение  x mod 2
то оно будет равно 1 тогда и только тогда, когда x - нечётно,
и  равно 0, если x - чётно.

И напомню, что выражение mod возвращает остаток от деления, а не само частное. 
А частное из этого выражения как раз таки будет равно 0.

Добавлено через 2 минуты и 22 секунды
JustInTime, парень, ты уже конкретно запутался. Остаток  -  это всегда целое число.
такое выражение как "x mod y " всегда вернёт остаток в пределах от [0 .. y-1].
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
JustInTime
Дата 27.11.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.11.2007

Репутация: нет
Всего: нет



2 Lexicss 
Вы правы, запутался я конкретно... 

Но вот смотрите. К примеру

2 mod 5=2
3 mod 5=3
4 mod 5=4

Представим формулу(x mod y)
Если х<y то на выходе будет х
Если x>=y то  на выходе будет 1 или 0

 
PM MAIL   Вверх
Lexicss
Дата 27.11.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



Цитата(JustInTime @ 27.11.2007,  18:28)
Если x>=y то  на выходе будет 1 или 0

Вот это утверждение уже не верно. 
возвращать это выражение будет 1 или 0 только тогда когда y = 2, т.е. [0 .. y-1]

Остаток будет всегда нулевым, если выражение делится нацело, например 6 mod 3, 10 mod 2,  24 mod 3
Если же нацело не делится, то тогда остаток ненулевой. 
Вот полный пример, я думаю что станет понятнее:
x div y = a      //целочисленное деление с остатком
x mod y = b   //взятие остатка от деления (или деление по модулю)

из этой системы уравнений справедливо равенство: x = y*a + b
Частный случай: пускай x = 25, y = 4
тогда имеем
25 div 4 = 6
25 mod 4 = 1

в итоге получаем справедливое равенство: 25 = 4*6 + 1

Надеюсь, это хоть понятно почему 25 div 4 = 6 ?

--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
Imple
Дата 27.11.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1546
Регистрация: 14.9.2007
Где: Алма-Ата

Репутация: нет
Всего: 87



JustInTime, не так.

Происходит целочисленное деление, остаток от которого возвращает оператор mod.

К примеру:
4 mod 2, результат деления 2, остаток 0
11 mod 3, результат деления 3, остаток 2
17 mod 5, результат 3 остаток 2
1 mod 2, результат 0 остаток 1


--------------------
Не шалю, никого не трогаю, починяю сервер.
PM WWW ICQ Skype GTalk Jabber   Вверх
Snowy
Дата 27.11.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 31
Всего: 484



Переведу в дельфи код.
Операцию mod можно представить, как
Код
result := x - x div a * a;
где х - число, а - модуль.
То есть mod возрачает то, что было отброшено при делении div-ом.
То есть 13 div 5 = 2.
То есть 10 разделилось, остальное целоцисленно не делится - выкинули.
А что выкинули? Правильно - 3.
Вот 3 это и есть остаток от деления.
15 div 5 = 3
Разделилось полностью. Остатка нет.
16 div 5 = 3
15 разделилось, а остаток - 1. 
PM MAIL   Вверх
Lexicss
Дата 27.11.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



Можно ещё вот так на пальцах объяснить, доходчевее придумать, уже и не знаю как.

Нас 4 человека и у нас есть 25 яблок. Нам надо поделить по-ровну между собой эти яблоки, при условии что разрезать эти яблоки нельзя. В итоге каждый из нас получит по 6 яблок(25 div 4 = 6), однако 6*4 = 24, т.е. раздав каждому из 25-ти яблок по 6 у нас 1 яблоко осталось лишним(25 mod 4 = 1).

Вот эта описанная ситуация с яблоками и объясняет принцип целочисленного деления и остаток от него.

--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
JustInTime
  Дата 28.11.2007, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.11.2007

Репутация: нет
Всего: нет



2 Lexicss,Snowy,Imple

Спасибо Вам огромное. Теперь все ясно.
Объяснили лучше чем в учебниках!!!.
PM MAIL   Вверх
PsiMagistr
Дата 13.6.2010, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Вопрос конечно интересный, но...

Что возвращает mod при делении меньшего числа на большее?

5 mod 3 = 2 в остатке. Здесь все правильно.

3 mod 5 а так? Мне возвращает 3, но почему не могу понять.


Это сообщение отредактировал(а) PsiMagistr - 13.6.2010, 09:06


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
bems
Дата 13.6.2010, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



потому что 0 раз по 5 и 3 в остатке


--------------------
Обижено школьников: 8
PM MAIL   Вверх
PsiMagistr
Дата 13.6.2010, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



bems, хм, довольно забавно. Всегда полагал что при делении меньшего на большее остаток вообще не образуется. Ведь остаток это то, что не разделилось.


--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
bems
Дата 13.6.2010, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



ну так и есть. В данном случае вообще ничего не разделилось


--------------------
Обижено школьников: 8
PM MAIL   Вверх
PsiMagistr
Дата 13.6.2010, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 479
Регистрация: 31.12.2009

Репутация: 1
Всего: 1



Спасибо, bems. Я тут откопал математическую модель шифратора Цезаря, где этот самый mod используют. Так что перепишу под него проектик и поставю сюда к нам. 



--------------------
"Арфы нет? Возьмите бубен!

Ребята, будем жить!"

 (с) "В бой идут одни старики"

---

"ИЕ" - один из самых сумасшедших браузеров в нашей галактике.
PM MAIL   Вверх
Сisa
Дата 19.3.2013, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



С остатком от деления, тем более с остатком от деления яблок, понятно.
А как понять такую запись:

e * d = 1 mod Ф(n)

Остаток от деления 1 на любое число даст 1, если конечно делить не на 1, 
и если Ф(n)  возвращает целое число. 
Тогда зачем так написано, казалось можно сразу записать e * d = 1

У Эйлера целые числа используются или дроби?

источник:
http://ru.wikipedia.org/wiki/%D0%A4%D1%83%...%B5%D1%80%D0%B0


Это сообщение отредактировал(а) Сisa - 19.3.2013, 15:21
PM MAIL   Вверх
bems
Дата 19.3.2013, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Цитата(Сisa @  19.3.2013,  15:05 Найти цитируемый пост)
e * d = 1 mod Ф(n)

заглядываем сюда http://ru.wikipedia.org/wiki/%D0%A2%D0%B5%...%D0%B5%D0%BB%29 и видим что "Частным случаем теоремы Эйлера является малая теорема Ферма (при простом m)"
тогда идем сюда http://ru.wikipedia.org/wiki/%D0%9C%D0%B0%...%80%D0%BC%D0%B0 и читаем формулировку в рамочке



--------------------
Обижено школьников: 8
PM MAIL   Вверх
Сisa
Дата 19.3.2013, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



Если p — простое число, и  a  не делится на p, то

a^p-1 = 1 (mod p)

Другими словами,  a^p-1 при делении нацело на p  даёт в остатке 1.

Вот что значит читать, в смысле правильно, то что в формуле записано. 
т.е. тот значок из трех горизонтальных полосок и означает  вот то лишнее что записано справа от 1
Глядя на формулу я и читал так - 

а в степени ( p минус единица ) равно остатку от деления единицы на p.

bems спасибо!   Ключевое слово ==   читаем формулировку , 
оказывается смотреть на формулу как то недостаточно для некоторых smile 

Теперь начинает вырисовываться начало примера RSA для самых примитивных чисел:
a=5 ;
p=3 ;
степень=5^(3-1) =>>>>    25 ;
25 mod 3 =>>>> 1 ;

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






PM MAIL   Вверх
Сisa
Дата 19.3.2013, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



q=3;
p=5;
n=15;
Fi(n)==Fi(p*q)==(p-1)*(q-1)==>8;
d=7;
e=23;
d*e =  1  mod  Fi(n)    ==>1;
m=3;
С=m^e mod n    ==>12;
m=c^d mod n    ==>3;

Примерно так? 
(excel не позволяет сделать вычисления с числами больше выбранных в этом примере)

PM MAIL   Вверх
northener
Дата 20.3.2013, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Сisa @  19.3.2013,  22:30 Найти цитируемый пост)
т.е. тот значок из трех горизонтальных полосок и означает  вот то лишнее что записано справа от 1

Значок из трех горизонтальных полосок в математике означает Тождество


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Сisa
Дата 20.3.2013, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



В ру.википедии использован знак равно, и в данной задаче он применим, т.к. d и e выбираются случайные числа и уже конкретно для них проверяется равен ли остаток 1, что не тождество. Например мне легче и логичнее  и понятнее было бы прочесть такую запись 
e * d  mod Ф(n) = 1 
a^p-1  (mod p) = 1
Благодаря northener наконец то разобрался с этими остатками. И с тремя полосками smile

Еще момент RSA 

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

Можно ли как то вычислять d или e?


Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  1239402d6e684616ff35d2cd8051c15c.png 0,73 Kb
PM MAIL   Вверх
Сisa
Дата 2.4.2013, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



И снова три полоски ((
Описание:
Абонент B выбрал простые числа q1=7481 и q2=9539,
их произведение rB=71361259,
функцию Эйлера F(rB)=rB(1-1/q1)(1-1/q2)=71344240.
Затем он выбирает случайное число b=74671 и
находит ответ из решения сравнения:
b*β ≡ 1(mod F(rB))=74671*β ≡ 1(mod 71344240), 0<β<F(rB), т.е. β=33289711.
А вот как он это находит? Что на что умножить разделить чтобы β получить ? 
А плюс Б деленное на C понятно, но c Тождествами просто беда, что то не поддаются.

Это сообщение отредактировал(а) Сisa - 2.4.2013, 19:41
PM MAIL   Вверх
northener
Дата 3.4.2013, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Сisa @  2.4.2013,  19:29 Найти цитируемый пост)
И снова три полоски ((

Откуда берёшь эти примеры?
Что изучаешь?
Какой хочешь получить результат?


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
Сisa
Дата 3.4.2013, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



Perl RSA потребовалось, а все примеры что удалось найти только на C++, или с подключаемыми библиотеками и тоже на С. 
PM MAIL   Вверх
northener
Дата 4.4.2013, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(Сisa @  3.4.2013,  10:21 Найти цитируемый пост)
Perl RSA потребовалось, а все примеры что удалось найти только на C++

Т.е. Математика побоку. Нужен лишь готовый код для программы на Паскале?



--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
LeonidPr
Дата 4.4.2013, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 220
Регистрация: 17.2.2012
Где: г. Чебоксары

Репутация: нет
Всего: 1



в свое время учился по этим книжкам:
http://www.ozon.ru/context/detail/id/1015732/
http://www.ozon.ru/context/detail/id/1510390/
http://www.ozon.ru/context/detail/id/4803047/
Для начала советую первую, а потом можно и за вторую и третью браться. довольно толково написано и воды немного. Это если вам математика нужна. А вообще так - учите дискретку.
По поводу вопроса, что значит a=b mod m?
Значит, что и a и b дают один и тот же остаток при делении на m.
--------------------
pkunzip.zip
PM MAIL   Вверх
Сisa
Дата 4.4.2013, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 179
Регистрация: 18.1.2013

Репутация: нет
Всего: нет



LeonidPr, спасибо!
Математика - придется знания пополнять (или восполнять), и книги конечно потребуются.
С трудом, но начинаю воспринимать что такое есть китайская теорема об остатках, и т.п.,  опять же форма записи математической мысли сбивает с толку, что математику привычно, то новичку стоп.
Дискретка - слово знакомое, но суть его за семью печатями.
Готовый код для программы естественно намного бы ускорил процесс освоения материала, который можно было бы переделывать под свои нужды, сокращать и дополнять, менять схему, протокол.

PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0717 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.