воскресенье, 23 июня 2013 г.

Как устроено шифрование в интернете (алгоритм Диффи-Хеллмана, RSA, сертификаты, цифровая подпись, хеширование, Tor, i2p)

Симметричное шифрование

Шифрование, в котором как для шифровки, так и для расшифровки, используется один и тот же пароль. В противоположность асимметричному шифрованию, в котором для шифровки и расшифровки используются два разных ключа: «открытый» и «закрытый».

Основное преимущество симметричного шифрования перед асимметричным: оно гораздо быстрее (в 1000 раз). Часто используются «гибридные схемы шифрования», когда управляющее соединение создаётся асимметричным шифрованием, а уже по этому каналу стороны договариваются друг с другом, какой симметричный алгоритм шифрования выбрать и каким будет ключ шифрования (сеансовый ключ). Симметричный канал в такой схеме обычно пересоздаётся заново через некоторое время во избежание подбора симметричного пароля (если бы симметричный канал существовал, скажем, несколько лет, то при недостаточно надёжном алгоритме шифрования взломщик вполне мог бы подобрать пароль за это время на каком-нибудь кластере суперкомпьютеров).

среда, 12 июня 2013 г.

Как работают автофокус камеры и ультразвуковой мотор в объективе

Интересно, что до сих пор не задумывался, как работает автофокус в камере.

Оказывается, там под основным полупрозрачным зеркалом (толстая чёрная линия под 45 градусов на картинке), которое отводит часть света на видоискатель (8), есть ещё одно "вспомогательное" полупрозрачное зеркало (3), забирающее часть света, идущего на матрицу (4), на нужды сенсора автофокуса (7):



Сенсор автофокуса имеет несколько "зон" ("зоны автофокуса", которые соответствуют определённым местам в кадре), над каждой из которых расположена маленькая линза. У каждой "зоны автофокуса" под линзой есть два маленьких сенсора: условно "левый", принимающий только "левую" сторону света, пришедшего из объектива, и условно "правый", принимающий только "правую" сторону света, пришедшего из объектива.

Изображение на этих двух маленьких сенсорах будет совпадать, если объектив сфокусирован правильно (другими словами, если "красный" луч света на картинке попадает точно в центр "красного" сенсора, и "зелёный" луч света на картинке попадает точно в центр "зелёного" сенсора, то изображение на этих двух маленьких сенсорах будет совпадать, объектив сфокусирован правильно).


Алгоритм автоматического поиска фокуса работает так (случаи пронумерованы как на картинке):

1. Линза объектива выдвинута слишком близко. Фотоаппарат может это угадать, заметив, что картина распределения интенсивностей такая же, как если бы она состояла из двух одинаковых картин интенсивностей, сдвинутых друг относительно друга (это можно сразу засечь, чуть-чуть сдвинув фокусировочную линзу объектива; алгоритм угадывания выполняется на процессоре фотоаппарата).

2. Объектив сфокусирован точно - две одинаковые световые картины максимально наложились друг на друга.

3. Линза объектива выдвинута слишком далеко.

4. Вообще не в фокусе.

Для того, чтобы этот алгоритм давал верные результаты, очевидно, требуется, чтобы сенсор автофокуса и матрица были равноудалены от "вспомогательного" полупрозрачного зеркала.

вторник, 11 июня 2013 г.

Как возвести число в вещественную степень?

Все знают обычное возведение в степень ещё со школы.
"Икс в квадрате" = x * x
"Икс в кубе" = x * x * x

Казалось бы, что здесь может быть сложного?
Вот и функцию "x в степени y" все воспринимают как данность.

На самом деле, как вы собрались вычислить x в степени 1,2345?