67799
КОДИРОВАНИЕ ОТКРЫТОГО ТЕКСТА И ДВОИЧНЫХ ДАННЫХ
Лабораторная работа
Информатика, кибернетика и программирование
Информация подлежащая зашифрованию и расшифрованию представляется различными способами чаще всего в виде текстов записанных в некотором алфавите. Под кодированием обычно понимают представление информации в виде знаков букв алфавита. Алфавит конечное множество знаков используемых для кодирования информации.
Русский
2014-09-14
203 KB
4 чел.
PAGE \* MERGEFORMAT 7
Лабораторная работа № 1
Тема: КОДИРОВАНИЕ ОТКРЫТОГО ТЕКСТА И ДВОИЧНЫХ ДАННЫХ
Цель работы изучить принципы кодирования и преобразования данных при передаче информации в системах секретной связи.
Краткие теоретические сведения.
1. Кодирование информации
Информация, подлежащая зашифрованию и расшифрованию, представляется различными способами, чаще всего, в виде текстов, записанных в некотором алфавите.
Под кодированием обычно понимают представление информации в виде знаков (букв алфавита). Знак событие или материальный объект, возникновение (наличие) которого трактуется субъектами условленным заранее образом.
Алфавит конечное множество знаков, используемых для кодирования информации.
Текст упорядоченный набор из элементов алфавита.
В качестве примеров, используемых в информационных системах, можно привести следующие варианты алфавитов:
- алфавит из 33-х знаков, содержащий 32 буквы русского (украинского) алфавита и пробел;
- бинарный алфавит, состоящий из двух знаков: {0,1};
- шестнадцатеричный алфавит: {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.
- алфавит из 256 символов, входящих в стандартный код ASCII и т.п.
1.1 Двоичный код
В большинстве криптосистем требуется, чтобы текст, подлежащий зашифрованию, был представлен в двоичном алфавите, т.е. представлял собой строку битов. Это связано с тем, что компьютер может различить только нулевое и единичное состояние бита, то есть он работает в двоичной системе счисления. Фактически бит унаследовал своё название от английского "BInary digiT" (двоичная цифра).
Сочетанием двоичных цифр (битов) можно представить любое значение. Значение двоичного числа определяется относительной позицией каждого бита и наличием единичных битов. Например, восьмибитовое число, содержащее все единичные биты:
1 1 1 1 1 1 1 1
Разрядные единицы (позиции) степени 2: , , , , , , , .
Знаки любого алфавита можно записать в виде двоичной последовательности, т.е. в бинарном алфавите. Для этого достаточно каждый знак алфавита представить в виде двоичного блока (кодового слова) фиксированной длины . При этом количество знаков алфавита не должно превосходить число .
Например, цифры для записи чисел в шестнадцатеричной системе счисления принято записывать в соответствии со следующей таблицей.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
8 |
9 |
A |
B |
C |
D |
E |
F |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
1.2 Код МТК-2
В прошлом практически все средства связи имели возможность использовать код. МТК-2 международный телеграфный код. Был принят в СССР в 1963 году. Код МТК-2 основан на международном телеграфном коде № 2, рекомендованном Международным консультативным комитетом по телефонии и телеграфии в 1932 году.
Код МТК-2 пятибитовый, включает в себя тридцать две пятибитовые комбинации.
Код МТК-2 трёхрегистровый, использует три разных регистра: <РУС> русский регистр (регистр кириллицы), <ЛАТ> латинский регистр, <ЦИФ> цифровой регистр.
Конкретная кодовая комбинация может соответствовать то одному, то другому символу текста, в зависимости от наличия перед ней специальных кодовых слов, которые называются регистровыми комбинациями. Эти комбинации имеют соответственно следующий вид: <РУС> 00000, <ЛАТ> 11111, <ЦИФ> 11011. (В международном коде 00000 не используется).
В принципе, каждый знак текста можно представлять парой кодовых слов, из которых первое слово является регистровой комбинацией:
"Л" = 00000 01001, "(" = 11011 01001, "L" = 11111 01001.
Букв Ъ и Ё нет; вместо буквы Ч использовали цифру 4.
С целью сокращения длины сообщения, в коде МТК-2 можно использовать регистры экономнее, задавая регистровую комбинацию, лишь при необходимости отмены действия предыдущей регистровой комбинации. Иными словами, регистровая комбинация влияет на все следующие за ней кодовые слова, кроме другой регистровой комбинации.
Код МТК-2
Десятичный код |
Двоичный код |
ЛАТ |
РУС |
ЦИФ |
Десятичный код |
Двоичный код |
ЛАТ |
РУС |
ЦИФ |
|
24 |
11000 |
A |
А |
|
29 |
11101 |
Q |
Я |
1 |
|
19 |
10011 |
B |
Б |
? |
10 |
01010 |
R |
Р |
4 |
|
14 |
01110 |
C |
Ц |
: |
20 |
10100 |
S |
С |
' |
|
18 |
10010 |
D |
Д |
1 |
00001 |
T |
Т |
5 |
||
16 |
10000 |
E |
Е |
3 |
28 |
11100 |
U |
У |
7 |
|
22 |
10110 |
F |
Ф |
Э |
15 |
01111 |
V |
Ж |
= |
|
11 |
01011 |
G |
Г |
Ш |
25 |
11001 |
W |
В |
2 |
|
5 |
00101 |
H |
Х |
Щ |
23 |
10111 |
X |
Ь |
/ |
|
12 |
01100 |
I |
И |
8 |
21 |
10101 |
Y |
Ы |
6 |
|
26 |
11010 |
J |
Й |
Ю |
17 |
10001 |
Z |
З |
+ |
|
30 |
11110 |
K |
К |
( |
0 |
00000 |
Буквы русские |
|||
9 |
01001 |
L |
Л |
) |
31 |
11111 |
Буквы латинские |
|||
7 |
00111 |
M |
М |
. |
27 |
11011 |
Цифры |
|||
6 |
00110 |
N |
Н |
, |
4 |
00100 |
Пробел |
|||
3 |
00011 |
O |
О |
9 |
8 |
01000 |
Перевод строки |
|||
13 |
01101 |
Р |
П |
0 |
2 |
00010 |
Возврат каретки |
1.3 Код ASCII
Среди кодов, применяемых в современных компьютерных системах, распространен код ASCII (англ. American Standard Code for Information Interchange американский стандартный код для обмена информацией; по-английски произносится [а́ски]), который используется для внутреннего представления символьной информации в операционной системе MS DOS, в Блокноте операционной системы Windowsxx, а также для кодирования текстовых файлов в Интернет.
Во время создания большинства операционных систем никто не позаботился предусмотреть возможность представления информации в программах на других языках, отличных от английского. Так как в большинстве систем символы описываются 8-ю битами, то нет никакого способа расширить ASCII ещё больше. Способ создания новых символов в ASCII это просто создание расширенных ASCII реализаций. Именно так кириллица была введена в ASCII. Расширенный 8-битовый ASCII-код, используемый в PC, обеспечивает представление 256 символов, включая символы для национальных алфавитов. Первые 128 битовых комбинаций расширенного кода ASCII совпадают со стандартным ASCII, а остальные 128 используются для представления национальных алфавитов, псевдографики и специальных символов.
Таблица кодов ASCII состоит из 16 столбцов и 16 строк; каждая строка и столбец пронумерованы в шестнадцатеричной системе счисления цифрами от 0 до F. Шестнадцатеричное представление символа в ASCII-коде складывается из номера столбца и номера строки, в которых располагается символ. Так, например, ASCII-код символа 1 есть число 3116, что по правилам перевода означает 1100012. В двоичной системе код представляется восемью разрядами, т.е. двоичный ASCII-код символа 1 есть 001100012.
Таблица кодов ASCII делится на две части: столбцы с номерами от 0 до 7 составляют стандарт кода неизменяемую часть; столбцы с номерами от 8 до F являются расширением кода и используются, в частности, для кодирования символов национальных алфавитов. В столбцах с номерами 0 и 1 находятся управляющие символы, которые используются, в частности, для управления принтером. Столбцы с номерами от 2 до 7 содержат знаки препинания, арифметических действий, некоторые служебные символы, а также заглавные и строчные буквы латинского алфавита. Пустые ячейки означают, что они не используются, а ячейки с многоточием содержат символы, которые умышленно не показаны.
Таблица кода ASCII
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
0 |
... |
... |
0 |
@ |
P |
' |
р |
А |
Р |
а |
... |
... |
... |
р |
Ё |
|
1 |
... |
... |
! |
1 |
A |
Q |
a |
q |
Б |
С |
б |
... |
... |
... |
с |
ё |
2 |
... |
... |
" |
2 |
B |
R |
b |
r |
В |
Т |
в |
... |
... |
... |
т |
Є |
3 |
... |
... |
# |
3 |
C |
S |
c |
s |
Г |
У |
г |
... |
... |
... |
у |
є |
4 |
... |
... |
$ |
4 |
D |
T |
d |
t |
Д |
Ф |
д |
... |
... |
... |
ф |
Ї |
5 |
... |
... |
% |
5 |
E |
U |
e |
u |
Е |
Х |
е |
... |
... |
... |
х |
ї |
6 |
... |
... |
& |
6 |
F |
V |
f |
v |
Ж |
Ц |
ж |
... |
... |
... |
ц |
Ў |
7 |
... |
... |
' |
7 |
G |
W |
g |
w |
З |
Ч |
з |
... |
... |
... |
ч |
ў |
8 |
... |
... |
( |
8 |
H |
X |
h |
x |
И |
Ш |
и |
... |
... |
... |
ш |
° |
9 |
... |
... |
) |
9 |
I |
Y |
i |
y |
Й |
Щ |
й |
... |
... |
... |
щ |
∙ |
A |
... |
... |
* |
: |
J |
Z |
j |
z |
К |
Ъ |
к |
... |
... |
... |
ъ |
· |
B |
... |
... |
+ |
; |
K |
[ |
k |
{ |
Л |
Ы |
л |
... |
... |
... |
ы |
√ |
C |
... |
... |
, |
< |
L |
\ |
l |
| |
М |
Ь |
м |
... |
... |
... |
ь |
№ |
D |
... |
... |
- |
= |
M |
] |
m |
} |
Н |
Э |
н |
... |
... |
... |
э |
¤ |
E |
... |
... |
. |
> |
N |
^ |
n |
~ |
О |
Ю |
о |
... |
... |
... |
ю |
■ |
F |
... |
... |
/ |
? |
O |
_ |
o |
¤ |
П |
Я |
п |
... |
... |
... |
я |
В языках, использующих кириллический алфавит, пришлось полностью менять вторую половину таблицы ASCII, приспосабливая ее под кириллический алфавит. Но отсутствие согласованных стандартов привело к появлению различных кодовых таблиц для кодирования кириллических текстов, среди которых
2. Преобразование кодированных данных
2.1 Кодирование двоичных данных в RADIX-64
При передаче сообщений в реальной системе секретной связи к открытому или к шифртексту могут применяться дополнительные преобразования. Кодирование часто применяется для повышения качества передачи.
Например, может случиться, что сообщение, передаваемое по каналу связи, должно по техническим условиям состоять только из букв латинского алфавита, а шифртекст, тем не менее, представляет собой битовую последовательность.
В этом случае можно поступить следующим образом. Пусть пятибитовые комбинации каким-либо образом упорядочены. Обозначим первые 25 комбинаций буквами латинского алфавита от до . Оставшиеся 7 комбинаций обозначим парами, начинающимися с буквы : .
Можно поступить и по-другому. Можно разбить битовый поток на четырёхбитовые комбинации и заменить каждую тетраду на свою букву латинского алфавита, в соответствии с кодом МТК-2. В итоге, битовое представление шифртекста удлинится, алфавит текста будет состоять только из 16 букв, однако поставленная задача решена.
Подобная техника кодирования, называемая преобразованием в символьный формат (формат RADIX-64) применяется в сетевых технологиях. Порой возникают затруднения в пересылке программ, ключей, шифртекста и других бинарных файлов по системам связи, допускающим лишь текстовые сообщения, например, в почте UNIX. Для этого файлы превращают в текст формата RADIX-64. Все графические образы комбинаций RADIX-64 являются печатаемыми, представляются шестибитовыми комбинациями и подобраны так, чтобы в потоке данных отсутствовали символы, управляющие работой систем почтовой обработки.
Битовый поток разбивается на шестибитовые комбинации, после чего соответствующие графические символы кода RADIX-64 заменяются на комбинации любого другого кода, допустимого в системе связи, например, кода ASCII.
Если шестибитовую комбинацию рассматривать как запись десятичного числа в двоичной системе счисления, то комбинациям 0,1,2,…,25 соответствуют заглавные буквы латинского алфавита A,B,…,Z, а комбинациям 26, 27,…,51 прописные буквы латинского алфавита. Комбинации 52,…,61 предназначены для изображения цифр 0,…,9. Последние две комбинации 62,63 соответствуют знакам + и /. Это увеличивает длину бинарного сообщения лишь на треть, в то время как привычная для программистов шестнадцатеричная запись удваивает его.
Код RADIX-64
Значение |
Код |
Двоичный код |
Значение |
Код |
Двоичный код |
Значение |
Код |
Двоичный код |
0 |
A |
000000 |
21 |
V |
010101 |
42 |
q |
101010 |
1 |
B |
000001 |
22 |
W |
010110 |
43 |
r |
101011 |
2 |
C |
000010 |
23 |
X |
010111 |
44 |
s |
101100 |
3 |
D |
000011 |
24 |
Y |
011000 |
45 |
t |
101101 |
4 |
E |
000100 |
25 |
Z |
011001 |
46 |
u |
101110 |
5 |
F |
000101 |
26 |
a |
011010 |
47 |
v |
101111 |
6 |
G |
000110 |
27 |
b |
011011 |
48 |
w |
110000 |
7 |
H |
000111 |
28 |
c |
011100 |
49 |
x |
110001 |
8 |
I |
001000 |
29 |
d |
011101 |
50 |
y |
110010 |
9 |
J |
001001 |
30 |
e |
011110 |
51 |
z |
110011 |
10 |
K |
001010 |
31 |
f |
011111 |
52 |
0 |
110100 |
11 |
L |
001011 |
32 |
g |
100000 |
53 |
1 |
110101 |
12 |
M |
001100 |
33 |
h |
100001 |
54 |
2 |
110110 |
13 |
N |
001101 |
34 |
i |
100010 |
55 |
3 |
110111 |
14 |
O |
001110 |
35 |
j |
100011 |
56 |
4 |
111000 |
15 |
P |
001111 |
36 |
k |
100100 |
57 |
5 |
111001 |
16 |
Q |
010000 |
37 |
l |
100101 |
58 |
6 |
111010 |
17 |
R |
010001 |
38 |
m |
100110 |
59 |
7 |
111011 |
18 |
S |
010010 |
39 |
n |
100111 |
60 |
8 |
111100 |
19 |
T |
010011 |
40 |
o |
101000 |
61 |
9 |
111101 |
20 |
U |
010100 |
41 |
p |
101001 |
62 |
+ |
111110 |
63 |
/ |
111111 |
2.2 Сжатие информации
В открытых сетях, в виду огромных объемов проходящей информации, производится её сжатие. Многочисленный класс кодов представлен средствами сжатия данных, наподобие программ архивации ARC, ARJ, ICE, ZIP и сжатия дисков на IBM PC. Употребление этих кодов вызвано не секретностью, а стремлением сэкономить на стоимости передачи или хранения сообщения. Файлы текстов, изображений и программ содержат информацию с сильно отличающимися свойствами и программы их кодирования должны быть разными. Если архиватор хорошо сжимает текст, вовсе не значит, что он так же хорош для сжатия изображений или других данных.
Существует сжатие без восстановления и с восстановлением. Сжатие без восстановления предполагает, что передается алфавитно-цифровая информация, которая тем или иным способом уменьшается в объеме и на приёмной стороне принимается сжатый объем. А при сжатии с восстановлением приёмник получает исходный текст, при условии, что передавался сжатый текст. В общем случае, сжатие (компрессия) данных представляет собой процесс выделения из исходного информационного массива его информативной части путем отбрасывания некоторых символов, несущих минимальное число этой информации. Сжатие производится до тех пор, пока информативность сохраняется.
Простейший способ сжатия без восстановления для текстовой информации на естественном языке, предполагает наличие словаря запретов, который поддерживается сетью и доводится до всех абонентов. В него входят одно-, двух- и трёхбуквенные слова с минимальной информативностью, которые из текста исключаются. Из текста, начиная от конца слова к началу, убирают все гласные и часть согласных до наличия еще в слове необходимого смысла. Первые три согласные несут 84% информации.
Если информация представлена в цифровом виде, то в этом случае задают длину блока, до которого необходимо ее сжать.
Весь текст разбивается на блоки не больше заданной длины, а затем производится сложение блоков по модулю 2 и передается их сумма:
, 10111 00111 11010
Если информация не цифровая, а текстовая, то можно использовать тот же метод, если каждую букву закодировать некоторым кодом равномерной длины.
В том случае, если длина блока, кодирующего букву меньше, чем требуемая длина блока для передачи, сложение производится при ступенчатом сдвиге одной буквы относительно другой на одну позицию влево, начиная от первой буквы слова к последней:
М |
Е |
Л |
10111 |
00111 |
11010 |
,
1. Изучить краткие сведения о методах кодирования текста и двоичных данных.
2. Текст, выбранный из следующего списка согласно варианту:
1) Записать в коде МТК-2.
2) Представить в виде последовательности шестнадцатеричных цифр, перераспределив биты по 4. (При необходимости, дополнить конец текста нулевыми битами до длины кратной четырем.)
3) С помощью таблицы ASCII-кода а) закодировать сообщение, используя шестнадцатеричное представление кода; б) закодировать исходное сообщение непосредственно.
3. Текст из предыдущего списка представить в символьном виде в формате RADIX-64 (при необходимости, дополните конец текста нулевыми битами до длины кратной шести).
4. Подобрать метод сжатия следующих сообщений и подготовить их для передачи:
1. 1100010011100000010111111100000010101101111010110010111000100010
2. 1000101000100101101001011010011101001001001000011010101001001010
3. 0100111011000101111111100110011110100101000001101010100100101011
4. 1111000000101011011110101100101110001000101011000100111000000101
5. 0101000100101001011010011110100101000001101111000100010101100011
6. ADCPQ QWERT ERTYG
7. CBFHD AKJHB CFGUF
8. SYRGF UHVBF OKJHR
9. LKJBG MCHDF HHHIJ
10.UHGFH ADSFG DFGJG
11. 0111000000101111111000000101011011110101100101110001000101011000
12. 1001011100010100010010110010011101001001001000011010101001001010
13. 0101011000100111011000101111111100110011110100101000001101010100
14. 0010111000100010111100000010101100010011100000111101011101100101
15. 1111000100010010101101001111010010100000110101100011000100101001
16. DFGHL HLJDF YVDPG
17. PLFDQ CFDSR LKKQX
18. RSYGF VBFUH OHRKJ
19. HRLKJ MCHBG SAHIG
20. THGSI VHAKB WPTHT
21. 1000000101010101100101110001001000100111000101011111110000101001
22. 1010100100101011100100101011000101111000000100000010101101111010
23. 1011110001001001110010010111000110100111101001010101011000100111
24. 0000001010110001000101100100111010010010010000001011111111001100
25. 0101110101011000100010010000011010110001100010010001011100111111
5. Составьте отчёт, приобщив полученные результаты.
Требования к отчету.
В отчете должны быть приведены:
Контрольные вопросы
А также другие работы, которые могут Вас заинтересовать | |||
5938. | Анализ воспитательной работы с учащимися 9 а класса | 66.5 KB | |
Анализ воспитательной работы с учащимися 9 а класса Классный руководитель: Характеристика класса. В классе 25 учеников, из них 11 мальчиков и 14 девочек. По национальному составу - 20 русских, 5 бурят. Количество учащи... | |||
5939. | Анализ воспитательной работы за первое полугодие классного руководителя 10 А класса | 40.5 KB | |
Анализ воспитательной работы за первое полугодие классного руководителя 10 А класса 1. Анализ эффективности целеполагания и планирования воспитательного процесса в классе в 2011-2012 учебном году. Воспитательные задачи в текущем учебном году следующ... | |||
5940. | Системы снабжения природным газом | 78.66 KB | |
Природный газ это заслуженно один из самых эффективных источников энергии. При сравнении с другими видами топлива и сырья у него есть множество преимуществ. Во-первых, его стоимость. Стоимость добычи ниже, а производительность труда намного... | |||
5941. | Педагогическая практика по воспитательной работе | 172 KB | |
Педагогическая практика по воспитательной работе Информационно-методические материалы для начинающих методистов и студентов i - v курсов Отход от авторитарной педагогики и гуманизация всего учебно-воспитательного процесса предъявляют все более ... | |||
5943. | Архитектура Киевской Руси | 59.5 KB | |
I. Архитектура Киевской Руси Н. М. Карамзин в Истории государства Российского, описывая истоки возникновения искусства Древней Руси, рассказывает, как Владимир, увидев, подобно бабке своей, заблуждение язычества, стал искать истины в разных верах... | |||
5944. | Рапсовое масло как альтернативное топливо для дизеля | 39.56 KB | |
Двигатели внутреннего сгорания (ДВС), на сегодняшний день, являются основными потребителями топлив нефтяного происхождения. По причине постоянного увеличения численности ДВС и снижения количества вновь открываемых месторождений нефти обостр... | |||
5945. | Изучение реэтимологизированных образований, функционирующих в языке сатирических и юмористических произведений | 117.23 KB | |
Великие мастера мировой культуры высоко ценили роль сатиры и юмора в культуре. Для выявления возможностей сатиры и юмора, их роли в развитии человека и социальной значимости необходимо изучение не только художественно - эстетических ка... | |||