Новые книги

Слово криптография означает тайнопись.

Российская криптография имеет многовековую историю, начинающуюся с указов Петра I о «черных кабинетах». До середины 80-х годов XX века криптография в России использовалась только для военных, дипломатических и правительственных линий связи и была строго засекречена. Даже употребление слов «криптография», «шифры», «ключи к шифрам» в открытых публикациях было недопустимо. Но в мире быстро назревала потребность в гражданской криптографии, стремительно развивались информационные технологии, стали появляться компьютерные сети, Интернет, денежные электронные расчеты. Для этого требовались надежные и общедоступные криптографические методы защиты информации.

Была ли Россия готова к появлению гражданской криптографии? И да, и нет.

Да, потому что еще с советских времен в России существовала прекрасная криптографическая школа и высококлассные специалисты-криптографы, которые долгое время на равных конкурировали с американским Агентством Национальной Безопасности и обеспечивали гарантированную защиту военных, дипломатических и правительственных линий связи.

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

В 1992 году случился кризис: поток фальшивых авизо захлестнул Центральный Банк России и грозил обрушить всю финансовую систему. Потребовалась срочная помощь криптографов: в кратчайшие сроки создать, наладить и запустить в эксплуатацию систему криптографической защиты телеграфных и почтовых авизо в такой огромной структуре, как ЦБ РФ.

Эта задача была выполнена за три месяца – неимоверно короткий срок.

В России появился первый реальный пример гражданской криптографии.

О том, что представляла из себя советская криптографическая школа, о ее специалистах и начальниках, о царившей тогда в стране атмосфере, о том, как была создана система защиты для Центрального Банка России, и, наконец, о том, почему же в России так трудно пробивает себе дорогу гражданская криптография – в этой книге.
В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.

Компакт-диск прилагается только к печатному изданию книги.

openssl_pkcs7_encrypt

Учебник РНР
НазадВперёд

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6)

openssl_pkcs7_encrypt - шифрует S/MIME-сообщение.

Описание

bool openssl_pkcs7_encrypt (string infile, string outfile, mixed recipcerts, array headers [, long flags])

Предупреждение!

Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.

openssl_pkcs7_encrypt() принимает содержимое файла infile и шифрует его с использованием 40-битного шифра RC2 таким образом, что оно может быть прочитано только реципиентами recipcerts, которые могут быть отдельным X.509 сертификатом или массивом из X.509 сертификатов.
headers это массив шапок, присоединяемый перед данными после их шифровки.
flags
можно использовать для специфицирования опций, влияющих на процесс кодирования - см. PKCS7-константы.
headers может быть ассоциативным массивом с ключами по именам шапок либо индексированным массивом, где каждый элемент содержит строчку одной шапки.

Пример 1. openssl_pkcs7_encrypt()
// сообщение, которое вы хотите зашифровать и отправить вашему секретному агенту
// nighthawk. Вы имеете его сертификат в файле nighthawk.pem
$data = <<<EOD
Nighthawk,

Top secret, for your eyes only!

The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!

HQ
EOD;

// загрузить ключ
$key = implode("", file("nighthawk.pem"));

// сохранить сообщение в файле
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// зашифровать его
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
    array("To" => "[email protected]", // ключевой синтаксис
          "From: HQ <[email protected]>", // индексный синтаксис
          "Subject" => "Eyes only")))
{
    // сообщение зашифровано - отправить его!
    exec(ini_get("sendmail_path") . " < enc.txt");
}

Назад Оглавление Вперёд
openssl_pkcs7_decrypt Вверхopenssl_pkcs7_sign