1) Указатель на вектор инициализации.
2) Номер, k, представляющий смещение шифра подстановки, так что значение ASCII будет зашифровано k-м значением впереди него в алфавите.
Например, если х = 3, тогда A шифруется как D, B шифруется как E и т. д.
Сделайте разумные допущения по отношению к последнему значению в наборе ASCII. Убедитесь, что вы четко документируете в своем коде все допущения, касающиеся входного потока и алгоритма шифрования.
53. Цель этой задачи — дать вам лучшее представление о механизме работы RSA. Напишите функцию, которая получает в качестве параметров простые числа p и q, рассчитывает открытый и секретный RSA-ключи с использованием этих параметров и выводит n, z, d и e в качестве выходных данных. Функция также должна принимать поток значений ASCII и шифровать этот входящий поток с помощью рассчитанных ключей RSA. Программа должна получать открытый текст со стандартного устройства ввода и распечатывать зашифрованный текст на стандартном устройстве вывода. Шифрование должно производиться по каждому значению, то есть должно браться каждое значение из входных данных и зашифровываться независимо от других значений. Для решения этой задачи можно воспользоваться любой подходящей системой, чтобы определить, что достигнут конец входного потока. Вы можете выбрать формат вывода данных, главное, чтобы он не был двусмысленным. Убедитесь, что вы четко документируете в своем коде все допущения, касающиеся входного потока и алгоритма шифрования.
Глава 9
Рекомендации для чтения и библиография
Мы закончили изучение компьютерных сетей, но все это — только начало. Многие интересные темы не были рассмотрены во всей полноте и со всеми подробностями, а многие вопросы были вообще опущены из-за отсутствия места. Эта глава содержит список дополнительной литературы для читателей, желающих продолжить изучение компьютерных сетей.
9.1. Литература для дальнейшего чтения
Существует большое количество книг, касающихся всех аспектов компьютерных сетей и распределенных систем. Среди журналов, часто публикующих статьи по этой теме, стоит выделить следующие два: IEEE/ACM Transactions on Networking и IEEEJournal on Selected Areas in Communications.
В периодических изданиях ACM Special Interest Groups on Data Communications (SIGCOMM) и Mobility of Systems, Users, Data, and Computing (SIGMOBILE) публикуется много интересных статей, особенно по темам, по которым происходит развитие. Это издания Computer Communication Review и Mobile Computing and Communications Review.
Кроме того, Институт инженеров по электротехнике и электронике IEEE выпускает еще три журнала: IEEE Internet Computing, IEEE Network Magazine и IEEE Communications Magazine — в них содержатся обзоры, учебные статьи и информация об исследованиях, связанные с компьютерными сетями. Первые два в основном посвящены архитектуре, стандартам и программному обеспечению, тогда как журнал IEEE Communications Magazine большей частью занят освещением технологий коммуникаций (оптоволоконной, спутниковой связи и т. д.).
Ежегодно или раз в два года проводятся несколько конференций, которые освещаются в многочисленных статьях, посвященных сетям. В частности, обратите внимание на конференции SIGCOMM, NSDI (Symposium on Networked Systems Design and Implementation), MobiSys (Conference on Mobile Systems, Applications, and Services), SOSP (Symposium on Operating Systems Principles) и OSDI (Symposium on Operating Systems Design and Implementation).
Ниже мы перечислим дополнительную литературу, сгруппированную по главам этой книги. Большая часть рекомендуемых книг или отдельных глав представляют собой самоучители либо обзоры. Полные ссылки даны в разделе 9.2.
9.1.1. Введение и неспециализированная литература
Comer, The Internet Book, 4-е издание.
Сюда стоит заглянуть всем, кто ищет простое и понятное описание Интернета. В этой книге в доступной даже для новичка форме рассказывается об истории, развитии, технологиях, протоколах и службах Интернета. Тем не менее эта книга будет интересна и более подготовленным читателям благодаря большому количеству содержащегося в ней материала.
Computer Communication Review, 25th Anniversary Issue, Jan. 1995
Crovella and Krishnamurthy, Internet Measurement
Как узнать, хорошо ли работает Интернет? Ответ на этот вопрос не тривиален, потому что за Интернет никто не отвечает. Эта книга описывает методы, которые были развиты, чтобы измерить работу Интернета, от сетевой инфраструктуры до приложений.
IEEE Internet Computing, Jan. - Feb. 2000
В первом выпуске нового тысячелетия журнал IEEE Internet Computing представил то, что и ожидалось: размышления людей, участвовавших в создании Интернета, о том, каким он будет в новом веке. В обсуждении участвуют такие эксперты, как Поль Бэрэн (Paul Baran), Лоуренс Робертс (Lawrence Roberts), Леонард Кляйнрок (Leonard Klein-rock), Стэфан Крокер (Stephen Crocker), Дэнни Коэн (Danny Cohen), Боб Мэткалф (Bob Metcalfe), Билл Гейтс (Bill Gates), Билли Джой (Billy Joy) и др. Посмотрите, насколько исполнились их предсказания десятилетие спустя.
Kipnis, Beating the System: Abuses of the Standards Adoption Process
Комитеты по стандартизации пытаются работать максимально добросовестно и независимо от разработчиков, но, к сожалению, некоторые компании пытаются нарушить эту систему. Например, уже не раз случалось так, что компания помогает в разработке стандарта, а после его утверждения заявляет, что стандарт основывается на принадлежащем ей патенте и что вопросы выдачи лицензий и цен на них компания будет решать сама. Данный материал будет полезен тем, кто хочет узнать о нелицеприятной стороне стандартизации.
Hafner and Lyon, Where Wizards Stay Up Late
Naughton, A Brief History of the Future
Кто же все-таки изобрел Интернет? Многие хотят, чтобы их включили в число изобретателей. И некоторые из них по праву этого заслуживают. Пол Баран (Paul Ba-ran), который написал отчет, описывающий коммутацию пакетов, люди в различных университетах, которые разрабатывали архитектуру ARPANET, сотрудники BBN, которые запрограммировали первые IMP, Боб Кан (Bob Kahn) и Винт Серф (Vint Cerf), которые изобрели TCP/IP и т. д. Эти книги рассказывают историю Интернета, по крайней мере, до 2000 года и содержат множество анекдотов.
9.1.2. Физический уровень
Bellamy, Digital Telephony, 3-е издание.
В этом солидном издании содержится все, что вы когда-либо хотели узнать о телефонной системе, и даже более того. Особый интерес представляют главы, посвященные передаче данных и мультиплексированию, цифровой коммутации, волоконной оптике, мобильной телефонии и DSL.
Hu and Li, Sattelite-BasedInternet: A Tutorial
Доступ в Интернет через спутник отличается от использования наземных линий связи. Здесь должны учитываться не только задержки, но и маршрутизация, а также коммутация. Авторы рассматривают проблемы применения спутниковых систем для доступа в Интернет.
Joel, Telecommunications and the IEEE Communications Society
Здесь в очень сжатой, но удивительно понятной форме описывается история телекоммуникаций, начиная с телеграфа и заканчивая сетями стандарта 802.11. Вы найдете разделы, посвященные радио, телефонии, аналоговой и цифровой коммутации, подводным кабелям, цифровой передаче данных, телевизионному вещанию, спутникам, кабельному ТВ, оптическим линиям связи, мобильным телефонам, коммутации пакетов, ARPANET и, конечно же, Интернету.
Palais, Fiber Optic Communications, 5-е издание.
Обычно книги по оптоволоконной технологии предназначаются для специалистов, но эта книга написана более доступным языком. В этой книге рассказывается про волноводы, источники света, детекторы света, соединительные муфты, модуляцию, шум и др.