1. 1 символ занимает 2 байта.
2. Исправление ошибок может быть сделано на программном уровне. Это более удобно тем, что программный уровень позволяет исправлять ошибки в более важных массивах информации и пропускать менее важные. Более того, недостатки вычислительных систем выявляются только в процессе накопления опыта, и только тогда становится понятно, где и какая защита от ошибок необходима. Только после того, как симуляция защиты от ошибок на программном уровне докажет, что она справиться с недостатками, можно добавить защиту в систему на аппаратном уровне.
3. Шифрование данных для защиты от несанкционированного доступа; аутентификация сообщений
; целостность информации; невозможность отказа на основе техники шифровання.
4. Алгоритм шифрования является симметричным, если процесс шифрования и расшифровывания используют один и тот же ключ.
5. Шифрование с открытым ключом является эффективной криптографической системой защиты данных. Один ключ используется для шифрования данных, а другой - для расшифровки. Первый ключ является открытым и может быть опубликован для использования всеми пользователями системы шифрования данных. Расшифровка данных с использованием открытого ключа невозможно. Для расшифровки данных получатель зашифрованной информации использует второй ключ, который является секретным (личным). Ключ дешифрования не может быть определен с ключа шифрования.
6. В шифре Вернама ключ имеет длину меньше длины открытого сообщения. Нельзя использовать один и тот же ключ несколько раз - при кодировании одних и тех же сообщений одними и теми же ключами полученные сообщения будут одинаковыми, что позволит анализировать передаваемые сообщения.
7. Полиморфизм - механизмы, которые позволяют конструировать сложные объекты из сравнительно простых.
8. Схема передатчика состоит из управляющего микроконтроллера PIC16F690 и передатчика DTMF HT9200. Цепь питания организована с использованием цепей VD2, R8, VD1, C1, C2. Преобразователь DTMF HT9200 в стандартной комплектации включен кварцевым резонатором 3,579545 МГц с управлением SPI. Клавиша SA1 - это стандартная тангенциальная клавиша радиостанции, которая управляет переключением схемы в режим передачи сигнала DTMF и последующим разрешением звука. Светодиод VS1 указывает начало и конец передачи кода. Используя перемычки 1-6, для каждого блока передатчика устанавливается индивидуальный код. Используя стандартный калькулятор Windows, вы можете точно установить значение кода в диапазоне от 1 до 63, поскольку закрытые перемычки соответствуют двоичному коду десятичного числа. Знания необходимы для умения преобразовывать двоичные числа в десятичные. Например, комбинация замкнутых перемычек 1,2,4 - обозначает десятичное число - 52. Транзистор T1 установлен таким образом, чтобы в схеме включения касательных передатчика радиостанции он мог замыкать свои контакты, и резистор R12 также выбран соответствующим образом. Уровень выходного сигнала выбирается исходя из максимального уровня сигнала, который генерирует микрофон (около 50 мВ).
Схема приемника состоит из управляющего микроконтроллера PIC16F690 и декодера DTMF MT8870, а также ЖК-дисплея NC1602A. Цепь питания организована с использованием цепочки VD1, R5, VD2, C5, C6. MT8870 декодер - принципиальная схема взята из таблицы. ЖК-дисплей NC1602A включен в стандартную комплектацию с передачей полубайтовых данных. Схема подключена к регулятору громкости ULF-радиостанции через конденсатор C1. Питание взято от радио источника питания.
9. Алгоритм позволяет двум или более сторонам получать общий секретный ключ, используя незащищенный канал связи. Полученный ключ используется для шифрования дальнейших обменов с использованием алгоритмов симметричного шифрования.
10. RSA - первый алгоритм, который можно использовать как для шифрования, так и для цифровых подписей. Безопасность шифрования основана на сложности разложения больших комплексных чисел.
Поделитесь своими знаниями, ответьте на вопрос:
Команда може подаватися... спонукальними реченнями запитанням вибором кнопки у вікна світловим сигналом жестом
Відповідь:
Для начала, Пайтон – язык со строгой динамической типизацией. Что это означает?
Есть языки со строгой типизацией (pascal, java, c и т.п.), у которых тип переменной определяется заранее и не может быть изменен, и есть языки с динамической типизацией (python, ruby, vb), в которых тип переменной трактуется в зависимости от присвоенного значения.
Языки с динамической типизацией можно разделить еще на 2 вида. Строгие, которые не допускают неявного преобразования типа (Пайтон) и нестрогие, которые выполняют неявные преобразования типа (например VB, в котором можно легко сложить строку '123' и число 456).
Разобравшись с классификацией Пайтона, попробуем немного «поиграть» с интерпретатором.
>>> a = b = 1
>>> a, b
(1, 1)
>>> b = 2
>>> a, b
(1, 2)
>>> a, b = b, a
>>> a, b
(2, 1)
Таким, образом мы видим что присваивание осуществляется с знака =. Присвоить значение можно сразу нескольким переменным. При указании интерпретатору имени переменной в интерактивном режиме, он выводит ее значение.
Следующее, что необходимо знать – как строятся базовые алгоритмические единицы – ветвления и циклы. Для начала, необходима небольшая справка. В Пайтоне нет специального ограничителя блоков кода, их роль выполняют отступы. То есть то что написано с одинаковым отступом – является одним командным блоком. Поначалу это может показаться странным, но после легкого привыкание, понимаешь что эта «вынужденная» мера позволяет получать очень читабельный код.
Итак условия.
Условие задается с оператора if, который заканчивается «:». Альтернативные условия которые будут выполняться если первая проверка «не » задаются оператором elif. Наконец else задает ветку, которая будет выполнена если ни одно из условий не подошло.
Обратите внимание, что после ввода if интерпретатор с приглашения «...» показывает что он ожидает продолжения ввода. Чтобы сообщить ему что мы закончили, необходимо ввести пустую строку.
(Пример с ветвлениями почему-то рвет разметку на хабре, не смотря на танцы с тегами pre и code. Простите за неудобство, я его кинул сюда pastebin.com/f66af97ba, если кто-то подскажет что не так — буду очень признателен)
Циклы.
Простейшим случаем цикла является цикл while. В качестве параметра он принимает условие и выполняется до тех пор, пока оно истино.
Вот маленький пример.
>>> x = 0
>>> while x<=10:
... print x
... x += 1
...
0
1
2
10
Обратите внимание что поскольку и print x и x+=1 написаны с одинаковым отступом, они считаются телом цикла (помните что я говорил про блоки? ;-) ).
Второй вид циклов в Пайтон – цикл for. Он аналогичен циклу foreach других языков. Его синтаксис условно таков.
for переменная in список:
команды
Переменной будут присваиваться по очереди все значения из списка (на самом деле там может быть не только список, но и любой другой итератор, но не будем пока этим забивать голову).
Вот простой пример. В роли списка будет выступать строка, которая является ничем иным как списком символов.
>>> x = "Hello, Python!"
>>> for char in x:
... print char
...
H
e
l
!
Таким образом мы можем разложить строку по символам.
Что же делать если нам нужен цикл, повторяющийся определенное число раз? Очень просто, на придет функция range.
На входе она принимает от одного до трех параметров, на выходе возвращает список чисел, по которому мы можем «пройтись» оператором for.
Вот несколько примеров использования функции range, которые объясняют роль ее параметров.
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(2, 12)
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> range(2, 12, 3)
[2, 5, 8, 11]
>>> range(12, 2, -2)
[12, 10, 8, 6, 4]
И маленький пример с циклом.
>>> for x in range(10):
... print x
...
0
1
2
9
Ввод-вывод
Последнее, что следует знать перед тем как начать использовать Пайтон полноценно – это как осуществляется в нем ввод-вывод.
Для вывода используется команда print, которая выводит на печать все свои аргументы в удобочитаемом виде.
Для ввода с консоли используется функция raw_input(приглашение), которая выводит на экран приглашение и ожидает ввода пользователя, возвращая то что ввел пользователь в виде своего значения.
x = int(raw_input ("Введи число:"))
print "Квадрат этого числа составляет ", x * x
Внимание! Несмотря на существование функции input() схожего действия, использовать ее в программах не рекомендуется, так как интерпретатор пытается выполнить вводимые с ее синтаксические выражения, что является серьезной дырой в безопасности программы.
Пояснення: