DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). Он используется во многих криптографических системах. Это блочный алгоритм шифрования с симметричным ключом. Ключ состоит из 64 битов, но лишь 56 из них применяются непосредственно при шифровании. Оставшиеся 8 предназначены для контроля четности: они устанавливаются так, чтобы каждый из 8 байтов ключа имел нечетное значение. Шифруемая информация обрабатывается блоками по 64 бита, причем каждый блок модифицируется с помощью ключа в интерационной процедуре, включающей 16 циклов.
Более подробная информация об алгоритме - http://ru.wikipedia.org/wiki/DES
Для шифрования данных в Android используются классы пакета javax.crypto, входящего в состав Android SDK. Класс javax.crypto.Cipher реализует базовые функции популярных криптографических алгоритмов шифрования – DES, AES, RSA и других. Для создания экземпляра такого класса используется статистический метод Cipher.getInstance , который в качестве параметра получает имя криптографического алгоритма шифрования:
Cipher chr = Cipher.getInstance("DES");
Далее необходимо настроить экземпляр класса javax.crypto.Cipher и указать в каком режиме он будет работать: в режиме шифрования chr.init(Cipher.ENCRYPT_MODE, key); - , или дешифрования
chr.init(Cipher.DECRYPT_MODE, key); . Параметр key здесь – это ключ шифрования для алгоритма DES. Данный параметр имеет тип javax.crypto.SecretKey и может быть создан так:
javax.crypto.KeyGenerator.SecretKey key = KeyGenerator.getInstance("DES").generateKey();
Read more: Plaincodesource
0 comments:
Post a Comment