Страницы

24 ноября 2013 г.

Криптография / JCE (Java Cryptography Extentions) - Triple DESede

    По не определенному стечению обстоятельств меня занесло в Java разработке немного в другой уровень программирования и в ближайшее время ожидается ряд статей по криптографии.
    Прежде чем начать вникать в то что будет написано ниже нужно хотя бы минимально знать что такое Биты и побитовые операции о которых я писал в прошлой статье - подробности в wikipedia и конечно же Java Core. Так же советую заглянуть в блог skipy посмотреть тему про кодировки...
    JCE (Java Cryptography Extentions) позволяет работать с энкрипшн, генерировать ключи, генерировать MAC. Он поддерживает симметричные, асимметричные блок- и стрим шифры.Начнем мы с самого простого: энкрипшн - декрипшн.
Существует множество алгоритмов шифрования. Поддерживаемые алгоритмы можно узнать из документации к пакету javax.crypto.spec, он включает в себя RC2, RC5, Blowfish, DES, Triple DESede, AES Rijndael.
Сегодня мы рассмотрим криптование на примере алгоритма Triple DESede, который был одобрен для использования в правительстве USA. Он основан на стандарте DES (Digital Encryption Standard), 64-битном шифре, реально использующем 56 битов. Troiple DESede означает тройной DES (encryption-decryption-encryption), суть которого в том, что информация шифруется с одним ключом, дешифруестя с другим, и вновь шифруется с третьим. Также, как и DES, ломается брут-форсом.

Triple DES (3DES) — это симметричный блочный шифр, созданный Уитфилдом Диффи, Мартином Хеллманом и Уолтом Тачманном в 1978 году на основе алгоритма DES, преследуя цель устранить главный изъян — малую длину ключа (56 бит), который в свою очередь может быть взломан полным перебором ключа.

    Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше — время, требуемое для криптоанализа 3DES, может быть в миллиард раз больше, чем время, нужное для вскрытия DES. 3DES используется чаще, чем DES, который легко взламывается при помощи сегодняшних технологий (в 1998 году организация Electronic Frontier Foundation, используя специальный компьютер DES Cracker, вскрыла DES за 3 дня). 3DES является простым способом устранения недостатков DES. Алгоритм 3DES построен на основе DES, поэтому для его реализации возможно использовать программы, созданные для DES.

23 ноября 2013 г.

Побитовые операции и операции битового сдвига в Java

Даже не думал что мне придется столкнуться с чем-то подобным, но как говорится все бывает в первый раз. Дублирую как заметку статью с Хабра для нового проекта по lineage 2.
Побитовые операции пременяются для быстрого выполнения вычислений и меньшего потребления ресурсов, связанных с этими вычислениями.

18 ноября 2013 г.

Как писать хорошие user stories: part 2

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

Хорошие практики

  • Используйте истории как возможность начать общение с командой, пользователями и клиентами. История – это не спецификация, ее не должен писать аналитик в гордом одиночестве и она не заменяет диалога. Все ровным счетом наоборот: история – это суть обсуждений того, как пользователи взаимодействуют с продуктом.