Сертификация FIPS 140-2 распространяется как на алгоритмы, так и на модули. Реализации алгоритма проходят сертификацию, пройдя серию тестов. Модули сертифицируются, когда они отвечают всем требованиям FIPS. Одним из таких требований является предоставление криптографических услуг только с использованием FIPS-сертифицированных алгоритмов (и не-FIPS-сертифицированных алгоритмов, используемых FIPS-утвержденным способом, таким как обмен ключами Диффи-Хеллмана).
Triple-DES является FIPS-сертифицированным алгоритмом и поэтому может получить сертификат FIPS. Это одна часть головоломки.
Следующая статья - выяснить, какой модуль предоставляет Triple-DES, и сертифицирован ли этот модуль по FIPS. Вы уже связали со страницей, где Microsoft перечисляет все их одобренные FIPS модули. Это все, что вам нужно знать. Я думаю, что в Windows Vista все в конечном итоге проходит через bcrypt.dll
.
Конечно, вы можете перейти прямо к источнику и искать модули самостоятельно. Взять, к примеру, сертификат # 1001 для Microsoft bcrypt.dll
в Windows Vista. Вы можете видеть, что этот модуль получил сертификат алгоритма для его реализации Triple-DES (сертификат # 656), поэтому вы можете использовать Triple-DES из этого модуля.
Итак, как вы узнаете, что используете FIPS-сертифицированный модуль? Вы включаете режим FIPS в Windows . Если вы не включаете режим FIPS, вы не используете сертифицированный FIPS алгоритм в режиме работы, одобренном FIPS. В Windows, если вы попытаетесь использовать алгоритм не-FIPS в режиме FIPS, вы получите исключение.
Доводим до моего последнего замечания, что хороший способ узнать, одобрен ли алгоритм для использования в режиме FIPS - это включить режим FIPS и попробовать его!
Кстати, на этой странице сертификата Triple-DES перечислены все утвержденные режимы работы Triple-DES:
ECB = TDEA Electronic Codebook
TCBC = TDEA Cipher Block Chaining
TCBC-I = TDEA Cipher Block Chaining - Interleaved
TCFB = TDEA Cipher Feedback
TCFB-P = TDEA Cipher Feedback - Pipelined
TOFB = TDEA Output Feedback
TOFB-I = TDEA Output Feedback - Interleaved
И следующие параметры клавиш.
KO 1 = Three-key Triple DES
KO 2 = Two-key Triple DES