|
|
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Sarin Думал. Многое в питоне написано на сях. Интерпретатор действительно не шибко быстр (хотя в последних версиях многого добились в плане улучшения). В любом случае: сначала я буду писать на питоне. Чтобы почувствовать алгоритм кончиками пальцев. Потом можно переписать на сях. Мне интересно самому реализовать алгоритм Я часто так делаю: сначала напишу на пайтоне, потом переписываю на Жаве или сях. Трудно поверить, но получается быстрее. И качество кода повышается. Не знаю. Не уверен, что побитовые операции на будет удобно реализовывать. Кстати я сегодня нашел сравнительный анализ ГОСТ-а и DES-a. Пишет тот же самый знаменитый криптограф. Вот ссылка на главу из книги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 13:45 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
SarinЯ часто так делаю: сначала напишу на пайтоне, потом переписываю на Жаве или сях. Трудно поверить, но получается быстрее. И качество кода повышается. Это значит, что у Вас есть очевидный резерв роста. Проанализировать-разобраться в причинах, отказаться от лишних конвертаций, и начнет получаться еще быстрее и качественнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 13:49 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
maytonКстати я сегодня нашел сравнительный анализ ГОСТ-а и DES-a. Пишет тот же самый знаменитый криптограф. Вот ссылка на главу из книги. Завирает он там немного :)... Патриотизм у него через край хлещет (из примечания редактора в бумажном источнике). Примерно год назад реализовывал алгоритм ГОСТ 28147-89 на Java. Читал того самого "знаменитого криптографа", частично взял его реализацию. Кстати, довольно таки шустро получилось, на питоне думаю еще шустрей будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 14:20 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Ruslan.Isbarov Завирает он там немного :)... Патриотизм у него через край хлещет (из примечания редактора в бумажном источнике). (пожимает плечами) Шнайер аргументирует свои слова. А мнение редактора - для меня ничего не значит. Примерно год назад реализовывал алгоритм ГОСТ 28147-89 на Java. Поделитесь бинарником? P.S. Любопытно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 15:41 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Ну сколько раз можно изобретать велосипед. Человек вот решил написать криптоалгоритм 1. Надо найти описание криптоалгоритма, причем желательно не на форуме, а в оригинале 2. Этот криптоалгоритм надо запрограммировать, но не факт что в результате программирование получиться именно то,что он хотел 3. Нужно придмуать, либо найти готовый криптографический протокол. То есть где хранится ключевая информация, как она передаётся, какова последовательность действий. Ну и наконец, самое сложное, проверить, что удалось запрограммировать именно гост или DES Например, как будет создаваться ключ?Пользователь его будет вводить или он будет случайно делаться. Так что лучше взять готовое, всё равно самому лучше не получиться. Самое главное -а как проверить, что получился тот алгоритм, который требовался? Это обычнуюб рпограмму запустил пару раз - вроде работает. С криптографией надо убедиться, что работает для тех, у кого есть ключ и не работает для тех, у кого его нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 19:18 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
maytonПоделитесь бинарником? Увы, не поделюсь. Ибо коммерческая тайна (криптографический модуль - часть еще не завершенного проекта, работа над которым ведется до сих пор) и публиковать ее в форумах не буду. Готов всячески помогать и содействовать автору треда как в технических вопросах, так и в вопросах реализации. Кстати, раз уж речь зашла о реализациях, кину парочку ссылок: Jacksum - реализация довольно таки большого числа криптографических алгоритмов на Java (Open Source). Есть реализация ГОСТ. Описание некоторых алгоритмов и реализации на различных языках. Тут же есть отличный мануал по Twofish. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 19:49 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
ZeusTheTrueGod.. Да бросьте вы это! Разве Сарин говорил что пишет криптоалгоритм? Он его РЕАЛИЗУЕТ для Питона. Попутно изучая особенности практического применения криптографии. Я когда-то сам так делал. Не вижу в этом никакой крамолы. Оригинал алгоритма - это блок-схема со стрелочками и математическими знаками. И разгребать её ни к чему. Это удел математиков-теоретиков. Есть реализация на С у того-же Шнайера. ИМХО проще её перевести на императивный язык (я думаю Python прекрасно подойдет) и применить. Ну а по поводу тестирования - это вы уж совсем, батенька... не в ту степь... Если вы не знаете как проверить правильность работы реализованного алгоритма - то ... хм.. обращайтесь ко мне. Я вам расскажу как за 10-20 тестов убедится на 99.9999% что софт не содержит ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 20:02 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Ruslan.Isbarov.. Спасибо, Руслан. Вот вам и от меня ссылочка. http://www.cryptix.org/ Может пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 20:15 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
mayton ZeusTheTrueGod.. Да бросьте вы это! Разве Сарин говорил что пишет криптоалгоритм? Он его РЕАЛИЗУЕТ для Питона. Попутно изучая особенности практического применения криптографии. Я когда-то сам так делал. Не вижу в этом никакой крамолы. Оригинал алгоритма - это блок-схема со стрелочками и математическими знаками. И разгребать её ни к чему. Это удел математиков-теоретиков. Есть реализация на С у того-же Шнайера. ИМХО проще её перевести на императивный язык (я думаю Python прекрасно подойдет) и применить. Ну а по поводу тестирования - это вы уж совсем, батенька... не в ту степь... Если вы не знаете как проверить правильность работы реализованного алгоритма - то ... хм.. обращайтесь ко мне. Я вам расскажу как за 10-20 тестов убедится на 99.9999% что софт не содержит ошибок. Спасибо на добром слове:) Мне просто интересно написать самому. Я отлично понимаю, что все эти алгоритмы сотню раз реализованы. Но можно будет себя пяткой в груль ударить, что сделал свою реализацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 21:37 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Как же не хватает доски с фломастерами... 32 бита надо разбить на 8 4х-битовых элементов. Сейчас я делаю это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Как разбить s на 8 кусков по 4 байта? Можно ли так: упаковать в строку как беззнаковое целое, каждый символ строки преобразовать в беззнаковое число, получить два числа применяя xor 00001111 и xor 11110000? Как-то громоздко, имхо, и не оптимально. Хотя вроде сворачивание/разворачивание операции не трудные. Но что-то мне кажется, что я не то делаю:) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 21:47 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
SarinКак разбить s на 8 кусков по 4 байта? Проще всего сдвигом. Примерно так: Код: plaintext 1. 2. 3. 4. Как это будет выглядеть в Ваших структурах, не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 21:50 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
дошел до такого способа: старшие 4 бита получаются сдвигом вправо на 4 бита. Младшие - xor 0xf0 Код: plaintext 1. 2. 3. 4. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 22:03 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Прикольно. Каждый на своём языке пишет. P.S. Вспомнилась Вавилонская Башня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 22:06 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
maytonПрикольно. Каждый на своём языке пишет. А что Вас удивляет? Это обычная ситуация, в том числе и для "обычных" языков: как правило человек умеет читать-понимать на большем количестве языков, нежели умеет [грамотно] писать. Поэтому не так редки беседы, когда каждый говорит-пишет на своем родном языке, который остальные худо-бедно понимают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 22:11 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Я Делфи понимаю, в общем-то. Когдато давно писал на нём (блин, уже есть языки на которых я когдато давно писал), а у пайтона побитовые операторы позаимствованы из Си. Полагаю они понятны всем. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 22:14 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
mayton Ну а по поводу тестирования - это вы уж совсем, батенька... не в ту степь... Если вы не знаете как проверить правильность работы реализованного алгоритма - то ... хм.. обращайтесь ко мне. Я вам расскажу как за 10-20 тестов убедится на 99.9999% что софт не содержит ошибок. рассказали бы на форуме. чето вспомнилась тоненькая, в мягкой обложке монография Майерса. Не та, которая "надежность программного обеспечения" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 22:52 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Ура, люди! Я извращенец, но я это сделал! Получение старшей и младшей частей числа. Код: plaintext 1. 2. 3. 4. 5. А вот, что получилось: Код: plaintext 1. 2. 3. 4. 5. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 23:04 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
А что в Питоне символ - всегда один байт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 23:22 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Sarin Спасибо на добром слове:) Мне просто интересно написать самому. Я отлично понимаю, что все эти алгоритмы сотню раз реализованы. Но можно будет себя пяткой в груль ударить, что сделал свою реализацию. Ну так что толку то? кто сертифицировал твой алгоритм(его реализацию)? А главное, что получает тот, кто применяя твой алгоритм хочет добиться некоторой безопасности своих данных. Предположим, что алгоритм может получиться без ошибок, только как им пользоваться? Вполне возможно ситуация, что ключ будет генерироваться по алгортиму, в начале которого стоит randomise timer или еще что-то похожее, то есть ключ будет вырабатываться на основе стандартеого генератора случайных чисел - а это всего 2 в 32 степени различных ключей. Или получиться так, что в системе шифруются не все данные, которые надо защитить, а только некоторые. Очень интересно выслушать про тестирование реализации ГОСТа или DES. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2007, 23:22 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
maytonА что в Питоне символ - всегда один байт? Гы:) Очень надеюсь что да Вообщето есть строки обычные и строки unicode. В обычных строках вроде 1 байт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 11:05 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Какой-то странный язык Питон... неужели там нельзя делать ассемблерные вставки? Существует очень много вариантов реализаций ГОСТ на ассемблере, и все они априори работают быстрее, чем реализации на любых высокоуровневых языках. Если надо, могу скинуть ссылки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 17:31 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
chiiКакой-то странный язык Питон... неужели там нельзя делать ассемблерные вставки? Не знаю насчет Асма, но афтор упоминал о том, что бинарники, собранные в С++ внедряется превосходно. chiiЕсли надо, могу скинуть ссылки. Давай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 17:43 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
chiiКакой-то странный язык Питон... неужели там нельзя делать ассемблерные вставки? Существует очень много вариантов реализаций ГОСТ на ассемблере, и все они априори работают быстрее, чем реализации на любых высокоуровневых языках. Если надо, могу скинуть ссылки. Идиология пайтона примерно как у Жавы. Только он ещё более высокоуровневый. Я понимаю, что это нафиг не нужно. Но я захотел понять алгоритм. Почувствовать его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 19:12 |
|
||
|
Что такое сложение по модулю?
|
|||
|---|---|---|---|
|
#18+
Кстати, я уже написал три базовых цикла. Для зашифрования, расшифрования и имитовставки. Завтра, или сегодня дома, буду писать алгоритмы шифрования. Я не совсем понял зачем нужна имитовставка. Почему нельзя использовать контрольную сумму для той же цели и дописать её в шифруемые данные? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 19:15 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34305118&tid=1342379]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
222ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 500ms |

| 0 / 0 |
