Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> длина буквы 3 бита 
V
    Опции темы
archimed7592
Дата 7.10.2007, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Ты условие знаешь? Ты сам понимаешь что нужно сделать? Я давно с криптоанализом дела не имел... Возможно тебе нужно представить весь текст(с произвольным количеством символов в алфавите) в виде потока бит и каждые 3 бита менять по заданной маске... Если так, то тебе нужно что-то, вроде, того, что имел ввиду Kuvaldis. Ты с задачей для начала определись(сформулируй её получше)...


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Defoult
Дата 7.10.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 16.9.2007
Где: Ростов-на-дону

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



 smile всю задачу я выкладывал уже несколько раз....
ctrl+C ctrl+V )) ошибки быть не может, если тока байты из флешки не вылетают )))
в том-то и проблема...что само задание сложности не предстваляет если работать со строкой, в которой 1 буква - 1 байт, а вот эта небольшая оговорочка о 3 битах ввела меня в великий ступор я просто абстрактно не могу представить.....кака я буду шифровать алфавит, когда у меня в распоряжении всего 3 бита на 1 букву
PM MAIL ICQ   Вверх
archimed7592
Дата 7.10.2007, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(Defoult @  6.10.2007,  23:58 Найти цитируемый пост)
Суть моноалфавитной подстановки заключается в замене символов исходной информации, записанных в одном алфавите, символами из другого алфавита по определенному правилу.

Продолжение(об определённом правиле) в студию smile.


Цитата(Defoult @  7.10.2007,  22:29 Найти цитируемый пост)
.кака я буду шифровать алфавит, когда у меня в распоряжении всего 3 бита на 1 букву 

IIRC, в моноалфавитной подстановке исходный алфавит имеет такую же мощность, как и целевой.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Defoult
Дата 7.10.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 16.9.2007
Где: Ростов-на-дону

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



правило в студию!!
может у меня алфавит шифрования - набор чисел?
но опять же числа от 0 до 7  smile  ничего не понимаю


Это сообщение отредактировал(а) Defoult - 7.10.2007, 23:22
PM MAIL ICQ   Вверх
archimed7592
Дата 8.10.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата
Затем выбирается алфавит шифрования и устанавливается взаимно однозначное соответствие между символами нормативного алфавита и символами алфавита шифрования.

Из этой цитаты делаем вывод что у тебя алфавит шифрование имеет такую же мощность, как и нормативный алфавит.
В условии у тебя сказано, что длина символа из алфавита - 3 бита. Что это означает? Только то, что алфавит содержит 8 различных символов, пофиг каких.
Хочешь набор чисел - пожалста. Хочешь abcdefgh - пожалста. И это отностися как к нормативному алфавиту, так и к алфавиту шифрования.


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
_Michael
Дата 8.10.2007, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(archimed7592 @  7.10.2007,  22:11 Найти цитируемый пост)
Ты условие знаешь? Ты сам понимаешь что нужно сделать? Я давно с криптоанализом дела не имел... Возможно тебе нужно представить весь текст(с произвольным количеством символов в алфавите) в виде потока бит и каждые 3 бита менять по заданной маске...

ето я думаю соответствует действительности. 
и не вижу никакой проблемы с тремя битами. И не плутайте пожалуйста понятие слова символ в общем случае и в криптоанализе. В задании наверное имелось ввиду под словом символ - символ алфавита который имеет размер 8 поскольку три бита всего на кодирование одного символа а не то значение которое обычно мы имееем ввиду. Допустим у тебя есть набор символов "abcd" соответственно он в памяти представляется четырьмя байтами или 32мя битами.  вроде так, точно в АSCII не смотрел:
а - 01100001 b - 01100010 c - 01100011 d - 01100100 
ето не сутьважно. или если все подряд одним потоком то
01100001011000100110001101100100. 
и так далее сколько у тебя там символов(имею ввиду тех что одним байтом кодируются) Все что тебе надо ето поделить етот поток на группы по три биты т.е:
011 000 010 110 001 001 100 011 011 001 00. 
и заменить каждую группу соответствующей по твоему закону подстановки. Тоесть выходит напркимер что из буквы "а" пролучается две полных группы и два бита остаются, которые ты дополняеш соответственно первым битом буквы "b" и так далее. Усек? 
А как делить ето уж придумай. Проще всего наверное сдвигать по три бита и использовать битовые маски для выделения очередной группы из трех бит. ето даже не С++ а сишка обыкновенная.


Это сообщение отредактировал(а) _Michael - 8.10.2007, 18:58


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

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


Архимед
****


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

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



_Michael, ты читал описание его алгоритма по ссылке? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
_Michael
Дата 8.10.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(archimed7592 @  7.10.2007,  09:51 Найти цитируемый пост)
Defoult, а в чём проблема просто не позволять букве принимать значение больше 7? Делается очень просто операцией взятия остатка от деления( x &= 8; ).

оно правильно но в корне неверно для нашего случая. возьмем например числа 13 и 5 остача от деления их на 8 дает число 5. вот ету пятерку например согласно нашему закону подстановки мы заменили на 7 например. Потом при расшифровке ету ж семерку как мы будем знать на что заменять? на 5 или на 13? или ж может на 21? так-что здесь теряется как уже ктото казал взаимная однозначность или соответствие между символами двух алфавитов.

Добавлено @ 19:06
Читал и что? smile

Добавлено @ 07:49
Ето ж самое елементарное что есть в криптографии. Простая моноалфавитная подстановка.

Это сообщение отредактировал(а) _Michael - 8.10.2007, 19:11


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
archimed7592
Дата 8.10.2007, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(_Michael @  8.10.2007,  19:03 Найти цитируемый пост)
оно правильно но в корне неверно для нашего случая.

Для вашего - возможно...

Цитата(_Michael @  8.10.2007,  19:03 Найти цитируемый пост)
Читал и что?


Цитата
Затем выбирается алфавит шифрования и устанавливается взаимно однозначное соответствие между символами нормативного алфавита и символами алфавита шифрования.

Как ты установишь взаимнооднозначное соответствие, если мощность нормативного алфавита 26, а алфавита шифрования - 8?
Что же касается условия как такового - там нигде явно не сказано, что нужно шифровать именно английский текст(и, таким образом, дробить его на трёхбитные токены). Там лишь сказано, что мощность алфавита - 8. Зачем выдумывать себе(или кому-либо) задачу? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
_Michael
Дата 8.10.2007, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(archimed7592 @  8.10.2007,  19:34 Найти цитируемый пост)
Как ты установишь взаимнооднозначное соответствие, если мощность нормативного алфавита 26, а алфавита шифрования - 8?

А кто сказал что именно английский алфавит длиной 26 есть нормативный? сказано просто зашифровать алфавитом с длиной символа три биты  или както так. значит мы  вибираем етот нормативный алфавит также таким самым по размеру. Не надо привязываться к длине 1 байт. ето для нас один символ - 1 байт, там же поток бит которы й мы  сами делим по три биты  потому что так мы условились и зашифровать нам надо также алфавитом с терхбитовыми символами

Добавлено через 3 минуты и 31 секунду
Цитата(Defoult @  6.10.2007,  23:25 Найти цитируемый пост)
"Моноалфавитная подстановка (в качестве ключа сохраняется алфавит замены,  длина буквы 3 бита)"

Вот как дословно звучит задание. там не сказано какого именно алфавита. поетому имеется ввиду навероное и того и того.

Добавлено через 7 минут и 14 секунд
И почему все привязались к одному байту? потому что в С длина типа данных char - 1 байт? а есть еще юникодовские 2 байта. Ето ж просто заблуждение. Не надо плутать символи(char ) в программировании и в криптографии

Добавлено через 12 минут и 54 секунды
Цитата(archimed7592 @  8.10.2007,  19:34 Найти цитируемый пост)
Что же касается условия как такового - там нигде явно не сказано, что нужно шифровать именно английский текст(и, таким образом, дробить его на трёхбитные токены)

Вот именно что не указано и потому мы его принимаем за "свой" так сказать текст с длиной символа в три биты.
И почему судя по твоих словах из английского текста следует что раз он английский то надо дробить по три биты? именно потому чтоб абстрагироваться от английского кириличного мы принимаем свой алфавит по три бита.

Добавлено через 13 минут и 7 секунд
smile

Это сообщение отредактировал(а) _Michael - 8.10.2007, 19:41


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
archimed7592
  Дата 8.10.2007, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(_Michael @  8.10.2007,  19:40 Найти цитируемый пост)
поетому имеется ввиду навероное и того и того.

Будем на бобах гадать что имеется ввиду а что нет? А может быть ещё имеется выводить на экран "кукареку"?
Что написано то и имеется ввиду.

Цитата(_Michael @  8.10.2007,  19:40 Найти цитируемый пост)
И почему все привязались к одному байту? потому что в С длина типа данных char - 1 байт? а есть еще юникодовские 2 байта. Ето ж просто заблуждение. Не надо плутать символи(char ) в программировании и в криптографии

Привязался только ты. И топикстартер.


Цитата(_Michael @  8.10.2007,  19:40 Найти цитируемый пост)
Вот именно что не указано и потому мы его принимаем за "свой" так сказать текст с длиной символа в три биты.
И почему судя по твоих словах из английского текста следует что раз он английский то надо дробить по три биты? именно потому чтоб абстрагироваться от английского кириличного мы принимаем свой алфавит по три бита.

Покажешь мне хоть одно место, не выдранное из контекста, где я предлагаю дробить? Я лишь один раз озвучил предположение о том, что "возможно, задание предполагает дробить" и попросил показать задание. Увидев задание я опроверг это предположение.


Ну и напоследок - ты САМ предлагаешь дробить:
Цитата(_Michael @  8.10.2007,  18:57 Найти цитируемый пост)
Все что тебе надо ето поделить етот поток на группы по три биты т.е:
011 000 010 110 001 001 100 011 011 001 00. 
и заменить каждую группу соответствующей по твоему закону подстановки.

Цитата(_Michael @  8.10.2007,  19:40 Найти цитируемый пост)
там же поток бит которы й мы  сами делим по три биты  потому что так мы условились и зашифровать нам надо также алфавитом с терхбитовыми символами

Так может быть ты определишься со своими хаотическими мыслями и не будешь тут нести ересь?



--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Defoult
Дата 8.10.2007, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 16.9.2007
Где: Ростов-на-дону

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



Я сегодня уточнил задание.....
вобщем так:
мы работаем не с самими символами, а с их битами,
весь текст мы представляем ввиде последовательности бит 
0111011010111010011000100101100011001011100111111

затем разбиваем на группы по 3 бита, т.к. 1 буква - 1 бит (по заданию)
если у меня 1 буква может занимать 3 бита, то ключ будет состоять у меня из 8 различных комбинаций этих битов
000
010
100
011
110           это ключ
101
001
111


и по этому ключу мы выполняем перестановку.


Вот в принципе суть задания.
Всем спасибо smile 

2archimed7592 и _Michael хотел вам +1 дать, но пока не могу....Как только смогу, соазу вспомню вашу помощь smile 

Это сообщение отредактировал(а) Defoult - 8.10.2007, 21:53
PM MAIL ICQ   Вверх
_Michael
Дата 8.10.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(archimed7592 @  8.10.2007,  19:34 Найти цитируемый пост)
Что же касается условия как такового - там нигде явно не сказано, что нужно шифровать именно английский текст(и, таким образом, дробить его на трёхбитные токены).

archimed7592, Вот из етих твоих "и, таким образом, " выходит что если текст английский, таким образом дробить его на трёхбитные токены. Но ето все по большему счету несуттево(неважно наверное правильнее по русски). Видишь что моя интерпретация( не знаю более подходящего слова чтоб меня правильно поняли) задания оказалась верной. То-есть что действительно надо все подряд писать и разбивать по 3 бита: 
Цитата(Defoult @  8.10.2007,  21:50 Найти цитируемый пост)
весь текст мы представляем ввиде последовательности бит 
0111011010111010011000100101100011001011100111111
затем разбиваем на группы по 3 бита


Просто  у меня тоже лабораторные были по етому и я примерно знаю что надо сделать. smile

archimed7592, не обижайся, мы ж здесь пробуем помогти разобраться вместе, а не показать кто умнее. в каждого какие-то идеи есть, вот он ими и делится, и вместе мы приходим к какому-то общему знаменателю. smile

Добавлено @ 22:42
Defoult, когда все задание уже стало ясно, думаю разберешся как по порциях по три бита брать. и подставлять ;)

Это сообщение отредактировал(а) _Michael - 8.10.2007, 22:42


--------------------
...не убивайся ни о чем - все временно,
хоть ночь темна но светлым днем беременна...

Саади
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




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


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

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