Алгоритм шифрования RSA - описание и общие вопросы


Алгоритм шифрования RSA - описание и общие вопросы

RSA – криптографическая система открытого ключа, обеспечивающая такие механизмы защиты как шифрование и цифровая подпись (аутентификация – установление подлинности). Криптосистема RSA разработана в 1977 году и названа в честь ее разработчиков Ronald Rivest, Adi Shamir и Leonard Adleman.
Алгоритм RSA работает следующим образом: берутся два достаточно больших простых числа p и q и вычисляется их произведение n = p*q; n называется модулем. Затем выбирается число e, удовлетворяющее условию
1< e < (p - 1)*(q - 1) и не имеющее общих делителей кроме 1 (взаимно простое) с числом (p - 1)*(q - 1).
Затем вычисляется число d таким образом, что (e*d - 1) делится на (p - 1)*(q – 1).
* e – открытый (public) показатель
* d – частный (private) показатель.
* (n; e) – открытый (public) ключ
* (n; d). – частный (private) ключ.
Делители (факторы) p и q можно либо уничтожить либо сохранить вместе с частным (private) ключом.

Криптосистема RSA
Алгоритмы симметричного шифрования
Алгоритмы шифрования

Асимметричный криптографический алгоритм на базе Конечно-Автоматной Модели
Криптографические алгоритмы
Перспективы развития и использования асимметричных алгоритмов

Практическая криптография алгоритмы и их программирование
Взлом криптоалгоритмов

Анализ криптографических протоколов

До сих пор предполагалось, что участники протокола честно выполняют протокол (нарушителей нет), а противник пассивен, т.е. он только перехватывает все сообщения в канале связи, пытаясь извлечь из них максимум информации, но не вмешиваясь в протокол. Такой противник является четвертым неявным участником протокола, состояние которого также должно учитываться и анализироваться с точки зрения безопасности протокола.
Если же противник активен, то он становится четвертым несанкционированным участником протокола, скрытым для санкционированных участников А, В и S. Такой противник не обязан соблюдать протокол. Он должен только поддерживать видимость нормального хода протокола. Противник Е в протоколе может попеременно играть роль А, В и S (соответствующие обозначения: Ea, Eb, Es). Он может подставлять вместо сообщений, передаваемых санкционированными участниками, сообщения, переданные в предыдущих запусках протокола, в текущем запуске, или, наконец, он может инициировать от имени А или В новый запуск протокола до окончания текущего и воспользоваться сообщениями этого параллельного протокола.  Еще более сильным противником является такой, который обладает ключом (ключами), действующим или выведенным из действия, причем участники протокола об этом могут не знать, по крайней мере, в течение некоторого времени.

Анализ криптографических протоколов
Криптографические протоколы
Криптографические протоколы распределения ключей для групп

Побег через брандмаузер

Проникнув на уязвимый компьютер, голова червя должна установить TCP/IP (или UDP) соединение с исходным узлом и подтянуть свое основное тело (также называемое "хвостом"). Аналогичной методики придерживаются и хакеры, засылающие на атакуемый компьютер диверсионный эксплоит, срывающий стек и устанавливающий удаленный терминальный shell, взаимодействующий с узлом атакующего посредством того же самого TCP/IP, и в этом контексте между червями и хакерами нет никакой принципиальной разницы (нередко установка backdoor'а с помощью червей и осуществляется).
Однако, на пути червя может оказаться недружелюбно настроенный брандмаузер (он же брандмауэр, он же firewall). Ну знаете, это такая штука, призванная отсекать всяких идиотов, отравляющих нормальным пользователям жизнь. Брандмаузеры сейчас в моде и без них не обходится практически ни одна, уважающая себя, корпоративная сеть. Да что там сеть – они и на домашних компьютерах уже не редкость. Между тем, слухи о могуществе брандмауэров очень сильно преувеличены и в борьбы с червями они до ужаса неэффективны. Хотите узнать почему? Тогда читайте эту статью до конца!

Что может и что не может брандмаузер
Жизнь после BSOD
Археологические раскопки ядра vista-longhorn

Ручная троянизация приложений под windows
Побег из-под vm ware

Базы данных. Вводный курс

История этого курса началась в 1995-м году, когда мной был подготовлен курс «Основы современных баз данных» для Центра Информационных Технологий (ЦИТ). Материалы этого курса были опубликованы в библиотеке CITForum.ru в 1996 г. и затем в течение ряда использовались мной для чтения лекций как в ЦИТ, так и на факультете ВМиК МГУ. Надеюсь, что они пригодились и многим другим читателям.
Однако со временем курс стал меняться. Если в середине 90-х гг. мне казались наиболее важными программистские аспекты организации СУБД, то потом постепенно на передний план стали выходить модельные и языковые аспекты баз данных. Материалы старого курса стали мне казаться несколько поверхностными и охватывающими слишком большое число тем. Захотелось большей строгости и большей глубины погружения в наиболее важные темы.
Кроме того, в конце 90-х гг. появилась технология объектно-реляционных баз данных, затверженная в стандарте SQL:1999. С появлением этого стандарта часть старого курса, посвященная SQL, совершено устарела. Я же все в большей степени начал склоняться к тому, что в стандарте SQL, по сути, определяется законченная модель данных, похожая на реляционную модель, но во многом от нее отличная.

Устройства внешней памяти
Минимальные функциональные зависимости и вторая нормальная форма
Версионный вариант алгоритма временных меток
Примеры запросов с использованием предиката match
Определение структурных типов

Серверы корпоративных баз данных

Появление в 80-х годах персональных компьютеров (ПК) и локальных сетей ПК самым серьезным образом изменило организацию корпоративных вычислений. Однако и сегодня освоение сетевых вычислений в масштабе предприятия и Internet продолжает оставаться не простой задачей. В отличие от традиционной, хорошо управляемой и безопасной среды вычислений предприятия, построенной на базе универсальной вычислительной машины (мейнфрейм) с подсоединенными к ней терминалами, среда локальных сетей ПК плохо контролируется, плохо управляется и небезопасна. С другой стороны, расширенные средства сетевой организации делают возможным разделение бизнес-информации внутри групп индивидуальных пользователей и между ними, внутри и вне корпорации и облегчают организацию информационных процессов в масштабе предприятия. Чтобы ликвидировать брешь между отдельными локальными сетями ПК и традиционными средствами вычислений, а также для организации распределенных вычислений в масштабе предприятия появилась модель вычислений на базе рабочих групп.
Как правило, термины серверы рабочих групп и сетевые серверы используются взаимозаменяемо. Сервер рабочей группы может быть сервером, построенным на одном процессоре компании Intel, или суперсервером (с несколькими ЦП), подобным изделиям компаний Compaq, HP, IBM и DEC, работающим под управлением операционной системы Windows NT. Это может быть также UNIX-сервер начального уровня компаний Sun, HP, IBM и DEC.

Классификация систем параллельной обработки данных
Особенности архитектуры MIPS компании MIPS Technology
Увеличение разрядности основной памяти

Раздел - Карьера

Раз уж работа нашлась то пора задуматься о головокружительной карьере. Нет, ну пусть крайне тернистый но тоже ведь путь к деньгам. В большинстве, наверное, случаев путь этот крайне специфический. Вы можете быть обалденным специалистом, но фиг вам а не карьерный рост. Почему? Ответ крайне прост - дело не в ваших способностях, а в психологии, взаимоотношениях, и прочих трудно формулируемых вещах.

Карьера
Менеджер
Офис
Планирование
Работа
Трудоустройство
Учеба

Понятно о Visual Basic NET

Visual Basic .NET – это новый мощный язык программирования, созданный корпорацией Microsoft в начале тысячелетия. Сохранив во многом внешнюю простоту своего предшественника – языка Visual Basic 6.0 – он радикально обогатил и усложнил свое внутреннее содержание, предоставив программисту огромное количество новеньких, с иголочки, инструментов. Самый главный из них – настоящее, полноценное объектно-ориентированное программирование.
Visual Basic .NET конечно же по-прежнему чрезвычайно силен во всех областях традиционного программирования для обычных настольных компьютеров, то есть там, где был силен и Visual Basic 6.0. Но, откликаясь на веление времени, он приобрел и новую направленность – программирование в сетях. Теперь он позволяет удобно и легко писать программы для локальных сетей и Интернета, для карманных компьютеров и даже для мобильных телефонов.

Кратко о NET Framework и о Visual Studio NET
Преобразование типов

Теория и реализация языков программирования

В книге представлены "классические" разделы теории разработки компиляторов: лексический и синтаксический анализ, организация памяти компилятора (таблицы символов) и периода исполнения (магазина), генерация кода. Рассматриваются такие средства автоматизации процесса разработки трансляторов, как LEX, YACC, СУПЕР, методы генерации оптимального кода. Сделана попытка на протяжении всего изложения провести единую "атрибутную" точку зрения на процесс разработки компилятора.

Место компилятора в программном обеспечении
Описание областей видимости и блочной структуры
Языки пространственных запросов

Формы по шагам

Формы являются одним из важных элементов любого сайта и предназначены для обмена данными между пользователем и сервером. Область применения форм не ограничена отправкой данных на сервер, с помощью клиентских скриптов можно получить доступ к любому элементу формы, изменять его и применять по своему усмотрению.
Любая форма характеризуется следующими параметрами.
Элементы формы, которые представляют собой стандартные поля для ввода информации.
Кнопку отправки данных формы на сервер (кнопка SUBMIT).
Адрес программы на веб-сервере, которая будет обрабатывать содержимое данных формы.

Добавление формы