public interface SecretKeyInterface extends KeyInterface
Key
,
KeyInterface
Modifier and Type | Field and Description |
---|---|
static int |
CRYPT_DIRECTION
направление шифрования.
|
static int |
MODE_CRYPT_INTERVAL
размер битового интервала в переменной типа int, в которой определяется
режим шифрования.
|
static int |
MODE_CRYPT_MASK
маска битового интервала в переменной типа int, в которой определяется
режим шифрования.
|
static int |
MODE_CRYPT_OFFSET
смещение битового интервала в переменной типа int, в которой определяется
режим шифрования.
|
Modifier and Type | Method and Description |
---|---|
void |
changeKey(CryptParamsInterface p)
Усложнение ключа.
|
void |
decrypt(int mode,
byte[] dest,
int destOffs,
byte[] source,
int sourceOffs,
int numBlocks,
int[] synchro,
CryptParamsInterface uz)
метод расшифрования одного блока.
|
void |
decrypt(int mode,
int[] buf,
int[] synchro,
CryptParamsInterface uz)
метод расшифрования одного блока.
|
void |
diversKey(byte[] iv)
Функция смены ключа, на котором осуществляется шифрование другого ключа.
|
void |
diversKey2012(byte[] iv)
Функция смены ключа, на котором осуществляется шифрование другого ключа
(CALG_PRO12_EXPORT).
|
void |
encrypt(int mode,
byte[] dest,
int destOffs,
byte[] source,
int sourceOffs,
int numBlocks,
int[] synchro,
CryptParamsInterface uz)
метод зашифрования одного блока.
|
void |
encrypt(int mode,
int[] buf,
int[] synchro,
CryptParamsInterface uz)
метод зашифрования одного блока.
|
byte[] |
getIV()
Функция генерации имитовставки для шифратора.
|
SecretKeyInterface |
getWorkKey()
Получение рабочего ключа.
|
void |
imita(int[] res,
byte[] buf,
int bufOffset,
int count,
CryptParamsInterface uz)
Функция подсчета имиты содержимого buf на данном ключе.
|
void |
imita(int[] buf,
CryptParamsInterface uz)
Вычисление имитовставки.
|
void |
methodGOSTR3411PRF(byte[][] data,
byte[] digest,
boolean isNewDigest_2012_256)
Вычисление PRF на основе функции хэширования ГОСТ Р 34.11-94.
|
MasterKeyInterface |
preHashMaster(byte[] emsHash,
boolean isNewDigest_2012_256)
Функция получение расширенного master-ключа из pre-master-ключа на основе хэша данных.
|
MasterKeyInterface |
preHashMaster(byte[] clientRandom,
byte[] serverRandom,
boolean isNewDigest_2012_256)
Функция получение master-ключа из premaster-ключа на основе случайных
последовательностей клиента и сервера.
|
void |
setIVLen(int ivLen)
Функция устанавливает необходимую длину имитовставки.
|
SecretKeyInterface |
unwrap(byte[] wrappedKey,
int[] iv,
CryptParamsInterface uz,
boolean needDivers,
boolean export12)
Функция расшифрования ключа на данном ключе.
|
SecretKeyInterface |
unwrap(byte[] wrappedKey,
java.lang.String wrappedKeyAlgorithm,
byte[] ukm,
CryptParamsInterface uz)
Функция расшифрования ключа на данном ключе.
|
boolean |
updateTLSKey(long sequenceNumber,
int keyAlg)
Функция обновления ключей для алгоритмов Кузнечик и Магма (в TLS).
|
byte[] |
wrap(SecretKeyInterface spec,
byte[] iv,
CryptParamsInterface uz)
Зашифрование данного ключа на передаваемом ключе при помощи синхропосылки и
данного узла шифрования.
|
byte[] |
wrap(SecretKeyInterface spec,
int[] iv,
CryptParamsInterface uz,
boolean needDivers,
boolean export12)
Зашифрование данного ключа на передаваемом ключе при помощи
синхропосылки и данного узла шифрования.
|
clear, clone, getParams, setParams
static final int CRYPT_DIRECTION
static final int MODE_CRYPT_INTERVAL
static final int MODE_CRYPT_OFFSET
static final int MODE_CRYPT_MASK
void imita(int[] buf, CryptParamsInterface uz) throws java.security.InvalidKeyException
buf
- - массив размера 2, имитовставка вычисляется для этого буффера, и
сохраняется в него же.uz
- - commutatorjava.security.InvalidKeyException
void imita(int[] res, byte[] buf, int bufOffset, int count, CryptParamsInterface uz) throws java.security.InvalidKeyException
res
- результат, значение имитыbuf
- данные, на которые подсчитывается имитаbufOffset
- смещение в буфереcount
- число блоков для преобразованияuz
- узел имитопреобразованияjava.security.InvalidKeyException
void encrypt(int mode, int[] buf, int[] synchro, CryptParamsInterface uz) throws java.security.InvalidKeyException
mode
- режим, определяется реализациейbuf
- буффер данных. данные шифруются, результат записывается в этот же
буфферsynchro
- буффер синхропоссылки или любого другого дополнительного
значения. Если дополнительные данные не нужны, следует передавать nulluz
- узел заменjava.security.InvalidKeyException
void decrypt(int mode, int[] buf, int[] synchro, CryptParamsInterface uz) throws java.security.InvalidKeyException
mode
- режим, определяется реализациейbuf
- буффер данных. данные шифруются, результат записывается в этот же
буфферsynchro
- буффер синхропоссылки или любого другого дополнительного
значения. Если дополнительные данные не нужны, следует передавать nulluz
- узел заменjava.security.InvalidKeyException
- ключ поврежденvoid encrypt(int mode, byte[] dest, int destOffs, byte[] source, int sourceOffs, int numBlocks, int[] synchro, CryptParamsInterface uz) throws java.security.InvalidKeyException
mode
- режим, определяется реализациейdest
- массив, в который будут записываться зашифрованные данныеdestOffs
- смещение в массиве-результате, с которого будет записываться
блок данныхsource
- массив, из которого будут браться исходные данныеsourceOffs
- смещение, с которого в массиве-источнике будут браться
данныеnumBlocks
- число полных блоков для зашифрованияsynchro
- буффер синхропоссылки или любого другого дополнительного
значения. Если дополнительные данные не нужны, следует передавать nulluz
- узел заменjava.security.InvalidKeyException
- ключ поврежденvoid decrypt(int mode, byte[] dest, int destOffs, byte[] source, int sourceOffs, int numBlocks, int[] synchro, CryptParamsInterface uz) throws java.security.InvalidKeyException
mode
- режим, определяется реализациейdest
- массив, в который будут записываться расшифрованные данныеdestOffs
- смещение в массиве-результате, с которого будет записываться
блок данныхsource
- массив, из которого будут браться исходные данныеsourceOffs
- смещение, с которого в массиве-источнике будут браться
данныеnumBlocks
- число полных блоков для расшифрованияsynchro
- буффер синхропоссылки или любого другого дополнительного
значения. Если дополнительные данные не нужны, следует передавать nulluz
- узел заменjava.security.InvalidKeyException
- ключ поврежденbyte[] getIV()
void setIVLen(int ivLen)
byte[] wrap(SecretKeyInterface spec, int[] iv, CryptParamsInterface uz, boolean needDivers, boolean export12) throws java.security.InvalidKeyException
spec
- ключ зашифрованияiv
- синхропосылкаuz
- узел шифрованияneedDivers
- нужна ли диверсификацияexport12
- используется ли CALG_PRO12_EXPORTjava.security.InvalidKeyException
byte[] wrap(SecretKeyInterface spec, byte[] iv, CryptParamsInterface uz) throws java.security.InvalidKeyException
spec
- ключ зашифрованияiv
- синхропосылкаuz
- узел шифрованияjava.security.InvalidKeyException
SecretKeyInterface unwrap(byte[] wrappedKey, int[] iv, CryptParamsInterface uz, boolean needDivers, boolean export12) throws java.security.InvalidKeyException, java.security.KeyManagementException
wrappedKey
- зашифрованный ключiv
- синхропосылкаuz
- узел расшифрованияneedDivers
- нужна ли диверсификацияexport12
- используется ли CALG_PRO12_EXPORTjava.security.InvalidKeyException
java.security.KeyManagementException
SecretKeyInterface unwrap(byte[] wrappedKey, java.lang.String wrappedKeyAlgorithm, byte[] ukm, CryptParamsInterface uz) throws java.security.InvalidKeyException, java.security.KeyManagementException
wrappedKey
- зашифрованный ключukm
- синхропосылкаuz
- узел расшифрованияukm
- ukmjava.security.InvalidKeyException
java.security.KeyManagementException
void changeKey(CryptParamsInterface p) throws java.security.InvalidKeyException
java.security.InvalidKeyException
MasterKeyInterface preHashMaster(byte[] clientRandom, byte[] serverRandom, boolean isNewDigest_2012_256) throws java.security.InvalidKeyException, java.security.KeyManagementException
clientRandom
- случайные данные клиентаserverRandom
- случайные данные сервераisNewDigest_2012_256
- true, если используется алгоритм
хеширования ГОСТ 34.11-2012 (256)java.security.InvalidKeyException
java.security.KeyManagementException
MasterKeyInterface preHashMaster(byte[] emsHash, boolean isNewDigest_2012_256) throws java.security.InvalidKeyException, java.security.KeyManagementException
emsHash
- хэш данныхjava.security.InvalidKeyException
java.security.KeyManagementException
void methodGOSTR3411PRF(byte[][] data, byte[] digest, boolean isNewDigest_2012_256) throws java.security.InvalidKeyException
data
- данные, от которых вычисляется PRFdigest
- буфер для записи результатisNewDigest_2012_256
- true, если используется алгоритм
хеширования ГОСТ 34.11-2012 (256)java.security.InvalidKeyException
void diversKey(byte[] iv) throws java.security.InvalidKeyException
iv
- вектор синхропосылкиjava.security.InvalidKeyException
void diversKey2012(byte[] iv) throws java.security.InvalidKeyException
iv
- вектор синхропосылкиjava.security.InvalidKeyException
boolean updateTLSKey(long sequenceNumber, int keyAlg) throws java.security.InvalidKeyException
sequenceNumber
- очередной номер рекордаkeyAlg
- алгоритм выработки ключейjava.security.InvalidKeyException
SecretKeyInterface getWorkKey()